The 4 Types of Flows: Messaging, Voice, and Background Flows

Flow types define how a flow behaves and which channels it can run on. RapidPro.app offers different flow types depending on what your connected channels can do (text messaging, voice calls, or background actions). Choosing the right type early helps you avoid broken testing, missing options (like IVR), or flows that interrupt contacts unexpectedly.

In this guide, you’ll learn where to choose a flow type, what each flow type is used for, and how to pick the right type for your project.

Pick the right flow type in seconds

If you already know your channel and just need the fast path, follow this:

  1. Open Flows and click New Flow
  2. Use the Flow type dropdown
  3. Choose Messaging for SMS/WhatsApp/Telegram
  4. Choose Phone Call (IVR) only if you have a voice-enabled channel
  5. Choose Background for behind-the-scenes actions (no replies needed)
  6. Confirm with the decision guide and create the flow

You’re done. Your flow type is set before you start building nodes.

Step-by-Step Process

1
Choose a flow type when creating a flow
  1. Go to the Flows tab in your workspace.
  2. Click New Flow (or Create Flow).
  3. In the New Flow dialog, find the Flow type dropdown.
  4. Select the type that matches your channel and use case.
  5. Click Create to open the flow editor.

[CAPTURE: New Flow dialog showing the “Flow type” dropdown with options like Messaging, Phone Call/IVR, and Background.]

⚙️
Technical Detail: Some flow types appear only when your workspace has compatible channels connected (for example, IVR requires a voice-enabled channel).

2
Understand the Messaging flow type

Messaging is the default flow type.

Use it when you want to run flows over text-based channels, such as:

  • SMS (Android channel or virtual number)
  • WhatsApp
  • Telegram
  • Other supported social messaging channels

Messaging flows are ideal for:

  • Surveys and registrations
  • Reminders and follow-ups
  • Two-way automated conversations (question → reply → next step)

[CAPTURE: Flow editor showing a Messaging flow with Send Message and Wait for Response nodes.]

💡
Tip: If your project is mainly SMS or chat-based, Messaging is almost always the right choice.

3
Understand the Phone Call (IVR) flow type

Phone Call (also called IVR) is for voice-based interactions.

You’ll see this option only if your workspace has a voice-enabled channel (for example, a voice-capable virtual number).

IVR flows allow you to:

  • Play audio prompts
  • Collect keypad input (DTMF) or voice responses (depending on configuration)
  • Route callers based on selections (e.g., “Press 1 for…”)

[CAPTURE: New Flow dialog showing the Phone Call/IVR option, plus an example IVR flow structure (voice prompts + branches).]

⚙️
Technical Detail: IVR flows differ in structure from Messaging flows because the interaction is driven by phone calls (audio prompts and call events) rather than text messages.
⚠️
Warning: If your channel is not voice-enabled, IVR flows won’t be available—and a Messaging flow will not behave like an IVR call experience.

4
Understand the Background flow type

A contact can only be active in one Messaging flow at a time. Background flows solve a common problem: running automation without interrupting an active messaging conversation.

Use Background flows when you need to perform actions that don’t require a reply from the contact, such as:

  • Update contact fields silently
  • Add/remove contacts from groups
  • Apply tags/labels
  • Trigger external integrations (webhooks, events)
  • Run internal housekeeping logic

[CAPTURE: Background flow example showing actions like Update Contact and Add to Group with no Wait for Response nodes.]

💡
Tip: Background flows are perfect for behind-the-scenes automation—like post-survey updates or routing logic—while keeping the user’s main conversation flow uninterrupted.
⚠️
Warning: If a background flow needs user input (responses), it may not work the way you expect. Use Messaging flows for interactive conversations.

5
Pick the right flow type (fast decision guide)

Use this quick guide:

Your goal Best flow type
Two-way conversation (ask questions, collect replies) Messaging
SMS/WhatsApp/Telegram automation Messaging
Voice calls with menu options (Press 1, Press 2…) Phone Call (IVR)
Run actions without interrupting active Messaging flows Background

[CAPTURE: A flow creation screen where the flow type choice is visible, alongside a short help tooltip or description.]

Common Issues & Quick Fixes

Problem: I don’t see the IVR / Phone Call flow type.

Fix: Confirm your workspace has a voice-enabled channel connected. If you only have SMS/social channels, you will only see Messaging and Background options. Contact your admin or support if you believe voice support should be enabled for your account.

Problem: My flow interrupts contacts who are already in another flow.

Fix: Use Background flows for actions that don’t require contact responses. When manually starting a Messaging flow, select filters like “Contacts not currently in another flow” (if available). Review triggers to avoid starting multiple Messaging flows unexpectedly.

Problem: I chose the wrong flow type when creating a flow.

Fix: Create a new flow with the correct flow type (recommended). Copy logic manually or via export/import depending on your setup. Test in the simulator before launching.

💡
Tip: Use a naming convention that includes the type when helpful, e.g. Survey – Messaging, Support Line – IVR, Post-Registration – Background.