Best Practices

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) with id (from Persons)

  • Join Deals → Organizations: match org_id.value (from Deals) with id (from Organizations)

circle-info

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

Combine
Join key in Deals
Join key in other entity

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.name sub-fields for human-readable labels

  • Create 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

triangle-exclamation

Last updated

Was this helpful?