Pipedrive
The Pipedrive connector reads and writes persons, organizations, deals and activities through the Pipedrive API. A data pipeline can pull records out of Pipedrive, push records in, or keep Pipedrive in step with another system.
When to use it
- You move people, companies and open deals between Pipedrive and another CRM.
- You push new customers from a database into Pipedrive as organizations, or pull won deals into a warehouse for reporting.
- You read records, transform them, and write the results back with Update.
What you need
- For an API token: the token and your company domain.
- For OAuth: an app in the Pipedrive Developer Hub, with its client ID and client secret.
An API token belongs to one user and carries that user's access. Records that user cannot see are records the data pipeline cannot see.
Set up in Pipedrive
API token.
- In Pipedrive, go to Settings > Personal preferences > API.
- Copy the token. Pipedrive issues one token per user.
- Note the first part of the address you sign in at. For
acme.pipedrive.com, that isacme.
OAuth.
- In Pipedrive, open the Developer Hub and create an app.
- Copy the Redirect URI from the DataLug connection form into the app's
callback URL, including
https://. - Grant the app the scopes listed below.
- Copy the app's client ID and client secret into DataLug.
- Click Connect Pipedrive and approve access. DataLug stores the refresh token and fills in the company domain.
Scopes
The Scopes field is pre-filled with:
base contacts:full deals:full activities:full
base is required for any app. Pipedrive refuses the consent screen when a
requested scope is not granted to the app.
Connect
The connection form lists its steps on the left. Open any step from that list. The Environments step holds the values that differ per environment.
Test connection is in the form footer. Beside it, Test against picks Base, the connection as saved, or an environment, whose values are applied first.
| Field | Step | What to enter |
|---|---|---|
| Auth Type | Authentication | API Token for one Pipedrive account. OAuth for an app you distribute. |
| API Token | Authentication | From Settings > Personal preferences > API. API Token only. |
| Client ID | Authentication | From your app in the Developer Hub. OAuth only. |
| Client Secret | Authentication | From the same app. OAuth only. |
| Redirect URI | Authentication | Filled in. Copy it into the app's callback URL. OAuth only. |
| Scopes | Authentication | Space separated. OAuth only. |
| Refresh Token | Authentication | Filled in by Connect Pipedrive. OAuth only. |
| Company Domain | Connection | The first part of your Pipedrive address, such as acme. Required for API Token. Filled in by Connect for OAuth. |
Stored secrets are never sent back to the browser. To change one, use Replace.
Supported operations
Objects. Person, Organization, Deal and Activity. The field list comes from Pipedrive, so custom fields appear beside standard ones. A custom field's key is a 40-character string, and DataLug shows its readable label beside it.
| Action | Node | Operations |
|---|---|---|
| Query (Source) | Source node | Query, with an optional Limit |
| Load (Target) | Load node | Insert, Update, Delete |
Writes go one record per request. Pipedrive has no create-or-update by a key you choose. Its merge endpoint joins two existing records, which is a different operation.
Not supported: Upsert, a source filter, Leads, Products, Notes, Files.
Limits
Pipedrive meters API use against a token budget per company that resets every
24 hours, and answers 429 Too Many Requests when the budget runs out.
Pipedrive also applies short burst limits. See Pipedrive's
rate limiting guide.
The API limits card has no default throttle for Pipedrive. Page size is at most 500.
The API limits card on the connection form is collapsed by default. Every field on it is optional, and a blank field uses the default shown below it.
| Setting | What it does | Default |
|---|---|---|
| Requests per period, Period | Paces outgoing calls. Set both to throttle. | No throttle, or the rate shown on the card. |
| Page size | Rows per request. A larger value is reduced to the provider's maximum. | The maximum shown on the card, or set by the provider. |
| Max attempts | Tries per call, including the first. | 3 |
| Cool-off (ms) | The first wait after a 429. Later waits grow from it. | 500 ms |
| Requests at once | Requests open at the same time within one run. | No limit |
A Retry-After header from the provider overrides the cool-off. The pace
applies per connection and is shared by every run on it. See
Run performance.
DataLug retries a call that the provider refused with 429, and a call that
could not connect. A read is also retried after a 408, a 5xx or a dropped
connection. A write is retried only after a 429 or a failed connection.
A Retry-After delay of up to one minute is honoured. A longer one fails the
call with the 429.
Troubleshooting
| What you see | What it means | What to try |
|---|---|---|
Add the company domain to this Pipedrive connection and save before testing. | API Token auth with Company Domain blank or not a plain label. | Enter the label alone: acme, not acme.pipedrive.com. |
401 on test or on a run | The API token was rotated or deleted. Pipedrive allows one active token per user. | Copy the current token from Personal preferences > API and paste it with Replace. |
403 with a scope named in the message | The OAuth app does not hold that scope. | Add the scope to the app in the Developer Hub, then click Connect Pipedrive again. |
429 Too Many Requests | The company's daily API budget is used up, or a burst limit was hit. | The run backs off and retries. If it recurs daily, run the data pipeline less often or read less. |
Pipedrive returned an API host this build will not use | The host Pipedrive returned is not under pipedrive.com. | Click Connect Pipedrive again. If it persists, check the app's configuration. |
| Upsert is missing from the operation list | Pipedrive has no upsert. | Use Insert or Update. |
| A field name is a long string of letters and digits | A Pipedrive custom field key. | Map by the readable label beside it. |
Related
- Source node and Load node.
- Connections for environments and sharing.
- HubSpot and Zoho CRM.