FROM IDEA TO MESSAGE
AI Slack Block Kit generator.
Describe what matters. Get a message worth reading.
Generate a layout, refine it in your own words, and take the JSON with you.
What should your message say?
Start with an idea. Keep refining until it feels right.
Paste a blocks array or a full message payload. Preview updates as you type.
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.
Fallback textNotifications & screen readers
✓ Deployment successful The new checkout is live. Health checks passed across all production instances. Service: checkout-api Version: v2.8.1 · a4e91c2 Environment: Production Deployed by: Maya Chen Completed in 2m 14s · 20 Oct 2026, 14:32 UTC View deployment: https://example.com/deployments/1842 Rollback runbook: https://example.com/runbooks/checkout-rollback
Send with curlIncoming webhook example
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": "✓ Deployment successful\nThe new checkout is live. Health checks passed across all production instances.\nService: checkout-api\nVersion: v2.8.1 · a4e91c2\nEnvironment: Production\nDeployed by: Maya Chen\nCompleted in 2m 14s · 20 Oct 2026, 14:32 UTC\nView deployment: https://example.com/deployments/1842\nRollback runbook: https://example.com/runbooks/checkout-rollback",
"blocks": [
{
"type": "header",
"text": {
"type": "plain_text",
"text": "✓ Deployment successful"
}
},
{
"type": "section",
"text": {
"type": "mrkdwn",
"text": "The new checkout is live. Health checks passed across all production instances."
}
},
{
"type": "section",
"fields": [
{
"type": "mrkdwn",
"text": "*Service*\ncheckout-api"
},
{
"type": "mrkdwn",
"text": "*Version*\nv2.8.1 · a4e91c2"
},
{
"type": "mrkdwn",
"text": "*Environment*\nProduction"
},
{
"type": "mrkdwn",
"text": "*Deployed by*\nMaya Chen"
}
]
},
{
"type": "context",
"elements": [
{
"type": "mrkdwn",
"text": "Completed in 2m 14s · 20 Oct 2026, 14:32 UTC"
}
]
},
{
"type": "divider"
},
{
"type": "actions",
"elements": [
{
"type": "button",
"text": {
"type": "plain_text",
"text": "View deployment"
},
"action_id": "logs",
"url": "https://example.com/deployments/1842",
"style": "primary"
},
{
"type": "button",
"text": {
"type": "plain_text",
"text": "Rollback runbook"
},
"action_id": "runbook",
"url": "https://example.com/runbooks/checkout-rollback"
}
]
}
]
}
SLACK_MESSAGE_JSONA starting point.
With room for your judgment.
The generator uses examples from our curated template library and a constrained message schema. Each result is checked locally and on the server. If validation fails, it gets one repair attempt before a clear error is returned.
Refine the message you already have
Bring a template or pasted payload into the generator, then ask for a more compact layout, a clearer error summary, or a different outcome. Your current message stays visible while the next version is prepared. Cancel a request or undo an AI edit at any time.
Free anonymous generation has usage limits. Manual editing, validation, templates, and exports remain available. Buttons are layout elements; your application must implement their workflows.
Real Block Kit. Useful boundaries.
Preview headers, sections with two-column fields, context, dividers, images, and actions with buttons. Text supports plain text and common Slack mrkdwn: bold, italic, strikethrough, code, quotes, and labeled links.
Unsupported blocks, elements, and properties are called out and preserved in your JSON. Menus, rich text, modals, private Slack files, confirmation dialogs, and application workflows are outside this preview’s coverage. Mentions and dates are not resolved against a workspace.
Check the details before you send
The validator checks the message shape, required fields, placement, identifiers, URLs, the 50-block limit, and supported text limits. Errors include the JSON path and a suggested fix.
Slack clients may render spacing, emoji, and wrapping differently. Local validation cannot guarantee API acceptance. Use Slack’s Block Kit reference and test your integration in a suitable channel.
Preview privately, export deliberately
Manual preview and validation run in your browser. Drafts are saved in this tab’s session storage. Remote images load only when enabled. AI generation sends your submitted instructions and current message to OpenAI; opening Slack’s Builder shares the payload with Slack.