Paste a Slack Events API JSON payload (event_callback wrapping a message event with blocks, files, or thread context) and get a TypeScript interface for your bot's request handler.
Slack Events API delivers an outer event_callback envelope (token, team_id, api_app_id, event_id, event_time, authorizations, is_ext_shared_channel) wrapping a typed inner event payload. For message events the inner shape is recursive: blocks → elements → elements → ..., with rich_text_section, rich_text_list, link, emoji, and user mention nodes. Hand-typing the Block Kit nesting is tedious; pasting a live event from your tunnel logs produces a TypeScript interface that matches exactly what Slack sent.
Use the result in your /events endpoint handler to narrow event.type === 'message' and walk the blocks tree without unknown spreading through your code. Combined with @slack/bolt or a thin webhook handler, generated types catch shape changes (Slack adds fields without bumping versions) before they reach production. Paste a thread reply, a bot_message, or an app_mention and the converter merges the variation into one accurate type.