Connecting Slack to action builder
Before you can include external actions in your action flows, you must connect the action builder to the external system.
- All external actions performed by an action flow are attributed to the user who connected the external system. Therefore, it is a best practice to use a dedicated service account rather than personal credentials when connecting to each external system.
- All integrations request access to necessary scopes. However, it's important that you review and validate the scopes before authorizing the connection to the external system.
- When managing credentials for API key-based tools, such as OpenAI, it's best to store keys in a secure vault or credential manager.
- In Admin Center, click
Apps and integrations in the sidebar, then select Actions > Action flows. - Create or edit an action flow.
- Open the step sidebar.
- Under External actions, click Slack.
- Click Connect.
- Use Slack to authenticate the account.
To complete authentication, you must invite the Zendesk connector app:
/invite @Zendesk Connector.Note: All external actions performed by an action flow are attributed to the user who connected the external system. Therefore, it is a best practice to use a dedicated service account rather than personal credentials when connecting to each external system.
After you've connected to the system, you'll see an indicator that it's connected and details about the instance you're connected to, as well as the actions available for Slack.
Using Slack actions in action flows
Slack action steps can be used in action flows to streamline communication and make sure users know about other things being performed by action flows. For example, you can send messages to channels and individual users alerting them of new tickets or Jira issue assignments, post AI-generated summaries of tickets into a Slack thread, escalate direct messages to public channels for broader visibility, add reactions to automatically acknowledge messages, or extract message details for analysis and reply with AI-generated content.
Posting a message to a channel
Use the Post message to channel action to send a message to a public or private channel.
This action has the following inputs and outputs:
| Variables | |
|---|---|
| Inputs |
channel,
message
|
| Output |
channel, ts,
ok
|
Sending a direct message
Use the Send direct message action to send a direct message to a specific user.
| Variables | |
|---|---|
| Inputs |
email, message
|
| Output | Full message data |
Replying to a message in a thread
Use the Reply to message thread action to post a reply to a message in a thread. This step can create a thread or reply within an existing thread.
This action has the following inputs and outputs:
| Variables | |
|---|---|
| Inputs |
email, message
|
| Output | None |
Fetching all messages in a thread
Use the Fetch thread messages action to retrieve all messages in a thread.
This action has the following inputs and outputs:
| Variables | |
|---|---|
| Inputs |
channel, thread_ts,
reply_ts
|
| Output | messages |
Adding a reaction to a message
Use the Add reaction action to add an emoji reaction to a message.
This action has the following inputs and outputs:
| Variables | |
|---|---|
| Inputs |
channel, name,
timestamp
|
| Output | success |
Fetching a message
Use the Fetch message action to retrieve the content and metadata of a message.
This action has the following inputs and outputs:
| Variables | |
|---|---|
| Inputs |
channel,
timestamp
|
| Output |
text, user
|
Finding a user
use the Find user action to retrieve a Slack user so they can be referenced later in the action flow.
This action has the following inputs and outputs:
| Variables | |
|---|---|
| Inputs | user_id |
| Output |
display_name, email,
real_name,
user_id
|
Recipe: Notifying agents of newly assigned tickets in Slack
The following example action flow automatically sends notifications to agents in Slack when a Zendesk ticket is assigned to them. This sort of notification can reduce response time and prevent tickets from slipping through the cracks.
- Add an action flow trigger with the following details:
- Click Add trigger.
- In the step sidebar, under Zendesk, click Tickets.
- Click Routing and select Ticket assignment changed.
- Add a step to look up ticket details:
- In the action builder, beneath the action flow trigger, click the
Add step icon (
). - In the step sidebar, under Zendesk actions, click Look up ticket.
- Under Ticket ID, click into the field and then click Select a variable instead.
- Within the variable menu, select 1 Ticket agent assignment changed as the step that output the variable you want to use, and then select Ticket ID.
- In the action builder, beneath the action flow trigger, click the
Add step icon (
- Add a step to look up user details about the ticket assignee:
- In the action builder, click the Add step icon (
). - In the step sidebar, under Zendesk actions, click Look up user.
- Under User ID type, select Zendesk user ID.
- For User ID, click Add variable.
- Within the variable menu, select 2 Look up ticket as the step that outputs the variable you want to use, and then select Assignee ID.
- In the action builder, click the Add step icon (
- Add a step to look up user details about the ticket requester:
- In the action builder, click the Add step icon (
). - In the step sidebar, under Zendesk actions, click Look up user.
- Under User ID type, select Zendesk user ID.
- For User ID, click Add variable.
- Within the variable menu, select 2 Look up ticket as the step that outputs the variable you want to use, and then select Requester ID.
- In the action builder, click the Add step icon (
- Add a step to lookup details about the ticket requester's organization:
- In the action builder, click the Add step icon (
). - In the step sidebar, under Zendesk actions, click Look up organization.
- Under Organization ID type, select Zendesk organization ID.
- For Organization ID, click Add variable.
- Within the variable menu, select 4 Look up user as the step that outputs the variable you want to use, and then select Organization ID.
- In the action builder, click the Add step icon (
- Add a step that sends a direct message in Teams to the ticket assignee that
contains the information you collected for the ticket, assignee, and
organization:
- In the action builder, click the Add step icon (
). - In the step sidebar, under External actions, click Slack and then select Post direct message.
- Under Email, click Add variable.
- Within the variable menu, select 3 Look up user as the step that outputs the variable, and then select Email.
- Under Message, enter the message you want to send to the
newly assigned agent. Include relevant ticket, requester, and
organization information as variables from the Look up ticket and
Look up user steps, respectively, to streamline their ability to
solve the ticket. In the following example, all variables are
italicized:
Hi Assignee > Name, Ticket Ticket ID has been assigned to you. Please respond as soon as possible. User contact information: - Email: Requester > Email - Locale and timezone: Requester > Locale - Requester > IANA timezone - Notes: Requester > Notes Here's more context on the ticket: - Ticket subject: Ticket Subject - Ticket description: Ticket Description - Last ticket update: Ticket's Latest agent update
- In the action builder, click the Add step icon (
- Click Save.
- Click Test totest the action flow.
- Click the options menu (
) and select Activate to begin using the
action flow to automatically notify agents in Slack that a Zendesk ticket
has been assigned to them.