-
Notifications
You must be signed in to change notification settings - Fork 5k
feat(source-pipedrive): add support for custom fields #72378
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
feat(source-pipedrive): add support for custom fields #72378
Conversation
Adds a CustomFieldsTransformation component that maps Pipedrive's 40-character hash keys for custom fields to human-readable field names. For each custom field in a record, the transformation adds a new field with the pattern `custom_<sanitized_field_name>` containing the value. For enum/set fields, option IDs are resolved to their labels. Custom fields are now supported for: - deals (via v1/dealFields) - persons (via v1/personFields) - organizations (via v1/organizationFields) - products (via v1/productFields) - leads (via v1/leadFields) - activities (via v1/activityFields) The original hash-keyed fields are preserved for backwards compatibility. Closes airbytehq#33622 Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
|
|
|
Note 📝 PR Converted to Draft More info...Thank you for creating this PR. As a policy to protect our engineers' time, Airbyte requires all PRs to be created first in draft status. Your PR has been automatically converted to draft status in respect for this policy. As soon as your PR is ready for formal review, you can proceed to convert the PR to "ready for review" status by clicking the "Ready for review" button at the bottom of the PR page. To skip draft status in future PRs, please include |
👋 Welcome to Airbyte!Thank you for your contribution from tainmar/airbyte! We're excited to have you in the Airbyte community. If you have any questions, feel free to ask in the PR comments or join our Slack community. 💡 Show Tips and TricksPR Slash CommandsAs needed or by request, Airbyte Maintainers can execute the following slash commands on your PR:
Tips for Working with CI
📚 Show Repo GuidanceHelpful Resources
|
Summary
This PR adds support for Pipedrive custom fields to the source-pipedrive connector. Custom fields in Pipedrive are returned with 40-character hash keys, making them difficult to use in destination systems. This implementation adds human-readable field names alongside the original hash keys.
Changes
Added
CustomFieldsTransformationcomponent that:*Fieldsendpointscustom_<sanitized_field_name>Updated streams to use the transformation:
deals(viav1/dealFields)persons(viav1/personFields)organizations(viav1/organizationFields)products(viav1/productFields)leads(viav1/leadFields)activities(viav1/activityFields)Bumped connector version from 2.4.0 to 2.5.0
Example
Before this change, a deal record might look like:
{ "id": 1, "title": "Big Deal", "abc123def456abc123def456abc123def456abc1": "Custom Value", "xyz789ghi012xyz789ghi012xyz789ghi012xyz7": 42 }After this change:
{ "id": 1, "title": "Big Deal", "abc123def456abc123def456abc123def456abc1": "Custom Value", "custom_my_custom_text_field": "Custom Value", "xyz789ghi012xyz789ghi012xyz789ghi012xyz7": 42, "custom_deal_priority": "High" // Option label resolved from ID }Backwards Compatibility
The original hash-keyed fields are preserved, so existing syncs won't break. The new
custom_*fields are additive.Related Issues
Closes #33622
Test Plan
🤖 Generated with Claude Code