Skip to content

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.

Message layouts

Submitting sends your prompt, recent instructions, and current message to OpenAI. Avoid secrets and sensitive data.

0/2,000
Your message/ Block Kit JSON
message.json

Paste a blocks array or a full message payload. Preview updates as you type.

1,972 chars
Live preview
# team-updates Message preview
NorthstarAPP14:32
✓ 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 deploymentRollback runbook

Approximate Slack rendering. Buttons are visual previews; no actions are sent.

Passed supported checks6/50 blocks

Local validation checks the supported schema. It does not guarantee Slack API acceptance.

Open in Slack Block Kit Builder ↗
Saved in this tab · No account needed

Manual editing and validation run in your browser. Opening Slack’s Builder shares the message with Slack.

Replaces the current message; Undo restores it.
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_JSON

A 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.

Built for message layouts

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.

Independent tools by Fryll. Not affiliated with or endorsed by Slack.