Tell the team what happened
Every deploy — successful or not — should leave a footprint in the team's communication channel. The audit trail matters: 'who shipped what when' is the first question after every incident.
Channels
- Slack — most common. Use
slackapi/slack-github-actionwith an incoming webhook. Pin the deploy channel. - Discord — webhook-based.
- Email —
dawidd6/action-send-mailor your own SMTP. - Telegram — bot API; one curl call.
- PagerDuty / Opsgenie — for failures only, escalation paths.
- GitHub Deployments — every environment-scoped job already creates one. Visible in the Deployments tab and PR.
What a useful message contains
- Service name + environment.
- Version / SHA being deployed.
- Triggering actor (user or bot).
- Result (success / failure / cancelled).
- Link to the workflow run.
- Link to the deployed URL (for verifications).
Failure messages should be louder than success messages — different channel, @mention, or color.