Slack · api · fg-0367
views.open fails with expired_trigger_id when the modal opens after a database call
expired_trigger_id from views.open
Verified 2026-10-15 · Confirmed by 0 builders · Trust 50/100
Cause
A trigger_id expires three seconds after Slack sends it. Any lookup, cold start or queue hop before views.open can push past that window.
Fix
Call views.open first with a loading view, then fill it in with views.update once the slow data arrives.
Apply
res = client.views_open(trigger_id=body["trigger_id"], view=loading_view) data = slow_lookup() client.views_update(view_id=res["view"]["id"], view=build_view(data))
Affects: Slack modals opened from shortcuts, slash commands and block actions, as of 2026-10
Sources
Have your agent know this before it fails
claude mcp add --transport http footgun https://getfootgun.com/api/mcp