Microsoft Teams and Slack Notifications
What are channel notifications?
Velaro can send real-time alerts to your Microsoft Teams or Slack channels when important events happen — new chats arrive, conversations are missed, SLA thresholds are breached, or conversations are resolved. Keep your entire team informed without everyone needing to have the Velaro messaging workspace open.
Setting up Microsoft Teams notifications
Step 1: Create a webhook in Teams (Workflows app)
Microsoft retired the old Connectors incoming-webhook flow — use the Workflows app instead:
1. In Microsoft Teams, go to the channel that should receive alerts.
2. Click the ... (More options) next to the channel name and select Workflows.
3. Search for "webhook" and choose Post to a channel when a webhook request is received.
4. Click Add, name the flow (e.g. "Velaro Alerts"), then Add again.
5. Copy the webhook URL that's shown — it starts with https://prod-XX.*.logic.azure.com/....
Step 2: Connect the webhook in Velaro
1. In Velaro admin, go to Integrations > Microsoft Teams.
2. Click Add Webhook.
3. Paste the webhook URL.
4. Give it a label (e.g. "Sales Team Alerts").
5. Choose which events to notify:
- New Conversation — fires when a visitor starts a chat
- Missed Conversation — fires when no agent responded
- Conversation Resolved — fires when a conversation is closed
- SLA Breach — fires when response time exceeds your threshold
6. Optionally filter to a specific team (only get alerts for Sales team, for example).
7. Click Save and then Test to send a sample notification.
Teams notification format
Teams notifications include:
- Event type and timestamp
- Visitor name (if known)
- Channel (web, SMS, WhatsApp, etc.)
- Team the conversation is assigned to
- Direct link to open the conversation in Velaro
Setting up Slack notifications
Step 1: Create a Slack Incoming Webhook
1. Go to api.slack.com/apps and click Create New App > From scratch.
2. Name the app (e.g. "Velaro") and select your workspace.
3. Click Incoming Webhooks in the left menu and toggle it On.
4. Click Add New Webhook to Workspace.
5. Select the channel that should receive alerts.
6. Copy the webhook URL.
Step 2: Connect in Velaro
1. In Velaro admin, go to Integrations > Slack.
2. Click Add Webhook.
3. Paste the webhook URL.
4. Label it and choose your notification events (same options as Teams).
5. Click Save and Test.
Slack notification format
Slack notifications use Block Kit formatting with:
- Bold event title and color-coded sidebar
- Visitor and channel details
- Direct link button to open the conversation
Recommended notification strategy
Don't send everything to one channel — it creates noise. Instead:
| Channel | Events to notify |
|---|---|
#support-alerts |
Missed conversations, SLA breaches |
#support-resolved |
Resolved conversations (team review) |
#sales-new-chats |
New conversations from sales team |
#ops-overview |
All events (for managers only) |
Multiple webhooks
You can add as many webhooks as needed — one per Slack channel, one per Teams channel, one per team. Each webhook has its own event filters. Go to Integrations > Teams or Integrations > Slack to manage all webhooks.
Troubleshooting
No notifications arriving: click Test next to the webhook in Velaro. If the test fails, the webhook URL has expired — regenerate it in Teams/Slack and update Velaro.
Too many notifications: use the team filter to limit a webhook to only the events from specific teams.
Notifications arriving but no link: make sure your Velaro admin URL is correctly configured in Settings > General.
Velaro Bot in Microsoft Teams: commands and usage
In a Teams channel or group chat where staff added the bot, the Velaro Bot is for live queue status and alert subscriptions. It answers these commands: status (agents online, open, waiting and unassigned chats), alerts (the alerts your team is subscribed to), queue, agents, ticket, digest and help.
Any other message in a channel gets a short reply listing these commands. Commands and alerts are not conversations and do not count against your monthly conversation allowance.
Choose which alerts your team receives in Velaro admin under Integrations > Microsoft Teams.
Teams Channel: letting customers chat with your agents over Teams
Turned off by default. When you turn it on (Velaro admin > Integrations > Microsoft Teams > Teams Channel), anyone who messages the Velaro Bot in a personal 1:1 chat — not a channel — opens a real, agent-routed Velaro conversation, the same as a web chat or SMS conversation. This does use your monthly conversation allowance once enabled.
To set it up:
1. Go to Integrations > Microsoft Teams > Teams Channel.
2. Follow steps 1–3 to install the bot and connect your Microsoft 365 tenant ID (needed either way, even for staff-only commands). After you enter the tenant ID, Velaro shows a one-time link code: open the Velaro bot in Teams in that organization and send link <code> within 60 minutes. The bot confirms once the tenant is linked. This proves the organization is yours, so nobody can claim your tenant ID by typing it.
3. Turn on Enable Teams Channel.
4. Optionally choose which team new conversations route to — leave it unset to use your account's default team.
5. Optionally edit the welcome message sent to a Teams user when their first message opens a new conversation. Use {{user.name}} for their display name.
6. Click Save.
A conversation started this way follows the same 7-day reopen window as every other channel: if the same Teams user messages again within 7 days of the conversation being resolved, it reopens the same conversation; after that, a new message starts a new one.
Channel/group-chat behavior (staff commands above) is unaffected by this setting — it only changes what happens in a personal 1:1 chat with the bot.
Velaro Bot in Teams: queue, agents and ticket lookups
In a channel where the Velaro Bot is installed, these read-only commands show live data for your own Velaro account only:
- queue: how many chats are waiting and unassigned.
- agents: which agents are online.
- ticket 1234: status and details for one ticket by its id.
- digest: chats started and tickets created in the last 24 hours.
If your Microsoft 365 tenant is not connected to a Velaro account yet, the bot replies with the steps to connect it: an admin opens Velaro admin, goes to Integrations > Microsoft Teams and links the tenant.
The bot's replies and Velaro's AI-drafted chat responses can be incorrect, so review AI-generated content before relying on it.
Searching Velaro contacts and tickets from Teams' compose box
In any Teams channel or group chat where the bot has been added, click the ... (More options) icon under the message compose box and search for "Velaro" to search without leaving Teams:
- Search Velaro Contacts: search by name, email, or phone — returns a card per matching contact with recent chat history.
- Search Velaro Tickets: search by ticket id, subject text, or requester email — returns a card per matching ticket with a link to the contact's history in Velaro.
Type at least 2 characters to search. This only works in a channel or group chat, not in a 1:1 chat with the bot, so ticket and contact data never reaches a personal conversation.
Teams alert limits and per-alert switches
Velaro posts new chat, missed chat and daily digest alerts into the channel where the bot is installed, once the bot has been messaged or added there. Ticket created and ticket assigned alerts are posted the same way. Each alert type can be switched on or off per account, and the daily digest is off by default.
Each account has a daily limit on alerts posted to Teams (200 by default). When the limit is reached, Velaro posts one short notice and pauses further alerts until the next day (UTC). Every alert and every failure appears in the Integration Activity Log under TeamsChannel.
Changing Teams alert settings
Account admins can view and change the Teams alert switches (new chat, missed chat, ticket created, ticket assigned, daily digest) and the daily limit without contacting support. Use the command line (velaro teams push-settings, for example velaro teams push-settings --missed false --daily-cap 100) or the teams_push_settings_get and teams_push_settings_update tools in the Velaro MCP server.
Only the settings you pass are changed. Add --reset-daily-cap to go back to the platform default limit. The daily limit applies to alerts sent through the bot and to alerts sent through Teams webhooks.
Status posts in the Teams channel
Velaro can post a status card (agents online, chats waiting, longest wait) into the Teams channel on a schedule, or as soon as the queue or a wait passes a limit you choose. Account admins set it under Integrations > Microsoft Teams in the Status posts section: pick how often (every 5 minutes up to once a day, or never), and optionally a number of waiting chats and a longest wait in minutes. A post goes out as soon as either limit is reached, and repeats no more often than the alert repeat setting. Quiet hours, the plan's rules for how often alerts can post, and the daily alert allowance all apply, so see your plan for the fastest schedule available.
From the command line: velaro teams push-settings --status-every 15 --status-when-queue 5 --status-when-wait 3. Use --status-off to stop the schedule, and pass 0 to --status-when-queue or --status-when-wait to remove a limit. The teams_push_settings_update tool in the Velaro MCP server takes statusPostMinutes, statusAlertQueue, statusAlertWaitMinutes and clearStatusPost. Each post shows in the Integration Activity Log under TeamsChannel.
Smart alerts: where each one is turned on and how to test it
Open Integrations > Slack or Integrations > Microsoft Teams, edit a webhook, and use the checkboxes in the Smart section. Each webhook has its own choices, so one channel can get only the alerts it needs. Click Test after saving to confirm the channel receives messages, then trigger the event itself as described below.
| Alert | Fires when | Where it is configured | How to test it |
|---|---|---|---|
| SLA warning | A chat has waited the SLA warning percent of its queue timeout and nobody has picked it up. Once per conversation. | The percent is set under Routing & Escalation > 2 · Unanswered chats > SLA warning threshold (account default). Turn the alert on in the webhook. | Start a test chat, leave it unanswered, and wait for that percent of the queue timeout. Lowering the percent temporarily makes the test quicker. |
| Queue depth alert | The number of waiting chats goes over the number you set. | Under Operational Alert Rules, a Queue Depth rule delivered by SMS, email or mobile push. The idle-queue notice is under Routing & Escalation > Idle Queue Alerts. | Start more test chats than the limit while no agent is online. |
| CSAT score received | A visitor submits a satisfaction rating. The alert shows score, agent and comment. | The webhook checkbox. | Finish a test chat and submit a rating as the visitor. |
| Buying signal detected | The AI sees high purchase intent in a chat. | The webhook checkbox. | In a test chat, ask about pricing and ask to buy or book a demo. |
| New lead captured | A lead is captured by chat or a form. | The webhook checkbox. | Submit a lead form or give a name and email in a test chat. |
The SLA warning percent must not be higher than the SLA breach percent. Limits and availability of some alerts depend on your plan; see your plan under Billing, Usage Overview.
How to set the SLA threshold for the whole site or for one team
The SLA warning alert (Slack and Teams) fires when a waiting chat reaches a percent of its queue timeout. The percent is chosen in this order, first match wins: the team's own override, then the site default, then the built-in default of 75 percent.
Site default (all teams):
1. Open Routing & Escalation and go to 2 · Unanswered chats.
2. Set SLA warning threshold (and SLA breach threshold if you also use the breach alert). The warning percent cannot be higher than the breach percent.
3. Click save. You should see "Unanswered-chat escalation saved."
4. In Integrations > Slack (or Microsoft Teams), edit the webhook and tick SLA warning, then save.
One team only (override): on the same page, under the two account fields, the Team SLA thresholds list has one row per team.
1. Find the team. It reads Using account default until you set a value.
2. Type a Warning percent, a Breach percent, or both. A blank box follows the account default (shown in grey).
3. Click Save on that row. The row now reads Team override.
4. To go back, click Use account default on that row. Only the SLA values are cleared.
The same thing is available to developers as GET, PUT and DELETE EscalationSettings/team/{teamId} (slaWarningPercent, 1 to 100, not above the breach percent). Customer help article: https://help.velaro.com/kb/article/1125/set-sla-alert-thresholds-for-your-whole-account-or-one-team
The percent is applied to that team's queue timeout, so 50 percent of a 10 minute timeout warns at 5 minutes. A team with a shorter queue timeout warns sooner at the same percent. The warning fires once per conversation.
When someone asks "why did the SLA warning fire at this time", check the team override first, then the site default, then the queue timeout of the team the chat was waiting in.
Asking Moshky to show or change the SLA thresholds
SLA warning and SLA breach alert thresholds are not in Ticket Settings. They live under Routing & Escalation > 2 · Unanswered chats, with a per-team override in the Team SLA thresholds list. The queue timeout they apply to is a team routing setting.
Ask Moshky "what is my SLA warning threshold" or "set the SLA warning to 50 percent for the Sales team". Moshky shows the current and effective value (team, then account default, then the built-in 75 percent), previews the change, and saves only after you say yes. Every change is recorded in the audit log and can be undone by asking Moshky to roll it back. The warning percent cannot be higher than the breach percent.
From the command line: velaro routing escalation get --team 4 and velaro routing escalation set --team 4 --sla-warning 50. In the Velaro MCP server use escalation_get_settings and escalation_update_settings.
Was this article helpful?