Sapilon becomes publicly available on 1 December 2026: 42 days to go. The core goes open source the same day →

Pipedrive integration

In short

Search, create and update deals, people, organizations and activities. Connect it on the Integrations page; your app then calls Pipedrive through Sapilon without ever holding a Pipedrive credential.

Lets your app search, read, create and update deals, people, organizations and activities, and add notes, as the Pipedrive user whose API token you use.

Connecting

On the Integrations page choose Connect on Pipedrive and fill in:

  • Personal API token — Pipedrive → your avatar → Personal preferences → API → copy your token.

Sapilon checks the key with the provider before it saves it, and stores it encrypted; it is never shown again.

  • The app acts as you: use a shared account for anything long-lived.

What your app can do

Only these requests are available; anything else is refused.

  • GET|POST /api/v2/deals
  • GET|PATCH /api/v2/deals/*
  • GET|POST /api/v2/persons
  • GET|PATCH /api/v2/persons/*
  • GET|POST /api/v2/organizations
  • GET|PATCH /api/v2/organizations/*
  • GET|POST /api/v2/activities
  • GET|PATCH /api/v2/activities/*
  • GET /api/v2/itemSearch
  • POST /v1/notes

How the agent uses it

Use integrations.request('pipedrive', …); paths are relative to https://api.pipedrive.com and include their version.

  • GET|POST /api/v2/deals, GET|PATCH /api/v2/deals/{id} — Example: { method: 'POST', path: '/api/v2/deals', body: { title: 'Acme renewal', value: 12000, currency: 'EUR', person_id: 7 } }.
  • GET|POST /api/v2/persons, GET|PATCH /api/v2/persons/{id} — Example: { method: 'POST', path: '/api/v2/persons', body: { name: 'Sara Ali', emails: [{ value: 'sara@acme.com', primary: true }] } }.
  • GET|POST /api/v2/organizations, GET|PATCH /api/v2/organizations/{id}.
  • GET|POST /api/v2/activities, GET|PATCH /api/v2/activities/{id} — calls, meetings, tasks; complete with body: { done: true }.
  • GET /api/v2/itemSearch — Example: { method: 'GET', path: '/api/v2/itemSearch', query: { term: 'acme', item_types: 'deal,person' } }.
  • POST /v1/notes — Example: { method: 'POST', path: '/v1/notes', body: { content: 'Called, will sign Friday', deal_id: 3 } }.

Lists page with cursor. Deleting is not allowed.

More from Pipedrive: https://developers.pipedrive.com/docs/api/v1

Last updated .

Was this page helpful?