A Pipedrive n8n setup uses the Pipedrive Trigger to react to deal, person and activity events, and the Pipedrive node to create and update records. The three automations worth building first are a two-way sync with clear field ownership, automatic activity logging, and AI lead scores written back to custom fields. Run n8n as its own Pipedrive user so the workflows can ignore their own changes.
A Pipedrive n8n integration connects Pipedrive to the rest of your stack with two built-in nodes: the Pipedrive Trigger, which starts a workflow when a deal, person, activity or other object is created, changed or deleted, and the Pipedrive node, which creates, updates, searches and deletes those records. With them you can sync deals with another system, log activities without anyone typing them, and write AI lead scores back into Pipedrive custom fields.
Node operations and credentials checked October 2026 against the n8n docs for the Pipedrive node, the Pipedrive Trigger and Pipedrive credentials, and Pipedrive's guide for webhooks v2. The workflows below are templates to adapt, not finished builds.
Most Pipedrive automations break in one of two ways: a sync that triggers itself in a loop, or a scoring workflow that overwrites what a salesperson typed. This guide is built around avoiding both. For the wider picture of CRM automation across Pipedrive, HubSpot and Salesforce, see our n8n CRM automation guide; for more ready-made workflows, the n8n templates library is the hub for this series.
What can the Pipedrive n8n nodes do?
The Pipedrive node supports these resources, per the n8n docs (checked October 2026):
- Deal: create, delete, duplicate, get, get all, search, update.
- Activity: create, delete, get, get all, update. Deal Activity: get all activities of a deal.
- Person and Organization: create, delete, get, get all, search, update.
- Lead: create, delete, get, get all, update. Note: create, delete, get, get all, update.
- Deal Product: add, get all, remove, update. File: create, delete, download, get. Product: get all.
If an operation is missing, n8n's documented fallback is the HTTP Request node with Authentication set to Predefined Credential Type and your Pipedrive credential selected, so you can call any Pipedrive API endpoint without handling the token yourself.
On the Pipedrive side, version 2.0 is the default when a webhook is created through the API without a version. Each webhook subscribes to an event action (create, change, delete or *) and an event object such as deal, person, activity, lead or note. Pipedrive documents a limit of 40 webhooks per user, so plan triggers rather than adding one per idea.
Setting up the Pipedrive credential
- 1Create an integration user (recommended)
A separate Pipedrive user for n8n makes every automated change easy to spot and to filter out.
- 2Pick an auth method
API token: Personal preferences, API tab, copy the token. OAuth2: register an app in the Developer Hub and choose scopes.
- 3Add the credential in n8n
Paste the token, or the client ID and secret plus the OAuth redirect URL from n8n as the app callback URL.
- 4Grant the right scopes (OAuth2)
For example deals:full to update deals, activities:full to log activities, webhooks:full for the Pipedrive Trigger.
- 5Test with a read
Run Get data of a deal on a known deal ID. Expected result: the deal JSON, including custom fields under their API keys.
If you belong to several Pipedrive companies, the n8n docs note that you must switch to the right company before copying the API token, because each company has its own.
Pipedrive Trigger node or a plain Webhook node?
There are two ways to receive Pipedrive events in n8n, and both end up as a Pipedrive webhook pointing at your instance.
- Registers the webhook in Pipedrive for you when the workflow is published
- Uses your Pipedrive credential
- Needs the webhooks:full scope under OAuth2
- Quickest way to start
- One trigger per workflow counts toward the webhook limit
- You create the webhook in Pipedrive (settings or API) and paste the n8n production URL
- Lets you set HTTP basic auth on the Pipedrive side and require it in n8n
- One URL can receive several Pipedrive webhooks
- Full control over response and verification
- More setup, more to document
Pipedrive's webhook API accepts an http_auth_user and http_auth_password for the subscription URL, so the plain Webhook route pairs naturally with Basic auth on the n8n Webhook node. Pipedrive also requires the subscription URL to be publicly reachable and not redirect, which matters on self-hosted n8n behind a proxy: the URL you register must be the final HTTPS address. Whichever route you pick, start with the trigger node while you prototype, and move to the Webhook node if you need the extra control.
Remember that Pipedrive checks each event against the permissions of the user the webhook belongs to. A webhook owned by a regular user only fires for objects that user can see. If the integration user should receive every event, Pipedrive's docs say to use a top-level admin user for the webhook.
The system: three workflows around one CRM
- 01Pipedrive Trigger
Deal, person or activity created or changed.
- 02Loop guard
Drop events made by the n8n integration user.
- 03Route
Switch on meta.action and meta.entity.
- 04Sync
Push owned fields to the other system and pull its owned fields back.
- 05Log and score
Create activities and notes; write AI scores to custom fields.
- 06Alert on failure
An error workflow posts broken runs to your team channel.
How do you build a two-way Pipedrive n8n sync without loops?
A two-way sync means changes in Pipedrive reach your other system (a database, a spreadsheet, a billing or product tool) and changes there reach Pipedrive. The danger is obvious once you draw it: n8n updates Pipedrive, Pipedrive fires a change webhook, n8n updates the other system, which triggers n8n again.
Pipedrive gives you what you need to break the loop. Every webhook v2 payload has a meta block that includes change_source (app when the change came from the Pipedrive web app, api when it came through the API), the user_id that made the change, and an is_bulk_edit flag. The payload also carries data (the object now) and previous, which in v2 holds only the fields that changed.
// If node: continue only for human edits that touched a field you sync
{{ $json.meta.user_id !== 'YOUR_N8N_USER_ID'
&& Object.keys($json.previous || {}).some(k => ['value', 'stage_id', 'status'].includes(k)) }}Filtering on user_id is safer than filtering on change_source alone, because other API integrations also produce api events that you may still want to sync. In Pipedrive's v2 sample payload, user_id appears as a string, so compare it as text. Checking previous stops the sync firing on changes to fields it does not care about.
Conflict rules: decide who owns each field
Loops are the mechanical problem; conflicts are the business one. When the same field changes in both systems, the workflow needs a rule. The simplest rule set gives each field one owner and lets only that side write it:
| Field group | Owner | Rule |
|---|---|---|
| Deal stage, value, owner | Pipedrive | Sales edits these by hand; the other system only reads them. |
| Billing status, plan, renewal date | Billing or product system | Pipedrive shows them in read-only custom fields. |
| Email, phone, company name | Most recent edit wins | Compare update timestamps; ignore empty values so a blank never overwrites data. |
| AI score and score reason | n8n | Written only by the scoring workflow; humans override in a separate field. |
| Notes and activity history | Append only | Never edited by the sync; new entries are added, nothing is replaced. |
Write the table down before you build. It turns every "which value wins?" question into a lookup, and it tells you which direction each branch of the workflow needs. For shared fields where most recent edit wins, compare the record's update time in Pipedrive with the other system's timestamp before writing, and never let an empty value overwrite a filled one.
How do you auto-log activities in Pipedrive with n8n?
Activity logging is where n8n saves salespeople the most typing. The pattern is the same for every source: an event happens elsewhere, n8n finds the matching person or deal in Pipedrive, and it creates an activity or note against it.
- Booked meetings. A calendar or booking tool fires a webhook; n8n searches persons by email, finds the open deal, and creates a meeting activity with the time and link.
- Form submissions. The form tool posts to an n8n Webhook node; n8n creates or updates the person and adds a note with the answers.
- Product sign-ups and payments. Your app or billing tool sends an event; n8n adds a note to the deal and updates the read-only billing fields.
- Email replies. An email trigger catches replies from known contacts and logs a done activity so the deal timeline stays complete.
- 1Webhook node
Receives the booking event. Secure it with header auth or the sender signature.
- 2Pipedrive: Search all persons
Search by the attendee email. If nothing is found, create the person.
- 3Pipedrive: Get all activities of a deal (optional)
Check for an existing activity with the same time so retries do not log twice.
- 4Pipedrive: Create an activity
Type meeting, subject from the booking, due date and time, linked to the person and deal.
- 5Pipedrive: Create a note
Attach the answers the attendee gave in the booking form.
The de-duplication step matters because senders retry. Pipedrive itself retries failed webhook deliveries: its attempt field runs from 1 for a first-try delivery to 4 for the third retry, and any non-2xx response counts as a failure. Other tools behave similarly. If your workflow is slow to respond, the same event can arrive twice. Our n8n webhook guide covers replying fast and verifying senders.
How do you write AI lead scores back to Pipedrive?
AI scoring is useful when it is consistent and explainable. A score with no reason gets ignored; a score that overwrites a salesperson's judgement gets the workflow switched off. The template below keeps both problems out.
- Create the fields first. In Pipedrive, add custom fields on deals or leads: AI score (numeric), AI score reason (text), and Score override (a single option a human sets). Copy each field's API key from Company settings, Data fields, three-dot menu, Copy API key.
- Trigger on new or changed leads. Use the Pipedrive Trigger on
createfordealorlead, with the loop guard from above. - Gather only trusted inputs. Deal value, source, company size field, the notes, form answers. Fetch the person and organization with Get operations.
- Score with a fixed rubric. Send the inputs to an AI node with a written rubric and a structured output (score plus one-sentence reason). Our n8n AI integration guide shows how to set up the model nodes.
- Respect the override. If Score override is set, skip the write.
- Write back by API key. Update the deal, using each custom field's 40-character API key as the field name.
Pipedrive notes that custom field keys are generated per account and cannot be renamed, although the visible name can change. Keep the keys in one Set node at the start of the workflow, labelled with the human-readable names, so the next person to edit the workflow does not have to decode hashes.
If you want to take patterns like this further and build them into a product of your own, our AI SaaS Builder program covers backends, auth, payments and automation end to end.
Common Pipedrive n8n mistakes
- Running automations as a real salesperson. Every automated change looks like theirs, and you cannot filter your own writes. Use an integration user.
- Syncing every field. Sync what another system needs, nothing more. Fewer fields means fewer conflicts.
- Hardcoding custom field keys in many nodes. Keys differ per account, so a workflow copied to a second account breaks in many places. Keep them in one Set node.
- One trigger per idea. With a 40-webhook limit per user, route by action and object inside fewer workflows.
- No failure alerting. A broken sync is silent until someone notices stale data. Attach an error workflow, as in our n8n error handling guide.
- Create a Pipedrive integration user and note its user ID
- Add the Pipedrive credential in n8n and test a Get data of a deal
- Write the field ownership table before building the sync
- Add a loop guard on meta.user_id to every Pipedrive Trigger workflow
- Build one activity logger, for booked calls or form submissions
- Create the AI score, reason and override custom fields and copy their API keys
- Route bulk edits to a slower queued path
- Attach an error workflow to each production workflow
Pipedrive n8n FAQ
Does n8n have a Pipedrive integration?
Yes. n8n ships a Pipedrive node for actions and a Pipedrive Trigger node that starts workflows from Pipedrive events. The action node covers activities, deals, deal activities, deal products, files, leads, notes, organizations, persons and products. Both authenticate with an API token or OAuth2. For anything the node does not cover, the HTTP Request node can reuse the same Pipedrive credential. Checked October 2026.
Should I use the API token or OAuth2 for Pipedrive in n8n?
The API token is quicker: copy it from Personal preferences, API tab, and paste it into the credential. It acts as that user, so create a dedicated integration user if you can. OAuth2 needs an app registered in the Pipedrive Developer Hub with scopes you choose, which suits teams that want narrower permissions. The Pipedrive Trigger needs the webhooks full access scope under OAuth2.
How do I stop a two-way Pipedrive sync from looping?
Every Pipedrive webhook v2 carries a meta block with change_source, which is app for edits made in the Pipedrive web app and api for edits made through the API, plus the user_id that made the change. Run n8n as a dedicated Pipedrive user and drop any event whose user_id is that user, so the workflow never reacts to its own writes.
How do I update a Pipedrive custom field from n8n?
Pipedrive references each custom field by a 40-character API key that is different in every account. Find it in Company settings, Data fields, then the three-dot menu on the field and Copy API key. Use that key as the field name when you update the deal, person or organization from n8n. Renaming the field in Pipedrive does not change the key.
How many webhooks can I create in Pipedrive?
Pipedrive documents a maximum of 40 webhooks per user for its general webhooks, checked October 2026. Each n8n Pipedrive Trigger node registers its own webhook, so consolidate where you can: one trigger per object with a Switch node on the action is usually tidier than separate workflows for create, change and delete.
Can n8n score Pipedrive leads with AI?
Yes, as a pattern you assemble. Trigger on new leads or deals, gather the fields and notes you trust, send them to an AI node with a fixed rubric and a structured output, then write the score and a one-line reason back to custom fields. Keep the score advisory: salespeople should see why a lead scored low and be able to override it.
Automating your sales stack? Learn to build the whole system.
AI SaaS Builder, included in All Access, covers backends, auth, payments and automation, with the other three programs, live coaching and the private community in one subscription.
Start with the free Creator Starter Kit
Templates and checklists for your first automations, free.