Skip to main content
Back to Insights
DevOps

Heroku ChatOps is Slack-Only. Here's How to Route Heroku Events to Microsoft Teams.

blog.posts.heroku-microsoft-teams-integration-guide.description

min read
Heroku ChatOps is Slack-Only. Here's How to Route Heroku Events to Microsoft Teams.

Heroku ChatOps: Slack Interactive Commands, No Teams Equivalent

Heroku ships Heroku ChatOps — a Slack app that lets developers run deploy commands directly from Slack channels. heroku deploy, heroku rollback, heroku releases — all executable from Slack without opening the Heroku Dashboard.

There is no equivalent Teams integration. The Heroku Elements marketplace has no Teams app. Heroku Dashboard has no Teams notification option. Heroku documentation makes no mention of Teams.

Two Different Problems: Command Execution vs. Event Notification

Before bridging the gap, it's worth being precise about what Heroku ChatOps does vs. what SyncRivo does.

Heroku ChatOps (Slack only): Interactive command execution from chat. A developer types /heroku releases --app myapp in Slack and gets a list of recent releases. This is a two-way interactive loop — the Slack app authenticates to Heroku's API and executes commands on your behalf.

SyncRivo (event-driven routing): Webhook-based event notification routing. When Heroku fires a release webhook — release succeeded, release failed, build failed, dyno crashed — SyncRivo receives the payload and fans it out to Teams, Slack, Webex, Google Chat, or Zoom based on routing rules.

These two tools solve different problems. They are complementary. If you use Heroku ChatOps in Slack AND route Heroku events to Teams via SyncRivo, developers get interactive commands in Slack while engineering leadership gets event notifications in Teams.

Heroku Webhook Events

Heroku's webhook system fires on these event types:

  • api:release — a new release was created (deploy succeeded or release rollback)
  • api:build — a build completed (succeeded or failed)
  • api:dyno — a dyno crashed or restarted
  • api:formation — dyno formation changed (scale up/down)
  • pipeline:promotion — a pipeline promotion was triggered

The webhook payload includes the app name, release version, release description, release status, build output URL, dyno type, and git commit SHA.

Configuring Heroku → Teams via SyncRivo

Step 1: Create an inbound endpoint in SyncRivo. Copy the endpoint URL.

Step 2: Add the webhook to Heroku via the Dashboard or CLI.

Dashboard: Navigate to your app → Settings → Webhooks → Add Webhook. Enter the SyncRivo endpoint URL. Select event types: api:release, api:build, api:dyno.

CLI:

heroku webhooks:add \
  --app APP_NAME \
  --events "api:release,api:build,api:dyno" \
  --url https://webhooks.syncrivo.ai/inbound/YOUR_ENDPOINT_ID \
  --secret YOUR_SIGNING_SECRET

Step 3: In SyncRivo, configure routing rules:

  • api:release (succeeded, production) → Slack #deploys + Teams Engineering Releases
  • api:release (failed) → Slack #on-call + Teams Engineering Leads simultaneously
  • api:build (failed) → Slack #on-call + Teams Engineering Leads simultaneously
  • api:dyno (crashed) → Slack #on-call + Teams Engineering Leads simultaneously
  • pipeline:promotion → Teams Engineering Releases + Slack #deploys

Step 4: Authorize your Teams workspace in SyncRivo and map destination channels.

Step 5: Trigger a test deploy. Verify the event appears in both Slack and Teams.

Routing Matrix for Mixed Slack/Teams Engineering Orgs

EventContextSlackTeams
api:release succeededProduction#deploysEngineering Releases
api:release failedAny#on-callEngineering Leads
api:build failedAny#on-callEngineering Leads
api:dyno crashedAny#on-callEngineering Leads
api:dyno restartedAny#platform
pipeline:promotionAny#deploysEngineering Releases
Review app deployPreview#frontend-devs

Heroku, Vercel, Netlify: The Same Teams Gap

All three major PaaS/deployment platforms have the same structural gap: native Slack integrations (or Slack apps in Heroku's case), no native Teams integration.

If your organization runs multiple deployment platforms — Heroku for application servers, Vercel for Next.js frontends, Netlify for marketing sites — you can configure all three to POST to SyncRivo endpoints. Each platform gets its own routing rules, but all events consolidate into the same Teams channel for engineering leadership visibility.

For the complete setup guide and event routing reference, see the Heroku Deploy Notifications in Slack & Teams integration guide.

Ready to connect your messaging platforms?

Bridge your messaging platforms in 15 minutes

Connect Slack, Teams, Google Chat, Webex, and Zoom with any-to-any routing. No guest accounts. No migration. SOC 2 & HIPAA ready.