Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.thinnest.ai/llms.txt

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

Slack Integration

Give your agents the ability to post into Slack — alerting a team channel when a VIP hangs up, opening an incident thread when a call hits the escalation rules, or DM’ing the on-call engineer with a structured summary. Perfect for voice-to-humans handoff: end a call, then route the context to the right internal team without anyone watching a queue.

Connecting Slack

Connection goes through Slack’s verified OAuth flow — you do not need to register your own Slack app, paste a bot token, or manage signing secrets. thinnestAI brokers the OAuth through Composio.

Step 1: Connect via OAuth

  1. Navigate to Agents and select your agent.
  2. Open the Tools section and click Add Tool.
  3. Select Slack.
  4. Click Connect Slack.
  5. A Slack sign-in popup opens. Authenticate with the workspace you want the agent to post into, review the requested scopes, and click Allow.
The popup closes automatically when the connection is complete. The modal shows a green Connected badge for that workspace.
Workspace-scoped. Each Slack connection is bound to one workspace. To post into multiple workspaces, add the Slack tool to the agent once per workspace — each connection is stored separately.

Step 2: Choose Allowed Actions

Four capability toggles control which action groups the agent can invoke:
ToggleDefaultWhat it unlocks
Send Messages✅ OnPost to channels, DMs, and threads
Channel ManagementOffCreate channels, invite/remove users, archive
User Directory✅ OnLook up users by email or name, fetch profile
Files & ReactionsOffUpload files, add emoji reactions
Leave Channel Management off unless the agent specifically needs to create channels or modify membership — most post-call notification flows only need Send Messages + User Directory.

Available Actions

Messaging (4)

ActionDescription
Send MessagePost a message to a channel or DM
Send Threaded ReplyReply inside an existing thread (by thread_ts)
Update MessageEdit a previously-sent message
Delete MessageRemove a message the agent sent

Channels (3) — opt-in

ActionDescription
Create ChannelCreate a new public or private channel
Invite User to ChannelAdd a user to a channel by user ID or email
Archive ChannelArchive a channel (soft-delete)

Users (3)

ActionDescription
Find User by EmailLook up a workspace user by email address
List UsersPaginate the workspace directory
Get User InfoFetch profile, timezone, and status for a user ID

Files & Reactions (3) — opt-in

ActionDescription
Upload FileAttach a file (PDF, image, transcript) to a message
Add ReactionReact to a message with an emoji
Remove ReactionRemove a previously-added reaction

Voice-AI Use Cases

Slack pairs naturally with the voice tools for internal handoffs — context flows from the caller into the team’s existing incident or CRM channels without anyone polling a queue.

VIP Escalation Alert

Agent instructions:
"When a caller is tagged as VIP or Tier-1 customer:
1. Send a Slack message to #vip-escalations with:
   - Customer name and company
   - Reason for call (one line)
   - Link to the call transcript
2. @-mention the account owner from the CRM."

Incident Routing

Agent instructions:
"If a caller reports an outage or billing emergency:
1. Find the on-call engineer via Find User by Email (on-call@company.com)
2. Send a DM with the call summary and a link to the recording
3. Post a public message in #incidents with the issue category."

Sales Handoff

Agent instructions:
"At the end of a qualified lead call:
1. Look up the AE assigned to the territory
2. DM them the caller's name, pain points, and budget signal
3. Post a brief summary in #sales-handoffs with a Play Recording link."

Example: Incident-Handoff Agent

Build a voice agent that takes emergency calls and routes context to Slack automatically.

Agent Setup

FieldValue
NameEmergency Intake
ModelGPT-4o
ToolsSlack, Google Sheets

Agent Instructions

You are an emergency intake agent. Every inbound call is treated
as potentially urgent. Your job is to collect context fast and
route the right person.

WORKFLOW:
1. During the call, collect: caller name, company, severity (1-4),
   affected system, brief description.
2. If severity is 1 or 2:
   a. Find user by email: oncall@company.com
   b. Send them a Slack DM with the collected context + recording link
   c. Post a public message in #incidents with severity tag
3. If severity is 3 or 4:
   a. Log to Google Sheets "Incident Backlog"
   b. Post in #incidents-low with no @-mention
4. Always confirm with the caller: "I've paged {name} in Slack,
   they'll call you back within {SLA} minutes."

RULES:
- Never paste raw customer PII into public channels. Use DMs for
  phone numbers, account numbers, etc.
- Always include the recording link so the responder has context.
- Severity 1 = outage affecting >10 users. Severity 2 = single-
  customer outage. Severity 3 = degraded. Severity 4 = question.

Combining with Other Tools

CombinationUse Case
Slack + VoicePost-call escalation, VIP alerts, incident routing
Slack + Google SheetsLog every Slack handoff for weekly review
Slack + GmailFollow a Slack DM with an email summary for audit trail
Slack + CRM WebhooksNotify a channel whenever a deal stage changes mid-call
Slack + WhatsAppDual-channel: Slack for internal team, WhatsApp for the caller

Security & Privacy

  • OAuth tokens are encrypted at rest. thinnestAI never sees your Slack password.
  • Per-user scoping — Each user’s workspace connection is isolated. An agent owned by User A cannot post into User B’s workspace.
  • Revoke access — Disconnect from the config modal, or revoke directly from Slack → Settings & administration → Manage apps.
  • Scopes requestedchat:write, users:read, users:read.email, optionally channels:manage, files:write, and reactions:write depending on toggles.
  • No audit bypass — every agent-posted message appears in Slack’s audit log with the connected user as the author.

Troubleshooting

IssueSolution
”Channel not found”The bot must be invited to private channels. Public channels work by default once authorized.
”Missing scope: channels:manage”You toggled on Channel Management after the initial connect — reconnect to refresh scopes.
Messages arrive with a generic bot nameSlack displays the connected user’s name on agent-sent messages. Customize via Slack workspace settings → App icon.
”not_in_channel” errorAgent tried to post in a channel it isn’t a member of. Use Invite User to Channel first, or post from a channel the user is already in.
DMs fail to unknown usersFind User by Email returns null if the email isn’t tied to a workspace account. Check the user’s Slack primary email matches what the agent is searching for.

Next Steps

  • Voice — Pair Slack with inbound calls for instant handoff.
  • Google Sheets — Log every Slack handoff into a shared tracker.
  • WhatsApp — Customer-facing follow-up to pair with internal Slack routing.