Jump to: navigation, search

Context Services Template

This application demonstrates the use of Context Services blocks in various workflows.  An interaction with a customer can be interrupted for various reasons -- the customer hanging up, a lost connection, and so on. When the customer calls back to the contact center, the interrupted services can be retrieved and completed. This sample contains workflows that demonstrate completing an active service, resuming a service, and updating the customer profile.

Complete Active Service Workflow

 This workflow identifies a customer based on the ANI. If the customer is found, all active services associated to that customer are queried for and completed. Pre-requisites: The prerequisites are as follows:

  • Set the ANI correctly since it is used to identify the customer.
  • Define an identification key in Universal Contact Server to allow the customer to be identified by PhoneNumber.
  • Set Context Services Preferences in Composer.

The workflow does the following:

  1. Identifies the customer with the Identify Customer block:
  • Identifies by setting the customer attributes to be used to search for the customer. Here, the phone number is matched to the inbound ANI.
  • Specifies the name of the key to be used for lookups (idPhoneNumber). This key must be defined in Universal Contact Server (UCS).
  • Gets the Customer Count and Customer Data information from UCS and assigns the information to variables.
  1. Determines the uniqueness of the identified customer. Using the Branching block to check whether the number of customer records returned by Universal Contact Server is 1.
  2. Assigns the CustomerID to a variable using the Assign block. If the customer is unique, gets the CustomerID from the customer data retrieved from Universal Contact Server.
  3. Queries the active services for the customer using the Query Services block:
  • Sets the Service Identifier to the CustomerID.
  • Sets the Service Status to Active.
  • Stores the Service Data results is in an application variable.
  1. Assigns the Service ID using the ECMAScript block. Retrieves the ServiceID from the Service Data.
  2. Determines if the retrieved service is active using the Branching block. Determines if the ServiceID is defined.
  3. Completes the active service using the Complete Service block

Resume Active Service Workflow

This workflow identifies a customer based on the ANI. If the customer is found, the active service associated to that customer is queried for and the active state within that active service is completed and a new state within the service is entered. Pre-requisites: The prerequisites are as follows:

  • Set the ANI correctly since it is used to identify the customer.
  • Define an identification key in Universal Contact Server to allow the customer to be identified by PhoneNumber.
  • Set Context Services Preferences in Composer.

This workflow does the following:

  1. On the right side, Identify Customer, ECMAScript, Query Services, and Branch blocks are similar to ones described above for the Complete Active Service workflow.
  2. Continuing with the right side of the workflow, a new service is started with the Start Service block if an existing active service is not found. The Identifier is set to the customer ID previously retrieved in the Identify Customer Service block.
  3. An ECMAScript block assigns the active service ID to a variable.
  4. Using the ECMAScript block results, a Branching block determines if an active state exists for the service.
  5. A Complete Services block sets the Service ID to complete the active service.
  6. On the left side of the workflow, a Query Services block queries an anonymous service using the ANI as contact key if the customer is not found:
  • Set the ANI as the contact key in the Identifier property.
  • Set the Service Elements to Active States.
  • Store the Service Data in an application variable.
  1. A Branching block determines if the service data retrieved from the Query Services block is defined.
  2. A Start Service block starts a new service if no anonymous active service is found:
  • Set the Identifier to the ANI.
  • Store the Service ID in an application variable.
  1. An Enter State block causes the service to enter a new state:
  • Set the Service ID.
  • Set the previous State ID.
  • Set the State Type property to filter for the specific Service State type.

Update Profile Workflow

This workflow identifies a customer based on the ANI. If the customer is found, the contact setting of the customer profile is updated by setting the medias/voice extension attribute value to true. Pre-requisites: The prerequisites are as follows:

  • Set the ANI correctly since it is used to identify the customer.
  • Define an identification key in Universal Contact Server to allow the customer to be identified by PhoneNumber.
  • Define the medias customer profile extension in Universal Contact Server and that extension should have the Boolean attribute voice defined.
  • Configure Context Services Preferences in Composer.

This workflow does the following:

  1. The first two blocks Blocks are described in the previous Complete Active Services workflow.
  2. An Assign block saves the CustomerID and customer data information:
  • Retrieve and assign the CustomerData to an application variable
  • Retrieve and assign the CustomerID to an application variable
  1. An Update Customer block updates the customer profile:
  • Specify the extension customer profile data. Select the medias extension and set the voice attribute to true.
  • Set the CustomerID.
  • Select the Insert Extension operation to insert the extension record.
This page was last edited on July 23, 2013, at 20:15.
Comments or questions about this documentation? Contact us for support!