Zendesk Component
Manage Tickets and users in Zendesk
Component key: zendesk#
DescriptionZendesk is a public company headquartered in San Francisco, California. It provides software-as-a-service products related to customer support, sales, and other customer communications. The Zendesk component allows you to manage Users and Tickets inside your Zendesk domain.
#
Zendesk webhooksThe Zendesk API supports two types of webhooks - one for when something has changed for a user or an organization, and one when something has changed on a support ticket.
#
Zendesk user and support webhooksIf you would like to be alerted when a change to a user or organization has occurred, create a new webhook using the Create Webhook action.
Select the events that will cause a the webhook to fire.
For example, selecting the zen:event-type:user.deleted
event will cause the webhook to fire whenever a user is deleted.
A full list of webhook event types are available in the Zendesk developer docs.
#
Zendesk ticket webhooksIf you would like to be alerted when a ticket has changed, first create a webhook using the Create Webhook action.
When selecting webhook events, choose conditional_ticket_events
(and only that value).
This will create a webhook, pointed at a Prismatic instance flow, that can be triggered conditionally.
Next, you need to create a trigger that will send data via the webhook you created. Fetch your webhook's id from the step where you created the webhook, and feed it into a Create Trigger action. The default conditional and webhook body values will cause the webhook to be triggered whenever a ticket is changed, and will send all data related to the ticket to the webhook. We recommend keeping the default values. You can change the conditions under which the trigger fires - see the Zendesk conditions reference for details.
#
Zendesk Connections#
Zendesk ConnectionThe Zendesk component authenticates requests with OAuth 2.0. To configure an application inside zendesk follow the directions in this guide Now, you will have to create a new Zendesk connection in Prismatic.
- For Client ID enter in the unique identifier of your app inside the Zendesk admin dashboard. For Client Secret enter the generated client secret you received from the Zendesk admin dashboard.
- For Scopes refer to the guide that was linked above. There is detailed information on picking the correct scope.
You can find your subdomain inside of your Zendesk URL: https://{YOUR SUBDOMAIN HERE}.zendesk.com/
Input | Default | Notes | Example |
---|---|---|---|
Input Authorize URL string / Required | Default https://YOUR-ZENDESK-DOMAIN.zendesk.com/oauth/authorizations/new | Notes The OAuth 2.0 Authorization URL for Zendesk | Example https://YOUR-ZENDESK-DOMAIN.zendesk.com/oauth/authorizations/new |
Input Client ID string / Required | Default | Notes | Example |
Input Client Secret password / Required | Default | Notes | Example |
Input Scopes string / Required | Default read write | Notes A space-delimited set of one or more scopes to get the user's permission to access. | Example read write |
Input Subdomain string / Required | Default | Notes Provide a string value for the subdomain that your site lives in. You can find your subdomain in your zendesk URL https://<SUBDOMAIN>.zendesk.com/admin/home | Example acmeInc |
Input Token URL string / Required | Default https://YOUR-ZENDESK-DOMAIN.zendesk.com/oauth/tokens | Notes The OAuth 2.0 Token URL for Zendesk | Example https://YOUR-ZENDESK-DOMAIN.zendesk.com/oauth/tokens |
#
Triggers#
Zendesk WebhookHandle and validate webhook requests from Zendesk | key: webhook
Input | Notes |
---|---|
Input Connection connection / Required | Notes |
#
Actions#
Create TicketCreate a new ticket | key: createTicket
Input | Default | Notes | Example |
---|---|---|---|
Input Assignee Id string | Default | Notes Provide a valid user id for the assignee of the ticket. | Example 403598029853443232 |
Input Debug boolean | Default false | Notes This flag toggles debugging. When true the integration will log any requests and failures. | Example |
Input External ID string | Default | Notes The ID of this issue from an external system | Example |
Input Followers string Value List | Default | Notes For each item provide a unique identifier of the follower you want to add to the issue. | Example 488042375842 |
Input Recipient Email string | Default | Notes Provide a string value for the name of the recipient. | Example Jane.Doe@example-prismatic.io |
Input Requester Email string / Required | Default | Notes Provide a string value for the email of the requester. | Example John.Doe@example-email.com |
Input Requester Name string / Required | Default | Notes provide a string value for the name of the requester. | Example John Doe |
Input Requester Organization Id string | Default | Notes Provide an integer value to specify the Organization of the requester. | Example 488042375842 |
Input Tags string Value List | Default | Notes For each item, provide a string value for the tag. | Example Engineering |
Input Ticket Comment Body string | Default | Notes When creating a ticket, this field can be used to give a ticket description. It will also leave a comment on the ticket from the assignee. | Example This is an example Comment. |
Input Ticket Comment HTML Body string | Default | Notes When creating a ticket, this field can be used to give a ticket description using HTML. It will also leave a comment on the ticket from the assignee. | Example <p>This is an example Comment.</p> |
Input Ticket Priority string | Default | Notes Provide a string value for the priority of the ticket. | Example |
Input Ticket Status string | Default | Notes Provide a string value for the status of the ticket. | Example |
Input Ticket Subject string | Default | Notes Provide a string value for the subject of the ticket | Example This is an example ticket subject. |
Input Ticket Type string | Default | Notes Provide a string value for the type of the ticket. | Example |
Input Connection connection / Required | Default | Notes | Example |
#
Create UserCreate a new user | key: createUser
Input | Default | Notes | Example |
---|---|---|---|
Input Debug boolean | Default false | Notes This flag toggles debugging. When true the integration will log any requests and failures. | Example |
Input External Id string | Default | Notes A unique identifier from another system. The API treats the id as case sensitive. Example: "ian1" and "Ian1" are different users | Example |
Input Moderator boolean | Default false | Notes This flag specifies whether or not the user will have moderator permissions. | Example |
Input Verified boolean | Default false | Notes Flip this flag to true if any of the user's identities is verified. | Example |
Input Organization Id string | Default | Notes Provide the unique identifier of the organization. | Example |
Input Alias string | Default | Notes Provide a string value that represents an alias to give to a user. | Example Example Alias |
Input Details string | Default | Notes Provide a string value that represents details to be attached to the user. | Example These are some example user details |
Input Email Address string / Required | Default | Notes Provide a valid email address for the user. Make sure this value does not conflict with any other users in your Zendesk Domain | Example someone@example-prismatic.io |
Input Name string / Required | Default | Notes Provide a string value for the name of the user. | Example John Doe |
Input Notes string | Default | Notes Provide a string value that represents notes to be attached to the user. | Example These are some example notes. |
Input Phone Number string | Default | Notes Provide a valid phone number for the user. | Example 15554008989 |
Input User Role string | Default | Notes Provide which level of permissions the user is granted. | Example |
Input Connection connection / Required | Default | Notes | Example |
#
Create WebhookCreate a webhook in Zendesk to notify you of changes to your users, organization, or tickets | key: createWebhook
Input | Default | Notes |
---|---|---|
Input Allow Duplicates? boolean / Required | Default false | Notes |
Input Callback URL string / Required | Default | Notes The URL to send data to |
Input Events string / Required Value List | Default | Notes Determines what events trigger a webhook to fire |
Input Webhook Name string / Required | Default | Notes A unique name to assign this webhook |
Input Connection connection / Required | Default | Notes |
#
Output Example Payload{ "data": { "webhook": { "id": "01GK8E6BKWMJZD2T8Y5AXJQMG5", "name": "Test from Prismatic", "status": "active", "subscriptions": [ "conditional_ticket_events" ], "created_at": "2022-12-02T03:31:00Z", "created_by": "7272236579355", "endpoint": "https://hooks.prismatic.io/trigger/EXAMPLE", "http_method": "POST", "request_format": "json" } }}
#
Create Webhook TriggerCreate a trigger to cause a webhook to fire | key: createWebhookTrigger
Input | Default | Notes | Example |
---|---|---|---|
Input Allow Duplicates? boolean / Required | Default false | Notes Allow a duplicate trigger with the same title to be created? | Example |
Input Trigger Conditions code / Required | Default
| Notes The conditions under which this trigger will fire. Leave the default to fire under any change. | Example |
Input Connection connection / Required | Default | Notes | Example |
Input Webhook Message Body code / Required | Default
| Notes The body to send to the webhook. See https://support.zendesk.com/hc/en-us/articles/4408886858138-Zendesk-Support-placeholders-reference | Example |
Input Trigger Name string / Required | Default | Notes | Example |
Input Webhook ID string / Required | Default | Notes | Example 01GK7R2DBS16XB76SPDEXAMPLE |
#
Output Example Payload{ "data": { "trigger": { "url": "https://example.zendesk.com/api/v2/triggers/10849292971419.json", "id": 10849292971419, "title": "Trigger for 01GK8E6BKWMJZD2TEXAMPLE", "active": true, "updated_at": "2022-12-02T03:36:44Z", "created_at": "2022-12-02T03:36:44Z", "default": false, "actions": [ { "field": "notification_webhook", "value": [ "01GK8E6BKWMJZD2TEXAMPLE", "{\"current_user\": \"{{current_user.details}}\"}" ] } ], "conditions": { "all": [], "any": [ { "field": "status", "operator": "changed", "value": null }, { "field": "status", "operator": "not_changed", "value": null } ] }, "description": null, "position": 10, "raw_title": "01GK8E6BKWMJZD2TEXAMPLE", "category_id": "4558610559259" } }}
#
Delete Instance WebhooksDelete all webhooks pointed at this instance | key: deleteInstanceWebhooks
Input | Notes |
---|---|
Input Connection connection / Required | Notes |
#
Delete TicketDelete the information and metadata of a ticket by Id | key: deleteTicket
Input | Default | Notes | Example |
---|---|---|---|
Input Debug boolean | Default false | Notes This flag toggles debugging. When true the integration will log any requests and failures. | Example |
Input Ticket Id string / Required | Default | Notes Provide the unique identifier for the ticket you would like to show. | Example ExampleTicketId |
Input Connection connection / Required | Default | Notes | Example |
#
Delete UserDelete the information and metadata of a user by Id | key: deleteUser
Input | Default | Notes | Example |
---|---|---|---|
Input Debug boolean | Default false | Notes This flag toggles debugging. When true the integration will log any requests and failures. | Example |
Input UserId string | Default | Notes Provide an integer value for the unique identifier of the user. | Example 488042375842 |
Input Connection connection / Required | Default | Notes | Example |
#
Delete WebhookDelete a webhook by ID | key: deleteWebhook
Input | Notes | Example |
---|---|---|
Input Webhook ID string / Required | Notes | Example 01GK59HW1XMB8WVZ43RPVAPXRM |
Input Connection connection / Required | Notes | Example |
#
Get Ticket By External IDGet a ticket by external ID | key: getByExternalId
Input | Default | Notes |
---|---|---|
Input Debug boolean | Default false | Notes This flag toggles debugging. When true the integration will log any requests and failures. |
Input External ID string | Default | Notes The ID of this issue from an external system |
Input Connection connection / Required | Default | Notes |
#
List TicketsList all Tickets | key: listTickets
Input | Default | Notes |
---|---|---|
Input Debug boolean | Default false | Notes This flag toggles debugging. When true the integration will log any requests and failures. |
Input Connection connection / Required | Default | Notes |
#
List Tickets Assigned To UserList all of the tickets that have been assigned to a particular user | key: listTicketsToUser
Input | Default | Notes | Example |
---|---|---|---|
Input Debug boolean | Default false | Notes This flag toggles debugging. When true the integration will log any requests and failures. | Example |
Input UserId string | Default | Notes Provide an integer value for the unique identifier of the user. | Example 488042375842 |
Input Connection connection / Required | Default | Notes | Example |
#
Output Example Payload{ "data": { "tickets": [], "count": 5, "next_page": 5, "previous_page": 5 }}
#
List Tickets Requested By UserList all of the tickets that a particular user has requested | key: listTicketsByUser
Input | Default | Notes | Example |
---|---|---|---|
Input Debug boolean | Default false | Notes This flag toggles debugging. When true the integration will log any requests and failures. | Example |
Input UserId string | Default | Notes Provide an integer value for the unique identifier of the user. | Example 488042375842 |
Input Connection connection / Required | Default | Notes | Example |
#
Output Example Payload{ "data": { "tickets": [], "count": 5, "next_page": 5, "previous_page": 5 }}
#
List TriggersList workflow triggers | key: listTriggers
Input | Notes |
---|---|
Input Connection connection / Required | Notes |
#
List UsersList all Users | key: listUsers
Input | Default | Notes |
---|---|---|
Input Debug boolean | Default false | Notes This flag toggles debugging. When true the integration will log any requests and failures. |
Input Connection connection / Required | Default | Notes |
#
Output Example Payload{ "data": { "users": [], "count": 5, "next_page": 5, "previous_page": 5 }}
#
List WebhooksList webhooks configured in Zendesk | key: listWebhooks
Input | Default | Notes |
---|---|---|
Input Show only instance webhooks boolean | Default true | Notes Show only webhooks that point to this instance |
Input Connection connection / Required | Default | Notes |
#
Raw RequestIssue a raw HTTP request | key: rawRequest
Input | Default | Notes | Example |
---|---|---|---|
Input Connection connection / Required | Default | Notes | Example |
Input Data string | Default | Notes The HTTP body payload to send to the URL. | Example {"exampleKey": "Example Data"} |
Input Debug Request boolean | Default false | Notes Enabling this flag will log out the current request. | Example |
Input File Data string Key Value List | Default | Notes File Data to be sent as a multipart form upload. | Example [{key: "example.txt", value: "My File Contents"}] |
Input Form Data string Key Value List | Default | Notes The Form Data to be sent as a multipart form upload. | Example [{"key": "Example Key", "value": new Buffer("Hello World")}] |
Input Header string Key Value List | Default | Notes A list of headers to send with the request. | Example User-Agent: curl/7.64.1 |
Input Max Retry Count string | Default 0 | Notes The maximum number of retries to attempt. | Example |
Input Method string / Required | Default | Notes The HTTP method to use. | Example |
Input Query Parameter string Key Value List | Default | Notes A list of query parameters to send with the request. This is the portion at the end of the URL similar to ?key1=value1&key2=value2. | Example |
Input Response Type string / Required | Default json | Notes The type of data you expect in the response. You can request json, text, or binary data. | Example |
Input Retry On All Errors boolean | Default false | Notes If true, retries on all erroneous responses regardless of type. | Example |
Input Retry Delay (ms) string | Default 0 | Notes The delay in milliseconds between retries. | Example |
Input Timeout string | Default | Notes The maximum time that a client will await a response to its request | Example 2000 |
Input URL string / Required | Default | Notes This is the URL to call. | Example /sobjects/Account |
Input Use Exponential Backoff boolean | Default false | Notes Specifies whether to use a pre-defined exponential backoff strategy for retries. | Example |
The Raw Request action allows you to interact with API endpoints that are not covered by other actions.
For example, if you want to list groups, which as an endpoint of /api/v2/groups
, you can enter /groups
as the endpoint and select the GET verb.
#
Search UsersReturns an array of users who meet the search criteria. | key: searchUsers
Input | Default | Notes |
---|---|---|
Input Debug boolean | Default false | Notes This flag toggles debugging. When true the integration will log any requests and failures. |
Input External Id string | Default | Notes The external_id parameter does not support the search syntax. It only accepts ids. |
Input Query string | Default | Notes The query parameter supports the Zendesk search syntax for more advanced user searches. It can specify a partial or full value of any user property, including name, email address, notes, or phone. Example: query="jdoe". |
Input Connection connection / Required | Default | Notes |
#
Output Example Payload{ "data": { "users": [ { "id": 35436, "name": "Robert Jones", "notes": "sigil issue" }, { "id": 9873843, "name": "Terry Gilliam" } ] }}
#
Show TicketGet the information and metadata of a ticket by Id | key: showTicket
Input | Default | Notes | Example |
---|---|---|---|
Input Debug boolean | Default false | Notes This flag toggles debugging. When true the integration will log any requests and failures. | Example |
Input Ticket Id string / Required | Default | Notes Provide the unique identifier for the ticket you would like to show. | Example ExampleTicketId |
Input Connection connection / Required | Default | Notes | Example |
#
Show UserGet the information and metadata of a user by Id | key: showUser
Input | Default | Notes | Example |
---|---|---|---|
Input Debug boolean | Default false | Notes This flag toggles debugging. When true the integration will log any requests and failures. | Example |
Input UserId string | Default | Notes Provide an integer value for the unique identifier of the user. | Example 488042375842 |
Input Connection connection / Required | Default | Notes | Example |
#
Update TicketUpdate the information and metadata of a ticket by Id | key: updateTicket
Input | Default | Notes | Example |
---|---|---|---|
Input Assignee Email string | Default | Notes Provide a valid email for the assignee of the ticket. | Example Jane.Doe@example-prismatic.io |
Input Assignee Id string | Default | Notes Provide a valid user id for the assignee of the ticket. | Example 403598029853443232 |
Input Debug boolean | Default false | Notes This flag toggles debugging. When true the integration will log any requests and failures. | Example |
Input Requester Organization Id string | Default | Notes Provide an integer value to specify the Organization of the requester. | Example 488042375842 |
Input Tags string Value List | Default | Notes For each item, provide a string value for the tag. | Example Engineering |
Input Ticket Comment Body string | Default | Notes When creating a ticket, this field can be used to give a ticket description. It will also leave a comment on the ticket from the assignee. | Example This is an example Comment. |
Input Ticket Comment HTML Body string | Default | Notes When creating a ticket, this field can be used to give a ticket description using HTML. It will also leave a comment on the ticket from the assignee. | Example <p>This is an example Comment.</p> |
Input Ticket Id string / Required | Default | Notes Provide the unique identifier for the ticket you would like to show. | Example ExampleTicketId |
Input Ticket Priority string | Default | Notes Provide a string value for the priority of the ticket. | Example |
Input Ticket Status string | Default | Notes Provide a string value for the status of the ticket. | Example |
Input Ticket Subject string | Default | Notes Provide a string value for the subject of the ticket | Example This is an example ticket subject. |
Input Ticket Type string | Default | Notes Provide a string value for the type of the ticket. | Example |
Input Connection connection / Required | Default | Notes | Example |
#
Update UserUpdate the information and metadata of a user by Id | key: updateUser
Input | Default | Notes | Example |
---|---|---|---|
Input Debug boolean | Default false | Notes This flag toggles debugging. When true the integration will log any requests and failures. | Example |
Input External Id string | Default | Notes A unique identifier from another system. The API treats the id as case sensitive. Example: "ian1" and "Ian1" are different users | Example |
Input Moderator boolean | Default false | Notes This flag specifies whether or not the user will have moderator permissions. | Example |
Input Verified boolean | Default false | Notes Flip this flag to true if any of the user's identities is verified. | Example |
Input Organization Id string | Default | Notes Provide the unique identifier of the organization. | Example |
Input Alias string | Default | Notes Provide a string value that represents an alias to give to a user. | Example Example Alias |
Input Details string | Default | Notes Provide a string value that represents details to be attached to the user. | Example These are some example user details |
Input Email Address string | Default | Notes Provide a valid email address for the user. Make sure this value does not conflict with any other users in your Zendesk Domain | Example someone@example-prismatic.io |
Input UserId string / Required | Default | Notes Provide an integer value for the unique identifier of the user. | Example 488042375842 |
Input Name string | Default | Notes Provide a string value for the name of the user. | Example John Doe |
Input Notes string | Default | Notes Provide a string value that represents notes to be attached to the user. | Example These are some example notes. |
Input Phone Number string | Default | Notes Provide a valid phone number for the user. | Example 15554008989 |
Input User Role string | Default | Notes Provide which level of permissions the user is granted. | Example |
Input Time Zone string | Default | Notes Provide a valid timezone that the user operates in. | Example Berlin |
Input Connection connection / Required | Default | Notes | Example |
Updating a user's 'User Role' from a end-user to administrator may cause a failed execution. For more information refer to the user permissions guide in the Zendesk docs.