We are investigating elevated payment gateway timeouts. Existing orders are unaffected.
Incidents and operations / BLOCK KIT JSON
Coordinate an incident with severity, customer impact, an owner, and the next update time.
Blank optional fields are omitted. Fallback text updates with your fields.
Approximate Slack rendering. Buttons are visual previews; no actions are sent.
Local validation checks the supported schema. It does not guarantee Slack API acceptance.
Manual editing and validation run in your browser. Opening Slack’s Builder shares the message with Slack.
SEV-2 · Checkout disruption Customers may see an error when placing orders. We are investigating elevated payment gateway timeouts. Existing orders are unaffected. Incident: INC-1042 Status: Investigating Incident lead: Jordan Lee Next update: 15:00 UTC · in 20 minutes Started 14:32 UTC · Production Incident timeline: https://example.com/incidents/INC-1042 Status page: https://example.com/status
Download the payload or use this command in your own terminal. Replace the placeholder URL with your Slack incoming webhook. Keep the real URL secret. This tool never sends a Slack message.
curl --request POST \
--header 'Content-Type: application/json' \
--data-binary @- \
'https://hooks.slack.com/services/YOUR/WEBHOOK/URL' <<'SLACK_MESSAGE_JSON'
{
"text": "SEV-2 · Checkout disruption\nCustomers may see an error when placing orders.\nWe are investigating elevated payment gateway timeouts. Existing orders are unaffected.\nIncident: INC-1042\nStatus: Investigating\nIncident lead: Jordan Lee\nNext update: 15:00 UTC · in 20 minutes\nStarted 14:32 UTC · Production\nIncident timeline: https://example.com/incidents/INC-1042\nStatus page: https://example.com/status",
"blocks": [
{
"type": "header",
"text": {
"type": "plain_text",
"text": "SEV-2 · Checkout disruption"
}
},
{
"type": "section",
"text": {
"type": "mrkdwn",
"text": "*Customers may see an error when placing orders.*\nWe are investigating elevated payment gateway timeouts. Existing orders are unaffected."
}
},
{
"type": "section",
"fields": [
{
"type": "mrkdwn",
"text": "*Incident*\nINC-1042"
},
{
"type": "mrkdwn",
"text": "*Status*\nInvestigating"
},
{
"type": "mrkdwn",
"text": "*Incident lead*\nJordan Lee"
},
{
"type": "mrkdwn",
"text": "*Next update*\n15:00 UTC · in 20 minutes"
}
]
},
{
"type": "context",
"elements": [
{
"type": "mrkdwn",
"text": "Started 14:32 UTC · Production"
}
]
},
{
"type": "divider"
},
{
"type": "actions",
"elements": [
{
"type": "button",
"text": {
"type": "plain_text",
"text": "Incident timeline"
},
"action_id": "incident-url",
"url": "https://example.com/incidents/INC-1042",
"style": "primary"
},
{
"type": "button",
"text": {
"type": "plain_text",
"text": "Status page"
},
"action_id": "status-url",
"url": "https://example.com/status"
}
]
}
]
}
SLACK_MESSAGE_JSONOpen a clear communication thread when a service incident is declared. The message gives responders the severity and impact immediately, then identifies who is coordinating the response and when the next update will arrive.
Describe the user-visible impact instead of only naming a failed component. Keep the incident ID stable as you update the message. Use the resolved variant after recovery is verified, with a link to the review.
Included variants: investigating, monitoring, resolved. Switch variants in the editor; all versions stay on this page.
Create the incident in your incident management system first, then post the alert. Buttons open the incident and status page; acknowledgement and paging require your own incident integration.
To post this JSON, create a Slack app with an incoming webhook for your channel, or use chat.postMessage with the appropriate bot token and permissions. Keep credentials on your server.
For buttons, enable Interactivity and handle Slack’s interaction requests, including URL buttons. Acknowledge requests promptly. This preview does not execute actions, authorize users, or save decisions.
Use the top-level fallback text for notifications and accessibility. Test your final payload in Slack; local validation covers the declared subset, and visual details vary by client.
Slack interaction setup ↗