--- title: "Enable Queued Callback" slug: "enable-queued-callback" updated: 2026-07-23T10:06:34Z published: 2026-07-23T10:06:34Z canonical: "help.8x8.com/enable-queued-callback" --- > ## Documentation Index > Fetch the complete documentation index at: https://help.8x8.com/llms.txt > Use this file to discover all available pages before exploring further. # Enable Queued Callback The **8x8 Contact Center** Queued Callback allows callers waiting in a call queue to opt out of the queue and be called back when an agent becomes available This feature which is configured in **8x8 Configuration Manager**, detects the caller's phone number or allows the caller to input the callback number before exiting the queue. The system retains the queue position of the call and offers an outbound call to an available agent serving the queue. When the agent accepts the call, the call is dialled out to the caller using the callback number. The call is routed through an outbound queue. ## Features - Allows callers to opt for a callback rather than wait in the queue, ensuring they are called back once an agent is free. - The queue position is maintained if the caller opts to leave the queue for a callback. - The callback is initiated as soon as an agent is available. - Detects the caller’s phone number or allows the caller to enter the callback number before leaving the queue - The system preserves the caller's position in the queue and initiates an outbound call to an available agent assigned to that queue. > [!NOTE] > Note: > > For fair callback management, it is advisable to create a distinct callback queue for each inbound queue rather than a single general queue for all. In addition, to ensure equitable treatment, the priority of the callback queue should not exceed that of the inbound queue. - The caller can enter the preferred callback number or caller's phone number (ANI) is used. - Callback is initiated as soon as an agent is available. - Duplicated callback requests are not registered within the same callback queue. Specifically, we prevent duplicates based on the callback queue system. If a customer requests a callback in different callback queues, each request will be registered separately. However, a callback request from the same customer will not be registered more than once in the same callback queue ## Use case Extending the use case, AcmeHealth offers callers the option to receive a callback from the advise nurse team for a better experience. In addition to the exit choices of operator assistance and leaving a message for the care team, the caller is given a choice to be called back by the advise nurse team. If a caller opts to be called back, he is prompted to input the callback phone number. This number is then restated for confirmation. The following diagram shows the updated call flow for Queued Callback ![Queued Callback call flow](https://cdn.us.document360.io/e3a59e39-abd3-4423-964c-0a4008dc5673/Images/Documentation/vq08.png?sv=2026-02-06&spr=https&st=2026-11-03T22%3A17%3A58Z&se=2026-11-03T23%3A17%3A58Z&sr=c&sp=r&sig=8H1%2BT714tMwkk1J26tTyVEgR5VH4VO%2FB9Y0KwBm9sWA%3D) To enable call back, **8x8 Contact Center** IVR offers the following scripting capabilities: - Get Value supports an additional parameter to collect the caller's phone number - Callback object supports calling the customer back after the caller exits the queue, by initiating an outbound call when an agent serving the queue is available. ## Add Callback option to an IVR script The example below is an IVR script featuring a callback option based on a scenario with separate queues for the available Sales, Support, and Callback options. ![Example of an IVR script featuring a callback option](https://cdn.us.document360.io/e3a59e39-abd3-4423-964c-0a4008dc5673/Images/Documentation/ivr-script-callback-ex.png?sv=2026-02-06&spr=https&st=2026-11-03T22%3A17%3A58Z&se=2026-11-03T23%3A17%3A58Z&sr=c&sp=r&sig=8H1%2BT714tMwkk1J26tTyVEgR5VH4VO%2FB9Y0KwBm9sWA%3D) Here is the flow for creating an IVR script that includes a callback option: - Define [inbound phone queue properties](/documentation/docs/content-define-inbound-phone-queue-properties) or [outbound queue properties](/documentation/docs/content-define-outbound-phone-queue-properties). - [Set new variables](/documentation/docs/content-enable-queued-callback#set-new-variables). - [Add new variables in the script](/documentation/docs/content-enable-queued-callback#add-new-variable). - [Define routing calls based on the contact center program](/documentation/docs/content-enable-queued-callback#route-calls-based-on-cc-program). - [Define routing calls during business hours](/documentation/docs/content-enable-queued-callback#route-calls-during-business-hours). - [Route the phone interactions to the Support queue (digit1)](/documentation/docs/content-enable-queued-callback#forward-calls-to-support-queue). - [Route the phone interactions to the Sales queue (digit 2)](/documentation/docs/content-enable-queued-callback#forward-calls-to-sales-queue). - [Design the menu options for unassigned digit](/documentation/docs/content-enable-queued-callback#define-menu-options-for-unassgined-digit). - [Define the menu options for empty digit](/documentation/docs/content-enable-queued-callback#define-menu-options-for-empty-difit). - [Define routing calls outside business hours](/documentation/docs/content-enable-queued-callback#route-calls-outside-business-hours). - [Define routing calls when the contact center is closed due to unforeseen circumstances](/documentation/docs/content-enable-queued-callback#route-calls-when-cc-is-closed-due-to-unforeseen-circumstances). - [Define the callback option (digit #6)](/documentation/docs/content-enable-queued-callback#define-callback-option). - [Test variables for anonymous numbers](/documentation/docs/content-enable-queued-callback#test-variables-for-anonymous). ![Example of a callback IVR script - Forward the phone interactions to the Support queue (digit1)](https://cdn.us.document360.io/e3a59e39-abd3-4423-964c-0a4008dc5673/Images/Documentation/ivr-script-callback-ex-1.png?sv=2026-02-06&spr=https&st=2026-11-03T22%3A17%3A58Z&se=2026-11-03T23%3A17%3A58Z&sr=c&sp=r&sig=8H1%2BT714tMwkk1J26tTyVEgR5VH4VO%2FB9Y0KwBm9sWA%3D) ![Example of a callback IVR script - Forward the phone interactions to the Sales queue (digit 2)](https://cdn.us.document360.io/e3a59e39-abd3-4423-964c-0a4008dc5673/Images/Documentation/ivr-script-callback-ex-2.png?sv=2026-02-06&spr=https&st=2026-11-03T22%3A17%3A58Z&se=2026-11-03T23%3A17%3A58Z&sr=c&sp=r&sig=8H1%2BT714tMwkk1J26tTyVEgR5VH4VO%2FB9Y0KwBm9sWA%3D)![Example of a callback IVR script - Route the phone interactions to callback (digit #6)](https://cdn.us.document360.io/e3a59e39-abd3-4423-964c-0a4008dc5673/Images/Documentation/ivr-script-callback-ex-3.png?sv=2026-02-06&spr=https&st=2026-11-03T22%3A17%3A58Z&se=2026-11-03T23%3A17%3A58Z&sr=c&sp=r&sig=8H1%2BT714tMwkk1J26tTyVEgR5VH4VO%2FB9Y0KwBm9sWA%3D) **To add a callback option to an IVR script:** 1. Define [inbound phone queue properties](/documentation/docs/content-define-inbound-phone-queue-properties).or [outbound queue properties](/documentation/docs/content-define-outbound-phone-queue-properties). 2. Click **View Variables** in the upper right corner to add new variables such as _calback_menu and _main_menu to the script. These variables help prevent a potential infinite loop. 3. Click **Add Variables** under the variables list: ![Add variables to a script](https://cdn.us.document360.io/e3a59e39-abd3-4423-964c-0a4008dc5673/Images/Documentation/ivr-script-add-variables.png?sv=2026-02-06&spr=https&st=2026-11-03T22%3A17%3A58Z&se=2026-11-03T23%3A17%3A58Z&sr=c&sp=r&sig=8H1%2BT714tMwkk1J26tTyVEgR5VH4VO%2FB9Y0KwBm9sWA%3D) - Enter the variable name **_calback_menu** and select **Number/string** under **Data type**. - Repeat for the next variable **_main_menu**. - Click **OK.** 4. Add a **Set Variable** object to configure the _callback_menu variable. Enter the object name and choose the **_callback_menu** variable name from the list. Set **Value** to **0**. This variable helps prevent a potential infinite loop. ![Set Variable - Set a new variable to prevent a potential infinite loop](https://cdn.us.document360.io/e3a59e39-abd3-4423-964c-0a4008dc5673/Images/Documentation/ivr-script-callback-set-variable.png?sv=2026-02-06&spr=https&st=2026-11-03T22%3A17%3A58Z&se=2026-11-03T23%3A17%3A58Z&sr=c&sp=r&sig=8H1%2BT714tMwkk1J26tTyVEgR5VH4VO%2FB9Y0KwBm9sWA%3D) 5. Add a new **Set Variable** object to configure the _main_menu variable. Enter a tag name and choose the **_main_menu** as variable name from the list. Set **Value** to **0**. This variable helps prevent a potential infinite loop. 6. Add a **Schedule** object to define routing for received emergency calls based on the contact center program. Select the **Default Schedule** option. 7. Click **Open** and add a **Schedule** object to define routing for received emergency calls during business hours. Select the **Business Hours** schedule. 8. Click **Open** and add a welcome **Say** object. Enter a welcome text you want to play to your caller. ![Say object - Welcome the customer](https://cdn.us.document360.io/e3a59e39-abd3-4423-964c-0a4008dc5673/Images/Documentation/ivr-script-callback-say-welcome.png?sv=2026-02-06&spr=https&st=2026-11-03T22%3A17%3A58Z&se=2026-11-03T23%3A17%3A58Z&sr=c&sp=r&sig=8H1%2BT714tMwkk1J26tTyVEgR5VH4VO%2FB9Y0KwBm9sWA%3D) 9. Add a **Label** object to mark the main menu sequence. 10. Add a **Say** object before to prompt for digit tone input for the Main menu . Enter the text you want to play to your caller. Select **Interruptible (input captured)** as a playback option to allow the caller to interrupt the message. 11. Add a **Get Digit** object to get menu options. Enter a tag name and an empty timeout. 12. Click **1** and add a **Forward to queue** object to route the phone interaction to the Support queue. Enter a tag name and choose the target phone queue to receive the call. Enter the number of seconds the call waits in the queue. ![Forward to queue object - Forward the phone interaction to a specific phone queue](https://cdn.us.document360.io/e3a59e39-abd3-4423-964c-0a4008dc5673/Images/Documentation/ivr-script-callback-forward-to-queue.png?sv=2026-02-06&spr=https&st=2026-11-03T22%3A17%3A58Z&se=2026-11-03T23%3A17%3A58Z&sr=c&sp=r&sig=8H1%2BT714tMwkk1J26tTyVEgR5VH4VO%2FB9Y0KwBm9sWA%3D) 13. Click **in queue** and add a **loop** object to define multiple in-queue treatments using time intervals. These treatments are repeated for a specified number of times. Enter a tag name and the number of repetitions. 14. Click **in queue** and add a **time interval** object to define multiple in-queue treatments, which are repeated for a given duration. Enter a tag name and the minimum duration for the in-queue treatment. [](https://cdn.us.document360.io/e3a59e39-abd3-4423-964c-0a4008dc5673/Images/Documentation/ivr-script-callback-time-interval.png?sv=2026-02-06&spr=https&st=2026-11-03T22%3A17%3A58Z&se=2026-11-03T23%3A17%3A58Z&sr=c&sp=r&sig=8H1%2BT714tMwkk1J26tTyVEgR5VH4VO%2FB9Y0KwBm9sWA%3D)![Time interval object - Define multiple in-queue treatments, which are repeated for a given duration](https://cdn.us.document360.io/e3a59e39-abd3-4423-964c-0a4008dc5673/Images/Documentation/ivr-script-callback-time-interval.png?sv=2026-02-06&spr=https&st=2026-11-03T22%3A17%3A58Z&se=2026-11-03T23%3A17%3A58Z&sr=c&sp=r&sig=8H1%2BT714tMwkk1J26tTyVEgR5VH4VO%2FB9Y0KwBm9sWA%3D) 15. Add two additional time interval objects as described in the previous step. 16. Add a **Say** object to inform the caller all the agents are busy, but they can press 1 to request a callback. Select **Interruptible (input captured)** as a playback option to allow the caller to interrupt the message. 17. Add a **Get Digit** object to request digit tone input for the callback. Enter a name and an empty timeout. 18. Click **1** and add a **Go to** object to redirect the script to continue running at the **Callback Request** label (location in the script). 19. Click **queue timeout** and add **Forward to Voice Mail queue** object to transfer phone interactions to a selected voicemail queue. Enter a tag name and a queue name, such as Support VM queue. 20. Click **overload** and add a **Go to** object to redirect the script to continue running at the **Emergency** label (location in the script). 21. Click **2** and add a **Forward to queue** object to route the phone interaction to the Sales queue. Choose the target phone queue to receive the call and Enter the number of seconds the call waits in the queue. ![Forward to queue object - Forward the phone interaction to a specific phone queue](https://cdn.us.document360.io/e3a59e39-abd3-4423-964c-0a4008dc5673/Images/Documentation/ivr-script-callback-forward-to-queue-sales.png?sv=2026-02-06&spr=https&st=2026-11-03T22%3A17%3A58Z&se=2026-11-03T23%3A17%3A58Z&sr=c&sp=r&sig=8H1%2BT714tMwkk1J26tTyVEgR5VH4VO%2FB9Y0KwBm9sWA%3D) 22. Click **in queue** and add three **time interval** objects to define multiple in-queue treatments, as described in step 14. 23. Add a **Say** object to inform the caller all the agents are busy and hold until an agent is available. Select **Interruptible (input captured)** as a playback option to allow the caller to interrupt the message. 24. Click **queue timeout** and add a **Forward to Voice Mail queue** object to transfer phone interactions to a selected voicemail queue. Enter a tag and queue names, such as Sales VM queue. 25. Click **overload** and add a **Go to** object redirect the script to continue running at the **Emergency** label (location in the script). 26. Click **unassigned digit**, add and configure a **Set Variable** object **[Main Menu]**. Choose the **_main_menu(num/str)** variable name from the list. Set **Value** to **_main_menu(num/str) +1**. ![Set Variable object for unassigned digit - Add a new variable Main Menu](https://cdn.us.document360.io/e3a59e39-abd3-4423-964c-0a4008dc5673/Images/Documentation/ivr-script-callback-set-variables-main-menu-2.png?sv=2026-02-06&spr=https&st=2026-11-03T22%3A17%3A58Z&se=2026-11-03T23%3A17%3A58Z&sr=c&sp=r&sig=8H1%2BT714tMwkk1J26tTyVEgR5VH4VO%2FB9Y0KwBm9sWA%3D) 27. Add and configure a **Test Variable** object **[Test main menu]** to define the treatment for callers for the main menu. Set **Condition** to **_main_menu(num/str) = 3**, meaning that it will repeat this 3 times. ![Test Variable object for unassigned digit brunch - Define the treatment for callers for the main menu](https://cdn.us.document360.io/e3a59e39-abd3-4423-964c-0a4008dc5673/Images/Documentation/ivr-script-callback-test-variable-2.png?sv=2026-02-06&spr=https&st=2026-11-03T22%3A17%3A58Z&se=2026-11-03T23%3A17%3A58Z&sr=c&sp=r&sig=8H1%2BT714tMwkk1J26tTyVEgR5VH4VO%2FB9Y0KwBm9sWA%3D) 28. Click **True** and add a **Go to** object to redirect the call to the **Default termination** label (location). 29. Click **False** and add a **Go to** object to redirect the call to the **Main Menu** label (location). 30. Click **Empty**, add and configure a **Set Variable** object **[Main Menu]**. Choose the **_main_menu(num/str)** variable name from the list. Set **Value** to **_main_menu (num/str) +1**. 31. Add a **Test Variable** object **[Test Main Menu]** to define the treatment for callers for the main menu. Set **Condition** to **_main_menu(num/str) = 3**, meaning that it will repeat this 3 times. 32. Click **True** and add a **Go to** object to redirect the **Default termination** label (location). 33. Click **False** and add a **Go to** object to redirect the **Main Menu** label (location ). 34. Click **Close** under **Schedule [BH schedule]** to perform a particular sequence of script operations for received calls outside business hours. 35. Add a **Say** object to inform callers the contact center is closed (outside business hours). 36. Click **Close** under **Schedule [Emergency Schedule]** to define routing for emergency calls received while the contact center is closed due to unforeseen circumstances. 37. Add an **Emergency** label. 38. Add an emergency **Say** object to inform callers that the contact center is closed due to unforeseen circumstances. 39. Click **#6** to define the callback option and add a **Hang Up** object. 40. Add a **Callback Request]** label. 41. Add a **Say** object to request the caller phone number. 42. Add a **Say** object to return the caller's phone number for verification. Set the value to play to **$callerPhoneNumber (num/str)=anonymous**. ![Say object - Return the phone number to the caller for verification](https://cdn.us.document360.io/e3a59e39-abd3-4423-964c-0a4008dc5673/Images/Documentation/ivr-script-callback-say-caller-numner-6.png?sv=2026-02-06&spr=https&st=2026-11-03T22%3A17%3A58Z&se=2026-11-03T23%3A17%3A58Z&sr=c&sp=r&sig=8H1%2BT714tMwkk1J26tTyVEgR5VH4VO%2FB9Y0KwBm9sWA%3D) 43. Add a **Test Variable [test anonymous]** object to check whether the caller's phone number is anonymous. Set **Condition** to **$callerPnoneNumber=anonymous**. ![Test Variable object - check whether the caller's phone number is anonymous](https://cdn.us.document360.io/e3a59e39-abd3-4423-964c-0a4008dc5673/Images/Documentation/ivr-script-callback-test-variable-anonymous-6.png?sv=2026-02-06&spr=https&st=2026-11-03T22%3A17%3A58Z&se=2026-11-03T23%3A17%3A58Z&sr=c&sp=r&sig=8H1%2BT714tMwkk1J26tTyVEgR5VH4VO%2FB9Y0KwBm9sWA%3D) 44. Add a **Label** object for confirmation: **[1 to confirm, 2 to reenter]**. 45. Add a **Say** object to inform the caller of the necessary actions. Enter the text you want to play to your caller, such as “If yes, press 1. If you want us to call you on another number, please press 2”. Select **Interruptible (input captured** as a playback option to allow the caller to interrupt the message. 46. Add a **Get Digit** object for confirmation. 47. Click **1** and add the **Callback** object to redirect the call to the callback process. Configure the following parameters: ![Callback object - Redirect the call to the Callback process](https://cdn.us.document360.io/e3a59e39-abd3-4423-964c-0a4008dc5673/Images/Documentation/ivr-script-callback-callback-6-1.png?sv=2026-02-06&spr=https&st=2026-11-03T22%3A17%3A58Z&se=2026-11-03T23%3A17%3A58Z&sr=c&sp=r&sig=8H1%2BT714tMwkk1J26tTyVEgR5VH4VO%2FB9Y0KwBm9sWA%3D) - **Queue name**: Select an existing outbound queue to route the call. - **Call back CLI**: Select a channel number for outbound caller ID. Using the **[Current Channel]** option, you can display the caller's original channel number as the caller ID for the callback. - **Dial plan**: Select the **international dial plan VOVCC,** from the list to avoid any issues. - Under **Callback parameters**, specify the number of retries and the duration for time out: - **Callback tries**: Select the number of attempts to call back. - **Callback retry delay**: Specify the callback retry attempts in seconds or minutes. - **Cancel callback after**: Enter the duration in seconds, minutes, or hours. The requested callback remains in an outbound queue for the duration of that time. Any callback attempt is prevented after the time expires. The callback request is removed from the outbound queue after the Cancel Callback duration has expired. 48. Click **callback queued** and add a **Say** object to inform the caller about their call status. Enter a name for the object and the text you want to play to your caller, such as “Your callback has been queued. A member of our team will call you as soon as possible. thank you”. 49. Click **2** and add a **Callback retry** label. 50. Add a **Say** object to request the caller to add a new number. Enter a tag name and the text you want to play to your caller, such as “Please enter your new number”. Select **Interruptible (input captured** as a playback option to allow the caller to interrupt the message. 51. Add a **Get value** object to the caller's phone number. Set **Data to collect** to **Customers: Phone Number**. ![Get Value object - Get the caller's phone number](https://cdn.us.document360.io/e3a59e39-abd3-4423-964c-0a4008dc5673/Images/Documentation/ivr-script-callback-get-value-phone-number-6-2.png?sv=2026-02-06&spr=https&st=2026-11-03T22%3A17%3A58Z&se=2026-11-03T23%3A17%3A58Z&sr=c&sp=r&sig=8H1%2BT714tMwkk1J26tTyVEgR5VH4VO%2FB9Y0KwBm9sWA%3D) 52. Click **contact found** and add a **Say** object to request the caller to check their phone number. Enter a tag name and the text you want to play to your caller, such as “Is this the right number?”. 53. Add a **Say** object to return the caller’s callback number for verification. Enter a tag name and set the **Value to play** to **$callback phone number**. 54. Add a **Go to** object to confirm the number. Choose **1 to confirm 2 to reenter** destination. 55. Click **unassigned digit** and add and configure a **Set Variable** object **CB Menu** . Enter the tag name, such as **CM_Menu**. Choose the **_callback_manu (num/str)** variable name from the list. Set **Value** to **_callback_manu (num/str) +1**. ![Set Variable for unassigned digit - Add a new variable CB Menu](https://cdn.us.document360.io/e3a59e39-abd3-4423-964c-0a4008dc5673/Images/Documentation/ivr-script-callback-set-variable-unassigned-6.png?sv=2026-02-06&spr=https&st=2026-11-03T22%3A17%3A58Z&se=2026-11-03T23%3A17%3A58Z&sr=c&sp=r&sig=8H1%2BT714tMwkk1J26tTyVEgR5VH4VO%2FB9Y0KwBm9sWA%3D) 56. Add and configure a **Test Variable** object **CM Menu menu**. Set **Condition** to **_callback_menu (num/str = 3**. ![Test Variable object for unassigned digit brunch - Set condition to test](https://cdn.us.document360.io/e3a59e39-abd3-4423-964c-0a4008dc5673/Images/Documentation/ivr-script-callback-test-variable-unassigned-6.png?sv=2026-02-06&spr=https&st=2026-11-03T22%3A17%3A58Z&se=2026-11-03T23%3A17%3A58Z&sr=c&sp=r&sig=8H1%2BT714tMwkk1J26tTyVEgR5VH4VO%2FB9Y0KwBm9sWA%3D) 57. Click **True** and add a **Go to** object to redirect the **Default termination** label (location). 58. Click **Empty** and add a **Set Variable** object **CB Menu** . Enter the tag name, such as **CM_Menu**. Choose the **_callback_manu (num/str)** variable name from the list. Set **Value** to **_callback_manu (num/str) +1**. 59. Add and configure a **Test Variable** object **CM Menu menu**. Set **Condition** to **_callback_menu (num/str = 3**. 60. Click **True** and add a **Go to** object to redirect the **Default termination** label (location). 61. Click **Empty** and add a **Set Variable** object **CB Menu** . Enter the tag name, such as **CM_Menu**. Choose the **_callback_manu (num/str)** variable name from the list. Set **Value** to **_callback_manu (num/str) +1**. 62. Add a **Default termination** label. 63. Save the script and assign it to a channel.