Terraform Cloud (now HCP Terraform) has built-in Slack notifications. In any workspace, go to Settings → Notifications → Create a Notification → Slack. Authenticate with your Slack workspace, select a channel, and choose notification triggers: run completed, run errored, run needs attention. When a Terraform plan finishes or an apply fails, the event appears in the Slack channel.
Terraform Cloud has no equivalent built-in Microsoft Teams notification.
There is no Terraform Cloud → Teams integration in the workspace notification settings. There is no native destination that posts run events to Teams channels. For platform engineering and infrastructure organizations where engineers use Slack but engineering leadership, architects, or compliance teams use Teams, Terraform run results are invisible to the Teams-side audience.
What Teams Users Don't See
The visibility gap compounds across three event types:
Run completions and failures. When a Terraform apply succeeds in production — new resources provisioned, configuration changes deployed — the event reaches Slack. Engineering managers and architects in Teams see nothing until someone posts a status update manually.
When a production apply fails — resource provisioning error, state lock conflict, provider API failure — the on-call Slack channel receives the event. Teams-side engineering leads who need to make escalation decisions see nothing.
Drift detection. Terraform Cloud continuous validation (Plus and Enterprise plans) detects configuration drift — when real infrastructure has changed outside of Terraform (manual changes in the console, changes by other automation, resource deletions). A drift:detected event fires when the real state diverges from the managed state. This is one of the highest-urgency infrastructure signals for compliance-regulated environments. It reaches only Slack.
Sentinel policy failures. When a run fails a Sentinel policy check — the policy check:soft_failed event allows override; policy_check:hard_failed blocks the apply — the compliance owner needs to know immediately. In organizations where the compliance team uses Teams, Sentinel policy violations are Slack-only.
Webhook Notification Path to Teams
Terraform Cloud supports generic webhook notifications (Workspace Settings → Notifications → Webhook) alongside the native Slack integration. Point a webhook notification at a Teams-side target that accepts the payload and posts a message — a Teams Workflows or incoming-webhook flow, or a small relay you host. Both the native Slack notification and the webhook notification can be active simultaneously — they fire independently.
SyncRivo is not that target. It has no inbound webhook endpoint for run events, no workspace or trigger routing rules, and it does not relay messages posted by bots or apps.
A working split, implemented with per-workspace notification triggers and the Teams-side flow:
- run:errored (production workspace) → Slack #on-call (native) and Teams Infrastructure Engineering (webhook)
- assessment:drifted → Slack #infrastructure and Teams Compliance
- policy_check:soft_failed → Slack #infrastructure and Teams Compliance
- run:completed (production workspace) → Slack #infrastructure and Teams Engineering Leads
- run:errored (staging workspace) → Slack #infrastructure only (no Teams notification configured for non-production workspaces)
Organization-Level Notifications
Terraform Cloud Business plans support organization-level notification configurations — a single webhook that receives events from all workspaces in the organization. If you use one, the Teams-side flow or relay has to filter on the workspace identifier in the payload so production workspace events reach Teams leadership channels while staging and development workspace noise is suppressed.
Where SyncRivo Fits (and Where It Doesn't)
What SyncRivo bridges is the human conversation about the run. Connect Slack #infrastructure to the Teams Compliance channel, and the discussion that follows a drift detection or a Sentinel failure — the platform engineer's "someone changed the security group by hand", the compliance owner's "we need a ticket and an owner", the decision on whether to override — is visible on both platforms, in both directions, with threads, edits, files, and @mentions kept in sync. The Terraform Cloud notification itself still arrives through the native Slack integration and the Teams-side webhook; SyncRivo does not copy it across.
For the Terraform Cloud webhook setup reference, see the Terraform Cloud Run Notifications in Slack & Teams integration guide.
Ready to connect your messaging platforms?