Zendesk Sell integration
Zendesk Sell (formerly Base) is a sales CRM. Manage leads, contacts (people and organizations) and deals, with upserts keyed on filters or custom fields, lead conversion, deal associated contacts and collaborators; log calls, notes and tasks; manage orders, line items and the product catalog; start and stop sequences (Reach add-on); read pipelines, stages, sources, loss and unqualified reasons, tags, custom fields, users, documents, text messages, visits and the account. Lead, contact, call and text message records hold personal data. Not exposed: call recording files, the Sync, Firehose and Search APIs. Authentication is an OAuth access token sent as a Bearer token: an admin can generate a non-expiring token for a single-user application in the Sell application dashboard.
Say what should happen.
The workflow builds itself.
What you can do with Zendesk Sell
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.
Call, 5 operations
create_callCreate callPOSTRecords a call in Sell as a log entry: phone_number is required; add the user, duration, direction, missed flag, outcome, summary and the lead or contact it belongs to.delete_callDelete callDELETEDeletes a logged call. This cannot be undone.get_callGet callGETReturns one logged call: user, phone number, duration, incoming and missed flags, summary, outcome, recording URL, attached record and associated deals. Holds personal data.list_callsList callsGETLists calls logged in Sell (newest first): user, phone number, duration, direction, missed flag, summary, outcome, recording URL and the record they belong to. Holds personal data.update_callUpdate callPUTUpdates a logged call. For calls made with Sell Voice only summary, outcome_id, duration, phone_number, incoming, missed, made_at and external_id can change.
Contact, 5 operations
create_contactCreate contactPOSTCreates a contact: an individual (last_name required) or an organization (is_organization true, name required). Optional owner, statuses, job title, emails, phones, addresses, tags and custom fields.delete_contactDelete contactDELETEDeletes a contact. This cannot be undone.get_contactGet contactGETReturns one contact (personal data): individual or organization, names, organization link, owner, statuses, job title, description, emails, phones, social handles, addresses, tags and custom fields.list_contactsList contactsGETLists contacts (individuals and organizations; personal data): names, job title, emails, phones, addresses, statuses, tags and custom fields. Filter by name, email, owner, status, city or a filterable custom field.update_contactUpdate contactPUTUpdates a contact; only the fields sent change. tags replaces the whole tag list. is_organization cannot be changed after creation.
Deal, 5 operations
create_dealCreate dealPOSTCreates a deal for a primary contact (name and contact_id required). Without stage_id it goes into the first stage of the default pipeline; send value as a string with two decimals.delete_dealDelete dealDELETEDeletes a deal and removes all its associated contacts. This cannot be undone.get_dealGet dealGETReturns one deal: name, value and currency, stage and when it last changed, owner, primary contact and organization, hot flag, source, loss or unqualified reason, close date, tags and custom fields.list_dealsList dealsGETLists deals: name, value and currency, stage, owner, primary contact and organization, hot flag, source, loss reason, estimated close date, tags and custom fields. Filter by owner, contact, stage, name or custom field.update_dealUpdate dealPUTUpdates a deal (move it to another stage, change value, owner, contact...); only the fields sent change. It acts on any deal the token's user can access, including deals owned by other users. tags replaces the whole tag list.
Deal source, 5 operations
create_deal_sourceCreate deal sourcePOSTCreates a deal source. Its name must be unique.delete_deal_sourceDelete deal sourceDELETEDeletes a deal source. This cannot be undone.get_deal_sourceGet deal sourceGETReturns one deal source: id, name, resource type, creator and dates.list_deal_sourcesList deal sourcesGETLists the deal sources (where deals come from, such as Word of mouth): id, name, creator and dates. Filter by name or ids.update_deal_sourceUpdate deal sourcePUTRenames a deal source. The new name must be unique.
Deal unqualified reason, 5 operations
create_deal_unqualified_reasonCreate deal unqualified reasonPOSTCreates a deal unqualified reason. Its name must be unique.delete_deal_unqualified_reasonDelete deal unqualified reasonDELETEDeletes a deal unqualified reason. This cannot be undone.get_deal_unqualified_reasonGet deal unqualified reasonGETReturns one deal unqualified reason: id, name, creator and dates.list_deal_unqualified_reasonsList deal unqualified reasonsGETLists the reasons a deal can be marked unqualified: id, name, creator and dates. Use an id as a deal's unqualified_reason_id.update_deal_unqualified_reasonUpdate deal unqualified reasonPUTRenames a deal unqualified reason. The new name must be unique.
Lead, 5 operations
create_leadCreate leadPOSTCreates a lead: an individual (last_name) or an organization (organization_name). Optional owner, status, source, job title, emails, phones, address, tags and custom fields.delete_leadDelete leadDELETEDeletes a lead. This cannot be undone.get_leadGet leadGETReturns one lead (personal data): names or organization name, status, source, owner, job title, description, emails, phones, social handles, address, tags and custom fields.list_leadsList leadsGETLists leads (personal data): names or organization name, status, source, owner, job title, emails, phones, address, tags and custom fields. Filter by name, email, status, owner, city or a filterable custom field.update_leadUpdate leadPUTUpdates a lead; only the fields sent change. tags replaces the whole tag list.
Lead source, 5 operations
create_lead_sourceCreate lead sourcePOSTCreates a lead source. Its name must be unique.delete_lead_sourceDelete lead sourceDELETEDeletes a lead source. This cannot be undone.get_lead_sourceGet lead sourceGETReturns one lead source: id, name, resource type, creator and dates.list_lead_sourcesList lead sourcesGETLists the lead sources (where leads come from): id, name, creator and dates. Filter by name or ids.update_lead_sourceUpdate lead sourcePUTRenames a lead source. The new name must be unique.
Line item, 5 operations
create_line_itemCreate line itemPOSTAdds a product to an order as a line item. product_id and currency are required; without value or variation the product's price in that currency is used.get_line_itemGet line itemGETReturns one line item of an order: product name and SKU, unit value, price, variation, currency and quantity.list_line_itemsList line itemsGETLists the line items of an order: product name and SKU, unit value, price, variation (markup or discount in percent), currency and quantity.remove_line_itemRemove line itemDELETERemoves a line item from an order. This cannot be undone.update_line_itemUpdate line itemPUTUpdates a line item of an order: value, variation, quantity. currency is required.
Loss reason, 5 operations
create_loss_reasonCreate loss reasonPOSTCreates a deal loss reason. Its name must be unique.delete_loss_reasonDelete loss reasonDELETEDeletes a deal loss reason. This cannot be undone.get_loss_reasonGet loss reasonGETReturns one deal loss reason: id, name, creator and dates.list_loss_reasonsList loss reasonsGETLists the reasons a deal can be lost: id, name, creator and dates. Use an id as a deal's loss_reason_id.update_loss_reasonUpdate loss reasonPUTRenames a deal loss reason. The new name must be unique.
Note, 5 operations
create_noteCreate notePOSTAdds a note to a lead, contact or deal. resource_type, resource_id and content are required.delete_noteDelete noteDELETEDeletes a note. This cannot be undone.get_noteGet noteGETReturns one note: the record it is attached to, content, importance flag, tags, type, creator and dates.list_notesList notesGETLists notes attached to leads, contacts and deals: content, importance flag, tags, type, creator and dates. Filter by record, creator or a text search (q).update_noteUpdate notePUTUpdates a note's content, importance flag, tags or type; only the fields sent change.
Order, 5 operations
create_orderCreate orderPOSTCreates an order for a deal (deal_id required), with an optional overall discount in percent. Add products to it with create_line_item.delete_orderDelete orderDELETEDeletes an order and all its line items. This cannot be undone.get_orderGet orderGETReturns one order: id, deal id, overall discount in percent and dates.list_ordersList ordersGETLists orders (the products sold on a deal): id, deal id, overall discount in percent and dates. Filter by deal_id.update_orderUpdate orderPUTUpdates an order's overall discount in percent.
Product, 5 operations
create_productCreate productPOSTCreates a product in the catalog (account administrators only). name and prices (one per currency) are required.delete_productDelete productDELETEDeletes a product from the catalog (account administrators only). Existing orders and line items keep it. This cannot be undone.get_productGet productGETReturns one product: name, SKU, description, active flag, prices per currency, cost and currency, maximum discount and markup.list_productsList productsGETLists the product catalog: name, SKU, description, active flag, prices per currency, cost, maximum discount and markup. Filter by name, SKU or active.update_productUpdate productPUTUpdates a product (account administrators only); only the fields sent change. prices replaces the whole price list.
Tag, 5 operations
create_tagCreate tagPOSTCreates a tag for one record type (lead, contact or deal). The name must be unique within that type.delete_tagDelete tagDELETEDeletes a tag and removes it from every record that has it. This cannot be undone.get_tagGet tagGETReturns one tag: name, record type, creator and dates.list_tagsList tagsGETLists tags with the record type they apply to (lead, contact or deal), creator and dates. Filter by name, resource type or creator.update_tagUpdate tagPUTRenames a tag or changes its record type. The name must stay unique within the record type.
Task, 5 operations
create_taskCreate taskPOSTCreates a task, floating or attached to a lead, contact or deal (resource_type and resource_id). content is required; remind_at must be earlier than due_date.delete_taskDelete taskDELETEDeletes a task. This cannot be undone.get_taskGet taskGETReturns one task: the record it is attached to, content, owner, creator, due date, reminder time, completed and overdue flags.list_tasksList tasksGETLists tasks, floating or attached to a lead, contact or deal: content, owner, due date, reminder, completed and overdue flags. Filter by record, owner, completed, overdue or a text search (q).update_taskUpdate taskPUTUpdates a task (complete it, reschedule it, change owner or content); only the fields sent change.
Collaboration, 4 operations
create_collaborationCreate collaborationPOSTAdds a user as a collaborator on a record (such as a lead or contact). collaborator_id, resource_type and resource_id are required.delete_collaborationDelete collaborationDELETERemoves a collaboration. This cannot be undone.get_collaborationGet collaborationGETReturns one collaboration: the record it is attached to, the collaborator user, the creator and the dates.list_collaborationsList collaborationsGETLists collaborations: users added as collaborators on a lead or contact, with the record type and id, the collaborator and the creator. Filter by record or creator.
Sequence enrollment, 4 operations
create_sequence_enrollmentCreate sequence enrollmentPOSTStarts a sequence for a lead or contact (Reach add-on). The sequence's steps then run: automated emails are sent on behalf of actor_id and tasks are created for them.get_sequence_enrollmentGet sequence enrollmentGETReturns one sequence enrollment: lead or contact, sequence, state, current step position, steps with their planned execution, and finish date and reason.list_sequence_enrollmentsList sequence enrollmentsGETLists sequence enrollments (Reach add-on): the lead or contact, the sequence, state, current step, the steps with their schedule, and how it finished.update_sequence_enrollmentUpdate sequence enrollmentPUTChanges an enrollment's state: finished stops an active sequence, active resumes a blocked one. Nothing else can change.
Associated contact, 3 operations
add_associated_contactAdd associated contactPOSTAssociates an existing contact with a deal, with a role (involved by default). Fails when the deal or the contact does not exist.list_associated_contactsList associated contactsGETLists the contacts associated with a deal, each with its contact_id, its role on the deal and the dates it was added and last changed.remove_associated_contactRemove associated contactDELETERemoves a contact from a deal's associated contacts. The contact itself is not deleted. This cannot be undone.
Upsert, 3 operations
upsert_contactUpsert contactPOSTCreates or updates a contact matched by query filters (at least one, such as email or a filterable custom field): one match is updated, none creates it, several answer 409. Avoids duplicates.upsert_dealUpsert dealPOSTCreates or updates a deal matched by query filters (at least one, such as a filterable custom field holding an external id): one match is updated, even when another user owns it; none creates it; several answer 409.upsert_leadUpsert leadPOSTCreates or updates a lead matched by query filters (at least one, such as email or a filterable custom field): one match is updated, none creates it, several answer 409. Avoids duplicates.
Document, 2 operations
get_documentGet documentGETReturns one document attached to a record: name, content type, size, creator, dates and the URL to download the file.list_documentsList documentsGETLists the documents (files) attached to one lead, contact or deal (resource_type and resource_id required): name, content type, size, creator and a download URL.
Lead conversion, 2 operations
convert_leadConvert leadPOSTConverts a lead into a contact (an individual if it has a last_name, an organization if it has an organization_name, or both) and, unless create_deal is false, a deal.list_lead_conversionsList lead conversionsGETLists lead conversions (newest first): the converted lead and the individual, organization and deal created from it. Filter by lead_id or by a created record's id; page up to 50, then use cursor.
Self, 2 operations
get_accountGet accountGETReturns the Sell account of the token's user: account id, name, currency, time format, time zone offset, phone, subdomain and dates. Needs the profile scope.get_current_userGet current userGETReturns the user the access token belongs to: name, email, status, role, phone number, time zone, team and group. Needs the profile scope.
Text message, 2 operations
get_text_messageGet text messageGETReturns one text message (personal data): user and phone numbers, content, direction, the lead or contact it belongs to, associated deals and send time.list_text_messagesList text messagesGETLists text messages exchanged with leads and contacts (read-only, personal data): user, phone numbers, content, direction, the record and deals they belong to, and send time.
User, 2 operations
get_userGet userGETReturns one user: name, email, status, role, invited and confirmed flags, phone number, time zone, team, group and manager. Needs the profile scope.list_usersList usersGETLists the account's users: name, email, status, role, invited and confirmed flags, phone, time zone, team, group and manager. Filter by name, email, role or status. Needs the profile scope.
Call outcome, 1 operation
list_call_outcomesList call outcomesGETLists the call outcomes defined in the account, with id, name, creator and dates, sorted by id. Use an id as a call's outcome_id.
Custom field, 1 operation
list_custom_fieldsList custom fieldsGETLists the custom fields defined for leads, contacts or deals: id, name, type (such as string, list, date, address) and the choices of list fields. Use the names as keys of custom_fields.
Finish ongoing for resource, 1 operation
finish_sequence_enrollments_for_resourceFinish sequence enrollments for resourcePOSTFinishes the ongoing sequence enrollments of one lead or contact: only the sequences in sequence_ids, or all of them when sequence_ids is omitted.
Lead unqualified reason, 1 operation
list_lead_unqualified_reasonsList lead unqualified reasonsGETLists the reasons a lead can be marked unqualified: id, name, creator and dates. Use an id as a lead's unqualified_reason_id.
Pipeline, 1 operation
list_pipelinesList pipelinesGETLists the deal pipelines: id, name, whether disabled, and dates. Filter by name, ids or disabled. Stages of a pipeline come from list_stages.
Sequence, 1 operation
list_sequencesList sequencesGETLists the sequences (Reach add-on): name, number of steps, the steps (automated emails or tasks, with delays) and unsubscribe settings. Sequences are managed in the Sell settings.
Stage, 1 operation
list_stagesList stagesGETLists the deal stages: name, category, position, win likelihood, active flag and pipeline. Filter by pipeline_id, name or active. Use an id as a deal's stage_id.
Visit, 1 operation
list_visitsList visitsGETLists in-person visits logged by sales reps on leads and contacts: when, outcome, summary, the visited address and whether the rep's location was verified.
Visit outcome, 1 operation
list_visit_outcomesList visit outcomesGETLists the visit outcomes defined in the account: id, name and dates. Use an id as a visit's outcome_id.
Use Zendesk Sell from Claude Code, Cursor or Codex
Connect Zendesk Sell in LiveContext, create an API key in Settings, then add the LiveContext MCP server to your client. Its Zendesk Sell 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 Zendesk Sell
- Create your workspace
Sign up free. Nothing to install.
- Connect Zendesk Sell once
Add your Zendesk Sell 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.
Zendesk Sell integration FAQ
What can you do with the Zendesk Sell integration?
LiveContext exposes 103 operations on Zendesk Sell, covering call, contact, deal and deal source.
