Every order a call rule picks up becomes a job with a state (where it is in its journey) and, once finished, an outcome (how it ended). The main outcomes are confirmed, cancelled, no_input and unreachable. The Orders screen shows both, and you can attach outcome actions to each outcome.
States#
| State | Meaning |
|---|---|
| Scheduled | Waiting for its next call: the delay, a retry gap, the calling window, or a temporary problem such as a low wallet |
| Dialing | A call is in progress |
| Settled | Finished with an outcome |
| Cancelled | Stopped before it finished: the order was cancelled or paid on the store, or you cancelled the job |
| Skipped | Never called: it didn't match the conditions, had no valid Indian phone number, or the number is on your do-not-call list |
Outcomes#
| Outcome | Shown as | Meaning |
|---|---|---|
confirmed |
Confirmed | Customer pressed 1 and the store accepted the confirmation |
cancelled |
Cancelled | Customer pressed 2 and the store cancelled the order |
no_input |
No input | Customer answered but didn't press a key, after the last attempt |
unreachable |
Unreachable | No answer, busy or failed on every attempt |
expired |
Expired | The give-up time passed before the order was confirmed |
action_failed |
Update failed | Customer chose, but the store update failed. It is retried in the background |
confirmed_elsewhere |
Confirmed elsewhere | The order was already confirmed on the store before the call |
cancelled_elsewhere |
Cancelled elsewhere | The order was already cancelled on the store |
order_not_found |
The store no longer has the order (only for integrations where we check the order before calling) |
How an outcome is decided#
| What happened on the last call | Outcome |
|---|---|
| Answered, pressed 1, store accepted | confirmed |
| Answered, pressed 2, store accepted | cancelled |
| Answered, pressed a key, store update failed | action_failed |
| Answered, no key | no_input, or a retry if "Answered but no key pressed" is a retry reason and attempts are left |
| No answer, busy or failed | A retry if attempts are left and the give-up time has not passed, else unreachable |
confirmed_elsewhere and cancelled_elsewhere apply when the store already shows the order as confirmed or cancelled when we check it.
Each order's timeline#
Open an order on the Orders screen to see:
- the order (name, number, customer, masked phone, COD amount, payment method)
- a timeline: event received, scheduled or skipped, each call, each store request, and the final outcome
- every call with its start time, status, the keys pressed, the outcome and the duration
- the store request behind each action, with its response
The outcome_detail text explains the last step in plain words, for example "calling (attempt 2 of 3)" or "waiting: wallet balance is too low".