Skip to content

Request Send

Create a request, deliver to all available surfaces, and optionally poll for the user's response. Supports choice, boolean, freeform, and range response types. Without timeout_seconds: non-blocking (returns immediately, use request_poll later). With timeout_seconds: blocks until response or timeout (max recommended: 110s to stay within MCP call limits).

MCP name: request_send

Category: notifications

Mutates state (retry policy: manual)

Parameters

Name Type Required Description
body str No Request body/explanation
callback dict No Dispatch on response: {capability, params}
callback_session_id str No Resume this session on response
choices list No For choice type: [{key, label, description}]
custom_template dict No For custom type: surface-specific rendering data (e.g., {type: 'triage_clarify', presentation: ...})
expandable bool No None=auto-detect, True=rich dashboard view, False=toast-only.
interval_seconds int No Seconds between polls (default: 3)
number_range dict No For range type: {min, max, step}
priority str No low, normal, high, urgent
response_type str No choice, boolean, freeform, range, custom
source str No Who is sending
source_type str No agent or programmatic
surfaces list No Target surfaces (e.g. ['telegram']). Default: all available.
tags list No Tags for filtering
timeout_seconds int No Poll timeout. Omit for non-blocking. Max recommended: 110s
title str Yes Request title