How to Connect ChatGPT to Your CRM (HubSpot and Pipedrive) with n8n

You can wire ChatGPT into HubSpot or Pipedrive with n8n to score inbound leads, log call summaries on the deal, and draft follow-ups your reps approve before sending. At 500 leads a month, the model itself runs about $5 USD on a mid-tier OpenAI model. The money is not in tokens: it is in the n8n plan (from €20 EUR per month, roughly $22 USD, on annual Starter) and in build hours. Every node, credential, and limit below is current as of September 2, 2026 — not the ones HubSpot turns off in October.
What changed in 2026 that makes most tutorials wrong?
Five platform changes broke every guide written before this year. Follow one and you will create credentials that stop being creatable in weeks, or call endpoints that no longer carry a support guarantee.
| Change | Date | What to do instead |
|---|---|---|
| HubSpot disables legacy private app creation (new accounts) | September 28, 2026 | Use Service Keys or a developer platform app |
| HubSpot disables legacy private app creation (existing accounts) | October 26, 2026 | Private apps already created keep working; new ones cannot be made |
| Pipedrive ends the support guarantee on selected API v1 endpoints | December 31, 2025 | Point every manual call at /api/v2 |
| n8n unifies AI Agents into the Tools Agent | Version 1.82.0 | Stop using the agent type selector; the v1 node is removed in n8n 3.0 |
| OpenAI node V2 moves to the Responses API | Version 1.117.0 | Assistants functionality no longer exists in that node |
HubSpot’s is the one that hurts, because it invalidates step one of almost every guide online. The private app sunset notice in HubSpot’s changelog confirms both dates and that existing apps keep running. Any tutorial that opens with “create a private app” stops working on a fresh account after September 28.
Service Keys do not cover webhooks
This is the part almost nobody flags. A Service Key replaces the private app token for normal API calls, but it does not enable webhooks or UI extensions, per HubSpot’s account service keys documentation. If your workflow starts on a CRM event, you need a developer platform app or the workflow webhook action.
That action carries its own requirement. Operations Hub is now called Data Hub, and the webhook action requires Data Hub Professional or Enterprise. If your account is on Starter, that path does not exist and you fall back to polling or a developer platform app.
Pipedrive renamed both its plans and its API version
Pipedrive plans are no longer Essential, Advanced, Professional, and Power. They are Lite, Growth, Premium, and Ultimate, and the plan name sets your API limit multiplier. The deprecation of selected v1 endpoints removed the support guarantee on December 31, 2025, so every HTTP Request call should target /api/v2.
What credentials and nodes do I need before opening n8n?
Three credentials and one decision. The credentials: your CRM, OpenAI, and — if HubSpot events start the workflow — a Developer API Key. The decision: whether the workflow fires on an event or on a schedule, because that determines which HubSpot credential actually works.
HubSpot: three paths, only one drives the trigger
- Service Key (public beta): generated under Development > Keys > Service keys, available only to a Super admin or a user with the Developer tools permission. In n8n you paste it into the App Token field. It covers the HubSpot node and HTTP Request.
- OAuth2: the right call when more than one person operates the workflow, or when the account owner wants granular revocation.
- Developer API Key: required by the HubSpot Trigger node. It asks for Client ID, Client Secret, Developer API Key, and App ID.
- The classic API Key is deprecated. Migrating an old workflow off it is about an hour of work.
Pipedrive: API Token or OAuth2
The API Token comes from Personal preferences > API: fastest way to pilot, with the downside that it is tied to a human user who may leave. OAuth2 asks for per-object scopes and belongs in production. The Pipedrive Trigger node needs the webhooks:full scope; without it the trigger is created but never receives anything.
The nodes you will actually use
| Node | Identifier | Relevant resources |
|---|---|---|
| HubSpot | n8n-nodes-base.hubspot |
Contact, Contact List, Company, Deal, Engagement, Form, Ticket |
| HubSpot Trigger | n8n-nodes-base.hubspottrigger |
created, deleted, property changed, new message (company, contact, conversation, deal, ticket) |
| Pipedrive | n8n-nodes-base.pipedrive |
Activity, Deal, Deal Activity, Deal Product, File, Lead, Note, Organization, Person, Product |
| Pipedrive Trigger | n8n-nodes-base.pipedrivetrigger |
Requires the webhooks:full scope |
| OpenAI | n8n-nodes-langchain.openai |
Text, Image, Audio, File, Video, Conversation |
On the AI side you work with cluster nodes: a root node (AI Agent, Basic LLM Chain, Summarization Chain, Information Extractor, Text Classifier) with sub-nodes attached beneath it (OpenAI Chat Model, Anthropic Chat Model, Simple Memory, Structured Output Parser, Auto-fixing Output Parser, HTTP Request Tool, Call n8n Workflow Tool). When you attach a regular app node as a Tool, its fields are filled with $fromAI(key, description, type, defaultValue), which does not work with the Custom Code Tool.
One honest note on the Anthropic Chat Model node: the docs only say “Claude” and are out of date, because the model dropdown is populated from the API at runtime. Do not copy model IDs from any blog, this one included. Open the node and read what your account offers.
Which workflows are worth building first?
Four, in this order. The first pays for the project, the second is the one reps ask for by name, the third saves time with no reputational risk, and the fourth resurrects dead pipeline. Each is written as a node sequence so you are not guessing at the canvas.
Workflow A: score and enrich a new lead
HubSpot Trigger (contact.creation) → HubSpot: Contact → Get → HTTP Request (enrichment provider) → Edit Fields (trim to non-PII fields) → Information Extractor or Basic LLM Chain + Structured Output Parser with OpenAI Chat Model attached → If (score ≥ threshold) → HubSpot: Contact → Create/Update writing lead_score and lead_score_reason → Slack only when the lead comes back hot.
The Pipedrive variant starts at Pipedrive Trigger (person.added) and closes at Pipedrive: Person → Update. The Edit Fields node is not optional: it is where you decide which personal data never reaches the model.
Workflow B: turn a call or email thread into a note on the deal
Webhook (Fireflies, Gong, or Gmail) → Code (normalize the transcript) → Summarization Chain, in Map Reduce mode once the text passes 8,000 tokens → Information Extractor for next_step, objections, and budget → write to the CRM.
The detail that costs an afternoon to discover: the HubSpot node only exposes Engagement, not v3 notes. For a modern note you need an HTTP Request to POST /crm/v3/objects/notes with hs_timestamp, hs_note_body, and an associations block using associationTypeId 214 for a deal and 202 for a contact. It reuses the HubSpot node’s credential. Pipedrive is simpler: Pipedrive: Note → Create with deal_id.
Workflow C: draft the follow-up, never send it
Schedule Trigger → HubSpot: Deal → Get All filtered by stage → Loop Over Items → Basic LLM Chain with a tone system prompt plus deal context → Gmail: Create Draft, or Pipedrive: Note → Create prefixed with [AI DRAFT], or HubSpot: Engagement → Create of type TASK.
Never attach a send node. The draft is the feature; automatic sending is the incident report. A rep who reviews and sends in ten seconds keeps a human in the loop and keeps the first weird email away from your best account.
Workflow D: stalled deals to next action
Schedule Trigger (daily cron) → Pipedrive: Deal → Get All or HubSpot: Deal → Search → Filter on hs_lastmodifieddate older than 14 days → Remove Duplicates in “Remove Items Processed in Previous Executions” mode keyed on dealId+week → AI Agent with Tools (Pipedrive get activities, HTTP Request Tool, Call n8n Workflow Tool) → Structured Output Parser → Pipedrive: Activity → Create plus a Slack notice.
This is the only one of the four where a tool-calling AI Agent earns its place, because the model decides what to look up before proposing the action. Watch the cost: an agent with tools burns 3 to 5 times the tokens of a simple chain for the same output.
What system prompt should I use for lead scoring?
This is the prompt we run in production for B2B scoring, at temperature 0 to 0.2 and validated with a Structured Output Parser. Swap the ICP for your own.
You are a B2B qualification analyst. You receive lead data and return ONLY valid JSON.
Framework: adapted BANT. Score 0-100 = firmographic_fit(40) + intent_signal(30) + data_quality(15) + timing(15).
Hard rules:
- ICP: companies in the US/Canada/LATAM, 20-500 employees, sectors: SaaS, manufacturing, professional services.
- Free email domain (gmail/hotmail) or student role => 35 maximum.
- Known competitor => score 0, tier "disqualify".
- If a field is missing, do NOT invent it: penalize data_quality and list it in "missing_data".
- The reason must cite concrete fields received, never outside knowledge.
Output (JSON, no markdown):
{"score":int,"tier":"hot|warm|cold|disqualify",
"reason":"240 characters max","missing_data":[string],
"next_action":"call|email_sequence|nurture|none","confidence":0.0-1.0}
If confidence < 0.5, tier must be "warm" and next_action "nurture".
The two rules doing the heavy lifting are missing_data and confidence. The first stops the model from inventing headcount for a company it has never seen; the second gives it an honest exit when the record is thin, instead of a score your reps stop trusting by week two.
What does this actually cost per month?
Less than people expect from the model and more than they expect from the platform. These are n8n Cloud’s published annual-billing prices; USD conversions are approximate.
| n8n Cloud plan (annual) | Price | Executions included |
|---|---|---|
| Starter | €20 EUR / month (≈ $22 USD) | 2,500 |
| Pro | €50 EUR / month (≈ $55 USD) | 10,000 |
| Business | €667 EUR / month (≈ $730 USD) | 40,000 |
The billing detail that should shape your design: n8n charges per full execution, not per step. A forty-node workflow costs the same as a three-node one, so one large workflow with a Switch beats eight small ones fired separately.
Scenario: 500 leads per month
Workflow A across 500 leads, summaries for roughly 300 interactions, follow-up drafts, and a daily stalled-deal sweep add up to about 2.7 million input tokens and 0.4 million output tokens. Per-million prices below are each vendor’s published rates; the monthly total is our estimate from that volume.
| Model | Price per million (in / out) | Estimated monthly cost |
|---|---|---|
| OpenAI mid-tier | ≈ $1 / $6 USD | ≈ $5 USD |
| OpenAI budget tier | ≈ $0.10 / $0.60 USD | ≈ $0.50 USD |
| Claude Sonnet 5 | $2 / $10 USD | ≈ $9.40 USD |
| Claude Haiku 4.5 | $1 / $5 USD | ≈ $4.70 USD |
That scenario produces 1,400 to 1,800 executions a month, so it fits inside Starter. The uncomfortable conclusion for anyone selling “expensive AI”: the LLM costs less than the n8n subscription. Your real budget line is build and maintenance, which is where nearshore math shows up: a Mexico City team overlaps with US Central time all day and typically bills 40% to 60% below comparable US agency rates, which is our read of the market, not a published figure. Here is how we scope it under our AI solutions for revenue operations.
API limits that will bite you
| Platform / plan | Rate limit | Daily limit |
|---|---|---|
| HubSpot private app Free / Starter | 100 req / 10 s | 250,000 |
| HubSpot private app Professional | 190 req / 10 s | 625,000 |
| HubSpot private app Enterprise | 190 req / 10 s | 1,000,000 |
| HubSpot API add-on (2 max) | 250 req / 10 s | +1,000,000 each |
| HubSpot OAuth app | 110 req / 10 s per portal | Per portal plan |
| HubSpot Search API | 5 req / s | 200 records per page |
Two structural ceilings sit on top of that: 20 private apps per account and 1,000 webhook subscriptions per app. And one n8n-side limit that surprises everyone: the HubSpot Trigger node supports a single active webhook. Activate a second and it breaks the first.
Pipedrive runs on a token budget rather than requests per second: 30,000 tokens per day, multiplied by the plan factor and by seat count. Lite multiplies by 1, Growth by 2, Premium by 5, Ultimate by 7.
| Pipedrive operation | Token cost |
|---|---|
| GET single record | 2 |
| GET list | 20 |
| UPDATE | 10 |
| DELETE | 6 |
| Search | 40 |
The 2-second burst allowance depends on credential type: 20 to 120 with an API token depending on plan, 80 to 480 with OAuth, and search capped at 10 across the board. Pipedrive outgoing webhooks do not consume the rate limit: they retry at 3, 30, and 150 seconds, impose a 30-minute ban after 10 failures, and are deleted after 3 days with no successful delivery. The HubSpot workflow webhook retries for up to 3 days and does not retry 4XX errors except 429.
Can I resell this to my clients? The n8n license
You can charge to build it. You cannot charge for access to n8n. n8n is fair-code under the Sustainable Use License, which is not an OSI-approved open source license. The license text in the repository is explicit: “You may use or modify the software only for your own internal business purposes or for non-commercial or personal use”.
| Allowed | Not allowed |
|---|---|
| Syncing your own company’s internal data | White-labeling n8n and charging for it |
| Building integrations for your own product | Hosting n8n as a paid service for third parties |
| Offering consulting on n8n workflows | Collecting end-user credentials to sync their accounts through n8n |
| Running n8n infrastructure for internal use | Selling access to a “platform” that is n8n with a new logo |
There is a legitimate gray area: using n8n as the backend of a feature inside your own application. That is usually fine when it runs on your company’s credentials rather than each end user’s. The practical translation for an agency: building it and charging to build it is fine; reselling disguised access is not. The clean setup is one instance and one subscription per client, in the client’s name.
What breaks these workflows in week two?
These workflows rarely fail on launch day. They fail on day twelve, when the first odd event arrives. Here are the ten failures we see over and over.
- Building on HubSpot private apps. Creation shuts off September 28 for new accounts and October 26 for existing ones. Use a Service Key or a developer platform app.
- Two active HubSpot Triggers. The second one kills the first. Keep one trigger and branch with a
Switchnode. - Infinite loop. Your workflow writes a property, that fires
propertyChange, and the workflow retriggers itself. Filter onsourceIdor the integration user, or use a sentinel property the workflow checks before writing. - No idempotency. Pipedrive webhooks retry at 3, 30, and 150 seconds, so the same event lands 2 to 4 times. Use
Remove Duplicatesin previous-executions mode (10,000-item history) or aData Tablekeyed on the event ID. - Putting full PII in the prompt. Send domain, industry, size, and intent signal only — never phone numbers, tax IDs, or a full email thread with signature blocks. Trim with
Edit Fieldsbefore the model. If any of your leads are in Mexico, this is also a legal requirement: the LFPDPPP in force since March 2025 requires you to disclose AI use in your privacy notice and to explain the algorithmic logic behind an automated decision. - No Retry On Fail and no error workflow. Turn on Retry On Fail for every node that touches the network, and build a separate workflow starting with
Error Triggerso failures land in Slack instead of a dashboard nobody opens. - Ignoring search cost. A Pipedrive search costs 40 tokens versus 2 for a GET; HubSpot’s Search API is capped at 5 req/s. Store the record ID in a
Data Tableand search once. - No structured output. Asking for JSON in the prompt without a
Structured Output Parserpasses testing and breaks in production the moment the model adds a polite sentence. Add anAuto-fixing Output Parsertoo. - Simple Memory in queue mode. The n8n docs warn it does not work in production under queue mode. Use memory persisted in Postgres or Redis.
- Sending email automatically.
Gmail: Create Draft, neverSend. Human in the loop, no exceptions for urgency.
When is this not worth automating?
Three situations where we will tell you to wait, and we would rather say it before invoicing you.
- Under roughly 50 leads a month. The time saved does not cover the build or the maintenance. At that volume a rep qualifies by hand faster than you can debug the workflow.
- A CRM with no data hygiene. If half your companies are duplicates and the industry field is empty, the model scores on air. Clean up and enforce required fields first.
- A team that does not use the CRM. If reps track pipeline in Slack DMs and in their heads, automating the CRM produces clean reports built on fiction. That is a process problem, not a tooling one.
- Purely consultative selling. If every deal is decided in a room rather than by a score, workflow B still pays off, but automated qualification does not.
Frequently asked questions
What does this cost per month?
At 500 leads a month the model runs $0.50 to $9.40 USD depending on vendor, and n8n Cloud Starter is €20 EUR (about $22 USD) monthly on annual billing. The dominant cost is the initial build and ongoing maintenance, not tokens or the platform subscription.
Do I need to know how to code?
Not for workflows A, C, and D — those are node connections and expressions. Workflow B does need a Code node to normalize the transcript and an HTTP Request with hand-built JSON for HubSpot v3 notes. That is basic JavaScript, not software engineering.
Will my data train the model?
With paid OpenAI and Anthropic APIs, data sent through the API is not used for training by default. Trim with Edit Fields anyway. If you handle records of people in Mexico, the LFPDPPP in force since March 2025 requires disclosing AI use in your privacy notice.
n8n Cloud or self-hosted?
Cloud if you want to start this week without maintaining servers. Self-hosted if your security team requires data to stay in your own infrastructure, or if execution volume makes the Business plan cost more than a VM plus the engineer who tends it. Most mid-market teams should start on Cloud.
How long does it take to implement?
Workflow A in production — credentials, error handling, and testing against real records — takes one to two weeks. All four workflows, with rep training and documentation, run four to six weeks. CRM cleanup is scoped separately because its size varies wildly.
What happens when HubSpot or Pipedrive changes the API?
It happens, and it happened twice this year. That is why maintenance is part of the engagement: reading changelogs, migrating credentials ahead of sunset dates, and moving manual calls to the current API version. An unmaintained workflow has a useful life of about twelve months.
Can I resell this to my own clients?
You can charge to build, configure, and maintain it. The n8n Sustainable Use License does not allow hosting it as a paid service, white-labeling it, or collecting end-user credentials to sync their accounts. Each client should hold their own instance and subscription. If you would rather have it built for you, request a project quote.
Want these four workflows running in your CRM without racing the sunset dates?
Iterando has been building n8n, HubSpot, and Pipedrive automations from Mexico City since before AI was part of the stack, and we maintain them when the APIs move. We build the workflow, document it, and train your revenue team to run it, on US business hours.