Use the “Send Airtime” Action for Credit Transfer

The Send Airtime action lets you automatically transfer prepaid airtime to a contact from inside a flow. It’s a practical way to deliver incentives, reimbursements, or support credits—while keeping a clear success/failure path for follow-up.

Send airtime safely

If you just need the essentials, use this fast path:

  1. Enable DT One in Workspace Settings (login + API token)
  2. Add a Send Airtime action in your flow
  3. Set currency, amount, and a clear result name
  4. Connect Success and Failure exits (confirm + alert/escalate)
  5. Use Transfer Logs to troubleshoot failures
  6. If needed, create a DT One account and retrieve API credentials

Done — you can now issue airtime transfers with clean success/failure handling.

Step-by-Step Process

1
Enable the DT One integration in your workspace

  1. Log in to your RapidPro.app workspace.
  2. Open Workspace Settings (gear icon).
  3. Scroll to the DT One integration section.
  4. Enter your DT One login and DT One API token (from your DT One developer/account area).
  5. Save your changes.

[CAPTURE: Workspace Settings page showing the DT One integration section with fields for login + API token and a Save button.]

⚠️
Warning: Treat your DT One API token like a password. Don’t share it in screenshots, public docs, or flow messages.

2
Create a Send Airtime node in your flow

  1. Open the Flows section and open the flow you want to edit.
  2. Add a new node.
  3. In the action dropdown, select Send Airtime.

[CAPTURE: Flow editor showing the “Create Message” (new node) button and the action dropdown with “Send Airtime” selected.]

3
Configure currency, amount, and result name

  1. In the Send Airtime settings, select the currency (or the currency options available for the contact’s destination).
  2. Enter the amount you want to transfer.
  3. Set a Result name so you can reference the outcome later (example: airtime_transfer).
  4. Save the node.

[CAPTURE: Send Airtime action settings showing currency selector, amount field, and “Result name” field.]

⚙️
Technical Detail: Currency availability can depend on the contact’s phone number/operator coverage. RapidPro.app may adjust the final deliverable amount to match valid denominations supported by the provider.

4
Connect the Success and Failure paths

A Send Airtime node typically includes two exits:

  • Success (transfer completed)
  • Failure (transfer rejected or errored)
  1. From Success, add a confirmation message to the contact (e.g., “Your airtime has been sent.”).
  2. From Failure, add an internal alert path, such as:

    • Send a message to the contact with next steps
    • Notify your team (email/notification action if available)
    • Add a label for tracking (e.g., “Airtime Failure”)
    • Add the contact to a group (e.g., “Needs Manual Airtime Review”)

[CAPTURE: Flow editor showing the Send Airtime node with two branches (Success/Failure), each connected to follow-up actions.]

💡
Tip: On Failure, include key context in your internal alert (contact identifier + phone number + flow name + timestamp) so your team can resolve the issue quickly.

5
Review transfer logs for troubleshooting

  1. Go to Workspace Settings.
  2. Find the DT One integration section.
  3. Open Transfer Logs (or your workspace’s equivalent logs entry for airtime transfers).
  4. Filter by date/time or contact details to investigate failures.

[CAPTURE: DT One section showing a “Transfer Log” button and a log view with success/failure entries.]

6
Create a DT One account (if you don’t have one yet)

  1. Create a DT One account in their sign-up interface.
  2. Verify your email.
  3. Locate your API credentials in their developer/account settings.
  4. Return to RapidPro.app and complete Step 1.

[CAPTURE: DT One sign-up page (fields visible, no real data) and a follow-up screen showing where API credentials can be found.]

Common Issues & Quick Fixes

Problem: The Send Airtime action isn’t available in my flow.

Fix: Confirm DT One is enabled in Workspace Settings and your credentials are saved. If you still don’t see it, verify your workspace plan/permissions and refresh the editor.

Problem: Transfers fail for some contacts (Failure branch triggers).

Fix: Check Transfer Logs for the exact error. Common causes include operator/number coverage limitations, invalid denominations, or integration credential issues.

Problem: The delivered amount is different than what I entered.

Fix: Some operators/providers require valid denominations. RapidPro.app (via the provider) may adjust the deliverable value to match supported denominations. Review logs to confirm final amounts.

Problem: I can’t debug what happened after a reported failure.

Fix: Add a lightweight internal alert on the Failure branch that includes contact identifiers and context (phone/URN, flow name, timestamp, and the result name you set for the airtime action).