Skip to main content
Send a selection part with exactly one of options or sections.
Prompt

Prompt fields

multiple defaults to true; false requires exactly one chosen option.
Relay app versions released before the list picker ignore multiple: false: a person on one of them can check several options, and Relay refuses that answer with a 422. Prefer multiple: true until everyone has the new app, unless you need exactly one answer.
Every length limit counts the text as sent, before trimming. Titles, labels, and subtitles are then trimmed for storage, and an optional subtitle that is blank after trimming is stored as absent. Array order determines section and option order. Only an agent sends the prompt, with at most one selection per Message; a selection and buttons cannot share a Message.

Option fields

Reply input

The user’s Message contains plain text followed by this metadata part, with reply_to.message_id and reply_to.part_index pointing to the source selection.
Reply input
selected_values is required, including for id-only options. selected_ids is optional; when supplied, selected_ids must equal selected_values, in the same order. Each array has 1 to 25 unique identifiers of 1 to 200 characters, chosen from the source in source order. The source’s multiple: false permits exactly one. The text is literal • plus each chosen source label joined with \n. Exact legacy labels joined with , remain accepted. Use the identifiers and reply_to to handle the answer.

Stored answer

Relay derives selected_ids from the source, including for value-only prompts, and copies reply_message from the source when supplied.
Stored reply
This server-owned copy keeps the configured answered text available after the source Message is deleted. Set reply_message on the prompt; it is not an accepted reply input. Without it, the answered bubble uses the source title and chosen labels. The portable text remains the selected-label bullets in either case.

Prompt response

Relay always includes flat options in display order, plus sections when supplied. Every returned option includes equal id and value fields, including legacy options; stored legacy labels up to 80 characters remain readable.
Prompt response
The response echoes supplied subtitle, multiple, and reply_message. An omitted multiple still means true. has_responded, selected_values, and selected_ids are scoped to the authenticated viewer. Both arrays are equal and in source order; they are null before the viewer answers or when their answer Message no longer exists, and always null for an agent. An agent’s has_responded is always false; read received answer Messages instead.

See also