Slack
live · conformance passing
Models the Slack Web API a bot integration actually uses — conversations public and private, messages with server-minted ts values and edit stamps, one-level threads with their parent rollups, reactions, members, DMs and scheduled messages that post when the sandbox is advanced — with bot-token authentication, application failures at HTTP 200, missing_scope reporting both sides, per-method rate tiers with a real Retry-After, and cursor pagination in both of the shapes Slack actually sends.
- Category
- Messaging
- Sandbox key
- xoxb-…
- Verified against
- slack_sdk 3.44.1
- Replaces
- A shared workspace nobody wants test traffic in
Scenarios
Start a sandbox in one of these, or describe the state you want in a sentence and the seeder writes the records it implies.
Busy workspace
A channel with two dozen messages, two live threads and reactions, so a caller paginating history has more than one page on its first try.
Rate limited
conversations.history starts throttled, so the caller's backoff runs on its first call instead of never.
Narrow scopes
The token holds channels:read alone, so every write is missing_scope — the most common real-world Slack app failure.
Uninstalled app
The bot token has been revoked, so every call is token_revoked and the caller's re-authorisation path runs.
What it models
Records your code can read, write and edit for the life of the sandbox. A route the twin does not model returns a provider-shaped refusal rather than a plausible response.
- workspace
- users
- conversations
- messages
- reactions
- scheduled_messages
Verified in CI against
- pythonslack_sdk3.44.1