Best Practices
Recommended setup
Start with Deals, Persons, and Organizations
These three entities cover the core CRM data most sales teams need. Set up one data flow per entity, then use Coupler.io's data join to combine them (Deals → Persons via person_id.value = Persons id; Deals → Organizations via org_id.value = Organizations id).
Use the Fields selector for focused exports
Pipedrive returns many columns by default, especially with custom fields merged in. Select only the fields you need to keep your destination clean, speed up data flows, and avoid timeout issues on large accounts.
Use sub-field names for linked records
Pipedrive nests linked data in sub-fields. Use owner_id.name for the owner's name, org_id.name for the organization name, stage_id.name for the stage name. The raw owner_id field returns a nested object, not a plain value.
Apply a Pipedrive filter for targeted exports
Create filters directly in Pipedrive (e.g., "Open deals in Q1", "Active clients in Germany") and reference the filter ID in Coupler.io. This is the most reliable way to scope your export to a specific subset of records.
Data refresh and scheduling
Daily refresh for pipeline data
Deals, Persons, and Organizations change frequently. A daily refresh (e.g., early morning) keeps your dashboards current without excessive API usage. For high-activity accounts, consider hourly refresh for Deals.
Use date filters to limit the export window
Set a Changed after date to pull only recently modified records and keep data flows fast. For ongoing reporting, update the date periodically or leave it empty for a full export on each run.
Use "Replace" mode for standard exports
Use "Replace" (overwrite) destination mode for most Pipedrive exports. This ensures your destination always reflects the current state of your CRM data. Only use "Append" if you're intentionally building a historical log.
Stagger multiple data flows
If you run several Pipedrive data flows (e.g., Deals + Persons + Organizations), stagger their schedules by a few minutes. This avoids hitting Pipedrive's rate limit (20 requests per 2 seconds on entry-level plans) across concurrent flows.
Performance optimization
Filter before you export
Use Pipedrive filters and date ranges to reduce the dataset at the API level. Pulling a focused subset is much faster than exporting everything and filtering in your destination. A filter-scoped export also reduces the chance of timeouts on large accounts.
Limit columns on the Deals entity
Deals exports include many columns by default — standard fields, custom fields, and nested sub-fields. Explicitly specifying 15–20 key columns in the Fields selector can cut execution time significantly.
Use standard Deals, not All deals (BETA), for regular reporting
The All deals (BETA) entity uses cursor-based pagination for very large datasets and requires global admin access. For most use cases, the standard Deals entity with a date filter or a Pipedrive filter is faster and more accessible.
Combine entities with data join, not multiple fields in one flow
Do not try to replicate Persons or Organizations data within the Deals export by over-selecting fields. Instead, set up a separate data flow for each entity and join them using Coupler.io's data join. This keeps each flow lean and easier to maintain.
Dashboard accuracy
Joining entities via person and organization IDs
To enrich Deals with contact or account details, join Deals to Persons using person_id.value (from Deals) = id (from Persons). For organizations, join on org_id.value = id from Organizations. Include these ID fields in your Fields selector to ensure they appear in the export.
Include both ID and name sub-fields when needed for joins
If your dashboard requires both the ID (for joining) and the name (for display) of a linked field, include both sub-fields explicitly: e.g., person_id.value and person_id.name, or org_id.value and org_id.name.
Account for active-only data from the API
By default, the Pipedrive API returns active records only. Deleted or archived deals, persons, and organizations are not included. If your dashboard needs to account for churn or closed accounts, note that historical records may not be present.
Use Pipedrive filters for pipeline-scoped dashboards
If you maintain multiple pipelines in Pipedrive (e.g., New Business vs. Renewals), create a separate Pipedrive filter for each and set up a dedicated Coupler.io data flow per pipeline. This keeps your data flows modular and your dashboards clearly scoped.
Combining Pipedrive entities
Each Coupler.io data flow exports one Pipedrive entity. To combine data from multiple entities — for example, enriching Deals with person and organization details — set up a separate data flow for each entity and use Coupler.io's data join.
Example: Deals enriched with Persons and Organizations
Data flow 1 — Deals
Fields to include:
Data flow 2 — Persons
Fields to include:
Data flow 3 — Organizations (optional, for additional account detail)
Fields to include:
Joining the data
Join Deals → Persons: match
person_id.value(from Deals) withid(from Persons)Join Deals → Organizations: match
org_id.value(from Deals) withid(from Organizations)
Always include the ID sub-field (e.g., person_id.value, org_id.value) in your Deals data flow — this is the key used to join with the corresponding entity's id column. Without it, the join has nothing to match on.
Join keys by entity pair
Deals + Persons
person_id.value
Persons id
Deals + Organizations
org_id.value
Organizations id
Leads + Persons
person_id.value
Persons id
Leads + Organizations
org_id.value
Organizations id
Common pitfalls to avoid
Do
Use
owner_id.name,stage_id.name,org_id.namesub-fields for human-readable labelsCreate Pipedrive filters for targeted, reliable scoping
Run once with no Fields specified to discover available columns before refining
Use the date picker to set a Changed after date and limit exports to recently modified records
Stagger multiple data flow schedules to avoid rate limit issues
Don't
Don't try to combine multiple Pipedrive entities in a single data flow — use data join instead
Don't use the All deals (BETA) entity unless you have Pipedrive global admin access and a specific need for cursor-based pagination
Don't use "Append" mode for standard CRM exports — it accumulates duplicate rows over time
Don't rely on Pipedrive's in-app analytics reports being available via API — only raw CRM records are accessible
Don't expect Activities, Files, or Call logs to include custom fields — custom field merging applies only to Deals, Persons, Organizations, Leads, and Products
Pipedrive in-app reports and analytics are not available via the API. Coupler.io exports raw CRM records only. Forecasts, revenue projections, and built-in Pipedrive reports must be recreated using your destination tool (Google Sheets, Looker Studio, Power BI, etc.) with the raw data exported by Coupler.io.
Last updated
Was this helpful?
