# Allow Users to Request a Callback in a Queue

Queue callback lets a caller leave the queue while holding on to their spot, then get a return call once an agent is free. Callers avoid dead time on hold, and you cut down on abandoned calls while keeping the queue running smoothly. You can offer the callback in two ways: as an option the caller triggers by pressing a key, or as an option the system offers automatically once the caller has waited too long.

## Offer callback when the caller presses a key

With this method, callers are told during the wait that they can press a specific key to request a callback whenever they choose.

1. Sign in to the PBX (Private Branch Exchange, your phone system's admin portal) web portal and open **Call Features > Queue**.
2. Click the edit icon ![Edit icon](/images/pbx/edit.png) next to the queue you want to change.
3. Open the **Preferences** tab and scroll to the **Callback** section.

   ![Callback settings for a queue with the caller-input trigger selected](/images/pbx/queue-callback-by-caller-input.jpg)

   a. Switch **Callback** on.
   b. Set **Request Callback Method** to **Triggered by caller input**.
   c. Choose a key from the **Digit to press** list. This is the key callers press while waiting to ask for a callback.

      :::caution
      The key you pick must not already be used by the queue's **Key Press Event**.
      :::

   d. Optional: In **Callback Outbound Prefix**, enter the prefix of the outbound route the system should use to place the callback.

      :::caution
      Every agent in the queue needs permission to use that outbound route. Without it, the callback fails.
      :::

   e. In the **Callback Timeout** list, set how long a callback request stays reserved in the queue. If no agent becomes available before this timeout expires, the request is dropped.

      :::note
      By default this matches the queue's Maximum Waiting Time (**Queue > Basic > Maximum Waiting Time(s)**). Select **Custom** to set your own period instead.
      :::
4. Open the **Basic** tab and scroll to the **Prompt** section to pick the announcement that tells callers which key to press.

   ![Periodic announcement settings in the queue prompt section](/images/pbx/queue-periodic-announcements.png)

   a. Choose an announcement from the **Periodic Announcement** list. The list contains the prompts you have already recorded or uploaded to the system.

      :::note
      If the announcement you need is not in the list, record or upload it to the system first, then return to this step. Only prompts that already exist can be selected here.
      :::
   b. Optional: In **Frequency (s)**, set how often the announcement replays.
5. Click **Save**, then **Apply**.

Callers can now press the chosen key at any point during the wait to request a callback.

## Offer callback automatically after a wait

With this method, the system waits until a caller has been in the queue for a set time, then plays the callback option to them without any action on their part.

1. Sign in to the PBX web portal and open **Call Features > Queue**.
2. Click the edit icon ![Edit icon](/images/pbx/edit.png) next to the queue you want to change.
3. Open the **Preferences** tab and scroll to the **Callback** section.

   ![Callback settings for a queue with the automatic timeout trigger selected](/images/pbx/queue-callback-by-timeout.jpg)

   a. Switch **Callback** on.
   b. Set **Request Callback Method** to **Auto triggered after the timeout**.
   c. In **Timeout (s)**, enter or select how long a caller waits before the system offers the callback.

      :::note
      - This value cannot be larger than the queue's **Maximum Waiting Time (s)**.
      - The timer starts the moment the caller reaches the queue.
      :::
   d. Optional: In **Callback Outbound Prefix**, enter the prefix of the outbound route the system should use to place the callback.

      :::caution
      Every agent in the queue needs permission to use that outbound route. Without it, the callback fails.
      :::

   e. In the **Callback Timeout** list, set how long a callback request stays reserved in the queue. If no agent becomes available before this timeout expires, the request is dropped.

      :::note
      By default this matches the queue's Maximum Waiting Time (**Queue > Basic > Maximum Waiting Time(s)**). Select **Custom** to set your own period instead.
      :::
4. Click **Save**, then **Apply**.

Once a caller has waited the set time, the system plays the callback option automatically, and the caller presses the offered key to request a callback.

## How a callback plays out

The following walkthrough shows the full callback flow from start to finish.

![Flow of a queue callback from request to connected call](/images/pbx/queue-callback-caller-method.png)

1. A caller reaches the queue, but no agent is free to take the call.
2. The caller requests a callback in one of two ways, depending on how the queue is configured:
   - They press the chosen key after hearing the periodic announcement.
   - They press the offered key once they have waited the set time.
3. The caller confirms a callback number and hangs up. Their position in the queue is held.

   :::note
   - The callback number defaults to the number the caller is calling from.
   - The caller can enter a different number instead. A callback number must be at least 5 digits.
   :::
4. When an agent becomes free, the system calls the agent and the caller in turn. Once both answer, the queue call is connected.

   :::note
   If no agent becomes available within the **Callback Timeout**, the callback request is cancelled.
   :::

## What to do next

- Turn on email alerts so queue managers are notified when a callback is requested or when one fails. See [Customize Queue Notification](/pbx/contact-center-guide/customize-queue-notification/).
- Review callback performance for the queue. See [Queue Callback Summary Report](/pbx/contact-center-guide/queue-callback-summary-report/) and [Queue Callback Activity Report](/pbx/contact-center-guide/queue-callback-activity-report/).
