Overview
The Slack Webhooks API lets Allternit receive inbound messages from Slack via the Slack Events API. When a user sends a message in a connected Slack channel, the API routes it to a Gizzi agent session and posts the assistant’s reply back to the same thread.Base URL
Endpoints
The binding routes sit under the authenticated API prefix. The events endpoint below is public.
Request signature
Slack signs each request withX-Slack-Signature and a timestamp in X-Slack-Request-Timestamp. The signature is verified over the string v0:{timestamp}:{raw_body}. Requests with timestamps outside a 5-minute window are rejected.
URL verification
When configuring the Events Subscriptions URL, Slack sends aurl_verification event:
Message events
Forevent_callback events with a plain message subtype (no bot_id), the API spawns a background task that:
- Reuses or creates a Gizzi session for the channel/thread pair.
- Sends the message text to the session.
- Polls for the assistant’s completed reply.
- Posts the reply to the same Slack thread via
chat.postMessage.
200 OK to avoid Slack retries.