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

Have your agent know this before it fails

claude mcp add --transport http footgun https://getfootgun.com/api/mcp