Most sales teams run on two parallel worlds: their outreach tool and their CRM. Leads in one place, deals in another. Every conversation either gets logged manually or never gets logged at all. This guide shows how to connect Grinfi and HubSpot through MCP – so Claude can read, write, and sync both systems for you. No code, no Zaps to maintain, no spreadsheet exports.
This guide walks through the logic using HubSpot as the example, but you can apply the same setup to your CRM. The architecture is universal.
What MCP Actually Changes
MCP (Model Context Protocol) gives Claude direct API access to a service. You connect Grinfi, HubSpot, and Make.com once – and Claude can pull contacts, push deals, launch automations, and run sync logic from a chat window.
The shift isn't "AI helps you faster." The shift is: you stop being the integration.
In the old setup, you were the human bridge between Grinfi and HubSpot – exporting CSVs, copy-pasting deal updates, manually creating notes when a lead replied. With MCP, that bridge runs on its own. You describe what you want, Claude executes across both systems.
MCP Server Capabilities
Three MCPs do the work here. Each covers a different layer. The webhook layer matters most for integration. Grinfi fires events on the full outreach cycle – not just replies.
Inbound events (contact reactions):
| Event | Triggers when |
contact_replied_linkedin_message | Contact replies on LinkedIn |
contact_replied_email | Contact replies via email |
contact_replied_inmail | Contact replies to InMail |
contact_accepted_linkedin_connection_request | Connection request accepted |
contact_enriched | Contact data enriched |
contact_exported | Contact exported (Custom Call) |
account_exported | Company exported (Custom Call) |
Outbound events (sender actions):
| Event | Triggers when |
sender_profile_sent_linkedin_message | LinkedIn message sent |
sender_profile_sent_email | Email sent |
sender_profile_sent_linkedin_connection_request | Connection request sent |
sender_profile_sent_inmail | InMail sent |
sender_profile_run_issue | Execution error |
Every webhook supports filters via jsonLogic – by list_uuid, by markers (e.g., first replies only via markers.linkedin_messages_inbox_count), or by any contact field. This is what makes the integration precise instead of noisy.
HubSpot MCP – full read + write
This is the part most people get wrong. HubSpot MCP is not read-only. Claude can create deals, update contacts, manage tickets, and trigger actions across the platform.
| Object | Read | Write |
| Contacts, Companies, Deals, Tickets | ✅ | ✅ |
| Tasks, Notes, Emails, Calls, Meetings | ✅ | ✅ |
| Products, Line Items | ✅ | ✅ |
| Quotes, Invoices, Subscriptions | ✅ | ❌ |
Supports search with filters, object associations, and pagination.
Make.com MCP – scenario management
Create, update, activate, deactivate, and run scenarios programmatically. View execution history. Manage Data Stores.
How to Connect
| MCP | Setup |
| Grinfi | Full setup guide → |
| HubSpot | Claude Settings → Connectors → find HubSpot in the catalog → Connect → OAuth |
| Make.com | Claude Settings → Connectors → find Make in the catalog → Connect → OAuth |
💡 HubSpot and Make.com are already in Claude's built-in connector catalog. No URL hunting – just search and connect. Grinfi is added as a custom connector via the URL from mcp.grinfi.io.
Three Integration Options
The setup scales with how autonomous you want the system to be.
| Option 1 | Option 2 | Option 3 | |
| What it does | Sync on demand | + Webhooks 24/7 | + AI classification |
| MCPs needed | Grinfi + HubSpot | + Make.com | + Make.com |
| Works without Claude open | ❌ | ✅ | ✅ |
| Cost | $0 | + Make.com | + Make.com Pro |
Option 1: Direct Sync
You need: Grinfi MCP + HubSpot MCP Cost: $0
Claude reads and writes directly across both CRMs. Best when you want sync on demand, not constant automation.
Working with lists: sync works with any number of lists – one to one, one to many, or all of them. Enterprise leads can map to one HubSpot pipeline, SMB to another. Or everything to one segment.
Sample prompt:
Show all my Grinfi lists and HubSpot contacts.
Sync the list "Enterprise Leads" with HubSpot.
For HubSpot contacts, create a Grinfi list "HubSpot - Enterprise".HubSpot → Grinfi direction:
Read HubSpot contacts created in the last 30 days.
For each one - check in Grinfi by email.
If missing, create them in the list "Inbound Leads" with tag "from-hubspot".Grinfi → HubSpot direction:
Find Grinfi contacts with the tag "for-hubspot" or pipeline stage "interested".
For each - create or update them in HubSpot.
For "converted" contacts, create a Deal.Pipeline mapping: the integration uses a standard mapping between HubSpot deal stages and Grinfi pipeline stages.
| HubSpot | Grinfi |
| appointmentscheduled | new |
| qualifiedtobuy | contacted |
| presentationscheduled | replied |
| decisionmakerboughtin | interested |
| closedwon | converted |
| closedlost | lost |
Option 2: Background Automation (+ Make.com)
You need: all three MCPs Cost: + Make.com
Grinfi webhooks fire to Make.com, Make routes them to HubSpot. Runs 24/7. You don't open Claude unless something needs attention.
Essential webhooks (the integration core):
| Webhook | Event | HubSpot action |
| LinkedIn Reply | contact_replied_linkedin_message | Create Note + update Deal stage |
| Email Reply | contact_replied_email | Create Note + update timeline |
| InMail Reply | contact_replied_inmail | Create Note + mark as engaged |
| Connection Accepted | contact_accepted_linkedin_connection_request | Update contact: connected |
Recommended:
| Webhook | Event | HubSpot action |
| Contact Export | contact_exported | Create/update Contact |
| Account Export | account_exported | Create/update Company |
| Contact Enriched | contact_enriched | Update contact data |
Optional (full tracking):
| Webhook | Event | HubSpot action |
| Sent LinkedIn Message | sender_profile_sent_linkedin_message | Log in timeline |
| Sent Email | sender_profile_sent_email | Log outreach |
| Sent Connection Request | sender_profile_sent_linkedin_connection_request | Status: outreach started |
| Sent InMail | sender_profile_sent_inmail | Log InMail |
| Run Issue | sender_profile_run_issue | Create ticket for ops |
Filter examples:
- By list: trigger only contacts from "Enterprise Leads" → route to a separate HubSpot pipeline
- First replies only:
markers.linkedin_messages_inbox_count = 0→ don't duplicate Notes in HubSpot - Multiple lists via OR: trigger for "Enterprise" OR "Agency" lists
Setup runs through Claude with one prompt – it creates Make.com scenarios (Custom Webhook trigger → HubSpot CRM action), then creates matching webhooks in Grinfi and links them.
Option 3: Full Autonomy (AI Operator)
You need: all three MCPs Cost: Make.com Pro
Everything from Option 2, plus Claude running as an AI operator on a loop.
Inbox Intelligence:
/loop 10m Classify unread replies:
- Interested → pipeline "interested", task "Book demo", Deal in HubSpot
- Opt-out → stop all automations, tag "opted-out"
- Postpone → task "Follow up in 30 days"
- Question → task "Reply with product info"
- Negative → pipeline "lost"Health checks and reports:
/loop 1h Check webhook metrics and Make.com scenario health
Every Monday: report on contacts, replies, pipeline state, top 5 leadsThis is the level where Claude isn't a tool you use – it's an operator running your pipeline.
Two Setup Methods
Manual setup gives you full control. You configure each piece by hand: create webhooks in Grinfi UI, build scenarios in Make.com, test endpoints. Takes 30–60 minutes but you understand every moving part.
Claude-powered setup is the fast path. You paste one prompt into Claude, answer 3–4 questions, and the integration configures itself across all three platforms. Takes 5 minutes. Best when you trust the architecture and want to skip the manual work.
Both methods produce the same result. Pick based on whether you want to learn the system or just use it.
Four Business Cases That Work
1. LinkedIn reply → Deal in HubSpot → task for the rep
Lead replies on LinkedIn. Webhook fires. Make.com creates a Note in HubSpot with the reply text, advances the Deal stage to "presentation scheduled," and assigns a task to the rep with a 24-hour deadline.
The rep opens HubSpot in the morning and sees exactly which leads engaged and what they said. No copy-pasting from Grinfi.
2. Connection accepted → CRM updated → next outreach step
Connection request accepted. Webhook fires. Contact in HubSpot gets a linkedin_connected: true flag. The next sequence step in Grinfi launches automatically.
For RevOps teams, this means LinkedIn touch data lives in the same place as email data – without manual logging.
3. New HubSpot contact → Grinfi list → LinkedIn sequence in 10 minutes
Marketing creates a new contact in HubSpot (form fill, conference scan, manual entry). Within 10 minutes, Claude picks it up via scheduled sync, adds it to the right Grinfi list based on tags or properties, and launches the matching LinkedIn sequence.
Inbound and outbound stop being separate channels.
4. Filtered webhook: first replies from "Enterprise" → high-priority Deal
The trick most teams miss: webhook filters. Without filters, every reply creates a HubSpot event. Noise.
With filters, only the first reply from contacts in the "Enterprise" list creates a high-priority Deal worth attention. Subsequent replies update the Note but don't re-trigger Deal creation. Mid-market replies route to a different pipeline. SMB replies just log in the timeline.
The filter logic:
list_uuid IN ["enterprise-list-uuid"]
AND markers.linkedin_messages_inbox_count = 0This is what makes the integration usable at scale instead of buried under notifications.
Works Beyond HubSpot
The Grinfi + HubSpot setup is documented because it's the most common request. The architecture is universal.
- CRM: swap HubSpot for any CRM with an MCP server – Salesforce, Pipedrive, Attio, others. Adapt the field mapping in your prompts.
- Orchestrator: swap Make.com for any webhook orchestrator – Zapier, n8n, Pipedream. Same logic.
Grinfi MCP works with any combination.
Links
| Resource | URL |
| Grinfi MCP | grinfi.io/grinfi-mcp |
| HubSpot MCP | developers.hubspot.com/mcp |
| Make.com MCP | developers.make.com/mcp-server |

