Merge CRM integration
Merge CRM is Merge's unified API for CRMs: one call shape reads and writes whichever CRM (Salesforce, HubSpot, Pipedrive, Zoho CRM, Microsoft Dynamics and others) a Merge Linked Account connects. List and read accounts, contacts, leads, opportunities and their stages, engagements (calls, emails, meetings) and engagement types, notes, tasks and users; create accounts, contacts, leads, opportunities, engagements, notes and tasks, update accounts, contacts, opportunities and engagements, read which fields a write needs for the connected CRM, work with custom object classes, custom objects and their associations, and tell Merge to ignore a contact or user. Contacts and leads are personal data. Not exposed: passthrough requests, raw third-party records (remote data), association type creation, task updates and Linked Account, key, webhook, field mapping, scope and sync administration. Calls go to Merge's US region (api.merge.dev). Authentication is a Merge API key (Authorization: Bearer) plus one Linked Account's account token (X-Account-Token), so one connection reads one CRM account.
Say what should happen.
The workflow builds itself.
What you can do with Merge CRM
Each of these is one operation on one endpoint, available both as a workflow step and as a tool an AI agent can call on its own. Nothing bundles several operations into one action, so what a run did stays readable afterwards.
Most endpoints run on the free plan. A few, mainly the ones that publish on your behalf, need a paid plan.
Post, 8 operations
get_account_create_metadataGet account create metadataGETReturns the request schema the connected CRM accepts to create an account: fields, required ones and integration-specific parameters. Call it before the write.get_contact_create_metadataGet contact create metadataGETReturns the request schema the connected CRM accepts to create a contact: fields, required ones and integration-specific parameters. Call it before the write.get_custom_object_create_metadataGet custom object create metadataGETReturns the request schema the connected CRM accepts to create a custom object: fields, required ones and integration-specific parameters. Call it before the write.get_engagement_create_metadataGet engagement create metadataGETReturns the request schema the connected CRM accepts to create an engagement: fields, required ones and integration-specific parameters. Call it before the write.get_lead_create_metadataGet lead create metadataGETReturns the request schema the connected CRM accepts to create a lead: fields, required ones and integration-specific parameters. Call it before the write.get_note_create_metadataGet note create metadataGETReturns the request schema the connected CRM accepts to create a note: fields, required ones and integration-specific parameters. Call it before the write.get_opportunity_create_metadataGet opportunity create metadataGETReturns the request schema the connected CRM accepts to create an opportunity: fields, required ones and integration-specific parameters. Call it before the write.get_task_create_metadataGet task create metadataGETReturns the request schema the connected CRM accepts to create a task: fields, required ones and integration-specific parameters. Call it before the write.
Account, 4 operations
create_accountCreate accountPOSTCreates an account (a company) in the CRM the Linked Account connects (public beta): a real record written to that CRM through Merge, returned with its Merge id. Read the fields this CRM requires first with get_account_create_metadata.get_accountGet accountGETReturns an `Account` object with the given `id`.list_accountsList accountsGETReturns a list of `Account` objects.update_accountUpdate accountPATCHUpdates an account (a company) in the connected CRM with the fields sent in model (public beta); the change is written to that CRM through Merge. Read what this CRM accepts first with get_account_update_metadata.
Contact, 4 operations
create_contactCreate contactPOSTCreates a contact (a person at a company) in the CRM the Linked Account connects (public beta): a real record written through Merge, returned with its Merge id. Read the fields this CRM requires first with get_contact_create_metadata.get_contactGet contactGETReturns a `Contact` object with the given `id`.list_contactsList contactsGETReturns a list of `Contact` objects.update_contactUpdate contactPATCHUpdates a contact in the connected CRM with the fields sent in model (public beta); the change is written to that CRM through Merge. Read what this CRM accepts first with get_contact_update_metadata.
Engagement, 4 operations
create_engagementCreate engagementPOSTCreates an engagement (a call, email or meeting) in the connected CRM (public beta): a real record written through Merge, returned with its Merge id. Read the fields this CRM requires first with get_engagement_create_metadata.get_engagementGet engagementGETReturns an `Engagement` object with the given `id`.list_engagementsList engagementsGETReturns a list of `Engagement` objects.update_engagementUpdate engagementPATCHUpdates an engagement in the connected CRM with the fields sent in model (public beta); the change is written to that CRM through Merge. Read what this CRM accepts first with get_engagement_update_metadata.
Opportunity, 4 operations
create_opportunityCreate opportunityPOSTCreates an opportunity (a deal) in the CRM the Linked Account connects: a real record written to that CRM through Merge, returned with its Merge id. Read the fields this CRM requires first with get_opportunity_create_metadata.get_opportunityGet opportunityGETReturns an `Opportunity` object with the given `id`.list_opportunitiesList opportunitiesGETReturns a list of `Opportunity` objects.update_opportunityUpdate opportunityPATCHUpdates an opportunity (a deal) in the connected CRM with the fields sent in model; the change is written to that CRM through Merge. Read what this CRM accepts first with get_opportunity_update_metadata.
Patch, 4 operations
get_account_update_metadataGet account update metadataGETReturns the request schema the connected CRM accepts to update an account: fields, required ones and integration-specific parameters. Call it before the write.get_contact_update_metadataGet contact update metadataGETReturns the request schema the connected CRM accepts to update a contact: fields, required ones and integration-specific parameters. Call it before the write.get_engagement_update_metadataGet engagement update metadataGETReturns the request schema the connected CRM accepts to update an engagement: fields, required ones and integration-specific parameters. Call it before the write.get_opportunity_update_metadataGet opportunity update metadataGETReturns the request schema the connected CRM accepts to update an opportunity: fields, required ones and integration-specific parameters. Call it before the write.
Custom object, 3 operations
create_custom_objectCreate custom objectPOSTCreates a custom object of the given class in the connected CRM (public beta): a real record written through Merge, returned with its Merge id. Read the fields this class requires first with get_custom_object_create_metadata.get_custom_objectGet custom objectGETReturns a `CustomObject` object with the given `id`.list_custom_objectsList custom objectsGETReturns a list of `CustomObject` objects.
Lead, 3 operations
create_leadCreate leadPOSTCreates a lead (a potential customer) in the CRM the Linked Account connects: a real record written to that CRM through Merge, returned with its Merge id. Read the fields this CRM requires first with get_lead_create_metadata.get_leadGet leadGETReturns a `Lead` object with the given `id`.list_leadsList leadsGETReturns a list of `Lead` objects.
Note, 3 operations
create_noteCreate notePOSTCreates a note on a contact, account or opportunity in the CRM the Linked Account connects: a real record written through Merge, returned with its Merge id. Read the fields this CRM requires first with get_note_create_metadata.get_noteGet noteGETReturns a `Note` object with the given `id`.list_notesList notesGETReturns a list of `Note` objects.
Task, 3 operations
create_taskCreate taskPOSTCreates a task (a to-do item) in the CRM the Linked Account connects: a real record written to that CRM through Merge, returned with its Merge id. Read the fields this CRM requires first with get_task_create_metadata.get_taskGet taskGETReturns a `Task` object with the given `id`.list_tasksList tasksGETReturns a list of `Task` objects.
Association, 2 operations
create_associationCreate associationPUTCreates an association of the given association type between a source custom object and a target object in the connected CRM (public beta). Everything is passed in the path.list_associationsList associationsGETReturns a list of `Association` objects.
Association type, 2 operations
get_association_typeGet association typeGETReturns an `AssociationType` object with the given `id`.list_association_typesList association typesGETReturns a list of `AssociationType` objects.
Custom object class, 2 operations
get_custom_object_classGet custom object classGETReturns a `CustomObjectClass` object with the given `id`.list_custom_object_classesList custom object classesGETReturns a list of `CustomObjectClass` objects.
Engagement type, 2 operations
get_engagement_typeGet engagement typeGETReturns an `EngagementType` object with the given `id`.list_engagement_typesList engagement typesGETReturns a list of `EngagementType` objects.
Ignore, 2 operations
ignore_contactIgnore contactPOSTTells Merge to ignore a contact: Merge sets its properties to null and stops updating it in future syncs (for example after a GDPR request). The reason and message are stored for audit.ignore_userIgnore userPOSTTells Merge to ignore a CRM user: Merge sets its properties to null and stops updating it in future syncs (for example after a GDPR request). The reason and message are stored for audit.
Stage, 2 operations
get_stageGet stageGETReturns a `Stage` object with the given `id`.list_stagesList stagesGETReturns a list of `Stage` objects.
User, 2 operations
get_userGet userGETReturns a `User` object with the given `id`.list_usersList usersGETReturns a list of `User` objects.
Account detail, 1 operation
get_account_detailsGet account detailsGETReturns the Linked Account behind the connection: integration name and slug, category, status, end user organization and email, and account type.
Available action, 1 operation
get_available_actionsGet available actionsGETReturns the integration behind the Linked Account and, per Common Model, the operations it supports (FETCH, CREATE...), the fields it fills and the parameters a create must send.
Sync status, 1 operation
get_sync_statusGet sync statusGETReturns the sync state of each Common Model for the Linked Account: last and next sync start, last result and finish time. Data read through the other tools is as fresh as the last sync.
Use Merge CRM from Claude Code, Cursor or Codex
Connect Merge CRM in LiveContext, create an API key in Settings, then add the LiveContext MCP server to your client. Its Merge CRM operations become tools the client can call, next to every other integration you connected.
claude mcp add --transport http livecontext https://livecontext.ai/mcp --header "X-API-Key: YOUR_API_KEY"[mcp_servers.livecontext]
url = "https://livecontext.ai/mcp"
[mcp_servers.livecontext.http_headers]
"X-API-Key" = "YOUR_API_KEY"{
"mcpServers": {
"livecontext": {
"type": "http",
"url": "https://livecontext.ai/mcp",
"headers": {
"X-API-Key": "YOUR_API_KEY"
}
}
}
}How to connect Merge CRM
- Create your workspace
Sign up free. Nothing to install.
- Connect Merge CRM once
Add your Merge CRM connection in Settings. Every tool from this integration reuses it, and secrets are encrypted at rest and visible only to you.
- Describe the job in chat
The workflow builds itself in front of you and picks the endpoints it needs. Drag the steps yourself on the canvas whenever you would rather be explicit.
Merge CRM integration FAQ
What can you do with the Merge CRM integration?
LiveContext exposes 57 operations on Merge CRM, covering post, account, contact and engagement.
