Page an on-call technician from a Flow

Updated by Jake Gipson

Voice On-Call is a limited-availability feature in partner beta. Contact your Thread representative if you'd like to join the beta.

Voice On-Call is a Flow action that turns Voice AI into your after-hours paging layer. When a ticket matches your parameters set in the Flow, Thread places an outbound page call to the first person in your phone tree, then keeps working down the list at a fixed retry interval until a technician presses the accept key, someone acts on the ticket, or a safety cap ends the loop.

Use this page to configure the action inside a Flow.

Voice AI must already be set up with an outbound agent and at least one verified caller ID before you can add the action.

When to use it

Create a Voice On-Call flow when you want to notify technicians about tickets that match your use case, when they might not otherwise be looking at Thread or the PSA. This can be used to replace after hours call services or separate pager alert systems.

Common uses:

  • After-hours priority tickets that a shared on-call rotation should answer.
  • Critical alerts from monitoring tools where you want a phone tree to cascade.
  • SLA-risk tickets where a spoken page is more likely to break through than a chat message.

Prerequisites

Before you add the action to a Flow, confirm:

  • Voice AI is enabled and you have at least one outbound agent with a provisioned phone. See Voice AI outbound calling setup.
  • The outbound agent has at least one verified caller ID number. Unverified numbers cannot place a page.
  • Each technician you want in the phone tree has a reachable phone number, either on their Thread member profile or one you'll enter directly on the action.
The number that calls your techs is your verified Outbound caller ID. They should make sure this number is unblocked by any spam filters they might have on their device, or saved as a contact.

Add the action to a Flow

Open the Flow you want to page from

In Inbox, open Admin and go to Flows. Create a new flow and using the parameters that you would like to trigger a Call to your call tree. See tips at the bottom of this page.

Example:

Add the Voice On-Call action

In the Flow's action list, add Voice On-Call. The action sits under the Actions button and works for ConnectWise, Autotask, and HaloPSA tickets. 

If you don't see the action, the beta hasn't been enabled for your workspace yet. Contact your Thread representative to be added.

Pick the outbound agent and caller ID

Select the outbound agent that will place the call, then pick which of that agent's verified caller ID numbers the technician's phone should display. Both are required, and Thread rejects the save if the caller ID isn't verified or doesn't belong to the agent you chose.

Write the spoken message

In Message, write what Voice AI should say when the technician answers. Keep it short and specific. You can drop in merge tokens so each page is tailored to the ticket:

  • {{Ticket Number}}
  • {{Contact Name}}
  • {{Company}}
  • {{Summary}}
  • {{Board}}
  • {{Priority}}

Tokens are case-sensitive and must include the double braces exactly as shown.

Fill in Acknowledgement message with what Voice AI should say back after the technician accepts the page (for example, "Thanks — the ticket is now assigned to you").

Build the phone tree

Add the people or numbers to ring, in order. For each entry:

  • Choose a Thread member to attach the page to that technician, or enter a custom number for a shared line that calls multiple people. 
  • Enter the phone number to dial. Double check that the number is right if you pick a member, so the exact number that rings is the one you configured.
  • Pick the country dial code (for example, +1) if the number isn't already in international +E.164 format.
  • Optionally set Attempts per entry to ring the same number more than once before advancing (defaults to 3).
  • Set a Label shown in the ticket's audit trail (for example, George M. or Technician 1).
  • OPTIONAL: For each number, choose who the ticket gets assigned to when the call is accepted. 

Drag entries to reorder the cascade. Thread rings entries top-down.

Set retry, caps, and end-of-tree behavior

Tune how long the loop keeps going:

  • If using one phone number, you can set the call to ∞ to keep calling that number.
  • If using multiple numbers, the last number in the call tree can be set to to keep calling that last number.
  • Retry interval — how long Thread waits between calls. Minimum 300 seconds (5 minutes); defaults to 300.
  • Maximum total attempts — the maximum number of attempts we can make on a ticket is 50, so set up your tree to be less than 50 calls total or risk that the later parts of your tree won't get called.
  • Maximum duration — The call tree will stop ringing after the call is accepted, the call tree parameters end, or 24 hrs. Whatever happens first. 
  • End of tree — what to do after the last person in the tree doesn't answer:
    • Restart — go back to the top and cascade again. The attempt and duration caps still end the loop.
    • Stop — end the escalation.

Optionally set a status on acceptance

Under On acceptance, pick a Ticket status if you want Thread to move the ticket the moment a technician presses the accept key. Leave it blank to keep the ticket's status unchanged.

Save the Flow

Save the Flow. Thread validates the action at save time and returns a clear message if anything is missing (for example, an unverified caller ID or an empty phone tree).

Common setups:

  1. Call one on-call number until it's answered or the safety limit is reached.
    1. One person is on call OR the number you use is a ring group (in this case we won't be able to determine who specifically answered the call).
  2. Call multiple numbers in a cascade, with the last number being called until it gets answered or the safety limit is reached.
  3. Call multiple numbers in a cascade, and have it start at the beginning if no one answers.
  4. Call multiple numbers in a cascade, with the last number being a call center number that has to answer.

How the page call works

When a ticket matches the Flow, Voice AI dials the first entry in the phone tree from the caller ID you selected. The technician hears your spoken message, then chooses on the keypad:

  • Press 1 to accept the page.
  • Press 2 to hear the message again.

The accept and repeat keys are fixed at 1 and 2; they aren't configurable on the action.

When a technician accepts:

  • The escalation stops immediately.
  • Thread assigns the ticket to the accepting technician if the phone tree entry was tied to a Thread member.
  • Thread moves the ticket to the status you picked on acceptance, if you set one.
  • Voice AI speaks your acknowledgement message, if you set one.

If nobody answers, Thread waits the retry interval, then rings the next entry — or rings the same entry again if you set Attempts per entry higher than 1. When the cascade reaches the end of the tree, Thread follows the End of tree setting.

The loop always ends. Whichever caps you set, Thread stops calling once Maximum total attempts (50) or Maximum duration (24hrs) is reached, even when End of tree is set to Restart.

What stops an active page

Any of these ends the escalation without further calls:

  • A technician presses 1 to accept the page.
  • A technician uses the /ACTION command on the ticket.
  • The attempt or duration cap is reached.
  • The cascade finishes with End of tree set to Stop.

The stop reason is recorded on the ticket so you can see later why the loop ended.

Track escalations from the ticket

Every escalation writes internal notes to the ticket as it runs, so the audit trail lives in the same place as the rest of the work:

  • The page started, with the outbound agent, caller ID, and phone tree used.
  • Acceptance, human stop, cap hit, or cascade end — whichever ended the loop.
  • The accepting technician's name when someone presses accept.

Open the ticket in Inbox and read the notes timeline to see the escalation's history.

Setting up your Flow parameters

Voice On-Call is mainly going to be used for after hours tickets, however you can set it up for any parameters you'd like.

If using priority or categorization parameters, make sure that these AI features are set for all the sources, boards, and clients you would be looking to have trigger escalations. Misconfiguration or missing trigger phrases or words for certain priorities can have huge impacts to what tickets will trigger On-Call escalations.
Common parameter combinations for Voice On-Call:
  • Time/days: Set up multiple flows for each day/times that you have different on call schedules.
  • Priority: Alert based on high or emergent priorities.
  • Categories or Summary: Trigger based off of key words or phrases.
  • Contact/Client: Trigger for specific people (note: Voice will only trigger in these cases if the number calling is known in the PSA).
  • Status: Status is a good way to trigger escalation based on other flows if needed.
Examples
  1. Time: From 6PM to 9AM + Priority: Priority 1 Issues
  2. Day: Saturday AND Sunday + Priority: Priority 1 Issues
  3. Time: From 6PM to 9AM + Company A + Company B
Using Super Magic to Make Voice On-call Flows

You can use Super Magic to help you create an On-Call flow by describing your schedule or uploading an image.


How did we do?