InTouch Hub · Blue Isle Software

Pipedrive

Manage deals, persons, organizations, and pipelines through the Pipedrive REST API.

Provided free and as is, without warranty of any kind — including merchantability, fitness for a particular purpose, and the accuracy or completeness of any result. See the licence. You are responsible for checking what this produces before relying on it.

crmcrm-salesdealsemailsalesstatus

Pipedrive

Manage deals, persons, organizations, and pipelines through the Pipedrive REST API.

This tool wraps the current Pipedrive resource endpoints (/api/v2/...) on the official base URL https://api.pipedrive.com. It uses Python standard library only (urllib, json) — no third-party dependencies. Non-2xx HTTP responses are returned (status + body) rather than raised, so the caller can inspect the Pipedrive error payload.

Operations

operation Method & path Required input Notes
list_deals GET /api/v2/deals limit (1-500, default 10)
get_deal GET /api/v2/deals/{id} id Single deal by id
create_deal POST /api/v2/deals title Optional: value, currency, personId
list_persons GET /api/v2/persons limit (1-500, default 10)
create_person POST /api/v2/persons name Optional: email, phone
list_organizations GET /api/v2/organizations limit (1-500, default 10)
list_pipelines GET /api/v2/pipelines limit (1-500, default 10)

API token setup

  1. In Pipedrive, go to Settings > Personal preferences > API.
  2. Copy your personal API token (one active token per user per company).
  3. Pass it as the apiKey input. The tool appends it as the ?api_token=<token> query parameter on every request — Pipedrive's stateless token authentication scheme. No OAuth or bearer header is needed for a single-user token.

Each user has a separate token per company they belong to. Treat the token as a secret; in InTouch, store it in a credential or runtime-environment variable rather than hardcoding it.

Output

Every run publishes:

On a transport-level failure the tool prints {"result": "", "status": "0", "error": "..."} and exits non-zero so the InTouch step is marked FAILED.

Examples

List the 5 most recent deals:

{
  "apiKey": "YOUR_PIPEDRIVE_TOKEN",
  "operation": "list_deals",
  "limit": "5"
}

Get a single deal:

{
  "apiKey": "YOUR_PIPEDRIVE_TOKEN",
  "operation": "get_deal",
  "id": "1234"
}

Create a deal linked to a person:

{
  "apiKey": "YOUR_PIPEDRIVE_TOKEN",
  "operation": "create_deal",
  "title": "Acme — annual renewal",
  "value": "12000",
  "currency": "USD",
  "personId": "987"
}

Create a person:

{
  "apiKey": "YOUR_PIPEDRIVE_TOKEN",
  "operation": "create_person",
  "name": "Jane Doe",
  "email": "[email protected]",
  "phone": "+1-555-0100"
}

List pipelines:

{
  "apiKey": "YOUR_PIPEDRIVE_TOKEN",
  "operation": "list_pipelines"
}

Publishes

The keys a later task may reference as {{taskName.key}}. Referencing anything not listed here resolves to nothing at run time.

Input Properties

Every property this tool accepts, from its own tool.iml.

Property Type Required Default Description
apiKey string yes Pipedrive API token. Found in Pipedrive > Settings > Personal preferences > API. Sent as the ?api_token= query parameter on every request.
operation string yes One of: list_deals, get_deal, create_deal, list_persons, create_person, list_organizations, list_pipelines
id string no Record id — required for get_deal (GET /api/v2/deals/{id}).
title string no Deal title — required for create_deal.
value string no Deal monetary value — optional for create_deal.
currency string no ISO currency code for the deal value — optional for create_deal.
personId string no Linked person id — optional for create_deal.
name string no Person name — required for create_person.
email string no Person email address — optional for create_person.
phone string no Person phone number — optional for create_person.
limit string no Max items to return for list_* operations (1-500, default 10).