Documentation
Slack alerts
Ask AI about this page
Alert rules can post to Slack. Under Connectors, connect a channel with Add to Slack or a webhook URL, then turn Slack on in any rule. When a call crosses the threshold the channel gets the verdict, the probability, the red flags and an Open the call button.
How it fits#
Alerts have two halves. An alert rule under Alerts decides which analyzed calls matter: a probability threshold with optional categories and recommendations, a call-quality ceiling, either, or a monitored destination going down (and coming back). A connector under Connectors is where a rule can deliver. Email is built in. Slack is the first connector you connect yourself, in your own workspace. A rule lists the channels it posts to and whether it still emails, so email, Slack, or both is a per-rule choice.
Connect a channel#
Open Connectors in the customer portal. The Slack card offers one or two ways in, depending on the deployment. Both end in the same connected channel on your account.
- Add to Slack
- Shown when the platform has registered a Slack app. Press it, and Slack opens its own screen where you pick the channel and confirm. You come back to Connectors with the channel listed. The app asks for a single permission, posting to that channel.
- Connect with a webhook URL
- Always available. In your Slack workspace, create an app (or use one you have), enable Incoming Webhooks, add a webhook for the channel you want, and paste its URL. Give it a label, which is how the channel appears in your rules.
Up to ten channels can be connected per account. Re-running Add to Slack for a channel that is already connected refreshes it instead of adding a duplicate.
Send a test message#
From the channel's row menu on Connectors, choose Send test message. A short message confirms the connection in the channel and the row shows the outcome. A rule's own Send test under Alerts does the same for every place that rule delivers, email and Slack alike, and reports each leg separately.
Turn Slack on in a rule#
Under Alerts, open a rule. The Deliver to section has two switches, Email and Slack. Turn Slack on and the rule posts to your connected channel; with more than one channel connected, pick which. Turn Email off for a Slack-only rule. The recipients and attachment options only appear while email is on. A rule needs at least one of the two.
The rule's throttle applies to each channel on its own: a repeat to the same channel inside the window is skipped and recorded as such. The Alerts table shows what every rule delivers to, so a rule that went quiet can be read at a glance.
What the message carries#
The Slack message is the alert card trimmed to what a channel reads well. The headline is the verdict and probability with the analysis title, in the verdict's colour down the side. Then the summary, an Open the call button that opens the call record, the facts, up to five red flags and the TCPA comment. A quality alert leads with the estimated MOS instead of a verdict.
| Part | Content |
|---|---|
| Headline | BLOCK · 95% · Fake 'card services fraud department' harvests card number…, or QUALITY · est. MOS 2.90 · … for a quality alert. |
| Summary | The analysis summary, one paragraph. |
| Facts | Category, the entity the caller impersonated, dialed number, caller ID (ANI), estimated call quality (MOS, jitter, loss), your customer reference when the call carried one. |
| Red flags | The first five, numbered. |
| TCPA | The compliance comment, when the analysis wrote one. |
| Button | Open the call, a link to the call record in the portal. |
| Footer | The call reference, for matching against your own CDRs. |
The transcript and the attachments (recording, SIP log, media capture) stay email-only. A chat message is the heads-up. The call page is the evidence, and the button takes you there.
Delivery, failures and the ledger#
- Slack delivery runs in the same job as email, after analysis, so it can never delay or fail a verdict.
- Each call, rule and channel is delivered at most once, so a retried job never posts twice.
- A transient error (network, a Slack outage, rate limiting) is retried with backoff.
- A permanent refusal (the webhook removed, the app uninstalled, an archived channel) marks the channel Failing on Connectors with the reason. Email for the same rule is unaffected. Reconnect or replace the channel to clear it.
- Every outcome is written to the alert ledger per channel: sent, skipped (throttled, disabled, unavailable) or failed, with the reason.
Security#
- The webhook URL is the secret. It is sealed at rest with a key derived from the deployment's secret and never returned by the API. The portal shows the workspace and channel name only.
- Add to Slack uses Slack's OAuth with the single incoming-webhook scope. The channel is picked in Slack's own screen. The platform never lists your channels or reads your workspace. The round trip is bound to your account with a signed, short-lived state.
- A pasted URL is accepted only when it is a Slack incoming webhook (https://hooks.slack.com/services/…).
- Disconnecting an Add to Slack channel revokes the installation in your workspace and removes the channel from every rule that listed it.
By API#
Everything the portal does is one call each. Connect with a webhook URL, list channels, test one, and give a rule its channels.
connect, test, then route a rule
# connect a channel with an incoming-webhook URL
curl -s -X POST https://ovs.telecomsxchange.com/api/customer/integrations/slack/webhook \
-H "X-API-Key: $OVS_KEY" -H "Content-Type: application/json" \
-d '{"url":"https://hooks.slack.com/services/T000/B000/XXXX","label":"#fraud-alerts"}'
# the connected channels (no secrets), and a test message to one of them
curl -s https://ovs.telecomsxchange.com/api/customer/channels -H "X-API-Key: $OVS_KEY"
curl -s -X POST https://ovs.telecomsxchange.com/api/customer/channels/$CHANNEL_ID/test \
-H "X-API-Key: $OVS_KEY"
# a Slack-only rule: block verdicts at 90 or above, no email
curl -s -X POST https://ovs.telecomsxchange.com/api/customer/alert-rules \
-H "X-API-Key: $OVS_KEY" -H "Content-Type: application/json" \
-d '{"name":"Confirmed fraud to Slack","min_probability":90,"recommendations":["block"],
"email_enabled":false,"channel_ids":["'"$CHANNEL_ID"'"]}'
GET /customer/integrations/slack says whether Add to Slack is offered on the deployment. POST /customer/integrations/slack/connect returns the authorize URL to send a browser to. The API reference lists every endpoint in the group.
For platform operators#
Add to Slack needs one Slack app registered for the deployment. In the admin console, under Email (SMTP), the Slack app card shows the redirect URL to register and takes the app's client ID and client secret. The secret is write-only. On api.slack.com, create the app, add the redirect URL under OAuth & Permissions with the bot scope incoming-webhook, and paste the credentials. From then on every customer sees Add to Slack. Without it, customers connect with a webhook URL.
Related: acting on a verdict, the default alert rule, and the announcement.
Frequently asked questions#
Do I need my own Slack app to connect?
Not when the deployment offers Add to Slack: one press opens Slack's own channel picker and you are done. If the button is not shown, or you prefer your own app, create an incoming webhook in your Slack workspace and paste its URL. Both end in the same connected channel.
What permissions does Add to Slack ask for?
One scope, incoming-webhook: permission to post to the channel you pick. The app cannot read messages, list channels or see members. Disconnecting revokes the installation in your workspace.
Can a rule go to Slack only?
Yes. Every rule has an Email switch and a Slack switch under Deliver to. Turn email off and Slack on for a Slack-only rule. A rule needs at least one of the two.
What does the Slack message contain?
The verdict and probability with the analysis title in the headline, the verdict colour down the side, then the summary, the category, the entity the caller impersonated, the dialed number, the caller ID, the estimated call quality, your customer reference if the call carried one, up to five red flags, the TCPA comment, and an Open the call button. A quality alert leads with the estimated MOS. The transcript and attachments stay in the email.
What happens if Slack stops accepting messages?
A permanent refusal, for example the webhook was removed or the app uninstalled, marks the channel Failing on Connectors with the reason. Email delivery for the same rule is unaffected. Transient errors are retried with backoff. Reconnect the channel to clear it.
Is the webhook URL stored safely?
It is sealed at rest with a key derived from the deployment's secret and is never returned by the API, not even to you. The portal shows the workspace and channel name only.