Prerequisites
- A Slack workspace where you can install apps
- An IronClaw instance reachable from Slack over HTTPS
Setup
1
Create a Slack app
Create an app at api.slack.com/apps. The fastest route is
From an app manifest — paste the manifest below, which sets the
scopes, events, and redirect URL in one step. Replace
example.com with your own host
first.If you build the app from scratch instead, configure OAuth & Permissions, Event
Subscriptions, and the redirect URL to match that manifest.Once created, install the app to your workspace and copy the bot token from OAuth &
Permissions, and the signing secret from Basic Information. IronClaw uses the signing
secret to verify that incoming requests really came from Slack.2
Start IronClaw
3
Connect the channel
In the web interface, open Extensions, switch to the Channels tab,
and scroll to the bottom of the Built-in section. Use Configure on the Slack card
and provide the app id, bot token, and signing secret. They are written to the encrypted
secret store.
Asking the agent to “connect Slack” will not work. It can install and use Slack tools
once the channel is connected, but making the connection is an operator action that stays
in the web interface. The agent may reply that it can’t help.
4
Point Slack at your instance
Back in your Slack app, confirm Event Subscriptions points at your instance:Slack sends a verification challenge to that URL, so IronClaw must already be running and
reachable when you save it. Reinstall the app if Slack asks you to.
5
Talk to it
Invite the bot to a channel and mention it, or send it a direct message.
URLs Slack Needs
Both are served byironclaw serve, so they use whatever host and port your instance is
reachable on. Replace your-host and use HTTPS — Slack will not deliver to a plain-HTTP
or self-signed endpoint.
The redirect URL is used for per-user (“personal”) Slack authorization. Tell IronClaw the
same value so the two agree:
http://127.0.0.1:3000/..., but Slack cannot reach
loopback, so events only work once the instance is reachable from the internet.
App Manifest
Create the app with From an app manifest and paste this, replacingexample.com with
your host. It sets the scopes, bot events, and redirect URL that the steps above describe.
This is a starting point, not a minimum. The
user scopes exist for per-user
authorization — searching and posting as the person rather than as the bot. If you only
want the bot to participate in channels, you can drop the user block and the redirect
URL with it.Configuration
Slack settings live under[slack] in your configuration file. Set them through the web
interface rather than by hand — the tokens belong in the secret store, and the file only
names the variables that hold them.
Check what’s currently set:
Troubleshooting
Slack can't verify the request URL
Slack can't verify the request URL
IronClaw has to be running and publicly reachable over HTTPS before you save the URL.
Confirm the instance answers from outside your network, and that you used the exact
/webhooks/slack/events path.The bot doesn't respond in a channel
The bot doesn't respond in a channel
Invite the bot to that channel, and make sure you subscribed to the matching message
event. A bot only sees conversations it belongs to.
Requests are rejected
Requests are rejected
A wrong or missing signing secret makes IronClaw reject every incoming request. Re-enter
it through the setup flow, then restart the server.
I can't find where to configure Slack
I can't find where to configure Slack
Open Extensions, switch from Registry to the Channels tab, and scroll to the
bottom of the Built-in section. The Slack card is below the web and terminal channel rows.