send_amb_primitive node emits a native Apple Messages for Business primitive — a real list picker or time picker rendered by the Messages app, not a numbered list the customer has to type a reply to.
This is what separates a flow on AMB from a flow on SMS. The customer taps; the reply comes back structured.
All eight primitives appear in the picker
Each is configured on the node with a
primitive_type and the primitive’s own payload. For the first
five, the payload shape is exactly the one documented in Rich Feature Messages — a flow does not use a different schema.
Use List Picker where the answer matters
Worth repeating here because it bites in flows specifically. Quick replies on Simple Message return only their label text — thekey you set does not come back. A branch_on_reply node matching those branches is effectively matching on visible copy.
So a copy change to a quick reply can silently break the branch that depends on it, and localisation multiplies the problem.
See Known limitations.
Other channels
send_amb_primitive is Apple-specific. On other channels a flow sends text via send_message, and the channel renders whatever it renders.
Design the fallback, not just the best case. A flow that only makes sense with a rendered List
Picker degrades badly on SMS. If the same flow can trigger on more than one channel, put the essential
information in text and let the rich primitive enhance it.
Next
Rich Feature Messages
All eight primitives, their payloads and constraints.
Node types
The full node set, including what is not yet available.
Branching and variables
Matching on a reply, and what survives a copy change.
Testing and simulation
Verifying a primitive renders before a customer sees it.