Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.mycelium-ai.co/llms.txt

Use this file to discover all available pages before exploring further.

Slack is one of the six sources with both an open-source ingest skill and a paid webhook receiver.

Open-source ingest skill

Pull Slack messages into External Inputs/Slack/<channel>/<YYYY-MM-DD>.md. Requires a Slack user token or bot token with channels:history and channels:read scopes.
/ingest-slack #release-planning --days 7
Re-running on the same date overwrites cleanly (idempotent).

Webhook receiver (paid runtime)

Real-time push from Slack Events API. The runtime exposes a signed endpoint:
POST /webhooks/slack/{tenant_id}
Signature: Slack signs every payload with X-Slack-Signature: v0=<hmac-sha256> and includes X-Slack-Request-Timestamp. The receiver validates the HMAC and rejects replays older than 5 minutes.

Setup

  1. Create a Slack app in your workspace.
  2. Enable Events API. Set the Request URL to https://runtime.myceliumai.co/webhooks/slack/{your_tenant_id}.
  3. Subscribe to message.channels, message.groups (and message.im for DM coverage if needed).
  4. Add the signing secret to the runtime: SLACK_SIGNING_SECRET_{TENANT_ID} in your env.
  5. Install the app to your workspace and invite it to the channels you want to ingest.

Events ingested

Slack eventMemory categoryNotes
message.channelsfact / decisionThread resolution auto-promotes to decision
message.groupsfactPrivate channels require bot membership
app_mentionfactDirect mentions of the bot

Retry behavior

Failed deliveries land in the per-tenant dead-letter folder. Replay via:
POST /admin/webhooks/replay/{tenant_id}/{event_id}