Reading time: 7 min
Zapier
Updated on: 15/01/2026
Quick Setup Checklist
Use Zapier to send external app data into RapidPro and automatically start a flow for a contact.
- Prepare your external data source (example: Google Sheets)
- Create a RapidPro flow that uses @trigger.params variables
- Create a Zap and configure the trigger step
- Add the RapidPro “Start Flow” action in Zapier
- Map the contact URN and extra fields to pass into the flow
- Test the Zap and verify results inside RapidPro
Create or update the spreadsheet (or other app data source) containing the values you want to send to RapidPro.
In this example, your sheet includes:
- name
- address
- phone (used as the contact URN)
Important: The phone number must include the country code.
Tip: Column headers become variable names in Zapier and can be referenced later as @trigger.params.name, @trigger.params.address, etc.
[CAPTURE: Show a Google Sheet with column headers for Name, Address, and Phone Number (including country code).]
Create the flow that will be started by Zapier. Inside the flow, reference external values using:
@trigger.params.variable_name
Example variables:
- @trigger.params.name
- @trigger.params.address
[CAPTURE: Show a flow message node referencing @trigger.params.name and @trigger.params.address.]
Save external values to contact fields (optional)
To persist external values beyond the flow run:
- Add an Update the Contact action.
- Assign the external variable to a contact field (for example, set Name = @trigger.params.name).
[CAPTURE: Show an Update the Contact action saving @trigger.params.name to a Name field.]
Important: If you don’t save external values to contact fields, they only exist for the duration of the flow run.
In Zapier:
- Create a new Zap.
- Choose your source app (example: Google Sheets) as the trigger.
- Select New or Updated Spreadsheet Row.
[CAPTURE: Show Zapier with Google Sheets selected and the trigger set to New or Updated Spreadsheet Row.]
Configure the trigger step
Next:
- Connect your Google account.
- Select the Spreadsheet and Worksheet (often Sheet 1).
- Leave the trigger column as any_column unless you have a specific need.
[CAPTURE: Show the trigger configuration screen with spreadsheet and worksheet selected.]
Pull sample data
Test the trigger to pull a sample row. This makes column values available for mapping in the Start Flow step.
[CAPTURE: Show Zapier displaying sample data pulled from the spreadsheet.]
After the trigger step, add an action step:
- Choose RapidPro (or Rapidpro App) as the action app.
- Select Start Flow.
[CAPTURE: Show Zapier with RapidPro selected and the action set to Start Flow.]
Connect your RapidPro account
If this is your first time using RapidPro in Zapier, authenticate your RapidPro account when prompted.
[CAPTURE: Show the RapidPro account connection screen in Zapier.]
In the Start Flow action step, you must:
- Select the flow to start.
- Provide the contact URN (phone number with country code).
- Add any extra fields you want to pass into the flow (for example: Name, Address).
In this example:
- URN comes from the spreadsheet’s Phone column.
- Extra fields (Name, Address) come from the spreadsheet’s corresponding columns.
[CAPTURE: Show the Start Flow template with Flow selected, Phone number mapped, and Extra fields populated from spreadsheet data.]
Tip: If you don’t see a field in the dropdown, confirm that sample data was pulled successfully in the trigger step.
Optional settings
Depending on your workflow, you may also:
- Restart contacts who have already run the flow.
- Start the flow for specific groups or contacts (if available in your setup).
Important: Restarting flows enables repeat participation but should be used intentionally (for example, annual updates).
Before going live:
- Send a test from Zapier to RapidPro.
- Confirm the flow starts successfully.
- Verify messages and saved contact fields (if you used Update the Contact actions).
[CAPTURE: Show Zapier confirming a successful test run.]
Verify the result in RapidPro
After the test:
- Open the flow’s Results to confirm the contact run.
- Check the contact’s Message History.
- Confirm external variables appear correctly (and persisted fields are updated if configured).
[CAPTURE: Show a contact message history displaying values passed from Zapier.]
Common Issues
The flow doesn’t start when the Zap runs
Confirm the Start Flow step is connected to the correct RapidPro account and flow, and that the contact URN is mapped correctly (phone number with country code). Also confirm the Zap is turned on.
@trigger.params values are empty in the flow
External variables are only available if they are explicitly passed in the Start Flow step. Re-check the Extra Fields mapping in Zapier and ensure sample data was pulled in the trigger step.
I don’t see spreadsheet fields available for mapping
Zapier only shows fields after sample data is pulled successfully. Re-test the trigger step so Zapier can fetch a real row from the spreadsheet.
Contacts don’t have updated values after the flow ends
@trigger.params values are temporary unless saved to contact fields. Add an Update the Contact action to store the incoming values (for example, Address = @trigger.params.address).
The phone number is rejected or creates unexpected contacts
Make sure the URN includes the correct country code and formatting. If your source data contains spaces or symbols, normalize it before sending to RapidPro.
