For the complete documentation index, see llms.txt.
Outbound flows start when you trigger a routing rule manually (Control Panel) or through the Management API (startScenarios).
VoxEngine then starts AppEvents.Started.
Alternatively you can start the outbound flow against a call list for automated dialing see call lists for automated outbound calling.
Outbound calls have different methods depending on the destination channel (PSTN, SIP, WhatsApp, app user),
but the overall pattern is similar: trigger the call, listen for CallEvents.Connected, then set up the Voice AI client and media bridging.
The call methods require a callerId. For phone numbers this must be a verified caller ID or a purchased Voximplant number.
For WhatsApp, this must be a verified WhatsApp Business number.
Choose one of these options:
In manage.voximplant.com, open your application, go to Routing, choose the rule that points to your outbound scenario, then start it with script_custom_data that includes destination and caller ID.
Control Panel demo video: manage-run-rule.mp4
Use curl to call StartScenarios and pass the same script_custom_data JSON payload from your terminal.
If using the management API via curl or one of the management API Clients,
you will need to configure an API key
and create an authorization token.
AppEvents.Started entry pointVoxEngine.customData() to retrieve any information needed for the scenario, such as destination and caller ID to usecallPSTN, callUser, callSIP, callWhatsappUser)Disconnected, Failed, etc.) and handle as neededCallEvents.ConnectedVoxEngine.sendMediaBetween(...) for simple two-party bridgingcall.sendMediaTo(...) and connector.sendMediaTo(...) for more complex pipelinesWhen you need to dial many contacts, you can run your outbound scenario against an uploaded CSV number table and have each scenario execution pull the next destination.