Slack
Connect Slack with a bot token so an agent can alert a channel or message a team member when a call needs a person.
What you will achieve
An agent will be able to post a message to a Slack channel, or message one person by their work email, for example when a caller is a hot lead or asks for a callback.
Overview and use cases
- Alert #sales the moment a hot lead calls, with their number and what they want.
- Tell a named team member that a caller asked for them.
- Flag an urgent problem to the right channel.
Slack does not replace your CRM: it is the alert, and the CRM is the record.
Prerequisites
- A Slack workspace where you may install an app. Some company workspaces require an admin to approve new apps.
- On Slack's free plan, the number of installed apps is limited.
External account setup (in Slack)
Slack controls these screens. Slack's reference: chat.postMessage.
- In Phynxa's Slack Connect dialog, choose Get them here. Slack opens its create an app screen with Phynxa's app definition (its name and the permissions below) already filled in.
- Pick your workspace and create the app.
- Install the app to your workspace and approve the permissions.
- Under OAuth & Permissions, copy the Bot User OAuth Token. It starts with
xoxb-.
Connect it in Phynxa
- Integrations, Connect on Slack.
- Paste the Bot User OAuth Token. Optionally enter a Default channel, for example
#sales. - Choose Check and connect. Phynxa asks Slack to confirm the token before saving it. The card shows Connected with your workspace's name.
Permissions and settings
Bot scopes: chat:write (post messages), chat:write.public (post in public channels without joining), im:write (open a direct message), users:read and users:read.email (find a person by email).
| Setting | Meaning |
|---|---|
| Bot User OAuth Token | Required. Must start with xoxb-. A user token (xoxp-) or app token (xapp-) is refused. |
| Default channel | Optional. Where messages go when a tool names none. For a private channel use its channel ID and add the app to it. |
Use it in a call
| Action | What it does | Runs |
|---|---|---|
| Send message | Posts text to a channel (text required, channel optional, otherwise the default channel). | In the background |
| Send direct message | Finds a person by email and sends them a direct message (email and text required). | In the background |
Tell the agent when to use it in its system prompt, for example: "If the caller is ready to buy or asks for a callback, send a Slack message to #sales with their name, number and what they want." Without that rule it may post too often.
Messages are sent as plain text. The characters &, < and > are made literal, so an agent cannot ping @channel by accident, and link previews are switched off.
Test it
- Test connection should answer "Slack is responding."
- In an agent's Chat, ask it to send a test message to your channel, and look in Slack.
Expected result
The message appears in the channel from the app you created.
Troubleshooting
- "Slack did not accept the token." Copy the Bot User OAuth Token again.
- "Paste the Bot User OAuth Token. It starts with xoxb-…" You pasted a different token.
- "Slack cannot find that channel." For a private channel, add the app (type
/invitein the channel and pick the app) and use the channel's ID. - "The app is not in that channel." Add it with
/invite. - "The Slack app is missing a permission." Add the named scope under OAuth & Permissions, reinstall the app and paste the new token.
- "No active Slack user has that email address." The person must be in your Slack workspace and active.
- "Slack is limiting how fast the app can post." Slack allows about one message a second per channel; try again shortly.
Security and credentials
The token is stored encrypted and never shown again. It can post and look people up, not read channel history. Transcripts and phone numbers are personal data: keep messages to the facts a person needs, and post to private channels where appropriate. To revoke, uninstall the app in Slack; Remove forgets the token here.
Related guides
Something here does not match what you see in the dashboard? Let us know.
