Push notifications from Zendesk to Slack
投稿日時:2019年5月09日
The official Zendesk-Slack integration is very powerful, offering out-of-the-box two-way communication in a stylish way, but sometimes you just want a simple notification setup.
I hope this guide is helpful in showing the flexibility possible with Zendesk triggers and Slack.
Create a Slack app (in Slack)
[Alternatively, you could just create an incoming WebHook in Slack]
Make sure you're logged into Slack from your browser and proceed to:
https://api.slack.com/apps/new
Give the app a name that is appropriate, I've chosen Zendesk notifier for this example, and also select which Slack Workspace you want the notifications on (if you have multiple).
Push the Create app button.
On the next screen, under Add features and functionality, select Incoming Webhooks.
Switch on the incoming webhook and click the Add new webhook to Workspace link
Next up select the Slack channel you want the app to post messages to and Authorize.
Copy the webhook URL, we need that for the next step in Zendesk.
Create a Webhook (in Zendesk)
[@... - thanks for updating this section!]
Navigate to the Webooks page: Admin Center > Apps and Integrations > Webhooks, and click Actions > Create Webhook.
In the Create Webhook screen, enter:
- A Name which represents the webhook/channel
- The Endpoint URL which is your Slack Webhook URL from earlier
- Set Request method to POST
Press Create and then press Complete setup on the following screen.
Now we have created a link from Zendesk to Slack, next we need to create the trigger that will push messages through this connection.
Create a Trigger (in Zendesk)
Navigate to the Triggers page: Admin > Triggers and push the Add trigger button.
Set the conditions for when you want Zendesk to push notifications to Slack
You have a lot of options here to precisely specify what kind of updates you want notifications for, a few examples:
- A new ticket is created
- A new ticket is created for a particular channel (e.g. reviews from Trustpilot or Play Store)
- A ticket with elevated priority is updated by the requester
- A ticket is updated with a satisfaction rating (Steven Yan has a great post outlining this use case)
Below I set the trigger to fire when a ticket with a priority above Normal is created.
You could have multiple use cases in mind, and create a separate trigger for each of them if you would like.
Set the trigger action to push a message to the Slack target
Again you have a lot of options here, what content you want to include in the notification and you also have a number of styling options as well.
Below is the JSON used in the above example - be sure to update the YOUR-DOMAIN part to your specific Zendesk subdomain.
{
"text": "<!channel> \n {{ticket.assignee.custom_fields.slack_member_id}} \n A ticket has been updated to *{{ticket.status}}* \n *Requester* {{ticket.requester.name}} \n *Organization*: {{ticket.requester.organization.name}}",
"attachments": [{
"color": "#E34F32",
"fallback": "See review here: {{ticket.url}}",
"actions": [{
"type": "button",
"text": "Go to ticket in Zendesk",
"url": "http://example.zendesk.com/agent/tickets/{{ticket.id}}",
"style": "primary"
}]
}]
}
In the example here, I include an @channel mention, followed by a four-paragraph message stating that there is a ticket has been updated to its current status, there is a button linking to the ticket in Zendesk (for easy access), and the requester name and organization name are also included. There is also a timestamp from the ticket update included.
Here is an example of what it looks like in Slack:
You can pull all kinds of user and ticket data into your message, see the Zendesk Support Placeholder Reference for all available options.
The above example is very basic in terms of style, you may want to add some bling to your messages, and for that Slack has its own message builder. You can add links, buttons, fields, images, and colors to your messages.
💡 Check out the comment section below for more use cases.
💡 You can use placeholders to insert ticket or user content into the message.
💡 You can use Liquid markup to modify placeholder output, for example, have a timestamp converted to something more readable, or have a nested field output only the last element.
8
58件のコメント
Jacob the Moderator
Hi 6856297081882
OK, I see I may have jumped the gun a bit on calling out the Zendesk Event Webhook as a solution for this.
I just noticed that there doesn't appear a way (from Zendesk) to modify the payload sent from this kind of webhook. You would need some kind of middleware like for example Zapier or MS Power Automate to take the payload and parse it for the information you would want to show in a Slack notification and send it to Slack.
If you're on a paid Slack account, you may have access to email addresses per channel - a low-tech solution using this may be worth considering as an alternative.
Basically, you would create a Zendesk end user that has this Slack email address, and then you would use the assume feature to make them a Follower on the sections you want to receive notifications on.


The notifications will be a lot less neat than what you could achieve with something like Zapier.
I hope this helps you out somewhat.
0
Vamshi ravikanti
Hi 1263169425010
Thanks for your response, Yeah i saw the Zendesk native feature but the problem is how to send a notification to slack from here.
0
Jacob the Moderator
Hi 6856297081882 👋
I did a post on that some years back, but I don't think it exists anymore.
The good news is that there is more native Zendesk support for such a flow now than then.
Instead of using a trigger to kick off a notification based on a certain ticket event, you can now use a webhook to listen to something like the Community Post Created event, and have it send a notification like the one mentioned in this post.

I'm not sure if there are any placeholders available for the notification, you may need to keep it generic, like “New Post created” and link to a saved search or some other location where the post can be reviewed (I know very little of the Gather product :)).
I haven't tried this setup myself, but let me know if you have questions and I'll do my best to answer them.
0
Vamshi ravikanti
Hello Everyone,
Can someone assist me in setting up Slack notifications for whenever we post something on our Zendesk Community?
0
Dave Dyson (gmail)
Thanks 1263169425010 for helping me to get this working – and just for future reference, here's how you'd get a clickable hyperlink of the ticket Subject that takes you to the ticket:
<https://yoursubdomain.zendesk.com/agent/tickets/{{ticket.id}}|{{ticket.title}}>
1
Max
Hello 6276361949082
It is not possible natively, but as a workaround you can tag the assignee in a specific channel. if you're interested you can try using a flow with trigger + side conversation + tagging the Slack userid.
1. First you have to get the Slack userid of your agents. You can export (as admin) the members of your Slack workspace and then get their id (it looks like this : U04WTP4UM7T).
2. To avoid multiple triggers (one per agent) you can store them for each agent as a User Field (Slack id).
3. Set up a trigger (or several triggers, one per agent if few agents) calling/notifying your Slack integration (for example as Side Conversation) and add to the body your Slack ID (as it is, or through the user field you've created).
example : This ticket has been assigned to <@U04WTP4UM7T>
As a result, indeed there's no direct message firing, but the assignee will be tagged and have a notification on Slack.
Hope it helps,
0
Keti
Is it possible to send a notification as a direct message to each user on Slack?
We would like to have an "individual" (direct message) notification for each agent on Slack, once a Zendesk Ticket is assigned to them.
Example:
Zendesk Ticket received to Group A
Someone from Group A assigns the ticket to Agent A
Agent A gets a notification through Slack
Basically same logic as Notify by Email:
Notify by > Email - Ticket > (assignee)
Thank you!
0
PJ
Great question! If you are referring to custom dropdown field values, you may try the below placeholder as stated in the article Using placeholders for custom fields.
"{{ticket.ticket_field_option_title_<field ID number>}}"
Best,
PJ
0
公式
PJ
Great question! If you are referring to custom dropdown field values, you may try the below placeholder as stated in the article Using placeholders for custom fields.
Best,
PJ
0
John Wells
Is there a way to use the Field 'Value' instead of the Field 'Tag' when sending a message to slack?
Using the tag isn't very readable.
When I go into custom fields for tickets, users, org, etc. there's two columns "Value" and "Tag"
I am currently using items such as Value:{{ticket.ticket_field_1231232113}} but that displays the tag not the value.
1
サインインしてコメントを残してください。