ByteChef LogoByteChef

Zendesk

Zendesk is a customer service and sales platform that helps businesses manage customer interactions across various channels.

Categories: Surveys and Feedback

Type: zendesk/v1


Connections

Version: 1

basic_auth

Properties

NameLabelTypeDescriptionRequired
api_tokenAPI TokenSTRINGAPI tokens are managed in the Admin Center interface at Apps and integrations > APIs > API Tokens.true
emailEmailSTRINGYour Zendesk account email.true
subdomainSubdomainSTRINGSubdomain of your Zendesk account (e.g. https://SUBDOMAIN.zendesk.com).true

Connection Setup

Create API Token

  1. Login to your Zendesk dashboard.
  2. Click on Support.
  3. Click on Admin center.
  4. Click on Apps and integrations.
  5. Click on API configuration.
  6. Enable Allow password access for end users and Allow API token access.
  7. Click on Save.
  8. Click on API tokens.
  9. Click on Add API token.
  10. Enter token name.
  11. Click on Save.
  12. Click on Copy.
  13. Click on Save.
  14. Done 🚀

Actions

Add Comment to Ticket

Name: commentTicket

Adds a comment to an existing ticket.

Properties

NameLabelTypeDescriptionRequired
ticketIdTicket IDINTEGERID of the ticket that will get the comment.true
commentCommentSTRINGA ticket comment.true

Example JSON Structure

{
  "label" : "Add Comment to Ticket",
  "name" : "commentTicket",
  "parameters" : {
    "ticketId" : 1,
    "comment" : ""
  },
  "type" : "zendesk/v1/commentTicket"
}

Output

Type: OBJECT

Properties

NameTypeDescription
urlSTRINGAPI URL of the ticket resource.
idINTEGERTicket ID.
external_idINTEGERExternal ID of the ticket.
viaOBJECT
Properties {STRING(channel), {{}(from), {}(to), {}(rel)}(source)}
Information for how the ticket was created.
created_atSTRINGTimestamp when the ticket was created.
updated_atSTRINGTimestamp of the last update to the ticket.
generated_timestampINTEGERUNIX timestamp when the ticket was generated.
typeSTRINGType of the ticket.
subjectSTRINGSubject line of the ticket.
raw_subjectSTRINGUnprocessed subject line of the ticket.
descriptionSTRINGDetailed description of the ticket issue.
prioritySTRINGPriority of the ticket.
statusSTRINGCurrent status of the ticket.
recipientSTRINGEmail address of the ticket recipient.
requester_idINTEGERID of the user who requested the ticket.
submitter_idINTEGERID of the user who submitted the ticket.
assignee_idINTEGERID of the agent assigned to the ticket.
organization_idINTEGERID of the organization associated with the requester.
group_idINTEGERID of the group associated with the ticket.
collaborator_idsARRAY
Items [INTEGER]
List of user IDs who are collaborators on the ticket.
follower_idsARRAY
Items [INTEGER]
List of user IDs following the ticket.
email_cc_idsARRAY
Items []
List of ticket CCs user IDs.
forum_topic_idsARRAY
Items []
List of forum ID topics.
problem_idINTEGERID of the problem the ticket is linked to.
has_incidentsBOOLEAN
Options true, false
Whether the ticket has related incidents.
is_publicBOOLEAN
Options true, false
Whether the ticket is public.
due_atSTRINGDue date for the ticket, if any.
tagsARRAY
Items [STRING]
List of tags associated with the ticket.
custom_fieldsARRAY
Items [{INTEGER(id), STRING(value)}]
Custom field values associated with the ticket.
satisfaction_ratingOBJECT
Properties {STRING(comment), INTEGER(id), STRING(score)}
Customer satisfaction rating for the ticket.
sharing_agreement_idsARRAY
Items [INTEGER($id)]
List of sharing agreement IDs for the ticket.
custom_status_idINTEGERCustom status ID for the ticket.
encoded_idSTRINGEncoded ticket ID.
fieldsARRAY
Items [{INTEGER(id), STRING(value)}($item)]
Ticket fields.
followup_idsARRAY
Items []
Array of follow up IDs.
ticket_form_idINTEGERTicket form ID.
brand_idINTEGERBrand ID.
allow_channelbackBOOLEAN
Options true, false
Whether channelback is allowed for the ticket.
allow_attachmentsBOOLEAN
Options true, false
Whether attachments are allowed for the ticket.
from_messaging_channelBOOLEAN
Options true, false
Indicates if the ticket originated from a messaging channel.

Output Example

{
  "url" : "",
  "id" : 1,
  "external_id" : 1,
  "via" : {
    "channel" : "",
    "source" : {
      "from" : { },
      "to" : { },
      "rel" : { }
    }
  },
  "created_at" : "",
  "updated_at" : "",
  "generated_timestamp" : 1,
  "type" : "",
  "subject" : "",
  "raw_subject" : "",
  "description" : "",
  "priority" : "",
  "status" : "",
  "recipient" : "",
  "requester_id" : 1,
  "submitter_id" : 1,
  "assignee_id" : 1,
  "organization_id" : 1,
  "group_id" : 1,
  "collaborator_ids" : [ 1 ],
  "follower_ids" : [ 1 ],
  "email_cc_ids" : [ ],
  "forum_topic_ids" : [ ],
  "problem_id" : 1,
  "has_incidents" : false,
  "is_public" : false,
  "due_at" : "",
  "tags" : [ "" ],
  "custom_fields" : [ {
    "id" : 1,
    "value" : ""
  } ],
  "satisfaction_rating" : {
    "comment" : "",
    "id" : 1,
    "score" : ""
  },
  "sharing_agreement_ids" : [ 1 ],
  "custom_status_id" : 1,
  "encoded_id" : "",
  "fields" : [ {
    "id" : 1,
    "value" : ""
  } ],
  "followup_ids" : [ ],
  "ticket_form_id" : 1,
  "brand_id" : 1,
  "allow_channelback" : false,
  "allow_attachments" : false,
  "from_messaging_channel" : false
}

Finding Your Ticket ID

  1. Open the ticket in Zendesk
  2. Look at the URL in your browser's address bar.
  3. The ticket ID is the number that appears at the end of the URL, after /tickets/.

Example:

https://bytechefsupport.zendesk.com/agent/tickets/4

In this example, the ticket ID is 4.

Create Organization

Name: createOrganization

Creates an organization.

Properties

NameLabelTypeDescriptionRequired
nameNameSTRINGName of the organization.true
detailsDetailsSTRINGAny details about the organization, such as the address.false
domain_namesDomain NamesARRAY
Items [STRING($domain_name)]
An array of domain names associated with this organization.true
notesNotesSTRINGAny notes you have about the organization.false

Example JSON Structure

{
  "label" : "Create Organization",
  "name" : "createOrganization",
  "parameters" : {
    "name" : "",
    "details" : "",
    "domain_names" : [ "" ],
    "notes" : ""
  },
  "type" : "zendesk/v1/createOrganization"
}

Output

Type: OBJECT

Properties

NameTypeDescription
urlSTRINGURL of the created organization.
idSTRINGOrganization ID.
nameSTRINGOrganization name.
shared_ticketsBOOLEAN
Options true, false
Whether the organization can share tickets.
shared_commentsBOOLEAN
Options true, false
Whether the organization can share comments.
external_idINTEGERExternal ID of the organization.
created_atSTRINGDate when the organization was created.
updated_atSTRINGDate when the organization was last updated.
domain_namesARRAY
Items [STRING]
Array of domain names of the organization.
detailSTRINGDetails about the organization.
notesSTRINGNotes about the organization.
group_idINTEGERGroup ID of the organization.
tagsARRAY
Items [STRING]
Tags of the organization.
organization_fieldsOBJECT
Properties {}
Custom organization fields of the organization.

Output Example

{
  "url" : "",
  "id" : "",
  "name" : "",
  "shared_tickets" : false,
  "shared_comments" : false,
  "external_id" : 1,
  "created_at" : "",
  "updated_at" : "",
  "domain_names" : [ "" ],
  "detail" : "",
  "notes" : "",
  "group_id" : 1,
  "tags" : [ "" ],
  "organization_fields" : { }
}

Create Ticket

Name: createTicket

Creates a ticket.

Properties

NameLabelTypeDescriptionRequired
subjectSubjectSTRINGSubject of the ticket.false
typeTypeSTRING
Options problem, incident, question, task
Type of the ticket.false
commentCommentSTRINGComment of the ticket.true
priorityPrioritySTRING
Options low, normal, high, urgent
Priority of the ticket.false
statusStatusSTRING
Options new, open, pending, hold, solved, closed
Status of the ticket.false

Example JSON Structure

{
  "label" : "Create Ticket",
  "name" : "createTicket",
  "parameters" : {
    "subject" : "",
    "type" : "",
    "comment" : "",
    "priority" : "",
    "status" : ""
  },
  "type" : "zendesk/v1/createTicket"
}

Output

Type: OBJECT

Properties

NameTypeDescription
urlSTRINGAPI URL of the ticket resource.
idINTEGERTicket ID.
external_idINTEGERExternal ID of the ticket.
viaOBJECT
Properties {STRING(channel), {{}(from), {}(to), {}(rel)}(source)}
Information for how the ticket was created.
created_atSTRINGTimestamp when the ticket was created.
updated_atSTRINGTimestamp of the last update to the ticket.
generated_timestampINTEGERUNIX timestamp when the ticket was generated.
typeSTRINGType of the ticket.
subjectSTRINGSubject line of the ticket.
raw_subjectSTRINGUnprocessed subject line of the ticket.
descriptionSTRINGDetailed description of the ticket issue.
prioritySTRINGPriority of the ticket.
statusSTRINGCurrent status of the ticket.
recipientSTRINGEmail address of the ticket recipient.
requester_idINTEGERID of the user who requested the ticket.
submitter_idINTEGERID of the user who submitted the ticket.
assignee_idINTEGERID of the agent assigned to the ticket.
organization_idINTEGERID of the organization associated with the requester.
group_idINTEGERID of the group associated with the ticket.
collaborator_idsARRAY
Items [INTEGER]
List of user IDs who are collaborators on the ticket.
follower_idsARRAY
Items [INTEGER]
List of user IDs following the ticket.
email_cc_idsARRAY
Items []
List of ticket CCs user IDs.
forum_topic_idsARRAY
Items []
List of forum ID topics.
problem_idINTEGERID of the problem the ticket is linked to.
has_incidentsBOOLEAN
Options true, false
Whether the ticket has related incidents.
is_publicBOOLEAN
Options true, false
Whether the ticket is public.
due_atSTRINGDue date for the ticket, if any.
tagsARRAY
Items [STRING]
List of tags associated with the ticket.
custom_fieldsARRAY
Items [{INTEGER(id), STRING(value)}]
Custom field values associated with the ticket.
satisfaction_ratingOBJECT
Properties {STRING(comment), INTEGER(id), STRING(score)}
Customer satisfaction rating for the ticket.
sharing_agreement_idsARRAY
Items [INTEGER($id)]
List of sharing agreement IDs for the ticket.
custom_status_idINTEGERCustom status ID for the ticket.
encoded_idSTRINGEncoded ticket ID.
fieldsARRAY
Items [{INTEGER(id), STRING(value)}($item)]
Ticket fields.
followup_idsARRAY
Items []
Array of follow up IDs.
ticket_form_idINTEGERTicket form ID.
brand_idINTEGERBrand ID.
allow_channelbackBOOLEAN
Options true, false
Whether channelback is allowed for the ticket.
allow_attachmentsBOOLEAN
Options true, false
Whether attachments are allowed for the ticket.
from_messaging_channelBOOLEAN
Options true, false
Indicates if the ticket originated from a messaging channel.

Output Example

{
  "url" : "",
  "id" : 1,
  "external_id" : 1,
  "via" : {
    "channel" : "",
    "source" : {
      "from" : { },
      "to" : { },
      "rel" : { }
    }
  },
  "created_at" : "",
  "updated_at" : "",
  "generated_timestamp" : 1,
  "type" : "",
  "subject" : "",
  "raw_subject" : "",
  "description" : "",
  "priority" : "",
  "status" : "",
  "recipient" : "",
  "requester_id" : 1,
  "submitter_id" : 1,
  "assignee_id" : 1,
  "organization_id" : 1,
  "group_id" : 1,
  "collaborator_ids" : [ 1 ],
  "follower_ids" : [ 1 ],
  "email_cc_ids" : [ ],
  "forum_topic_ids" : [ ],
  "problem_id" : 1,
  "has_incidents" : false,
  "is_public" : false,
  "due_at" : "",
  "tags" : [ "" ],
  "custom_fields" : [ {
    "id" : 1,
    "value" : ""
  } ],
  "satisfaction_rating" : {
    "comment" : "",
    "id" : 1,
    "score" : ""
  },
  "sharing_agreement_ids" : [ 1 ],
  "custom_status_id" : 1,
  "encoded_id" : "",
  "fields" : [ {
    "id" : 1,
    "value" : ""
  } ],
  "followup_ids" : [ ],
  "ticket_form_id" : 1,
  "brand_id" : 1,
  "allow_channelback" : false,
  "allow_attachments" : false,
  "from_messaging_channel" : false
}

Create User

Name: createUser

Creates a user.

Properties

NameLabelTypeDescriptionRequired
nameNameSTRINGThe name of the user.true
emailEmailSTRINGThe email address of the user.true
roleRoleSTRING
Options admin, agent, end-user
The role that will be assigned to new user.false
skip_verify_emailSkip Verify EmailBOOLEAN
Options true, false
Whether a verification mail will be sent to the new user.false

Example JSON Structure

{
  "label" : "Create User",
  "name" : "createUser",
  "parameters" : {
    "name" : "",
    "email" : "",
    "role" : "",
    "skip_verify_email" : false
  },
  "type" : "zendesk/v1/createUser"
}

Output

Type: OBJECT

Properties

NameTypeDescription
idINTEGERAutomatically assigned when the user is created
urlSTRINGThe user's API url
nameSTRINGThe user's name
emailSTRINGThe user's primary email address. *Writeable on create only. On update, a secondary email is added. See Email Address
created_atSTRINGThe time the user was created
updated_atSTRINGThe time the user was last updated
time_zoneSTRINGThe user's time zone. See Time Zone
iana_time_zoneSTRINGThe time zone for the user
phoneSTRINGThe user's primary phone number. See Phone Number below
shared_phone_numberBOOLEAN
Options true, false
Whether the phone number is shared or not. See Phone Number below
photoOBJECT
Properties {}
The user's profile picture represented as an Attachment object
locale_idINTEGERThe user's language identifier
localeSTRINGThe user's locale. A BCP-47 compliant tag for the locale. If both "locale" and "locale_id" are present on create or update, "locale_id" is ignored and only "locale" is used.
organization_idINTEGERThe id of the user's organization. If the user has more than one organization memberships, the id of the user's default organization. If updating, see Organization ID
roleSTRINGThe user's role. Possible values are "end-user", "agent", or "admin"
verifiedBOOLEAN
Options true, false
Any of the user's identities is verified. See User Identities
last_activeSTRINGLast time the user was active.
external_idSTRINGA unique identifier from another system. The API treats the id as case insensitive. Example: "ian1" and "IAN1" are the same value.
tagsARRAY
Items [STRING]
The user's tags. Only present if your account has user tagging enabled
aliasSTRINGAn alias displayed to end users
activeBOOLEAN
Options true, false
false if the user has been deleted
sharedBOOLEAN
Options true, false
If the user is shared from a different Zendesk Support instance. Shared users can be added to organizations but cannot be modified through update requests. Any attempt to update a shared user results in a 403 Forbidden error. Ticket sharing accounts only
shared_agentBOOLEAN
Options true, false
If the user is a shared agent from a different Zendesk Support instance. Ticket sharing accounts only
last_login_atSTRINGLast time the user signed in to Zendesk Support or made an API request using an API token
two_factor_auth_enabledBOOLEAN
Options true, false
If two factor authentication is enabled
signatureSTRINGThe user's signature. Only agents and admins can have signatures
detailsSTRINGAny details you want to store about the user, such as an address
notesSTRINGAny notes you want to store about the user
role_typeINTEGERThe user's role id. 0 for a custom agent, 1 for a light agent, 2 for a chat agent, 3 for a chat agent added to the Support account as a contributor (Chat Phase 4), 4 for an admin, and 5 for a billing admin
custom_role_idINTEGERA custom role if the user is an agent on the Enterprise plan or above
is_billing_adminBOOLEAN
Options true, false
Whether the user is a billing admin.
moderatorBOOLEAN
Options true, false
Designates whether the user has forum moderation capabilities
ticket_restrictionSTRINGSpecifies which tickets the user has access to. Possible values are: "organization", "groups", "assigned", "requested", null. "groups" and "assigned" are valid only for agents. If you pass an invalid value to an end user (for example, "groups"), they will be assigned to "requested", regardless of their previous access
only_private_commentsBOOLEAN
Options true, false
true if the user can only create private comments
restricted_agentBOOLEAN
Options true, false
If the agent has any restrictions; false for admins and unrestricted agents, true for other agents
suspendedBOOLEAN
Options true, false
If the agent is suspended. Tickets from suspended users are also suspended, and these users cannot sign in to the end user portal
default_group_idINTEGERThe id of the user's default group
report_csvBOOLEAN
Options true, false
This parameter is inert and has no effect. It may be deprecated in the future. Previously, this parameter determined whether a user could access a CSV report in a legacy Guide dashboard. This dashboard has been removed. See Announcing Guide legacy reporting upgrade to Explore
user_fieldsOBJECT
Properties {}
Values of custom fields in the user's profile. See User Fields
suspension_detailsOBJECT
Properties {}
Channel-level suspension state for the user. The value is null if the user has no active channel-level suspension

Output Example

{
  "id" : 1,
  "url" : "",
  "name" : "",
  "email" : "",
  "created_at" : "",
  "updated_at" : "",
  "time_zone" : "",
  "iana_time_zone" : "",
  "phone" : "",
  "shared_phone_number" : false,
  "photo" : { },
  "locale_id" : 1,
  "locale" : "",
  "organization_id" : 1,
  "role" : "",
  "verified" : false,
  "last_active" : "",
  "external_id" : "",
  "tags" : [ "" ],
  "alias" : "",
  "active" : false,
  "shared" : false,
  "shared_agent" : false,
  "last_login_at" : "",
  "two_factor_auth_enabled" : false,
  "signature" : "",
  "details" : "",
  "notes" : "",
  "role_type" : 1,
  "custom_role_id" : 1,
  "is_billing_admin" : false,
  "moderator" : false,
  "ticket_restriction" : "",
  "only_private_comments" : false,
  "restricted_agent" : false,
  "suspended" : false,
  "default_group_id" : 1,
  "report_csv" : false,
  "user_fields" : { },
  "suspension_details" : { }
}

Triggers

New Ticket

Name: newTicket

Triggers when a new ticket is submitted.

Type: DYNAMIC_WEBHOOK

Properties

NameLabelTypeDescriptionRequired
nameWebhook NameSTRINGName of the webhook.true

Output

Type: OBJECT

Properties

NameTypeDescription
actor_idSTRINGID of the actor that triggered the webhook.
assignee_idSTRINGID of the agent assigned to the ticket.
brand_idSTRINGBrand ID.
created_atSTRINGTimestamp when the ticket was created.
custom_statusINTEGERCustom status of the ticket.
descriptionSTRINGDetailed description of the ticket issue.
external_idSTRINGExternal ID of the ticket.
form_idSTRINGForm ID.
group_idSTRINGID of the group associated with the ticket.
idSTRINGTicket ID.
is_publicBOOLEAN
Options true, false
Whether the ticket is public.
organization_idSTRINGID of the organization associated with the requester.
prioritySTRINGPriority of the ticket.
requester_idSTRINGID of the user who requested the ticket.
statusSTRINGCurrent status of the ticket.
subjectSTRINGSubject line of the ticket.
submitter_idSTRINGID of the user who submitted the ticket.
tagsARRAY
Items [STRING]
List of tags associated with the ticket.
typeSTRINGType of the ticket.
updated_atSTRINGTimestamp of the last update to the ticket.
viaOBJECT
Properties {STRING(channel), {{}(from), {}(to), {}(rel)}(source)}
Information for how the ticket was created.

JSON Example

{
  "label" : "New Ticket",
  "name" : "newTicket",
  "parameters" : {
    "name" : ""
  },
  "type" : "zendesk/v1/newTicket"
}

What to do if your action is not listed here?

If this component doesn't have the action you need, you can use Custom Action to create your own. Custom Actions empower you to define HTTP requests tailored to your specific requirements, allowing for greater flexibility in integrating with external services or APIs.

To create a Custom Action, simply specify the desired HTTP method, path, and any necessary parameters. This way, you can extend the functionality of your component beyond the predefined actions, ensuring that you can meet all your integration needs effectively.

How is this guide?

Last updated on

On this page