Outbound reminder call with confirm / reschedule / cancel - all outcomes stored per appointment. XML elements used:Documentation Index
Fetch the complete documentation index at: https://docs.vobiz.ai/llms.txt
Use this file to discover all available pages before exploring further.
<Speak>, <Gather inputType=dtmf numDigits=1>, <Redirect>, <Hangup>
View on GitHub
Clone and run the full working example
Getting started
Overview
A CRM or booking system triggers outbound reminder calls before appointments. The callee presses 1 to confirm, 2 to request a reschedule, or 3 to cancel (with a double-confirm step). All outcomes are stored and queryable via API with bulk scheduling support.Status lifecycle:
pending → calling → confirmed / reschedule_requested / cancelled / no_answer. Cancel via API before the call fires: aborted.Call flow
Vobiz webhooks
Set/answer as the Answer URL in your Vobiz application.
| Method | Path | Description |
|---|---|---|
| POST | /answer | Reads reminder, collects DTMF |
| POST | /appt-choice | Routes 1=confirm / 2=reschedule / 3=cancel |
| POST | /appt-cancel-confirm | Double confirms cancellation |
| POST | /hangup | Marks no_answer if no digit was pressed |
App API
| Method | Path | Description |
|---|---|---|
| POST | /appointments | Schedule a single reminder call |
| POST | /appointments/bulk | Schedule multiple at once (JSON array) |
| GET | /appointments | List all with outcomes (?status= to filter) |
| GET | /appointments/{id} | Single appointment status |
| PATCH | /appointments/{id}/cancel | Cancel before call is made |
| GET | /appointments/stats | Outcome breakdown by status |
Environment variables
| Variable | Required | Description |
|---|---|---|
VOBIZ_AUTH_ID | Yes | Vobiz account auth ID |
VOBIZ_AUTH_TOKEN | Yes | Vobiz account auth token |
FROM_NUMBER | Yes | Your Vobiz DID |
HTTP_PORT | No | Server port (default: 8000) |
PUBLIC_URL | No | Production URL - skips ngrok if set |
NGROK_AUTH_TOKEN | No | ngrok auth token for local dev |