EspoCRM integration
EspoCRM is an open-source CRM, self-hosted or on EspoCRM Cloud. Create, read, update, delete and search accounts, contacts, leads, opportunities, cases, tasks, calls, meetings, emails, documents, campaigns, target lists and knowledge base articles; list users and teams; list the records linked to a record and link or unlink them; subscribe webhooks to record events. Lead conversion, mass actions, attachments upload, stream, metadata and custom entity types are not exposed, nor are team, collaborator and portal-user link routes (set teamsIds or collaboratorsIds on the record instead). Authentication is the API key of an API user (Administration, API Users, API Key method) sent in the X-Api-Key header; its role decides what it can read and write.
Say what should happen.
The workflow builds itself.
What you can do with EspoCRM
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.
Contact, 10 operations
create_contactCreate contactPOSTCreates a contact record (required: lastName) and returns it with its new id.delete_contactDelete contactDELETERemoves a contact record by its ID.get_contactGet contactGETReturns one contact record by its ID, with all its fields.list_account_contactsList account contactsGETLists the contact records linked to one account through its contacts link, with paging, sorting and filters; returns list and total.list_call_contactsList call contactsGETLists the contact records linked to one call through its contacts link, with paging, sorting and filters; returns list and total.list_case_contactsList case contactsGETLists the contact records linked to one case through its contacts link, with paging, sorting and filters; returns list and total.list_contactsList contactsGETLists contact records with paging (offset, maxSize up to 200), sorting, a text search and filters; returns list and total. For field conditions use searchParams.list_meeting_contactsList meeting contactsGETLists the contact records linked to one meeting through its contacts link, with paging, sorting and filters; returns list and total.list_opportunity_contactsList opportunity contactsGETLists the contact records linked to one opportunity through its contacts link, with paging, sorting and filters; returns list and total.list_target_list_contactsList target list contactsGETLists the contact records linked to one target list through its contacts link, with paging, sorting and filters; returns list and total.
Call, 9 operations
create_callCreate callPOSTCreates a call record (required: name, dateStart, dateEnd, assignedUserId) and returns it with its new id.delete_callDelete callDELETERemoves a call record by its ID.get_callGet callGETReturns one call record by its ID, with all its fields.list_account_callsList account callsGETLists the call records linked to one account through its calls link, with paging, sorting and filters; returns list and total.list_callsList callsGETLists call records with paging (offset, maxSize up to 200), sorting, a text search and filters; returns list and total. For field conditions use searchParams.list_case_callsList case callsGETLists the call records linked to one case through its calls link, with paging, sorting and filters; returns list and total.list_contact_callsList contact callsGETLists the call records linked to one contact through its calls link, with paging, sorting and filters; returns list and total.list_lead_callsList lead callsGETLists the call records linked to one lead through its calls link, with paging, sorting and filters; returns list and total.list_opportunity_callsList opportunity callsGETLists the call records linked to one opportunity through its calls link, with paging, sorting and filters; returns list and total.
Email, 9 operations
create_emailCreate emailPOSTCreates an email record (required: name and subject with the same text, from, to). The default status Archived stores it without sending; status Sending sends it.delete_emailDelete emailDELETERemoves a email record by its ID.get_emailGet emailGETReturns one email record by its ID, with all its fields.list_account_emailsList account emailsGETLists the email records linked to one account through its emails link, with paging, sorting and filters; returns list and total.list_case_emailsList case emailsGETLists the email records linked to one case through its emails link, with paging, sorting and filters; returns list and total.list_contact_emailsList contact emailsGETLists the email records linked to one contact through its emails link, with paging, sorting and filters; returns list and total.list_emailsList emailsGETLists email records with paging (offset, maxSize up to 200), sorting, a text search and filters; returns list and total. For field conditions use searchParams.list_lead_emailsList lead emailsGETLists the email records linked to one lead through its emails link, with paging, sorting and filters; returns list and total.list_opportunity_emailsList opportunity emailsGETLists the email records linked to one opportunity through its emails link, with paging, sorting and filters; returns list and total.
Meeting, 9 operations
create_meetingCreate meetingPOSTCreates a meeting record (required: name, dateStart, dateEnd, assignedUserId) and returns it with its new id.delete_meetingDelete meetingDELETERemoves a meeting record by its ID.get_meetingGet meetingGETReturns one meeting record by its ID, with all its fields.list_account_meetingsList account meetingsGETLists the meeting records linked to one account through its meetings link, with paging, sorting and filters; returns list and total.list_case_meetingsList case meetingsGETLists the meeting records linked to one case through its meetings link, with paging, sorting and filters; returns list and total.list_contact_meetingsList contact meetingsGETLists the meeting records linked to one contact through its meetings link, with paging, sorting and filters; returns list and total.list_lead_meetingsList lead meetingsGETLists the meeting records linked to one lead through its meetings link, with paging, sorting and filters; returns list and total.list_meetingsList meetingsGETLists meeting records with paging (offset, maxSize up to 200), sorting, a text search and filters; returns list and total. For field conditions use searchParams.list_opportunity_meetingsList opportunity meetingsGETLists the meeting records linked to one opportunity through its meetings link, with paging, sorting and filters; returns list and total.
Task, 9 operations
create_taskCreate taskPOSTCreates a task record (required: name, assignedUserId) and returns it with its new id.delete_taskDelete taskDELETERemoves a task record by its ID.get_taskGet taskGETReturns one task record by its ID, with all its fields.list_account_tasksList account tasksGETLists the task records linked to one account through its tasks link, with paging, sorting and filters; returns list and total.list_case_tasksList case tasksGETLists the task records linked to one case through its tasks link, with paging, sorting and filters; returns list and total.list_contact_tasksList contact tasksGETLists the task records linked to one contact through its tasks link, with paging, sorting and filters; returns list and total.list_lead_tasksList lead tasksGETLists the task records linked to one lead through its tasks link, with paging, sorting and filters; returns list and total.list_opportunity_tasksList opportunity tasksGETLists the task records linked to one opportunity through its tasks link, with paging, sorting and filters; returns list and total.list_tasksList tasksGETLists task records with paging (offset, maxSize up to 200), sorting, a text search and filters; returns list and total. For field conditions use searchParams.
Document, 8 operations
create_documentCreate documentPOSTCreates a document record (required: name, fileId, publishDate) and returns it with its new id.delete_documentDelete documentDELETERemoves a document record by its ID.get_documentGet documentGETReturns one document record by its ID, with all its fields.list_account_documentsList account documentsGETLists the document records linked to one account through its documents link, with paging, sorting and filters; returns list and total.list_contact_documentsList contact documentsGETLists the document records linked to one contact through its documents link, with paging, sorting and filters; returns list and total.list_documentsList documentsGETLists document records with paging (offset, maxSize up to 200), sorting, a text search and filters; returns list and total. For field conditions use searchParams.list_lead_documentsList lead documentsGETLists the document records linked to one lead through its documents link, with paging, sorting and filters; returns list and total.list_opportunity_documentsList opportunity documentsGETLists the document records linked to one opportunity through its documents link, with paging, sorting and filters; returns list and total.
Case, 7 operations
create_caseCreate casePOSTCreates a case record (required: name) and returns it with its new id.delete_caseDelete caseDELETERemoves a case record by its ID.get_caseGet caseGETReturns one case record by its ID, with all its fields.list_account_casesList account casesGETLists the case records linked to one account through its cases link, with paging, sorting and filters; returns list and total.list_casesList casesGETLists case records with paging (offset, maxSize up to 200), sorting, a text search and filters; returns list and total. For field conditions use searchParams.list_contact_casesList contact casesGETLists the case records linked to one contact through its cases link, with paging, sorting and filters; returns list and total.list_lead_casesList lead casesGETLists the case records linked to one lead through its cases link, with paging, sorting and filters; returns list and total.
Lead, 7 operations
create_leadCreate leadPOSTCreates a lead record and returns it with its new id.delete_leadDelete leadDELETERemoves a lead record by its ID.get_leadGet leadGETReturns one lead record by its ID, with all its fields.list_call_leadsList call leadsGETLists the lead records linked to one call through its leads link, with paging, sorting and filters; returns list and total.list_leadsList leadsGETLists lead records with paging (offset, maxSize up to 200), sorting, a text search and filters; returns list and total. For field conditions use searchParams.list_meeting_leadsList meeting leadsGETLists the lead records linked to one meeting through its leads link, with paging, sorting and filters; returns list and total.list_target_list_leadsList target list leadsGETLists the lead records linked to one target list through its leads link, with paging, sorting and filters; returns list and total.
Target list, 7 operations
create_target_listCreate target listPOSTCreates a target list record (required: name) and returns it with its new id.delete_target_listDelete target listDELETERemoves a target list record by its ID.get_target_listGet target listGETReturns one target list record by its ID, with all its fields.list_campaign_target_listsList campaign target listsGETLists the target list records linked to one campaign through its targetLists link, with paging, sorting and filters; returns list and total.list_contact_target_listsList contact target listsGETLists the target list records linked to one contact through its targetLists link, with paging, sorting and filters; returns list and total.list_lead_target_listsList lead target listsGETLists the target list records linked to one lead through its targetLists link, with paging, sorting and filters; returns list and total.list_target_listsList target listsGETLists target list records with paging (offset, maxSize up to 200), sorting, a text search and filters; returns list and total. For field conditions use searchParams.
Account, 6 operations
create_accountCreate accountPOSTCreates an account record (required: name) and returns it with its new id.delete_accountDelete accountDELETERemoves a account record by its ID.get_accountGet accountGETReturns one account record by its ID, with all its fields.list_accountsList accountsGETLists account records with paging (offset, maxSize up to 200), sorting, a text search and filters; returns list and total. For field conditions use searchParams.list_contact_accountsList contact accountsGETLists the account records linked to one contact through its accounts link, with paging, sorting and filters; returns list and total.list_target_list_accountsList target list accountsGETLists the account records linked to one target list through its accounts link, with paging, sorting and filters; returns list and total.
Opportunity, 6 operations
create_opportunityCreate opportunityPOSTCreates an opportunity record (required: name, amount, amountCurrency, closeDate) and returns it with its new id.delete_opportunityDelete opportunityDELETERemoves a opportunity record by its ID.get_opportunityGet opportunityGETReturns one opportunity record by its ID, with all its fields.list_account_opportunitiesList account opportunitiesGETLists the opportunity records linked to one account through its opportunities link, with paging, sorting and filters; returns list and total.list_contact_opportunitiesList contact opportunitiesGETLists the opportunity records linked to one contact through its opportunities link, with paging, sorting and filters; returns list and total.list_opportunitiesList opportunitiesGETLists opportunity records with paging (offset, maxSize up to 200), sorting, a text search and filters; returns list and total. For field conditions use searchParams.
Campaign, 4 operations
create_campaignCreate campaignPOSTCreates a campaign record (required: name) and returns it with its new id.delete_campaignDelete campaignDELETERemoves a campaign record by its ID.get_campaignGet campaignGETReturns one campaign record by its ID, with all its fields.list_campaignsList campaignsGETLists campaign records with paging (offset, maxSize up to 200), sorting, a text search and filters; returns list and total. For field conditions use searchParams.
Knowledge base article, 4 operations
create_knowledge_base_articleCreate knowledge base articlePOSTCreates a knowledge base article record (required: name) and returns it with its new id.delete_knowledge_base_articleDelete knowledge base articleDELETERemoves a knowledge base article record by its ID.get_knowledge_base_articleGet knowledge base articleGETReturns one knowledge base article record by its ID, with all its fields.list_knowledge_base_articlesList knowledge base articlesGETLists knowledge base article records with paging (offset, maxSize up to 200), sorting, a text search and filters; returns list and total. For field conditions use searchParams.
User, 4 operations
get_userGet userGETReturns one user record by its ID, with all its fields.list_call_usersList call usersGETLists the user records linked to one call through its users link, with paging, sorting and filters; returns list and total.list_meeting_usersList meeting usersGETLists the user records linked to one meeting through its users link, with paging, sorting and filters; returns list and total.list_target_list_usersList target list usersGETLists the user records linked to one target list through its users link, with paging, sorting and filters; returns list and total.
Webhook, 2 operations
create_webhookCreate webhookPOSTSubscribes a URL to an EspoCRM event; EspoCRM then POSTs batches of records to it (every 5 minutes by default). Needs an API user with the Webhooks scope. The signing secret is not returned here: read it at Administration, Webhooks.delete_webhookDelete webhookDELETEDeletes a webhook by the id returned by create_webhook; EspoCRM stops sending its events.
Account contact, 1 operation
link_account_contactLink account contactPOSTLinks contact record(s) to one account through its contacts link: pass id for one record or ids for several.
Article, 1 operation
list_case_articlesList case articlesGETLists the knowledge base article records linked to one case through its articles link, with paging, sorting and filters; returns list and total.
Call contact, 1 operation
link_call_contactLink call contactPOSTLinks contact record(s) to one call through its contacts link: pass id for one record or ids for several.
Call lead, 1 operation
link_call_leadLink call leadPOSTLinks lead record(s) to one call through its leads link: pass id for one record or ids for several.
Call user, 1 operation
link_call_userLink call userPOSTLinks user record(s) to one call through its users link: pass id for one record or ids for several.
Campaign excluding target list, 1 operation
link_campaign_excluding_target_listLink campaign excluding target listPOSTLinks target list record(s) to one campaign through its excludingTargetLists link: pass id for one record or ids for several.
Campaign target list, 1 operation
link_campaign_target_listLink campaign target listPOSTLinks target list record(s) to one campaign through its targetLists link: pass id for one record or ids for several.
Case article, 1 operation
link_case_articleLink case articlePOSTLinks knowledge base article record(s) to one case through its articles link: pass id for one record or ids for several.
Contact case, 1 operation
link_contact_caseLink contact casePOSTLinks case record(s) to one contact through its cases link: pass id for one record or ids for several.
Contact opportunity, 1 operation
link_contact_opportunityLink contact opportunityPOSTLinks opportunity record(s) to one contact through its opportunities link: pass id for one record or ids for several.
Excluding target list, 1 operation
list_campaign_excluding_target_listsList campaign excluding target listsGETLists the target list records linked to one campaign through its excludingTargetLists link, with paging, sorting and filters; returns list and total.
Meeting contact, 1 operation
link_meeting_contactLink meeting contactPOSTLinks contact record(s) to one meeting through its contacts link: pass id for one record or ids for several.
Meeting lead, 1 operation
link_meeting_leadLink meeting leadPOSTLinks lead record(s) to one meeting through its leads link: pass id for one record or ids for several.
Meeting user, 1 operation
link_meeting_userLink meeting userPOSTLinks user record(s) to one meeting through its users link: pass id for one record or ids for several.
Target list account, 1 operation
link_target_list_accountLink target list accountPOSTLinks account record(s) to one target list through its accounts link: pass id for one record or ids for several.
Target list contact, 1 operation
link_target_list_contactLink target list contactPOSTLinks contact record(s) to one target list through its contacts link: pass id for one record or ids for several.
Target list lead, 1 operation
link_target_list_leadLink target list leadPOSTLinks lead record(s) to one target list through its leads link: pass id for one record or ids for several.
Target list user, 1 operation
link_target_list_userLink target list userPOSTLinks user record(s) to one target list through its users link: pass id for one record or ids for several.
Team, 1 operation
get_teamGet teamGETReturns one team record by its ID, with all its fields.
Showing the first 120 of 152 endpoints. The rest are in the product, searchable from the workflow builder and from chat.
Use EspoCRM from Claude Code, Cursor or Codex
Connect EspoCRM in LiveContext, create an API key in Settings, then add the LiveContext MCP server to your client. Its EspoCRM 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 EspoCRM
- Create your workspace
Sign up free. Nothing to install.
- Connect EspoCRM once
Add your EspoCRM 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.
EspoCRM integration FAQ
What can you do with the EspoCRM integration?
LiveContext exposes 152 operations on EspoCRM, covering contact, call, email and meeting.
