n8n + Pipedrive Integration: Automate Lead Scoring, Deal Progression, and Revenue Forecasting
The Problem: You're manually updating deals in Pipedrive. Your sales team loses hours every week to data entry instead of selling. You can't forecast revenue accurately because deal progress updates are days behind reality.
The Solution: Connect Pipedrive to n8n to automatically update deal stages, score leads, and send real-time forecasting alerts to your revenue team.
Why This Matters for SMBs
Pipedrive is built for sales teams, but automation is what makes it powerful. Without it:
- Your AE manually enters form responses into Pipedrive (30 min/day × 5 days = 2.5 hours wasted weekly)
- Deal stage changes are manual, so your forecast is always stale (you close a deal on Monday but update Pipedrive on Friday)
- Hot leads sit in Pipedrive without automatic follow-up (no task creation, no Slack ping)
- You have no way to score leads based on fit (company size, industry, budget mentioned in email/form)
With n8n + Pipedrive:
- New leads auto-score and auto-assign to the right AE (no manual routing)
- Deals auto-progress through stages based on email opens, form submissions, or payment intent signals
- Your forecast updates in real-time (closed won deals sync automatically to your financial model)
- Hot leads trigger automatic follow-ups (Slack alerts, calendar invites, email sequences)
Real SMB Example:
A 5-person consulting firm using Pipedrive + Typeform for lead capture was manually routing 8–12 form submissions per day. With n8n:
- Form → Pipedrive auto-creates person + deal (scored by budget mentioned + company size)
- If high-fit lead (score ≥70): auto-assigns to available AE + sends Slack alert
- If medium-fit: auto-sends email sequence (nurture track)
- Result: AEs spend 6+ hours/week on sales instead of data entry. 3 extra deals closed in first month.
The Pipedrive-n8n Integration: Complete Setup
Prerequisites
What you'll need:
- Pipedrive account (free tier supports up to 5 users; this workflow works on any plan)
- n8n self-hosted or Cloud ($9/month self-hosted, $20+/month Cloud)
- A data source: Typeform, Google Forms, or your website form
- Slack workspace (optional but recommended for alerts)
- Pipedrive API key: Settings > Your Company > API
Step 1: Get Your Pipedrive API Key & Webhook URL
- Log into Pipedrive
- Go to Settings > Your Company > API
- Copy your REST API token (you'll need this for the n8n Pipedrive node)
- In n8n, create a new Pipedrive credential:
- Credentials Type: Pipedrive
- API Token: paste your REST API token
- Test & save
Step 2: Build the Lead Scoring Workflow
Goal: When a new Typeform response arrives, create a Pipedrive person + deal, scored by lead quality.
Workflow nodes (6 steps):
Node 1: Typeform Trigger
- Type: Webhook / Trigger (configure Typeform to POST to your n8n webhook URL)
-
Output: Form response with
email,name,company,budget_mentioned,industry
Node 2: Lead Scoring (Code Node)
- Assign points based on form data:
- Budget ≥$50K: +30 points
- Relevant industry (match against target list): +20 points
- Response time <2 min (implies urgency): +10 points
- Company size 10–100 employees: +15 points
- Total score range: 0–75
// Scoring logic
const score =
(data.budget_mentioned >= 50000 ? 30 : 0) +
(['saas', 'agency', 'ecommerce'].includes(data.industry) ? 20 : 0) +
(data.response_time_sec < 120 ? 10 : 0) +
(data.company_size >= 10 && data.company_size <= 100 ? 15 : 0);
return { score };
Node 3: Pipedrive — Create Person
- Method: Add Person
-
Input mapping:
- Name:
{{$node["Typeform Trigger"].json.body.name}} - Email:
{{$node["Typeform Trigger"].json.body.email}} - Custom field "Lead Score":
{{$node["Lead Scoring"].json.score}}
- Name:
-
Output:
person_id
Node 4: Pipedrive — Create Deal
- Method: Add Deal
-
Input mapping:
- Deal title: "
{{$node[\"Typeform Trigger\"].json.body.company}} - Initial Interest" - Person ID:
{{$node["Pipedrive - Create Person"].json.body.data.id}} - Stage: "Leads" (or your first stage)
- Custom field "Lead Score":
{{$node["Lead Scoring"].json.score}}
- Deal title: "
Node 5: Conditional — Route by Lead Score
- If score ≥70: Proceed to "Hot Lead" flow (auto-assign + Slack alert)
- If score 40–69: Proceed to "Nurture" flow (add to email sequence)
- If score <40: Proceed to "Low Priority" flow (log only)
Node 6: Hot Lead Flow (if score ≥70)
- Assign to AE: Pipedrive node "Update Deal" → set "Assigned to User ID" (round-robin or by capacity)
- Slack Alert: Send message to #sales channel:
🔥 Hot Lead Inbound!
Name: {{name}}
Score: {{score}}/75
Budget: {{budget_mentioned}}
AE: {{assigned_ae}}
Node 7: Nurture Flow (if score 40–69)
- Add person to Brevo list "Lead Nurture - Medium Fit"
- Brevo will trigger a 5-email nurture sequence automatically
Step 3: Auto-Update Deal Stages Based on Email Activity
Goal: Move deals forward through your sales pipeline based on real-world signals (email opens, form completions, payments).
Workflow 2: Email Activity → Deal Stage Update
Node 1: Gmail Trigger
- Trigger: New email received (from your sales inbox)
- Watch for keywords: "budget", "timeline", "demo", "purchase order"
Node 2: Check if Email is Reply (Code Node)
- Extract sender email
- Match against existing Pipedrive persons
Node 3: Pipedrive — Find Person by Email
- Method: Search Persons
-
Email:
{{sender_email}} -
Output:
person_id,deal_id
Node 4: Keyword Matcher (Code Node)
- If email contains:
- "budget", "pricing", "ROI" → stage = "Negotiation" (move to stage 3)
- "demo", "schedule", "Thursday" → stage = "Demo Scheduled" (move to stage 2)
- "PO", "invoice", "contract" → stage = "Negotiation" (move to stage 3)
- "approved", "let's go", "sign" → stage = "Won" (move to stage 4)
Node 5: Pipedrive — Update Deal
- Deal ID: from Node 3
- New stage: from Node 4
- Add activity: Add timeline note with email excerpt
Step 4: Real-Time Revenue Forecasting
Goal: Every day, Pipedrive exports deal pipeline to Google Sheets (or your forecasting tool), updated with stage probability and weighted revenue.
Workflow 3: Daily Pipeline Export
Node 1: Schedule Trigger
- Time: 8:00 AM CT daily
Node 2: Pipedrive — Get All Deals
- Method: Get Deals (include all fields, including custom "Lead Score")
- Filter: Status = "open" (active deals only)
- Output: Array of deals with stage, value, person, lead score
Node 3: Add Win Probability by Stage (Code Node)
// Map stage to probability
const stageProbability = {
"leads": 0.05,
"qualified": 0.15,
"demo_scheduled": 0.30,
"negotiation": 0.60,
"won": 1.0
};
return deals.map(deal => ({
...deal,
win_probability: stageProbability[deal.stage] || 0.1,
weighted_value: deal.value * (stageProbability[deal.stage] || 0.1)
}));
Node 4: Google Sheets Append
- Sheet: "Pipeline Forecast"
-
Columns:
- AE Name
- Deal Name
- Company
- Deal Value
- Stage
- Win Probability
- Weighted Value (weighted by stage)
- Lead Score
- Days in Stage
Node 5: Calculate Summary (Code Node)
- Total pipeline value (all deals)
- Weighted pipeline (sum of
weighted_value) - Number of deals in each stage
- Average deal size by AE
Node 6: Google Sheets Update Summary Sheet
- Sheet: "Daily Forecast Summary"
-
Rows:
- Total Pipeline: $XXX
- Weighted Pipeline (realistic forecast): $YYY
- Expected close date (based on velocity)
- Forecast confidence: XX%
Common Gotchas & How to Avoid Them
1. Duplicate Persons in Pipedrive (emails exist twice)
- Problem: Your workflow creates a new person even if the email already exists
- Fix: In "Create Person" node, check the "Update if exists" option (or use "Search Persons" first, then create only if not found)
2. Deal Stage IDs Change Between Pipedrive Accounts
- Problem: Stage ID "1" in your dev account ≠ stage ID "1" in production
- Fix: Store stage mappings in a config object at the start of your workflow:
const stages = {
"leads": 3,
"qualified": 4,
"demo_scheduled": 5,
"negotiation": 6,
"won": 7
};
3. Pipedrive API Rate Limit (API v2 allows 10 req/sec)
- Problem: Bulk updates fail if you're updating >100 deals at once
- Fix: Add a "Split in Batches" node before bulk updates (process 10 at a time with delay)
4. Timezone Issues in Scheduling
- Problem: Schedule trigger runs at "8 AM" but you're in a different timezone
- Fix: In Schedule node, explicitly set timezone: America/Chicago (or your TZ)
5. Custom Field Names vs. IDs
- Problem: Pipedrive API requires field IDs (custom_49), not human names
- Fix: Get field IDs from Pipedrive Settings > Custom Fields. Create a reference sheet.
Real Workflow: Lead Scoring + Deal Auto-Assignment
Here's the complete JSON for a production-ready workflow (import into your n8n instance):
Trigger: Typeform response → Output: Person + scored deal created in Pipedrive + hot leads routed to Slack + AE assignment
Setup time: 45 minutes (including testing)
ROI: 6+ hours/week saved on manual deal entry + improved forecast accuracy
Download the complete workflow JSON: n8n Pipedrive Lead Scoring Workflow (included in Workflow Starter Pack)
Next Steps
- Export your current Pipedrive deals (Settings > Data Export)
- Map your sales stages (Leads → Qualified → Demo → Negotiation → Won)
- Connect your data source (Typeform, HubSpot, or manual form)
- Build your first workflow (start with lead scoring, expand to stage auto-update)
- Test with 5 deals before going live on your entire pipeline
CTAs
Want automated lead scoring, but don't have time to build it?
- ✓ $99 Workflow Audit: Get a custom assessment of your sales pipeline + 1 automated workflow built to your specs
- ✓ $299/month Retainer: Custom workflows built monthly + ongoing support (Slack/email)
Book a 30-min discovery: n8n Automation Audit
Want more integration guides?
- Subscribe to the free n8n Integration Checklist for 10 pre-built workflows: Get the Checklist
Top comments (0)