Zendesk Integration

Create a bi-directional connection between issues in Slack and tickets raised in Zendesk


Zendesk is a cloud-based help desk management solution that offers customizable tools to build customer service portals, like knowledge bases and online communities. The Thena <> Zendesk Integration is built for:

  • Product Support Agents who want to work and live in Zendesk, but need better visibility of requests that originate in Slack. Thena creates a bi-directional flow of information from Slack to Zendesk, so context of the conversation & status updates are tracked accordingly.
  • Customer Success Managers who want to more easily re-direct issues, bugs, etc to their support team that uses Zendesk.

How does it Work?

At a high-level, using Zendesk and Thena will enable a workflow where requests that are determined to be better suited for the Support Team to handle will be bi-directionally synced across the two platforms (Slack and Zendesk). The flow looks something like this:

  • A customer reaches out to the vendor (you) in Slack.
  • From the channel, the vendor (likely a CSM or someone related) determines this requires the support team in Zendesk. They create a ticket using the workflow from Slack, the Web App, or the Triage Channel. They are able to add tags, if set up in Thena, to automate triggers in Zendesk.
  • The ticket gets created in Thena & Zendesk. The Support Team will see a new ticket in Zendesk, and can work to solve and prioritize accordingly.
  • All context that is shared by the customer (files, links, etc) are also sent through to Zendesk.

Get Started

  1. Generate an API Token
  2. Setup the Zendesk credentials in The Thena Web App
  3. Create a Zendesk Webhook and Trigger for Ticket Comments
  4. Create a Zendesk Webhook and Trigger for Ticket Status

Generate an API token

Generate a new API token. Follow the steps listed in the Zendesk documentation here. We do not recommend using an existing token as that can lead to issues if the token is ever removed.

Setup the Zendesk credentials in The Thena Web App

Go to the The Thena Web App and click on 'Add Integration' under Zendesk. You should see the following model (below)

  • The Username will be your login email that you use to access Zendesk.
  • The Token comes from the first step.
  • The Base URL will follow the format of: https://[workspace name].zendesk.com/api/v2. If your workspace is named acme it will be: https://acme.zendesk.com/api/v2


After you get a 'Connection Succeeded', the first ticket can be created.

We have created the relevant Webhooks and Triggers on your behalf, to ensure a smooth bi-directional flow.


Zendesk <--> Thena Flows

Functional Flows

The following are the functional flows supported for Zendesk via Thena:

FunctionalitySlack --> ZendeskThena WebApp --> ZendeskZendesk --> Slack
(If ticket created using Thena)
Ticket Creation
(Without any required fields for Ticket creation)
Ticket Creation
(With required fields for Ticket creation)
Ticket Closure
(Without required fields for Closure)
Ticket Closure
(With required fields for Closure)
Status Sync:white-check-mark::white-check-mark::white-check-mark:
Assignee Mapping:red-circle::red-circle::red-circle:
Priority Sync:white-check-mark::white-check-mark::white-check-mark:

Rich Text Formatting

The following rich-text formatting options are available with Thena's connector with Zendesk

Functionality Slack --> ZendeskZendesk --> SlackNotes
Plain Text:white-check-mark::white-check-mark:
Hyperlinking:white-check-mark:🟡Zendesk webhooks do not support HTML.
More here
Files:white-check-mark: (till 10 MB):white-check-mark: ( till 30 MBFiles in Zendesk are through Thena's S3 bucket
(Contact us for configuring your S3 bucket
Video:red-circle::white-check-mark:Send Video as a file through Slack
Code** **Block:white-check-mark:🟡Code block is received as :
``` '''
Rich Text🟡🟡Formatting for Bold and Italics is limited


File size exceeding limits

In the scenario, a file (which is greater than 10MB on Slack and 30 MB on Zendesk) is added to a comment/message respectively, the message would not be posted to the destination.

Relevant Videos


Why are some of my customer requests showing up as requested by the Zendesk admin?

Each Slack workspace has the ability to choose whether or not to display a member's email address. If the workspace has set this to No one, then Slack does not provide the email address of your customers through its API (image below)

The email is critical for our Zendesk integration to work. This is because we sync contacts between Slack and Zendesk using the email object. If the email id is not provided by Slack, Thena will automatically assign it to the Zendesk admin that setup the Thena integration.

Why are responses by my agent from Zendesk showing up as they are sent as Thena on Slack?

Thena whitelables the responses with the agent name and profile picture. If your agent's response is being delivered on Slack with the Thena icon and name, one of the following is the root cause:

  • Agent user does NOT exists on Slack
  • Agent has a different email on Slack vs that on Zendesk (case sensitive)

What happens if a ticket is raised on behalf of a user that does not exist on Zendesk?

In this scenario, Thena will automatically create a new user in Zendesk.

Why does the 'Requested By' dropdown show up when I am creating a ticket

In a private channel, we do not pull the user data to cater to privacy. That is why, you are asked to explicitly add the requestor in order to send it to Zendesk. This is then used to map and show the relevant user in Zendesk.

Does Priority sync work for the Zendesk integration?

Yes - We sync both Status and Priority bi-directionally.

Will an OAuth for Zendesk be available?

Yes - we are currently working on having an O-Auth enabled integration with Zendesk. Once completed, you will no longer need to do a one time setup of Webhooks and associated Triggers in Zendesk.

Should I create a new Admin user in Zendesk for the integration?

This is optional - You can continue to use an existing admin account, or create a new user.

What happens if I create the integration in Zendesk as an Agent (and not as an Admin)?

If the integration is setup as an agent, then the Zendesk API ends up passing a lot of customer messages as a message from the Zendesk Thena admin, instead of mapping the message correctly.

Why am I unable to receive hyperlinked text in Slack when I send a message through Zendesk?

This is due to the limitations with the Zendesk Webhooks which do not support complete HTML.
As an alternative, you can share the exact link instead of hyper linking Eg: https://example.com/ instead of Example

Am I able to track the ticketing volume from Thena/Slack in Zendesk?

Yes, you can enable what's known as a default tag to send to Zendesk. This can be something like thenaSlackRequest. All requests that originate from Slack will have the default tag applied. To request default tagging, please reach out to the Thena team.

Will Internal notes in Zendesk be visible on Slack?

No - Internal notes are viewed as collaboration within the Support team. As a result, we do not show the internal notes to the customer.

What happens if the user who's message is being converted into a ticket is suspended in Zendesk

When converting a Slack message to a Zendesk ticket, if the user who sent theoriginal message in Slack is marked as suspended in Zendesk, we try to un-suspend the user in Zendesk and if Zendesk does not allow un-suspending the users, we fallback to create the ticket using the admin user who had integrated Thena with Zendesk.

Why did a reply from a fellow support agent become an internal note?

Any user that is an agent, creates a comment for a ticket where the user is not a requestor will make the comment as Internal Note. Link to Zendesk documentation

How do I disable emails for tickets created via Slack?


Please share the name of your tag with Thena

Please go through the steps below on Zendesk and then share this tag with us and we will configure this tag to be sent with all of your tickets.

Go to Zendesk Admin pannel --> Object and Rules --> Business Rules --> Triggers --> Notify

  • Select Trigger - Notify requester and CCs of comment update
  • Add a condition of tag contains non of the following: {{yourslacktag}}