What it covers
chat.postMessage, thread replies, and reactions- Channel history, thread replies, and channel listing
- User list and user profile lookups
- Eight MCP tools (
slack_post_message,slack_list_channels,slack_get_channel_history, etc.) - Form-encoded and JSON request bodies (SDK-compatible)
- Deterministic
[code]scoring for exfiltration, over-action, and injection traps
What it does not cover
Real Slack OAuth, SCIM, admin APIs, Enterprise Grid, or file uploads. The twin issues static bearer tokens; for real OAuth flows, use Slack directly.Quickstart
Point your agent at it
During a localpome run, Pome injects these environment variables into the agent
process:
POME_SLACK_REST_URL is the session-scoped Web API root. POME_SLACK_MCP_URL is
the MCP transport endpoint. POME_AUTH_TOKEN is a short-lived JWT.
For MCP-based agents:
Slack also runs standalone via
pome twin start slack, or in-process when you call
pome run on a task with twins: ["slack"].Task seed shape
Slack tasks use a flat seed block withteam, users, and channels:
twins: ["slack"] in the task’s ## Config block. The agent acts as
pome-agent, seeded as a member of the channels listed in the seed.