Deployment
Deploy your USSD flows to production.
Deployment
When your flow is ready, deploy it to receive real USSD traffic.
Prerequisites
Before deploying, ensure you have:
- A tested, validated flow
- A USSD shortcode from a supported provider
- Provider API credentials
Step 1: Validate Your Flow
Click Validate in the toolbar. Fix any errors:
| Error | Solution |
|---|---|
| No start node | Set a node as the start |
| Orphan nodes | Connect or delete unused nodes |
| Missing connections | Connect all required outputs |
| Invalid expressions | Fix syntax errors |
Step 2: Create an Instance
Flows can have multiple instances (e.g., staging, production):
- Click Deploy in the toolbar
- Click New Instance
- Enter a name (e.g., "Production")
- Select environment type
Step 3: Configure Provider
Select your USSD provider and enter credentials:
| Field | Description |
|---|---|
| Username | Your AT username |
| API Key | API key from dashboard |
| Shortcode | Your USSD shortcode |
Step 4: Set the Callback URL
Copy the generated callback URL and configure it in your provider's dashboard:
https://api.starhash.dev/hooks/{provider}/{instance_id}
Example for Africa's Talking:
https://api.starhash.dev/hooks/africas_talking/inst_abc123
Viewing Instances
See all instances in the Instances tab:
| Instance | Environment | Status | Traffic |
|---|---|---|---|
| Production | Live | Active | 1.2k/day |
| Staging | Test | Active | 50/day |
Instance Actions
| Action | Description |
|---|---|
| Pause | Stop receiving traffic temporarily |
| Resume | Continue receiving traffic |
| Update | Deploy new flow version |
| Delete | Remove instance permanently |
Updating a Deployment
When you update your flow:
- Make changes in the editor
- Click Deploy → Select instance
- Click Update
- Confirm the update
Updates are applied immediately. Consider using a staging instance first.
Rollback
If something goes wrong:
- Go to instance Settings → Versions
- Find the previous working version
- Click Rollback
Version history is retained for 30 days.
Environment Variables
Configure per-instance variables:
- Go to instance Settings → Variables
- Add key-value pairs:
API_URL = https://api.myservice.com
API_KEY = sk_live_xxx
DEBUG = false
Access in flows as ${env.API_URL}.
Custom Domains
Use your own domain for callbacks:
- Go to Settings → Domains
- Add your domain (e.g.,
ussd.myapp.com) - Configure DNS:
Type: CNAME
Name: ussd
Value: hooks.starhash.dev
- Verify and activate
Your callback URL becomes:
https://ussd.myapp.com/hooks/{provider}/{instance_id}
Real-time Dashboard
Monitor active sessions:
- Current active sessions
- Requests per minute
- Error rate
- Average session duration
Alerts
Set up alerts for:
| Alert | Trigger |
|---|---|
| Error spike | Error rate > 5% |
| Latency | Response time > 2s |
| Volume drop | Traffic < 50% of average |
Configure in Settings → Alerts.

