Skip to main content
Technical Preview

Overview

A client-mode connector for the Pipedrive API that turns plant events into sales and service follow-ups. A machine alarm can open a deal or an activity, add a note, and close the activity when the alarm clears. Counters from the installed base can be written to organization custom fields. The connector uses API v2 (/api/v2/...) for deals, activities, organizations, persons, pipelines, stages and deal fields, and v1 (/v1/...) only for notes, leads, webhooks and the current user, which have no v2 version yet. Topics use crm/pipedrive/<object>/<verb>; each response is published on <source topic>/response.
The template was checked against Pipedrive’s published OpenAPI files and a local mock, and api.pipedrive.com was probed live with an invalid token (401, as expected). It has not been run against a real Pipedrive company yet, so status stays blocked until an authenticated smoke passes.

Authentication

Create a personal API token in Pipedrive under Settings > Personal preferences > API. The connector sends it in the x-api-token header, taken from the api_token field of each MQTT payload.
Do not publish the token in retained messages. Store it as a broker secret (for example PIPEDRIVE_API_TOKEN) and have a LoT action add it to the payload with GET SECRET before publishing to the connector topic.
For a Marketplace (OAuth) app, change the header to Authorization: Bearer <access_token> and set BASE_ADDRESS to the api_domain returned by https://oauth.pipedrive.com/oauth/token (for example https://yourcompany.pipedrive.com).

Payload fields

Events

OrganizationUpdate covers the catalog’s PUT organizations/{id}: in API v2 updates use PATCH, and v1 organization endpoints are no longer in Pipedrive’s v1 spec. No DELETE events are included on purpose.

Basic Syntax

Examples

Publish to crm/pipedrive/activities/create:
When the alarm clears, publish {"api_token": "...", "id": <activity id>, "body": {"done": true}} to crm/pipedrive/activities/update.

Webhooks into the broker

WebhookCreate registers a Pipedrive webhook (version "2.0", event_action such as create / change / delete / *, event_object such as deal / activity / organization). Pipedrive then POSTs each change to subscription_url. To receive it, run a separate server-mode connector and protect it with the webhook’s http_auth_user / http_auth_password:
The receiver must be reachable from the internet over HTTPS. It is not part of the client template.

Rate limits

Pipedrive gives each company a daily token budget, and every call spends tokens (the OpenAPI x-token-cost: 1 for a GET by id, 5 to 10 for lists, 20 for search, 5 for v2 writes, 10 for v1 writes). Short burst limits also apply, and excess calls get 429. Responses carry X-RateLimit-* and X-Daily-RateLimit-Token-* headers. Avoid polling lists from fast timers; react to events or use webhooks instead.

Testing

To finish the check, set PIPEDRIVE_API_TOKEN and run python3 smoke_pipedrive.py --live from the package, then deploy the connector and publish {"api_token": "..."} to crm/pipedrive/users/me/get.
Last modified on October 21, 2026