Slack Sensor
What it ingests
Messages and threads from the Slack channels you list — the decisions and context that happen in conversation between meetings.
Credential
References a slack_bot_token credential by id. The secret is a bot token (xoxb-…) with these scopes:
channels:historychannels:readusers:readusers:read.email
bash
curl -sS -X POST https://your-corveil-host/api/credentials \
-H "Authorization: Bearer <admin>" -H "Content-Type: application/json" \
-d '{"type":"slack_bot_token","name":"acme-slack-bot","secret":"xoxb-..."}'Config fields
| Key | Required | Notes |
|---|---|---|
channels | yes | Comma-separated channel names without the leading #, e.g. general, engineering. Invite the bot to each channel first. |
Provider-side setup
- Create a Slack app at api.slack.com/apps for your workspace.
- Under OAuth & Permissions, add the four bot scopes above.
- Install the app to the workspace and copy the Bot User OAuth Token (
xoxb-…). - Invite the bot to each channel you listed (
/invite @yourbot) — the bot can only read history for channels it's a member of.
Wire-up
POST /api/sensors
json
{
"sensor_type": "slack",
"name": "Acme Slack",
"config": { "channels": "general, engineering" },
"credentials": { "token": "<slack_bot_token credential id>" }
}Verify
Run Test connection to confirm the token is valid and the scopes are present. Once polling, new messages in the listed channels appear as conversation events. If a channel returns not_in_channel, invite the bot to it.