Channel Priority: How the Platform Chooses the Default Sending Channel

When multiple channels are connected to your workspace, RapidPro automatically decides which channel to use when sending a message to a contact. By default, the platform uses a combination of the contact’s address type, previous inbound interaction history, and channel availability. For new contacts with no prior interaction, RapidPro may choose a channel using prefix overlap (the closest match between the contact’s address and the channel address). If you need full control, you can override the default behavior by setting a preferred channel in a flow.

Quick Setup Checklist

Use this checklist to understand (and control) how RapidPro selects a sending channel when multiple options exist.

  1. Confirm the default channel selection behavior in multi-channel workspaces.
  2. Understand how prior inbound interaction “locks” a contact to a channel.
  3. Learn how prefix overlap works for contacts with no prior interaction.
  4. Know when carrier-based optimization may affect selection.
  5. Override selection using a preferred channel when consistency matters.
1
Understand the default channel selection behavior

When multiple channels are connected to your workspace, RapidPro automatically decides which channel to use when sending a message to a contact.

By default, RapidPro determines the sending channel based on a combination of contact history, address type, and channel availability.

[CAPTURE: Workspace with multiple channels connected in the Channels settings.]

2
Know when a contact becomes associated with a channel

In multi-channel setups (especially when you have multiple channels of the same type, such as multiple SMS numbers), a contact can become associated with a specific channel.

A contact becomes associated with a specific channel when all of the following are true:

  • You have multiple channels of the same type connected (for example, multiple SMS numbers).
  • The contact’s address type priority matches that channel type (for example, phone number → SMS).
  • The contact has initiated an incoming message on one of those channels.

Once this relationship is established, outgoing messages to that contact will continue to use the same channel.

3
Understand prefix overlap for contacts with no prior interaction

If a contact has never interacted with any channel in your workspace, RapidPro selects the channel using prefix overlap.

This means the platform chooses the channel whose address most closely matches the beginning of the contact’s address.

Example

If you have two Android Relayer channels:

  • +1 250 566 1212
  • +250 555 1212

And you send a message to:

  • +250 566 1231

RapidPro will select the +250 566 1212 channel because it has the largest prefix overlap.

[CAPTURE: Diagram showing phone number prefix matching for channel selection.]

4
Be aware of carrier-based optimization

In some cases, RapidPro can identify the carrier associated with a phone number and prioritize channels accordingly.

This behavior depends on carrier metadata availability and may vary by country and provider.

5
Override the default behavior with a preferred channel

If you need explicit control over which channel a contact uses, you can override the default behavior by setting a preferred channel.

Use the Set preferred channel action in a flow to:

  • Assign a specific channel to a contact
  • Switch the contact to a different channel without waiting for an incoming message

[CAPTURE: Flow editor showing the “Set preferred channel” action configured.]

Once set, the selected channel will be used for outbound messages unless changed again.

Common Issues & Fixes

Messages are sending from the wrong number

Possible cause: The contact last interacted with a different channel.

Fix: Use Set preferred channel to explicitly assign the correct channel.

A new contact is using an unexpected channel

Possible cause: The contact has never interacted with your workspace, so prefix matching was used.

Fix: Ask the contact to send an incoming message, or assign a preferred channel in a flow.

Channel selection seems inconsistent

Possible cause: Carrier-based prioritization may vary depending on number metadata.

Fix: Set a preferred channel to enforce consistent behavior.