Managing Contacts in Your Scripts

The key element in a Cisco Unified CCX script is a contact, which represents one form of connection with a remote customer. A contact can be a telephone call, an e-mail message, or an HTTP request.

Scripts use contacts to track connections through the system. The contact is established when the connection is made. The contact lasts until the connection is terminated, as when the script transfers or disconnects a telephone call, responds to an HTTP request, or sends an e-mail message.

The script performs actions on contacts through one or more of the following types of channels:

  • CTI port

  • CMT dialog channel

  • HTTP control channel

  • Cisco Unified ICME channel

  • MRCP dialog channel

  • E-mail control channel

  • Cisco Unified CCX channel

You can write scripts to use generic contacts, which are independent of the contact type. This allows you to create subflows that are independent of the way in which the call has originated (without regard, for example, to whether the call originated as an inbound or outbound call).

You can configure each step that acts on contacts to accept the implicit contact (by choosing the “-- Triggering Contact --” default) or to use a variable that can hold the handle to this contact. With the Get Trigger Info step of the Contact palette, the script can receive a handle to the implicit contact and save it as a Contact variable that the script can use later in steps or subflows.

You can use also use the Set Contact Info step of the Contact palette to mark the contact as Handled, which is important for reporting purposes.

Note

If you do not use the Set Contact Info step to mark contacts as Handled, real-time and historical reports may not show that the contact was successfully handled.

Using the functionality of the concept of a contact, you can design contact-neutral scripts that can contain small logic sections that can be independent of the type of contact.

Because you can keep a handle to a contact inside the script, you can design a script that manages more than one of these contacts at the same time. A single script can now be triggered in one way, create outbound calls, and then play prompts on each call individually. This feature offers a new range of possibilities. For an example of a script that handles multiple contacts, see Working with Multiple Contacts.