How to Use the Forward-to-Variable Destination Node with ICA

Updated: 07/10/2025

Overview

This article describes the new Contact Center Script Node: Forward to Variable Destination in detail.
This script node allows Contact Center to transfer an inbound call to a phone number or PBX extension based on a custom variable in the Contact Center script.
This is for use with the new ICA Intelligent Directory.

Applies To

  • ICA Intelligent Directory
  • Forward to Variable Destination
  • 8x8 Contact Center
  • Scripts

Procedure

To set up the new variable to forward calls with ICA Intelligent Directory, you will need to do the following:
  1. Create a script and assign a phone number to it.
  2. Add a forward to external IVR node, which will go to the voice gateway. You will need to engage with 8x8 professional services to set up a connection to the voice gateway.
  3. After the forward to external IVR node, add in a test variable node.
  4. Create a custom variable in this node called _transferNumber and set this as a Number/String data type. 
  5. Set the variable condition to _transferNumber is not "EMPTY".
  6. In the True value of the test variable, add the Forward to Variable Destination node.
  7. Make the variable name the one we created earlier, _transferNumber. Your flow should look like this:

Transfer Flow in Cognigy

Now that the script is configured to forward to a user's number or extension, set your Cognigy flow to provide the data for the transfer variable. To do this:
  1. Go to the Cognigy platform.
  2. Click on the agent you need to hand over to 8x8.
  3. Expand the Build tab and click on Flows.
  4. Edit the flow you require to hand over to a Contact Center queue.
The above is a simple ICA flow to test the required functionality. Actual working flows may vary from this example.
Follow these are the steps to create this particular flow:
  1. Add a Say field. This is just an intro message to test that the call reached the system and is optional.
  2. Save the SIP Call ID (add to Context node) - this is required for the Data Augmentation API later. It's recommended that this be the first step in the flow.
  3. Set Transfer Number (add to Context node). This is just for testing purposes. In the full flow, the number would be obtained by confirming the contact and looking up their details.
  4. Use the HTTP request node to invoke the Data Augmentation API to set the required 8x8 Contact Center script variable (_transferNumber).
    • Important Notes:
      • The above cluster (vcc-eu3) is an example. This cluster value must be the cluster that the 8x8 Contact Center tenant is  actually hosted on.
      • The variable {{context.cid}} was saved in step 2 above.
      • Below, the payload is JSON, and variable _transferNumber is being set to {{context._transferNumber}} as saved in step 3 above.
      • Below, we need to set basic authentication for the HTTP request. A new connection will need to be created for this.
      • The username is the Contact Center Tenant, and the password is the Contact Center Tenant Action Token. This is accessible in Contact Center Configuration Manager.

         
  5. Sleep: This has been added to allow the API call to complete before disconnecting it from the Voice Gateway. Hanging up the call in the ICA flow hands control back to the Contact Center Script Resume step.