Setu Recipes: reusable digital workers across every app.Browse templates

Integrations / Zendesk

Zendesk

Zendesk Support: list, search, read, create and update tickets, add comments, look up users and organizations.

10 actions API key 7 read3 write Calls zendesk.com

Connect

TypeScript
const conn = await setu.connections.initiate({ userId: "user_1", toolkit: "zendesk" });
console.log(conn.connectUrl); // show this to your user
await conn.waitUntilActive();

Permissions requested

This toolkit uses a single credential and requests no scopes.

Actions

Add ticket commentwritezendesk.add_ticket_commentAdd a comment to a ticket: a public reply to the requester (public true, the default) or an internal note (public false).
InputTypeDescription
ticket_idintegerRequiredTicket ID
bodystringRequiredComment text
publicbooleanOptionalTrue for a public reply, false for an internal note
TypeScript
await setu.execute({
  userId: "user_1",
  action: "zendesk.add_ticket_comment",
  input: {
    "ticket_id": 1,
    "body": "<body>"
  },
});
Create ticketwritezendesk.create_ticketCreate a Zendesk ticket with a subject and a first comment. The first comment becomes the ticket description.
InputTypeDescription
subjectstringRequiredTicket subject
commentstringRequiredText of the first comment
prioritystringOptionalTicket priority
requester_idintegerOptionalUser ID of the requester (defaults to the agent who owns the token)
TypeScript
await setu.execute({
  userId: "user_1",
  action: "zendesk.create_ticket",
  input: {
    "subject": "<subject>",
    "comment": "<comment>"
  },
});
Get organizationreadzendesk.get_organizationGet one Zendesk organization by ID, including its domains, notes and tags.
InputTypeDescription
organization_idintegerRequiredOrganization ID
TypeScript
await setu.execute({
  userId: "user_1",
  action: "zendesk.get_organization",
  input: {
    "organization_id": 1
  },
});
Get ticketreadzendesk.get_ticketGet one ticket's properties by its numeric ID. The comment thread is not included: use list_ticket_comments for that.
InputTypeDescription
ticket_idintegerRequiredTicket ID
TypeScript
await setu.execute({
  userId: "user_1",
  action: "zendesk.get_ticket",
  input: {
    "ticket_id": 1
  },
});
List organizationsreadzendesk.list_organizationsList the organizations (customer companies) in Zendesk.
InputTypeDescription
per_pageintegerOptionalHow many to return (max 100)
TypeScript
await setu.execute({
  userId: "user_1",
  action: "zendesk.list_organizations",
  input: {},
});
List ticket commentsreadzendesk.list_ticket_commentsList the comments on a ticket (public replies and internal notes), oldest first.
InputTypeDescription
ticket_idintegerRequiredTicket ID
TypeScript
await setu.execute({
  userId: "user_1",
  action: "zendesk.list_ticket_comments",
  input: {
    "ticket_id": 1
  },
});
List ticketsreadzendesk.list_ticketsList tickets in the Zendesk account, oldest first by default. Use search_tickets to filter by status, assignee or text.
InputTypeDescription
per_pageintegerOptionalHow many tickets to return (max 100)
TypeScript
await setu.execute({
  userId: "user_1",
  action: "zendesk.list_tickets",
  input: {},
});
Search tickets and other recordsreadzendesk.search_ticketsSearch Zendesk with its query syntax, for example 'type:ticket status:open assignee:me' or free text. Returns the matching records with their type.
InputTypeDescription
querystringRequiredZendesk search query, e.g. 'type:ticket status:open priority:high'
sort_bystringOptionalSort field
sort_orderstringOptionalSort direction
TypeScript
await setu.execute({
  userId: "user_1",
  action: "zendesk.search_tickets",
  input: {
    "query": "<query>"
  },
});
Search usersreadzendesk.search_usersFind Zendesk users (agents and end users) by name or email.
InputTypeDescription
querystringRequiredName or email to search for
TypeScript
await setu.execute({
  userId: "user_1",
  action: "zendesk.search_users",
  input: {
    "query": "<query>"
  },
});
Update ticketwritezendesk.update_ticketChange a ticket's status, priority, assignee or subject. To reply or add a note use add_ticket_comment.
InputTypeDescription
ticket_idintegerRequiredTicket ID
statusstringOptionalTicket status
prioritystringOptionalTicket priority
assignee_idintegerOptionalUser ID of the agent to assign
subjectstringOptionalNew subject
TypeScript
await setu.execute({
  userId: "user_1",
  action: "zendesk.update_ticket",
  input: {
    "ticket_id": 1
  },
});