Slack
Slack channels use Event Subscriptions webhooks. Greenlight verifies requests with your app signing secret.
Setup
- Create a Slack app with bot scopes such as
chat:writeandchannels:history - Install the app to your workspace
- Copy the Bot User OAuth Token (
xoxb-…) - Copy Signing Secret from Basic Information
- Optional: App-Level Token (
xapp-…) asapp_tokenif you need it - Set Event Subscriptions Request URL to your Greenlight webhook URL
- Invite the bot to the target channel and copy the channel ID (
C…)
Create
POST /v1/channels/new with:
{
"channel_id": "ops-slack-chat",
"platform": "slack",
"target_chat_id": "C01234567",
"credentials": {
"bot_token": "xoxb-...",
"signing_secret": "..."
},
"callback_url": "https://agent.example/on_message",
"channel_type": "MESSAGE"
}callback_url is where Greenlight forwards inbound chat. Set the Slack Events API
request URL separately to the Greenlight inbound webhook below.
Credentials
| Field | Required |
|---|---|
bot_token | Yes |
signing_secret | Yes |
app_token | No |
Webhook URL (platform → Greenlight)
{PUBLIC_WEBHOOK_URL}/webhooks/{organization_id}/slack/{channel_id}Configure that URL as the Slack Events API request URL. Slack must be able to reach it over HTTPS in production.