> ## Documentation Index
> Fetch the complete documentation index at: https://filament.getgalaxy.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Pipedrive

> Read deals, leads, contacts, activities, and reference data from Pipedrive

The Pipedrive source reads CRM records and the reference data needed to
interpret them. It uses an
[HTTP manifest](/pages/connectors/building-a-connector/http-manifests) and is
**alpha**. It has been checked against Pipedrive's API reference and tested with
mock responses and a small live account.
It targets API version `v2`, with users, leads, notes, files, and reference
data still read from `v1` endpoints.

## Configuration

| Field | Scope | Default | Description |
| - | - | - | - |
| `api_token` | Connection | | Required. Secret. Personal API token. |
| `host` | Connection | `https://api.pipedrive.com` | API host. Your company domain host is faster. |

Find your token under your account name → **Company settings → Personal
preferences → API**. The token reads whatever that user can see in Pipedrive.
If the API tab is missing, an admin must
[enable API access](https://pipedrive.readme.io/docs/enabling-api-for-company-users).

Pipedrive recommends `https://<company>.pipedrive.com` as the host, where
`<company>` is the subdomain you sign in with. The default host works for every
account. Connection testing makes one request to the users endpoint.

## Resources

| Resource | Endpoint | Modes |
| - | - | - |
| `users` | `GET /api/v1/users` | Full |
| `deals` | `GET /api/v2/deals` | Full, incremental |
| `deals_archived` | `GET /api/v2/deals/archived` | Full, incremental |
| `persons` | `GET /api/v2/persons` | Full, incremental |
| `organizations` | `GET /api/v2/organizations` | Full, incremental |
| `activities` | `GET /api/v2/activities` | Full, incremental |
| `leads` | `GET /api/v1/leads` | Full, incremental |
| `leads_archived` | `GET /api/v1/leads/archived` | Full |
| `notes` | `GET /api/v1/notes` | Full |
| `products` | `GET /api/v2/products` | Full, incremental |
| `pipelines` | `GET /api/v2/pipelines` | Full |
| `stages` | `GET /api/v2/stages` | Full |
| `deal_fields` | `GET /api/v2/dealFields` | Full |
| `person_fields` | `GET /api/v2/personFields` | Full |
| `organization_fields` | `GET /api/v2/organizationFields` | Full |
| `activity_fields` | `GET /api/v2/activityFields` | Full |
| `product_fields` | `GET /api/v2/productFields` | Full |
| `activity_types` | `GET /api/v1/activityTypes` | Full |
| `lead_labels` | `GET /api/v1/leadLabels` | Full |
| `currencies` | `GET /api/v1/currencies` | Full |
| `filters` | `GET /api/v1/filters` | Full |
| `projects` | `GET /api/v2/projects` | Full |
| `tasks` | `GET /api/v2/tasks` | Full |
| `files` | `GET /api/v1/files` | Full |

Selected by default: users, deals, persons, organizations, activities, leads,
notes, pipelines, stages, the deal, person, and organization field definitions,
activity types, and lead labels. The rest are optional. No resource depends on
another.

Each row is one Pipedrive record. Numeric IDs are `int64` columns, lead and
lead label IDs are UUID strings, optional fields are nullable, and the `raw`
column keeps fields without their own column.

**Custom fields** use 40-character keys. The v2 endpoints return them in a
`custom_fields` JSON column keyed by that key. Map a key to its label with the
`field_code` and `field_name` columns of the matching field-definition resource.
Leads come from the v1 API, so their custom field keys stay in `raw`. See
[Pipedrive's custom field guide](https://pipedrive.readme.io/docs/core-api-concepts-custom-fields).

`deals` and `leads` exclude deleted and archived records, matching Pipedrive's
default listings. The `_archived` resources read archived records with the same
columns. `activities` includes attendees. `notes` keeps the HTML body in
`content`. `files` rows are metadata and a download URL, not file contents.
Pipedrive marks the tasks endpoint as beta.

Not included: mail, the recents feed, per-record flow and changelog histories,
search, deal products and installments, organization relationships, call logs,
goals, roles, permission sets, and webhook configuration, which exposes HTTP
auth credentials.

## Modes

Deals, archived deals, persons, organizations, activities, products, and leads
support incremental reads on `update_time`. Each run sends the saved timestamp
as `updated_since`, which Pipedrive applies inclusively, with a one-minute
lookback by default. Checkpoint keys are `<resource>_update_time` and use the
`time` comparator. A returned record without an `update_time` fails the run
rather than being skipped.

Incremental reads cannot detect deletions. Use **full replace** to remove rows
that Pipedrive no longer returns, or **full upsert** to refresh rows in place.

Notes are read in full. The v1 notes endpoint accepts `updated_since`, but its
`update_time` values use Pipedrive's older `YYYY-MM-DD HH:MM:SS` format, which
the incremental engine cannot compare. Every other resource is read in full.

## Behavior

* **Auth**: every request sends the token in the `x-api-token` header. An empty
  list can mean the token's user cannot see those records.
* **Pagination**: v2 endpoints follow `additional_data.next_cursor`, 500 records
  per page. Leads, notes, and files use v1 offset pagination, 100 per page, and
  stop after a short page. The other v1 endpoints return everything at once.
  Empty v1 lists can return `"data": null`, which Filament reads as no rows.
* **Recovery**: interrupted top-level reads resume from a saved page cursor or
  offset. If that request fails, the read restarts from the beginning.
* **Rate limiting**: five requests per second, shared across resources in this
  connection. Pipedrive's burst limit is per token and depends on the plan,
  from 20 requests per 2 seconds on Lite to 120 on Ultimate. Pipedrive also
  charges a daily token budget per company, 10 tokens per v2 list page and 20
  per v1 list page. Filament retries throttled requests but does not track the
  daily budget. See
  [Pipedrive's rate limiting guide](https://pipedrive.readme.io/docs/core-api-concepts-rate-limiting).
* **Timestamps**: v2 endpoints return RFC 3339. v1 endpoints return
  `YYYY-MM-DD HH:MM:SS` in UTC, which Filament reads as UTC.
* **API versions**: deals, persons, organizations, activities, products,
  pipelines, stages, and field definitions use v2 endpoints. Pipedrive
  [stopped supporting their v1 versions](https://developers.pipedrive.com/changelog/post/deprecated-apiv1-endpoints-become-out-of-support)
  on August 1, 2026. Leads, notes, users, and the remaining reference tables
  have no v2 equivalent and use their supported v1 endpoints.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.