Node reference
Zendesk Sell
Zendesk Sell node reference - all 108 operations, the credential it needs, and a worked example.
Zendesk Sell / Base CRM (CRM). 108 operations: contacts, leads and deals (CRUD, upsert, list); lead conversion; deal contacts; notes, tasks and calls; text messages; collaborations; products, orders and line items; Reach sequences and enrollments; pipelines and stages; tags, lead and deal sources, loss and unqualified reasons; custom field definitions, documents and visits; users and account; and the v3 Search API.
Credential: Zendesk Sell access token - see Credentials.
Each operation below lists the scope it needs. Scopes are requested by an OAuth app on Sell's /oauth2/authorize, where scope is a mandatory space-delimited list. Zendesk Sell — the CRM formerly called Base, on api.getbase.com, NOT Zendesk Support — defines exactly THREE scopes for its whole API and no per-resource granularity: read (read-only access to all your data EXCEPT account and user info), write (write access to all your data, same exception) and profile (read-only access to the account and user info only). The split that catches people out is that third one: a token granted read write is still refused on List users, Get the authenticating user and Get account details, because read explicitly excludes them — those four operations are the only ones below that name profile, and that is the whole reason the scope is worth stating. Pipory's credential can equally hold a Personal Access Token (Sell UI -> Settings -> Integrations -> OAuth -> Access Tokens), which carries NO scope choice at all and simply inherits its owner's full user permissions; for a PAT the table below is descriptive rather than prescriptive, and a 403 means the owning user cannot do this in Sell's own UI either — which is exactly what the Products and Custom Fields rows are warning about, since those writes are admin-only whatever the token. Two further gates are not scopes and answer 404 rather than 403: Orders and line items need an Enterprise plan, and the v3 Search API needs a plan that includes it. If a run fails with a permission error, the node names the missing scope in the error - grant it and re-run; you do not need to rebuild the workflow.
| Operation | What it does | Scope |
|---|
createContact | Create contact | write |
getContact | Get contact | read |
updateContact | Update contact | write |
listContacts | List contacts | read |
upsertContact | Upsert contact (create or update by filter) | write |
deleteContact | Delete contact | write |
| Operation | What it does | Scope |
|---|
createLead | Create lead | write |
getLead | Get lead | read |
updateLead | Update lead | write |
listLeads | List leads | read |
upsertLead | Upsert lead (create or update by filter) | write |
deleteLead | Delete lead | write |
| Operation | What it does | Scope |
|---|
convertLead | Convert lead to contact and deal | write |
listLeadConversions | List lead conversions | read |
| Operation | What it does | Scope |
|---|
createDeal | Create deal | write |
getDeal | Get deal | read |
updateDeal | Update deal (advance stage, change value) | write |
listDeals | List deals | read |
upsertDeal | Upsert deal (create or update by filter) | write |
deleteDeal | Delete deal | write |
| Operation | What it does | Scope |
|---|
listAssociatedContacts | List contacts on a deal | read |
addAssociatedContact | Add contact to a deal | write |
removeAssociatedContact | Remove contact from a deal | write |
| Operation | What it does | Scope |
|---|
createNote | Create note | write |
getNote | Get note | read |
updateNote | Update note | write |
listNotes | List notes | read |
deleteNote | Delete note | write |
| Operation | What it does | Scope |
|---|
createTask | Create task | write |
getTask | Get task | read |
updateTask | Update / complete task | write |
listTasks | List tasks | read |
deleteTask | Delete task | write |
| Operation | What it does | Scope |
|---|
logCall | Log a call | write |
getCall | Get call | read |
updateCall | Update call | write |
listCalls | List calls | read |
deleteCall | Delete call | write |
listCallOutcomes | List call outcomes | read |
| Operation | What it does | Scope |
|---|
listTextMessages | List text messages | read |
getTextMessage | Get text message | read |
| Operation | What it does | Scope |
|---|
createCollaboration | Share a record with a user | write |
getCollaboration | Get collaboration | read |
listCollaborations | List collaborations | read |
deleteCollaboration | Delete collaboration | write |
| Operation | What it does | Scope |
|---|
listProducts | List products | read |
getProduct | Get product | read |
createProduct | Create product | write (Sell admin role also required) |
updateProduct | Update product | write (Sell admin role also required) |
deleteProduct | Delete product | write (Sell admin role also required) |
| Operation | What it does | Scope |
|---|
listOrders | List orders | read |
getOrder | Get order | read |
createOrder | Create order for a deal | write |
updateOrder | Update order discount | write |
deleteOrder | Delete order | write |
| Operation | What it does | Scope |
|---|
listLineItems | List line items | read |
getLineItem | Get line item | read |
createLineItem | Add line item to order | write |
updateLineItem | Update line item | write |
deleteLineItem | Remove line item | write |
| Operation | What it does | Scope |
|---|
listSequences | List sequences | read |
enrollInSequence | Enroll a lead or contact in a sequence | write |
getSequenceEnrollment | Get sequence enrollment | read |
updateSequenceEnrollment | Update enrollment state | write |
listSequenceEnrollments | List sequence enrollments | read |
finishSequenceEnrollments | Finish ongoing enrollments for a record | write |
| Operation | What it does | Scope |
|---|
listPipelines | List pipelines | read |
listStages | List stages | read |
| Operation | What it does | Scope |
|---|
listTags | List tags | read |
getTag | Get tag | read |
createTag | Create tag | write |
updateTag | Rename tag | write |
deleteTag | Delete tag | write |
| Operation | What it does | Scope |
|---|
listLeadSources | List lead sources | read |
getLeadSource | Get lead source | read |
createLeadSource | Create lead source | write |
updateLeadSource | Update lead source | write |
deleteLeadSource | Delete lead source | write |
| Operation | What it does | Scope |
|---|
listDealSources | List deal sources | read |
getDealSource | Get deal source | read |
createDealSource | Create deal source | write |
updateDealSource | Update deal source | write |
deleteDealSource | Delete deal source | write |
| Operation | What it does | Scope |
|---|
listLossReasons | List loss reasons | read |
getLossReason | Get loss reason | read |
createLossReason | Create loss reason | write |
updateLossReason | Update loss reason | write |
deleteLossReason | Delete loss reason | write |
| Operation | What it does | Scope |
|---|
listDealUnqualifiedReasons | List deal unqualified reasons | read |
getDealUnqualifiedReason | Get deal unqualified reason | read |
createDealUnqualifiedReason | Create deal unqualified reason | write |
updateDealUnqualifiedReason | Update deal unqualified reason | write |
deleteDealUnqualifiedReason | Delete deal unqualified reason | write |
listLeadUnqualifiedReasons | List lead unqualified reasons | read |
| Operation | What it does | Scope |
|---|
listCustomFields | List custom field definitions | read |
listDocuments | List documents on a record | read |
getDocument | Get document | read |
| Operation | What it does | Scope |
|---|
listVisits | List visits | read |
listVisitOutcomes | List visit outcomes | read |
| Operation | What it does | Scope |
|---|
listUsers | List users | profile |
getUser | Get user | profile |
getSelf | Get the authenticating user | profile |
getAccount | Get account details | profile |
| Operation | What it does | Scope |
|---|
searchContacts | Search contacts | read — a POST that only reads; Zendesk does not document whether it checks read or write, so grant both if refused |
searchLeads | Search leads | read — a POST that only reads; Zendesk does not document whether it checks read or write, so grant both if refused |
searchDeals | Search deals | read — a POST that only reads; Zendesk does not document whether it checks read or write, so grant both if refused |
searchNotes | Search notes | read — a POST that only reads; Zendesk does not document whether it checks read or write, so grant both if refused |
searchTasks | Search tasks | read — a POST that only reads; Zendesk does not document whether it checks read or write, so grant both if refused |
Create a deal against an existing contact
Zendesk Sell is a separate product from Zendesk Support with its own API and its own node. A deal needs a contact to hang off, so the usual shape is: find or create the contact, then create the deal referencing it.
Set Operation to createDeal, then fill in:
| Field | Value | Notes |
|---|
name | {{ myTrigger.company }} — annual plan | Deal name |
bodyJson | {"contact_id": {{ contact.id }}, "value": "4800", "currency": "USD"} | Sell addresses the contact by numeric id, not email |
Sets {{deal.id}} and {{deal.record}}.