Customer support
Zendesk setup guide
Customer service tickets. Agents search and read tickets, answer customers, add internal notes, update status, priority, assignee and tags, and look up requesters, groups and help center articles.
Agents read tickets and conversations and draft or send replies to your customers.
Ways to connect
Company admins connect apps, on the Integrations page in Everdeck: open Zendesk, choose one of the ways below, follow its steps and fill in its fields. Everdeck checks what you enter before it saves anything, and asks you to confirm it’s you (your second factor) before you type any secret. How connecting works.
Zendesk can be connected 2 ways. Where there’s a key or token to paste, that’s usually the quickest.
Your Zendesk OAuth client (client credentials)
Your OAuth app.
This way uses the client ID and secret of an OAuth app you create for Zendesk. There’s no sign-in page: Everdeck asks Zendesk for a token with them.
- Sign in to Zendesk as the admin the AI employee should act as. Everything it does is recorded under the person who creates the OAuth client, so a dedicated admin seat (for example "AI Support") keeps its work easy to spot.
- Open Admin Center > Apps and integrations > APIs > OAuth clients and click Add OAuth client.
- Enter a name (for example Everdeck), set Client kind to Confidential and add https://everdeck.io/api/oauth/callback as the redirect URL. Zendesk requires a redirect URL; this method does not use it.
- If you fill in Allowed scopes, include read and tickets:write.
- Click Save, then copy the Identifier (the client ID) and the Secret into the form. Zendesk shows the full secret only once. Triggers (starting work when a ticket is created or a customer replies): a. Set the trigger up on the Intake page and copy the address it gives you. b. In Admin Center open Apps and integrations > Webhooks and click Create webhook. Choose Zendesk events and select Ticket created (for ticket_created) or Comment added (for customer_replied), then click Next. c. Enter a name, paste the address as the Endpoint URL, keep Request method POST and Request format JSON, set Authentication to None and click Create webhook. d. Open the webhook, click Reveal secret under Signing secret and add it to Webhook signing secrets here (one secret per webhook, separated by spaces). Only an admin can create webhooks; the connection itself needs no extra scope.
| Field | What to enter |
|---|---|
| Zendesk subdomain (the part before .zendesk.com) | Text. For example yourcompany. |
| Webhook signing secrets (optional, for triggers) | A secret: Everdeck saves it encrypted and never shows it again. Only for triggers: each Zendesk webhook's signing secret (Reveal secret on the webhook). Separate several with spaces. |
The scopes Everdeck asks for:
readtickets:write
When you disconnect, Everdeck asks Zendesk to revoke the access token this connection was using, then deletes it. The OAuth app's client ID and secret stay saved under OAuth apps in Everdeck and keep working at Zendesk until you delete the app or rotate its secret there.
Your Zendesk OAuth client (agent sign-in)
Your OAuth app.
This way signs in with an OAuth app you create for Zendesk, as its steps describe: Everdeck never uses an app of its own. Register this redirect URI with your app:
https://everdeck.io/api/oauth/callback
Then save the app’s client ID and secret in Everdeck, on the connect page or under OAuth apps, and sign in.
- In Zendesk, open Admin Center > Apps and integrations > APIs > OAuth clients and click Add OAuth client.
- Enter a name (for example Everdeck), set Client kind to Confidential and add the redirect URL https://everdeck.io/api/oauth/callback.
- If you fill in Allowed scopes, include read and tickets:write.
- Click Save and copy the Identifier (the client ID) and the Secret into the form. Zendesk shows the full secret only once.
- Click Connect and sign in as the agent the AI employee should act as. Triggers (starting work when a ticket is created or a customer replies): a. Set the trigger up on the Intake page and copy the address it gives you. b. In Admin Center open Apps and integrations > Webhooks and click Create webhook. Choose Zendesk events and select Ticket created (for ticket_created) or Comment added (for customer_replied), then click Next. c. Enter a name, paste the address as the Endpoint URL, keep Request method POST and Request format JSON, set Authentication to None and click Create webhook. d. Open the webhook, click Reveal secret under Signing secret and add it to Webhook signing secrets here (one secret per webhook, separated by spaces). Only an admin can create webhooks; the connection itself needs no extra scope.
| Field | What to enter |
|---|---|
| Zendesk subdomain (the part before .zendesk.com) | Text. For example yourcompany. |
| Webhook signing secrets (optional, for triggers) | A secret: Everdeck saves it encrypted and never shows it again. Only for triggers: each Zendesk webhook's signing secret (Reveal secret on the webhook). Separate several with spaces. |
The scopes Everdeck asks for:
readtickets:write
When you disconnect, Everdeck asks Zendesk to revoke the sign-in, then deletes the tokens it saved.
What agents can do
An agent uses an action only when its charter grants it, on the agent’s Tools tab, where you choose whether each one runs by itself (Auto), asks first or never runs. Each action has a risk tier: tier 3 actions, which customers or the public see, ask first unless you choose otherwise, and tier 4 actions (money, deleting things, access) always need a person. How tools and tiers work.
Actions marked Reads outside content return things people outside your company may have written. Agents treat what they read as information, never as instructions, and their riskier actions later in the same session need approval.
-
Search ticketsTier 0 · ReadReads outside content
zendesk_search_ticketsFind tickets with Zendesk search syntax, most recently updated first. Returns id, subject, status, priority, requester, assignee, group, tags and timestamps. New tickets can take a few minutes to appear.
-
Read a ticketTier 0 · ReadReads outside content
zendesk_get_ticketRead one ticket: subject, first message (description), status, priority, type, requester, assignee, group, organization, tags, custom fields and channel. Use list_ticket_comments for the conversation.
-
Read a ticket's conversationTier 0 · ReadReads outside content
zendesk_list_ticket_commentsList a ticket's comments: author, public reply or internal note, plain-text body, attachments and time. Newest first by default; pass the returned after_cursor to read further back.
-
Create a ticketTier 2 · Reversible
zendesk_create_ticketLog a ticket for a requester (created if new) with an internal first comment, so Zendesk's standard triggers send the requester nothing. Use reply_to_ticket afterwards to write to the customer.
-
Update a ticketTier 2 · Reversible
zendesk_update_ticketChange a ticket's status, priority, type, assignee, group, subject or custom fields. Adds no comment; use reply_to_ticket or add_internal_note for that, and add_tags for tags.
-
Add tagsTier 2 · ReversibleReads outside content
zendesk_add_tagsAdd tags to a ticket and keep its existing ones. Does not work on closed tickets.
-
Reply to the customerTier 3 · External
zendesk_reply_to_ticketAdd a public comment that Zendesk emails to the requester and CCs (and shows in the help center). Optionally set the status in the same update, for example pending while you wait for the customer.
-
Add an internal noteTier 2 · Reversible
zendesk_add_internal_noteAdd a private comment that only agents can see.
-
Find peopleTier 0 · ReadReads outside content
zendesk_search_usersFind end users or agents by name, email, phone or other search terms. Returns id, name, email, phone, role and organization.
-
Read a personTier 0 · ReadReads outside content
zendesk_get_userRead one user, such as a ticket's requester, with notes, tags and custom user fields.
-
List groupsTier 0 · ReadReads outside content
zendesk_list_groupsList agent groups with their ids, for routing tickets with update_ticket.
-
Search help center articlesTier 0 · ReadReads outside content
zendesk_search_articlesSearch the help center for articles that answer a question. Returns title, matching snippet, body and public link. Needs Zendesk Guide.
What can start work
These events from Zendesk can become tasks for your agents through Intake. How Intake works.
A new ticket arrived on any channel.
Connect Zendesk first. Then, on the Intake page, open Webhooks and sources, find the connection under Connections without an address yet and select Get its URL. Give that address to Zendesk as the setup steps above describe: Everdeck shows it only once. Then, on the Rules tab, select New rule to say which requests become tasks and who gets them.
A requester or other end user added a public comment to a ticket.
Connect Zendesk first. Then, on the Intake page, open Webhooks and sources, find the connection under Connections without an address yet and select Get its URL. Give that address to Zendesk as the setup steps above describe: Everdeck shows it only once. Then, on the Rules tab, select New rule to say which requests become tasks and who gets them.
Testing, problems and disconnecting
Everdeck checks the connection when you save it. On the connection’s page in Integrations, Test checks it again at any time.
If Zendesk later refuses the connection, for example because a key was deleted or a sign-in expired, the connection shows Needs attention on the Integrations page and the people who manage connections are told. Agents can’t use it until a company admin fixes it with Edit or Reconnect.
To stop agents using Zendesk, open the connection and select Disconnect. Agents stop using it at once and its saved credentials are deleted. What else happens depends on how it was connected: each way above says.
Still stuck?
Email [email protected] and say what you were trying to do. Or browse every guide.