Skip to content

Managing the Promise Queue

When the Voice AI makes a commitment to a caller - such as “we’ll send you a text with the price” or “someone will call you back within the hour” - it creates a promise. The Promise Queue tracks every promise, shows how long remains before the deadline, and lets staff mark promises as done. Keeping promises fulfilled on time builds customer trust and keeps your SLA metrics healthy.

  • You must have the voice.escalations.view capability.
  • Promises are created automatically by the Voice AI during calls. There is no way to manually create a promise.
  1. Select Voice from the main navigation, then select Promises. The page opens at /voice/promises.
  2. The page header reads “Promise Queue” with the subtitle “AI promises requiring fulfilment”.
  1. Each promise card shows a type badge. The five types are:
    • Immediate - something that should happen right away (for example, sending a text).
    • Scheduled - a commitment tied to a specific date and time.
    • Callback - someone needs to phone the customer back.
    • Auto-trigger - the system will fulfil this automatically when a condition is met.
    • Conditional - fulfilment depends on an external event or condition.
  1. Each promise also shows how it will be delivered:
    • SMS - fulfilment via text message.
    • WhatsApp - fulfilment via WhatsApp.
    • Email - fulfilment via email.
    • Manual callback - a staff member needs to phone the customer.
    • System - the system handles fulfilment automatically.

Understanding promise statuses and SLA timers

Section titled “Understanding promise statuses and SLA timers”
  1. Promises move through four statuses, shown as colour-coded badges:
    • Pending (grey) - the promise is active and within its SLA window.
    • Approaching (amber) - the deadline is getting close.
    • Overdue (red) - the deadline has passed without fulfilment.
    • Fulfilled (green) - the promise has been completed.
  2. Each active promise shows an SLA timer to the right of the badges. The timer counts down to the deadline and updates every 60 seconds.
  3. If a promise has no fixed deadline (condition-based), the timer area reads “Awaiting trigger” instead.
  4. The promise card’s left border changes colour to match its status: grey for pending, amber for approaching, red for overdue, green for fulfilled.
  5. Overdue cards also get a red-tinted background so they stand out in the list.
  1. Above the promise list, five filter buttons let you narrow the view: All, Overdue, Approaching, Pending, and Fulfilled.
  2. Select a filter to show only promises in that status. The URL updates so you can bookmark or share filtered views.
  1. Each card shows the following information in order:
    • Status badge - the current status (Pending, Approaching, Overdue, or Fulfilled).
    • Type badge - the promise type (Immediate, Scheduled, Callback, Auto-trigger, or Conditional).
    • Fulfilment mechanism badge - how the promise will be delivered (SMS, WhatsApp, Email, Manual callback, or System).
    • SLA timer - time remaining or “Awaiting trigger”.
    • Mark done button - appears for active promises (not fulfilled or cancelled).
    • Customer name - the name of the customer, or “Unknown customer” if not identified.
    • Description - what the AI committed to (for example, “Call back about MOT pricing”).
    • Assigned to - the staff member assigned, if any.
    • Created timestamp - when the promise was made, shown in UK format (for example, “01 Apr, 14:30”).
  1. The list sorts automatically by urgency. Overdue promises appear first, then approaching, then pending, then fulfilled. Within each group, promises with the nearest deadline appear first. Promises without a deadline sort last within their group.
  1. Find the promise you have fulfilled and click the Mark done button (pencil icon with “Mark done” text on larger screens).
  2. A success toast reading “Promise marked as done” confirms the action. The card moves to the fulfilled section and dims slightly.
  3. Marking done is a record-keeping action only. It does not send any message to the customer.
  1. Click anywhere on a promise card (except the Mark done button) to navigate to the call detail page at /voice/calls/{callId}.
  2. If no call is linked to the promise, a toast reading “No call associated with this promise” appears instead.
  1. Press Arrow Down or Arrow Up to move focus between promise cards.
  2. Press Home to jump to the first card, or End to jump to the last.
  3. Press Enter on a focused card to navigate to the call detail.
  1. If there are more promises than fit on one page, pagination controls appear at the bottom showing a total count, page number, and Prev / Next buttons.
  1. The list polls for updates every 30 seconds. After marking a promise as done, polling pauses briefly (5 seconds) to avoid overwriting your action. Switching browser tabs and returning also triggers a refresh.

You can see every commitment the AI has made, sorted by urgency. Overdue promises are impossible to miss. You can filter to focus on what needs attention, mark promises complete as you handle them, and click through to the related call for full context.

ProblemCauseFix
Page redirects to /dashboardMissing voice.escalations.view capabilityAsk your admin to add this capability to your role
”Unable to load promises. Please try again.” errorTemporary server-side data errorClick the Retry button that appears below the error message
SLA timer seems frozenTimer updates every 60 seconds, not in real timeWait up to 60 seconds for the next tick
Marking done fails with an error toastNetwork issue or the promise was already fulfilledRefresh the page and try again. If the card now shows Fulfilled, another user completed it
Empty state says “No promises to track right now”The AI has not made any commitments recentlyThis is normal. Promises appear automatically as the AI handles calls
  • SLA status transitions (pending to approaching, approaching to overdue) happen in real time on the client side between polling intervals. You do not need to wait for a server refresh to see a promise become overdue.
  • Fulfilled promise cards appear dimmed (reduced opacity) to visually separate them from active promises.
CapabilityRequired for
voice.escalations.viewViewing the Promise Queue and marking promises as done