CircleCI's Slack orb is one of the most widely used orbs in the CircleCI ecosystem. In your .circleci/config.yml, you declare the orb, configure a Slack bot token, and use the slack/notify step or the on_fail / on_success hooks to send build status to a Slack channel. It is clean, pipeline-native, and well-documented.
orbs:
slack: circleci/slack@4.12.5
jobs:
build:
steps:
- slack/notify:
event: fail
channel: C0123456789
mentions: '@oncall'
Teams users get nothing from this. The orb authenticates against the Slack API. It has no mechanism to post to Teams, Webex, Google Chat, or Zoom.
What the Teams Gap Looks Like in Practice
A build fails on the main branch at 2:47 AM. The CircleCI Slack orb fires. The on-call engineer sees the Slack alert. The engineering manager — who uses Teams — sees nothing until they check CircleCI directly or get a Slack forward in their morning standup.
For a 5-engineer team all on Slack, this is fine. For an organization where engineers are on Slack and engineering leadership, PMs, or stakeholders are on Teams, the notification gap means Teams users are always one step behind the build status.
The Two Configuration Approaches
Option 1 — CircleCI project webhook (no pipeline changes required):
In CircleCI, go to Project Settings → Webhooks. Add a webhook with your SyncRivo inbound endpoint URL as the receiver URL. Subscribe to workflow-completed and job-completed events. SyncRivo routes the payload to Slack, Teams, Webex, Google Chat, and Zoom based on your routing configuration.
No changes to your .circleci/config.yml. The webhook fires at the project level for every pipeline run.
Option 2 — run step with curl (pipeline-controlled):
In your .circleci/config.yml, add a run step that POSTs to your SyncRivo endpoint in an on_fail or on_success context:
- run:
name: Notify SyncRivo on failure
when: on_fail
command: |
curl -X POST $SYNCRIVO_WEBHOOK_URL \
-H "Content-Type: application/json" \
-d '{"event":"build.failed","job":"'"$CIRCLE_JOB"'","branch":"'"$CIRCLE_BRANCH"'"}'
Store the SyncRivo webhook URL as a CircleCI environment variable (SYNCRIVO_WEBHOOK_URL). This approach gives you full control over the payload — include the branch name, commit SHA, job name, and any custom context you want in the notification.
Routing Configuration
In SyncRivo, configure routing rules per event:
- workflow-completed (status: failed) → on-call Slack channel + engineering leadership Teams channel simultaneously
- workflow-completed (status: success, deploy workflow) → release Teams channel + engineering Slack channel
- job-completed (status: failed, test job) → dev Slack channel
- manual approval required → approver's native platform (Slack DM or Teams DM)
For the complete CircleCI webhook setup, run step configuration examples, and routing matrix by workflow type, see the CircleCI Notifications in Slack & Teams integration guide.
Ready to connect your messaging platforms?