Testing Your Flow: Using the Interaction Simulator

Testing Your Flow Using the Interaction Simulator.html Testing is a key part of building reliable flows. The RapidPro.app simulator lets you experience a flow exactly like a contact would, so you can quickly confirm what works, spot logic issues, and refine messages before going live. In this guide, you’ll learn how to open the simulator from the flow editor, run a test from a contact’s perspective, use the action log to verify what happened behind the scenes (like @results.* and contact field updates), and test your flow in the correct language.

Test any flow in minutes (fast path)

If you just want the basics, follow this:

  1. Open any flow in the flow editor
  2. Click the phone icon on the right to open the simulator
  3. Reply like a contact would to complete the flow
  4. Check the action log for results and updates (e.g., @results.name)
  5. Switch the flow language first if you want to test a specific language

You’re done. If the simulator conversation and the action log look correct, your flow is ready for real testing.

Step-by-Step Process

1
Open a flow in the editor
  1. Log in to your RapidPro.app workspace.
  2. Go to the Flows section.
  3. Click the flow you want to test to open it in the flow editor.

[CAPTURE: Flows list with a flow selected and the flow editor open.]

💡
Tip: Test early and often—simulator testing is fastest before you connect triggers, campaigns, or real channels.

2
Access the simulator
  1. In the flow editor, look at the right-hand side of the screen.
  2. Find the phone icon (simulator icon).
  3. Click the phone icon to open the simulator panel.

[CAPTURE: Flow editor showing the phone icon on the right side highlighted, with the simulator panel opening.]

Once opened, the simulator starts the flow and initiates the first step automatically.

⚙️
Technical Detail: The simulator runs the flow as if it were triggered for a single test contact—so you can validate logic without sending real messages.

3
Test the flow as a contact
  1. Read the first message shown in the simulator.
  2. Reply as if you were the contact (for example, type “Jane Doe” when asked for a name).
  3. Continue responding to prompts until the flow completes.

[CAPTURE: Simulator panel showing a message from the flow, a response input field, and a sample user response being entered.]

As you progress:

  • You’ll see exactly what the contact would see.
  • You can confirm wording, sequencing, and branching behavior.
💡
Tip: Use realistic test inputs (names, locations, dates) to catch formatting or validation problems early.

4
Understand the action log (behind the scenes)

The contact view shows the conversation, but the simulator also includes an action log that records internal actions.

Use it to verify things like:

  • A response was stored in a result variable (e.g., @results.name).
  • A contact field was updated (e.g., Name changed to “Jane Doe”).
  • A variable was assigned (e.g., @results.village = Dertu).
  • The contact exited the flow.

[CAPTURE: Simulator view showing the action log area with internal actions highlighted in a separate box or panel.]

⚙️
Technical Detail: The action log includes platform actions not visible to the contact, such as variable assignments and contact updates. It’s the fastest way to confirm your flow is saving the right data at the right step.
⚠️
Warning: If the action log doesn’t show expected updates (like a missing @results.* assignment), your flow may look fine in chat but fail to store or route data correctly.

5
Test flows in the correct language

The simulator uses the currently selected flow language first—this matters for multilingual flows.

To test a specific language:

  1. In the flow editor, select the language you want to test (from the language selector near the Start button or flow settings).
  2. Open the simulator again (or restart the simulation).
  3. Confirm the messages appear in the selected language.

[CAPTURE: Flow editor showing the language selector and the simulator displaying messages in the selected language.]

💡
Tip: Before testing translations, confirm the flow contains translated message content for that language—otherwise it may fall back to the default.

Common Issues & Quick Fixes

Problem: I can’t find the simulator icon.

Fix: Confirm you’re in the flow editor (not just the Flows list). Expand your browser window—on small screens the simulator may be collapsed or hidden. Look for the phone-shaped icon on the right edge of the editor.

Problem: The simulator starts, but the flow doesn’t do anything.

Fix: Check that your flow has a valid starting path (a Send Message or other action connected from the start). Confirm there are no broken connections between nodes. If the flow waits for a response, type a response in the simulator input field.

Problem: The action log doesn’t show the updates I expected.

Fix: Verify your Wait for Response node saves the result (e.g., result name = name). Confirm your Update the Contact node uses the correct variable (e.g., @results.name). Re-run the simulation from the beginning and watch the action log step-by-step.

Problem: The simulator is using the wrong language.

Fix: Select the correct language in the flow editor first, then restart the simulator. Confirm translations exist for that language inside the flow.