Documentation

Learn how to build powerful USSD applications with our visual flow builder. Everything you need to know about nodes, connections, and integrations.

Quick Start

Node Types

Nodes are the building blocks of your USSD flow. Each node type serves a specific purpose.

play_arrow

Start Node

Required

The entry point of your USSD flow. Every flow must have exactly one start node. This is where users begin their journey.

Welcome to MyApp!
1. Check Balance
2. Transfer Money
list

Menu Node

Common

Display options to users and route them based on their selection. Perfect for creating navigation menus.

Select Service:
1. Option A
2. Option B
3. Option C
keyboard

Input Node

Data Collection

Collect user input like phone numbers, amounts, or names. Supports validation and formatting.

Enter amount:
[User types: 1000]
cloud

API Call Node

Integration

Make HTTP requests to external APIs. Fetch data, send information, or trigger webhooks.

GET /api/balance
Response: KES 5,000
payments

Payment Node

M-PESA

Accept payments via M-PESA, Airtel Money, or other providers. Handles confirmations automatically.

Pay KES 1,000
Enter M-PESA PIN...
database

Dataset Node

Storage

Store and retrieve data locally. Perfect for menus, lists, or simple databases without external APIs.

Products:
1. Chapati - KES 30
2. Ugali - KES 60
sms

SMS Node

Notification

Send SMS notifications to users. Great for confirmations, receipts, or follow-up messages.

Send SMS:
"Payment successful!"
fork_right

Condition Node

Logic

Branch your flow based on conditions. Check values, compare data, or validate inputs.

if (balance > 100)
→ Allow transfer
else → Show error
stop_circle

End Node

Terminal

Terminate the USSD session. Display a final message and close the connection.

Thank you!
[Session ends]

How to Connect Nodes

Connections define the flow of your USSD application. Here's how to wire nodes together.

link

Basic Connection

Click and drag from an output port (bottom of node) to an input port (top of node).

Start Node
Menu Node
account_tree

Multiple Paths

Menu nodes can have multiple outputs, one for each menu option.

Menu Node
Option 1
Option 2
code

Using Variables

Pass data between nodes using variables like {{ amount }}

Input: amount = 1000
Display: "Pay {{ amount }}"
Output: "Pay 1000"

Best Practices

Follow these guidelines to create better USSD experiences.

check_circle

Keep Menus Short

Limit menu options to 5-7 items. Users can't scroll back on USSD.

check_circle

Use Clear Labels

Make menu options descriptive. "1. Check Balance" is better than "1. Balance".

check_circle

Add Confirmation Steps

Always confirm before payments or irreversible actions.

check_circle

Test Thoroughly

Use the simulator to test all paths before deploying.

cancel

Avoid Long Text

Keep messages under 160 characters. USSD screens are small.

cancel

Don't Nest Too Deep

Avoid more than 3-4 levels of menus. Users get lost easily.

Ready to Build?

Start creating your USSD app today. No coding required.