RapidPro icon

RapidPro

Send SMS and WhatsApp messages, manage contacts, trigger flows, and broadcast alerts via RapidPro.

Actions13

Flow → Start

AI-generated

Summary

Starts a RapidPro flow for specific contacts (by URN or UUID) or for all members of one or more groups, by POSTing to /api/v2/flow_starts.json. Optionally restarts active participants and passes extra variables into the flow.

Inputs

  • Flow UUID (required) — UUID of the flow to start. Sent as flow. Use the Flow > Get Many operation to find it.
  • Start Contacts By (required) — Choose 'Contacts (URNs or UUIDs)' or 'Group'. This decides which target field is used.
  • Contact URNs or UUIDs (required) — Shown when Start Contacts By is Contacts. Accepts multiple values. Entries that look like 36-character UUIDs go to contacts. All other entries are normalized to URNs and go to urns. A bare number such as 250788123456 becomes tel:+250788123456, and tel:, whatsapp: and telegram: prefixes are kept.
  • Group UUIDs (required) — Shown when Start Contacts By is Group. Accepts multiple values. Sent as groups, and all members of those groups enter the flow.
  • Restart Participants — Boolean, default false. When true, contacts already active in the flow are restarted. Sent as restart_participants.
  • Extra Variables — Repeatable key/value pairs sent as the extra object. Flow messages can read them as @extra.key. Rows with an empty key are skipped, and extra is omitted if no rows are added.

Output shape

One output item per input item, containing the JSON response from RapidPro's flow_starts endpoint, i.e. the created flow start record.

The exact response fields come from the RapidPro API and are not defined in the node. If Continue On Fail is enabled, a failed item returns {error: message} instead of throwing. The UUID check is a loose regex, /^[0-9a-f-]{36}$/, that only accepts lowercase hex characters and dashes.

Examples

Example 1: Send an appointment reminder flow to one patient with a date variable

Flow UUID set to the reminder flow; Start Contacts By = Contacts; Contacts = +250788123456; Extra Variables: appointment_date = 2024-03-15.

Example 2: Run a survey flow for an entire group, restarting anyone already in it

Flow UUID = survey flow; Start Contacts By = Group; Group UUIDs = one group UUID; Restart Participants = true.

Links

Discussion