Menu

Mattering Automations Slack integration

Connect Slack to Mattering Automations: messages, reactions, channels, and history as workflow steps, plus webhook triggers that start workflows when someone posts or reacts, authenticated with a Slack bot user OAuth token.

The Mattering Automations Slack integration adds Slack to your automation canvas: send and update messages, add reactions, create channels, invite people, set topics, read channel history, and look up users. Two trigger nodes start workflows from Slack events, one for a message posted in a channel and one for a reaction added to a message.

Setup takes a few minutes: create a Slack app and install it to your workspace, attach its bot token as a credential in Mattering, and, if you want triggers, paste the connector's webhook URL into the app's event subscriptions. This guide walks through each step and ends with the full node reference.

Before you start

  • A Slack workspace and permission to install an app to it.
  • A Mattering workspace with access to the Automations app.
  • For channel actions: the ability to invite the bot to the channels you want it to post in or read.
  • For trigger nodes: access to the Slack app's Event Subscriptions settings.

Create a Slack bot token

Mattering authenticates to Slack with a bot user OAuth token, sent as a bearer token. You get it from a Slack app that you install to your workspace.

Open Your Apps at api.slack.com/apps and click Create New App, or open an existing app.
Open OAuth & Permissions and, under Scopes > Bot Token Scopes, add the scopes required by the Slack methods you plan to call. Each method page on api.slack.com/methods lists its required scopes, and the connector calls chat.postMessage, chat.update, reactions.add, conversations.create, conversations.invite, conversations.setTopic, conversations.history, and users.info.
Click Install to Workspace and approve the requested permissions.
Copy the Bot User OAuth Token from the same page. It starts with xoxb-.
A user token starting with xoxp- is also accepted. Use it only when you want automations to act as that person rather than as the app.
Scopes are baked into the token at install time. If you add a scope later you must reinstall the app to the workspace and update the credential in Mattering with the new token, or calls that need the new scope keep failing.

Connect Slack to Mattering

In Mattering Automations, open Connectors and click Add Connector.
Choose Slack from the list.
Click Create new credential, paste your bot user OAuth token, and save.
The credential is stored encrypted in Google Secret Manager and never appears in workflow logs.
Click Test Connection: Mattering calls Slack's auth test endpoint and reports the workspace it authenticated as.
Click Connect. All 10 Slack nodes appear in your canvas palette.

How webhook triggers deliver

Slack pushes events to Mattering the moment they happen; no polling, no schedules.

Event happens

A push, pull request, or issue in Slack

Signed delivery to your webhook URL

Mattering verifies the signature and reads the event type

Your workflows run

Every active automation containing the trigger node fires

Verify it works

After connecting, open any automation canvas and check the palette: a Slack section should list the action, query, and trigger nodes. Drop Slack User Info onto the canvas, set it to a user id from your workspace, and run a test step. It is a read-only lookup, so a successful response returns that user's profile without posting anything.

To confirm write access, invite the bot to a test channel by typing /invite and choosing your app in that channel, then run Send Slack Message against it. A successful response includes the message timestamp, which you can feed into Update Slack Message to edit the same message in place.

For triggers, open the trigger node's config panel: it shows the webhook URL minted for your Slack connection, with a copy button. In your Slack app, open Event Subscriptions, turn on Enable Events, and paste the URL as the Request URL. Slack sends a verification challenge and Mattering answers it, so the field should show as verified. Then, under Subscribe to bot events, add the message events for the channel types you care about (for example message.channels) and reaction_added, and save. Set the automation containing the trigger to active and post a test message.

Node reference

10 nodes, generated from the connector itself so this reference always matches what ships.

Trigger nodes (start workflows from events) 2

Slack Message

trigger_slack_message

Fires when a message is posted in a Slack channel

Slack Reaction

trigger_slack_reaction

Fires when a reaction is added to a message

Read and query nodes 2

Slack Channel History

query_slack_channel_history

Read message history from a Slack channel

Slack User Info

query_slack_user_info

Get information about a Slack user

Action nodes 6

Add Slack Reaction

action_slack_add_reaction

Add an emoji reaction to a message

Create Slack Channel

action_slack_create_channel

Create a new Slack channel

Invite to Slack Channel

action_slack_invite_to_channel

Invite users to a Slack channel

Send Slack Message

action_slack_send_message

Send a message to a Slack channel or user

Set Slack Topic

action_slack_set_topic

Set the topic of a Slack channel

Update Slack Message

action_slack_update_message

Update an existing Slack message

Using the integration

On the automation canvas

Slack nodes chain with every other node: a form response can open a channel and invite the owners, an AI step can draft the update, and the result can be posted to Slack and tracked as a task in Mattering Productivity in the same flow.

From AI assistants over MCP

Every node speaks MCP, the open protocol for connecting AI assistants to tools. Claude, ChatGPT, and Matter can post messages, react, read channel history, and set up channels through the same nodes your workflows use.

Event triggers instead of polling

[[Slack Message]] and [[Slack Reaction]] run on Slack's Events API. Place the trigger node in an automation, set the automation to active, and register the webhook URL once per Slack connection. Every active automation containing that trigger runs when a matching event arrives.

Threads and in-place edits

[[Send Slack Message]] accepts a thread timestamp, so a workflow can reply inside an existing thread instead of starting a new one. It also returns the new message's timestamp, which [[Update Slack Message]] uses to edit that message later in the same run.

Beyond the ten nodes

The generic [[HTTP Request]] node can call other Slack Web API methods using the same [[Slack Bot Token]] credential, so surfaces the typed nodes do not cover stay reachable without waiting on a connector update.

Troubleshooting

Test Connection fails with invalid_auth
The token is wrong, revoked, or belongs to an app that was uninstalled. Reinstall the app in Slack, copy a fresh Bot User OAuth Token from OAuth & Permissions, and update the credential on the connector.
A node returns missing_scope
The token was installed without the scope that method requires. Add the scope under Scopes > Bot Token Scopes, reinstall the app to the workspace, and paste the new token into the credential. The error names the scope Slack expected, and the method page on api.slack.com/methods lists it.
Send Slack Message returns not_in_channel or channel_not_found
The bot is not a member of that channel. Open the channel in Slack, type /invite, and choose your app. For private channels the bot must be invited before it can see them at all, and the channel id is more reliable than the name.
The trigger never fires
Check four things: the automation containing the trigger node is active, Event Subscriptions is enabled with the Mattering webhook URL verified as the request URL, the specific bot event is in Subscribe to bot events, and the bot is in the channel where the event happens. Messages posted by bots are ignored on purpose, so a workflow that posts to Slack will not retrigger itself.
The reaction trigger fires but the message text is missing
Slack's reaction event carries the reacting user, the reaction name, and the channel and timestamp of the message it was added to, not the message body. Add Slack Channel History after the trigger to read the channel and pick out the message the reaction points at.
Update Slack Message fails or edits nothing
It needs the exact channel and message timestamp of the original post. Take the timestamp from the Send Slack Message output in the same run rather than typing one in, and note that a token can only edit messages that its own identity posted.

Slack is a trademark of its respective owner. Mattering uses platform names to identify the services these integrations connect to; no endorsement or affiliation is implied.

Login Start Free