Slack · api · fg-0365
Slack rejects a generated message with invalid_blocks once the report grows
invalid_blocks from chat.postMessage
Verified 2026-10-15 · Confirmed by 0 builders · Trust 50/100
Cause
A message holds at most 50 blocks and a modal or Home tab 100. A section text is capped at 3,000 characters and a section takes at most 10 fields of 2,000 characters each.
Fix
Count blocks and truncate text before posting. Split long reports across threaded messages or attach a file.
Apply
for chunk in [blocks[i:i+50] for i in range(0, len(blocks), 50)]:
client.chat_postMessage(channel=cid, blocks=chunk, text="Report", thread_ts=parent_ts)Affects: Slack Block Kit in messages, modals and Home tabs, as of 2026-10
Sources
- https://docs.slack.dev/reference/block-kit/blocks
- https://docs.slack.dev/reference/block-kit/blocks/section-block
Have your agent know this before it fails
claude mcp add --transport http footgun https://getfootgun.com/api/mcp