Skip to main content

Slack connection

The saved link to a Slack app installed in your workspace. In the connection picker it is Slack.

Powers these nodes

It is also what delivers a paused AI step's question into Slack, and what carries the answer back.

Fields

FieldRequiredDescription
App NameNoA memorable name for this Slack app. Falls back to the workspace name once connected.
AuthClient ID, Client SecretYesThe credentials of your Slack app, used for the install.
Signing SecretNoThe app's signing secret, used to verify Slack's interactive callbacks such as approval button clicks. Found in the Slack app console under Basic Information and then App Credentials.
Enable Channel ListNoTurns on channel auto-complete in the recipient picker. Needs the app's channels:read scope to be approved.

Setting up the Slack connection

The Slack connection signs in to a Slack app that represents Esca Automations in your workspace. An administrator creates and configures that app once; afterward the connection is reused like any other. The steps below cover building the app in Slack; the last step connects it.

Create the app at api.slack.com/apps: choose Create New App, then From scratch, give it a name, and pick the workspace it will post to. Slack opens the app's settings, where you configure the pieces the connection needs.

Note the app credentials

Open Basic Information and find the App Credentials section. The Client ID, Client Secret, and Signing Secret shown here identify the app and let Slack verify the platform's requests. Your administrator enters these into the Slack connection's fields. Treat the secrets like passwords—don't share them.

slack-step-1-basic-info-app-creds

Set the display information

Still on Basic Information, fill in Display Information: the app's name, icon, and description. This is what people see when the app posts in Slack, so choose a recognizable name and icon.

slack-step-2-basic-info-display-info

Add the OAuth scopes and redirect URL

Open OAuth & Permissions from the left sidebar.

slack-step-3-oauth-permissions

Under Redirect URLs, add the redirect URL shown on the Slack connection and save. Under Bot Token Scopes, add the scopes:

  • chat:write—send a message to a user.
  • chat:write.public—send a message to a public channel the app hasn't joined.
  • channels:read—auto-populate the picker with public channels when configuring a Slack node.
  • groups:read—include private channels the app is in.
  • im:read—include direct-message conversations.
  • users:read—auto-populate the user picker.
  • users:read.email—show users' email addresses so you can tell two people with the same display name apart.

Add all seven: this is the set the connection asks Slack for when you click Connect, and an app configured with fewer is an app whose install will not grant what was requested. chat:write and chat:write.public are what actually send messages; the rest populate the recipient pickers, and without them a Slack node still works but you type channel and user ids by hand.

slack-step-4-oauth-permissions-redirects-scopes

Enable interactivity for approvals

Slack approvals—messages with Approve and Reject buttons that drive a human-in-the-loop step—need a callback URL. Open Interactivity & Shortcuts, turn Interactivity on, and set the Request URL to the interactivity URL shown on the Slack connection. Slack signs each callback with the signing secret from the first step, which is how the callback is confirmed as genuine.

slack-step-5-interactivity

Connect

With the app configured, open the Slack connection on the Connections page and click Connect. That runs the install, puts the app into your workspace, and issues the bot token messages are posted with. If you change the app's scopes later, reconnect to reinstall it.

Answering questions in Slack

Choosing Slack as a provider on an AI step asks for three things:

FieldRequiredDescription
ConnectionYesThe Slack connection to post through.
ChannelYesWhere the agent's question is posted. Populated from the channels that connection's bot can reach.
ThreadNoGroup every message for this step into one Slack thread. A short kickoff message announces the step, and the agent's progress and questions hang beneath it instead of filling the channel.

With the interactivity request URL set, a paused step's question arrives as an interactive message and can be answered from there. Without it, the message still posts and still shows its buttons, but pressing one has no effect—the request stays answerable from the approvals inbox, so no run is ever stuck for want of this.

Was this page helpful?

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.