Pipedrive Integration Explained

This guide provides a step-by-step walkthrough for creating webhooks in Pipedrive to send real-time notifications about events to your external systems.

Jul 22, 2024

This guide provides a step-by-step walkthrough for creating webhooks in Pipedrive to send real-time notifications about events to your external systems.

⚙️ How to Create a Webhook

First, navigate to the webhook creation page in your Pipedrive web app:
Settings > Tools and apps > (Tools) > Webhooks.
notion image
The configuration fields are divided into two main parts: defining the event in Pipedrive and specifying the destination outside Pipedrive.

1. Events in Pipedrive (The Trigger)

This section defines the system or record change that will trigger the webhook notification.
  • Event action: The change made to an object (e.g., added, updated). Use for all actions.
  • Event object: The record or data type the action is performed on (e.g., deal, person). Use for all objects.
    • activity
    • activityType
    • deal
    • note
    • organization
    • person
    • pipeline
    • product
    • stage
    • user
  • Permission level: Governs which user's actions can trigger this webhook.
By combining these, you can create specific triggers like added.person, updated.deal, or a broad trigger like *.* to capture all events.

2. Endpoint Outside Pipedrive (The Destination)

This section defines where the notification will be sent.
  • Endpoint URL: The public HTTPS endpoint that will receive the notification.
  • HTTP Auth username and password: Use these fields if your endpoint requires Basic Authentication.
    • ⚠️ Authentication Limitation
      Pipedrive does not support multiple custom header parameters for authentication. You can effectively only pass a single token or certificate via these fields.
After configuring both sections, click Save to create the new webhook.

💡 Example & Key Concept

It's crucial to match the event object to the specific entity you want to monitor.
For instance, to receive a notification when a deal changes stages, you must use updated.deal.
If you were to use updated.stage instead, the webhook would only trigger when the stage's settings (like its name or order in the pipeline) are changed, not when a deal moves into it.
Key Takeaway
The event object should be the primary record you are tracking (e.g., deal, person, organization), not a related attribute like stage.

🚨 Policies, Limits, and Bans

Permissions & Limits

  • Regular users can create and delete webhooks for actions they perform.
  • Admin users can manage webhooks for all users in the company.
  • There is a maximum limit of 40 webhooks per user.

Rate Limit

Outgoing webhooks from Pipedrive are not subject to the standard Pipedrive API rate limits.

Webhook Ban System

Pipedrive has a policy to temporarily ban failing webhooks to protect system resources.
  1. Failure: A webhook delivery attempt fails if it receives a non-2xx response code or times out after 10 seconds.
  1. Ban Counter: Each initial failed attempt increases the ban counter for that webhook by 1.
  1. Ban Trigger: When the ban counter reaches 10, the webhook is banned for 30 minutes.
  1. Reactivation: After the 30-minute ban, the webhook is automatically reactivated, and its ban counter is reset to 0.
❗ Important Notes on the Ban Policy
  • Retries of a failed webhook do not increase the ban counter.
  • If a webhook is banned, any event that occurs during the ban period is permanently lost. No data is saved for retry.
  • If a webhook has no successful deliveries for 3 consecutive days, it will be automatically deleted.