All integrations

Slack

CenterLeap posts call outcomes to Slack — one message per finished call with the summary, the Monday record link, and the call recording attached. Used by the recruiting calling agent to keep the team's channel current without anyone watching a dashboard.

What it does

After each agent call completes and its summary + recording are ready, CenterLeap posts a single message to a Slack channel via chat.postMessage and uploads the audio via files.upload. The message includes the outcome, a short summary, the Monday pulse link, and the call-history link.

1. Create a Slack app

1
Go to api.slack.com/apps Create New AppFrom scratch.
2
Name it (e.g. CenterLeap Bot) and pick the target workspace.

2. Add bot token scopes

Under OAuth & Permissions → Bot Token Scopes, add:

chat:writePost messages to channels the bot is in.
files:writeUpload call recordings as attachments.
channels:readResolve channel IDs (optional).

Without files:writethe recording won't attach — CenterLeap falls back to a text-only message noting the recording is in call history.

3. Install & get the bot token

1
OAuth & Permissions → Install to Workspace, approve.
2
Copy the Bot User OAuth Token — it starts with xoxb-. This is the value you give CenterLeap.

4. Add the bot to a channel

In the target Slack channel, type /invite @CenterLeap Bot. Then get the channel ID: open the channel, View channel details, copy the ID at the bottom (starts with C).

5. Configure CenterLeap

Store the token and channel in the agent runtime's Slack integration:

SLACK_BOT_TOKENThe xoxb- Bot User OAuth token.
SLACK_CHANNEL_IDTarget channel ID (Cxxxxxxxx).

These are read by the agent runtime's Slack client. The channel can also be stored per-integration in the app so different campaigns post to different channels.

6. Test

Confirm the bot can post with a direct API call:

curl
curl -s -X POST https://slack.com/api/chat.postMessage \
  -H "Authorization: Bearer $SLACK_BOT_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"channel":"C0XXXXXXX","text":"CenterLeap Slack test ✅"}'

A {"ok":true}response and a message in the channel means it's wired. If you see not_in_channel, invite the bot (step 4); missing_scope means re-check step 2 and reinstall.