Developer Settings

Add a Virtual Agent Dialogflow platform

Dialogflow ES (Legacy): This platform only supports agent setup for Chat channels. Select this option to onboard Virtual Agents built using Dialogflow ES.

Dialogflow CX - Chat, Voice: This option supports agent setup for both Chat and Voice channels. Agent interactions are limited to basic functions such as conversational exchanges and dynamic data handling. DTMF for Voice is not supported. Select this option to onboard Virtual Agents built using Dialogflow CX.

Dialogflow CX - Voice: This option only supports Agent setup for Voice channels. Agent interactions include advanced functions such as DTMF support, consumer barge-in, CCAI Insights tracking, and many others. Select this option to onboard Virtual Agents built using Dialogflow CX.

  1. Go to Settings > Developer Settings > Virtual Agent.

  2. Click + Add Platform.

    The Add a Virtual Agent platform dialog appears. ld

  3. Enter a name for the new platform.

  4. Select from the following services:

    Dialogflow ES (Legacy)ld

    Dialogflow CX - Chat, Voice

    Dialogflow CX - Voice

  5. Click Create.

API credential management

The Credential Management interface is available at Settings > Developer Settings > API.

Use your subdomain (without the https://) as the username. For example, if the URL you visit is https://NAME.domain.com then the subdomain value for your username is NAME.

Create as many API credentials as you need for internal use.

Please be aware that some third-party integrations require the creation of API credentials.

As a result, depending on the integrations you have, you may already see API credentials configured for Advanced Reporting, or others.

If you lose or forget your token, you can regenerate the token. Be sure to store this in a secure location. 

The API Credential Management Settings allow you to:

  • add new API credentials

  • disable / enable credentials

  • regenerate the secret token

  • or edit the name of an existing credential

Add an API credential

  1. Go to Settings > Developer Settings > API Credential management.

  2. Click the + Add API Credential button. An Add API Credential message will open.

  3. Enter the desired Name.

  4. Click Create.

Edit the name of an API credential

  1. Go to Settings > Developer Settings > API Credential management.

  2. Click the Edit icon to update the name.

Generate a new token

  1. Click the Refresh icon to generate a new token.

    A warning message appears.

Warning: Regenerating a new token will immediately invalidate the previous token.

Anything using the previous token will generate authentication errors. Are you sure?

  • Cancel: there is no new token generated.

  • Regenerate: a new token is regenerated. Copy the new token and store in a secure place.

Add an Agent Assist platform

  1. Go to Settings > Developer Settings > Agent Assist.

  2. Click + Add Platform.

    The Add an Agent Assist platform dialog appears.

  3. Enter a name for the new platform. This is a mandatory field.

  4. Select CCAI Conversation Profile. This is the only option available and should be selected by default.

  5. Click Create. The new platform appears in the Agent Assist platform.

Agent Assist: Add platform settings

Agent Assist conversation profile settings are configurable at Developer Settings > Agent Assist Platform.

From here you can:

  1. Add new Agent Assist profiles.

  2. Edit or remove existing Agent Assist profiles.

  3. View currently configured profiles.

Add an Agent Assist platform

Go to Settings > Developer Settings > Agent Assist.

  1. Click +Add Platform. The Add an Agent Assist platform dialog appears.
  2. Enter a name for the new platform. This is a mandatory field.
  3. Select CCAI Conversation Profile. This is the only option available and is selected by default.
  4. Click Create. The new platform appears in the Agent Assist platform.

Edit an Agent Assist platform

  1. Click the pencil icon to Edit or upload a JSON key to a conversation profile.

  2. When CCAI Conversation profile is selected, a keys section with associated JSON keys will appear. Each key displays a validity status:

    • Valid: Indicates that the conversation profile exists and is accessible.
    • Invalid: Indicates that the conversation profile no longer exists or is inaccessible. For example, the conversation profile has expired or been removed.

Upload key

To upload a key you will need a JSON service account key from your Service account.

The key will be uploaded to the CCAI Platform Portal in the steps below. For more information about creating and downloading a service account key see Create a service account key. Follow Google recommended best practices for storing your key.

  1. A keyfile uploader option is available when you select CCAI Conversation Profile from the Service drop-down.

  2. Click Upload Key to upload your previously-downloaded CCAI JSON key to onboard the linked Conversation Profiles.

View configured profile settings (name, service, and status)

Name: As entered manually during configuration.

Service: As selected in the Service drop-down.

Status: This column will display the below statuses. An invalid status message indicates that the profile has been deleted. Review your Agent Assist profile in your Google account.

  • Valid: Indicates all linked Agent Assist profiles under the platform are in Valid status.
  • Needs Attention: Indicates that at least one linked Agent Assist profile under the platform is in Invalid status.
  • Invalid: Indicates that all linked Agent Assist profiles under the platform are in Invalid status.

Validate keys

This button is enabled only when there is at least one platform displayed in this section. Clicking this button will validate all the Conversation Profile JSON keys uploaded in the Agent Assist Platform section.

Domain-based access control

Domain-based access control ensures security while also allowing you to define and control which domains can display the Agent Adapter.

Specify a domain

The format for specifying a domain for a CCAIP instance can be any valid domain name, and it can include a wildcard (*) to match an arbitrary number of subdomains. The wildcard must be placed at the beginning of the domain, and it will match any subdomains. Additionally, you have the option to specify a protocol and a port using the syntax <protocol>://<domain>:<port>.

The port can be a wildcard, but the protocol cannot be a wildcard. If a protocol is specified, it will match only that protocol and all other protocols will not be able to display the adapter. For example, https://some.example.domain.com will not match http://some.example.domain.com or mail://some.example.domain.com.

Add domains in Developer Settings

  1. Go to Developer Settings > Agent Adapter-Domain Based Access Control.
  2. Enter each domain on a new line. Format is *.domain, For example, *.mycompany.com. If no domains are specified, access is granted to all domains.

CRM specific domains

Use the following domain naming conventions when entering your CRM domain. If you do not include all of these domains for a specific CRM, the Agent Adapter will immediately break.

Salesforce: *.visualforce.com *.force.com *.salesforce.com

Zendesk: *.zdusercontent.com *.zendesk.com

MS Dynamics: *.crm.dynamics.com

Kustomer: *.kustomerapp.com

HubSpot: *.hubspot

Reload Frame on the Agent Adapter

If the Agent Adapter is not visible to Agents after making Admin configuration changes, they must right click over the Agent Adapter and then select the Reload Frame operation.

Bring Your Own Carrier (BYOC)

Note: CCAI Platform enterprise license comes with a quota of 5000 minutes per agent per month. Additional BYOC minutes over this quota is charged according to CCAIP pricing.

Use voice support phone numbers from the telephony provider of your choice.

Requirements

  • Phone number has to be supplied in +E.164 phone number formatting.

With BYOC enabled, you can keep your existing phone number and route support calls to CCAI Platform through one of our carrier SIP Trunks.

  1. Go to Settings > Developer Settings > Bring Your Own Carrier.

    Toggle to On.

  2. Select the Country where you want to operate.

  3. Enter the Trunk SID and/or Origination URI depending on your carrier.

    Note: Your system administrator will retrieve these credentials for you.

  4. Click Save.

SIP URI Directory

A Session Initiation Protocol Uniform Resource Identifier (SIP URI) destination refers to a specific address or endpoint that can receive SIP-based communication. SIP is a protocol used for initiating, modifying, and terminating real-time communication sessions such as voice and video calls over IP networks. For more information about session types, see the session type terminology documentation.

With the SIP URI Directory you can create and save a list of SIP URIs, which are used to identify endpoints in a SIP-based communication network, such as VoIP (Voice over IP) systems. You can customize call routing and management in a communication system, depending on the specific needs and requirements of the organization.

SIP call transfers can be used to route incoming calls to appropriate destinations based on IVR menu selections or queue routing rules. For example, a consumer calling our support line may select an option in the IVR menu to be transferred to a specific department or agent based on their inquiry.

Use Cases

Call overflow: SIP call transfers can be used to manage call overflow situations where a queue becomes too busy or reaches its maximum capacity. Calls can be automatically transferred to alternative destinations, such as other queues or backup agents, to ensure efficient call handling and prevent call abandonment.

Call distribution: SIP call transfers can be used to distribute calls evenly or according to specific routing rules among agents or departments. This can help balance the workload and ensure fair distribution of calls, optimizing call handling efficiency and improving consumer service.

Call consolidation: SIP call transfers can be used to consolidate calls from multiple sources or channels into a single destination. For example, calls from different IVR menus or queues can be transferred to a centralized agent or department for unified handling and streamlined call management.

Unified session types

The new session type variable, Session Type V2, is now available. This update introduces a range of new fields, variables, and columns that will provide you with access to valuable additional information such as the ability to distinguish between Inbound SMS, Outbound SMS, and Outbound SMS via API.

You can continue to use your existing scripts and automations while working with your internal teams to plan for the necessary modifications. However, to take advantage of the new fields and variables, you will need to update your scripts, code, automation triggers, and any third-party integrations. The legacy components will no longer be updated with new functionality and will be deprecated on October 6, 2023.

Area New field, variable, column names Legacy field, variable, common names
API endpoints (/manager/api/v1/calls and /manager/api/v1/chats) session_type_v2 call_type and chat_type will remain
Session metadata session_type_v2
{SESSION_TYPE} variable in CRM Record Title in Operation Management {SESSION_TYPE_V2} {SESSION_TYPE} will remain
CRM tags (Zendesk, Kustomer, Freshdesk) The new values will be pushed alongside the old values to the same standard tags field
CCAIP Session Object (Salesforce) *In order to use the new session type, it is necessary to update to Salesforce Version 1.31 Session Type v2 "Session Type" will be renamed to "Session Type v1","Channel" will remain
Reports Session Type v2 "Type" will be renamed to "Type v1"
CCAIP Portal UI in the Portal will contain the new values only UI in the Portal will contain the new values only

Create SIP Destinations in Directory Management

  1. Go to Settings > Calls > SIP Directory > Directory Management. A table will appear where you can create and save a list of SIP URI destinations.

  2. Click Add SIP Destination.

  3. Enter the following required fields:

    1. Destination Name: This field allows users to enter a name or label for the SIP URI that they are saving in the directory. It can be a custom name chosen by the user for easy identification.

    2. SIP URI Address: This field allows users to enter the actual SIP URI address, which typically follows the format sip:username@domain.com or sip:username@ip_address. This is the address that will be used to route calls to the desired endpoint. There is no validation performed on this field.

    3. Use SIP Refer when available option checkbox (by default this is unchecked): This setting determines how SIP REFER requests (which are used for call transfers) will be handled for the SIP URIs in the directory.

  4. Click Save.

  5. Edit/Delete : Click on the three dots to bring up the option to Edit or delete an existing SIP URI destination.

Configure SIP call transfers at the queue level

You can configure how call transfers to SIP destinations are handled directly in the IVR queue.

  1. Go to Settings > Queue > IVR > [select queue] > Queue Settings. You must enable automatic redirection.

  2. In the queue settings, go to Outbound SIP Configuration > Destination SIP URI. There are two options available:

    1. Select a SIP destination from SIP URI Directory dropdown.

    2. Enter SIP URI address. Use SIP Refer when available option checkbox: This setting determines how SIP REFER requests (which are used for call transfers) will be handled for the SIP URIs in the directory.

  3. Click Save.

Configure External Storage with Google Service Account

CCAI Platform can write files to a Cloud Storage bucket. This can be configured in the External Storage section within Developer Settings.

Prerequisites

  • A Google Cloud Platform Service account. For more information see Service accounts.

  • JSON service account key with Object Storage Admin access from your service account. This will be uploaded to the CCAI Platform Portal in the steps below. For more information on creating (and downloading) a service account key see Create a service account key Follow Google recommended best practices for storing your key.

Authenticate through Server Set up

  1. Go to Developer Settings > External Storage > Server Set up

  2. Select Google Cloud

  3. Under Authentication Method, select Service Account (Bucket Owner).

  4. Enter Bucket Name.

  5. Under Key JSON, click Upload key to upload your JSON service account key.

  6. Click Save.

External Storage: Dynamic folder path and file names

Dynamic external paths for external storage give you greater control over how you name and organize your call recordings, chat transcripts, voicemails, photos, videos, and co-browsing files.

You can now customize your storage options with unique folder paths and file naming conventions to meet your business needs. Using custom variables such as the date and session ID makes it easier to locate and identify specific recordings.

Custom variables can be specified at the time of recording to generate dynamic folder paths and file names that are unique and meaningful.

Select upload types

To select upload types, go to Developer Settings > External Storage and check the boxes for your desired uploads. The following options are available: Call Recordings, Chat Transcripts, Voicemails, Photos, Videos, Co-browse, and Metadata.

Use variables in file path and filename formats

You can use variables in the folder path and configure the file name with the file path for each file, as well as enable or disable whether a certain artifact (upload type) is pushed into external storage. If you prefer not to customize your file locations, the system will automatically use the default values that are already in place. You can also specify a file format for each file, including multiple files such as several call recordings or JSON and recording for co-browsing.

Variables can be CCAIP data points, such as session ID or session type, or custom fields passed into an Outbound Dialer. Some variables can come from the Outbound Dialer, such as domain ID.

For example, a file path and file name could look like this: Company Domain Identifier\Date of call\Unique Call Identifier\Unique CallIdentifier _ Segment Start Time.wav. The variables would be Domain ID ({COMPANY_DOMAIN_ID}), date when the session started ({DATE}), segment start time ({SEGMENT_START_TIME}), and session start time ({SESSION_START_TIME}).

This feature is backward compatible, meaning that it is possible to construct the file path and file name that follows the current naming convention.

Variable types

Format Example Output
Normal SEGMENT_START_TIME 01_05_17_PM
Dash -SEGMENT_START_TIME (note the '-' in the beginning of the variable name) -01_05_17_PM
Underscore `_SEGMENT_STARTTIME (note the '' in the beginning of the variable name) _01_05_17_PM
Campaign variables CAMPAIGN_Location New-York-City(Campaign Variable: New York City)

Variable and path replacement logic

Full file paths are built using the relative custom path and dynamic/static variable settings appropriate for the file type. If a variable does not exist or doesn't apply, an undef will be replaced.

Example text file path: data/{BAD_VARIABLE}/{SEGMENT_START_TIME}/custom-test/file-{SESSION_ID}

Example output: data/undef/01_05_17_PM/custom-test/file-123.txt

In the above example, the extension will be added according to the file. It is not required and will be stripped if supplied.

Path parameters

Path parameters refer to the variables that can be used in a URL path to retrieve specific data related to a session, call, or chat.

The following path parameters are used to retrieve information related to a session or call/chat recording.

Parameter Variable Comment
Simple Session Type SIMPLE_SESSION_TYPE Call or Chat or undef
Session Type SESSION_TYPE Unified Call or Chat values
Session ID SESSION_ID Call or Chat ID
Upload Date UPLOAD_DATE Built at upload, this will have the date the upload was attempted. Format is MM_DD_YYYY, for example 01_31_2022
Upload time UPLOAD_TIME Built at upload, this will have the time the upload was attempted. Format is hh_mm_ss_AM/PM, for example 02_20_01_AM
Upload Year UPLOAD_YEAR Built at upload, this will have the year the upload was attempted. Format is YYYY, for example 2022
Upload Month UPLOAD_MONTH Built at upload, this will have the month the upload was attempted. Format is MM, for example 01
Upload Day UPLOAD_DAY Built at upload, this will have the day the upload was attempted. Format is DD, for example 31
Date DATE Built at session start time, this is the session created date. Format is MM_DD_YYYY, for example 01_31_2022
Year YEAR Built at session start time, this is the session created year. Format is YYYY, for example 2022
Month MONTH Built at session start time, this is the session created month. Format is MM, for example 01
Day DAY Built at session start time, this is the session created day. Format is DD, for example 31
Session Start Time SESSION_START_TIME Session start time. Format is hh_mm_ss_AM/PM, for example 02_20_01_AM
Segment Start Time SEGMENT_START_TIME Only available for call recordings, this will have the segment start time. Format is hh_mm_ss_AM/PM, for example 02_20_01_AM
Campaign Variables CAMPAIGN_<VAR_NAME> These variables come in from the campaign. They all are appended with CAMPAIGN_ in the .csv headers. Spaces are changed to '_' in the variables. For example, "My Variable 1" would be converted to CAMPAIGN_MY_VARIABLE_1

Enable session data export: QM or SIPREC integration

The Export Session Data settings allow you to set up and configure your integration with a QM or SIPREC integration.

The following section guides you through the process of enabling the integration and providing the necessary authentication credentials (API url, username and password).

Prerequisites

  • QM or SIPREC system that can ingest the CTI events from CCAI Platform. CTI (Computer Telephony Integration) events are events or interactions that occur within a computer system (typically a software application or platform) that are related to telephony or telephone communications.

QM versus SIPREC call events

QM and SIPREC call events are used for different purposes, so which option you choose depends on your use case. The following table outlines their main differences.

QM call events SIPREC call events
Purpose Quality management and call monitoring. Typically used for activities like call recording, evaluating agent performance, and ensuring compliance with quality standards. Real-time event collection and recording of SIP (Session Initiation Protocol) communications. SIPREC is a protocol used for recording voice and video calls in real-time or near real-time, often used for compliance, security, and troubleshooting purposes.
Use cases Crucial for industries where regulatory compliance and quality control are important, such as contact centers, financial institutions, and healthcare organizations. Often used for monitoring customer interactions and assessing agent performance. Typically used in scenarios where it's necessary to record and capture SIP-based communication sessions, such as VoIP (Voice over Internet Protocol) calls. Important in industries where regulatory compliance, legal requirements, or security monitoring are priorities.
Content Call recordings, call metadata (such as call start and end times), and associated data relevant to quality assessments. Information related to the setup and teardown of SIP sessions, as well as the media streams (audio and video) being exchanged during the session.

Enable QM or SIPREC integration session data export

  1. Go to Settings > Developer Settings > Enable Session Data Export. Click Manage Data Export Settings.

  2. Toggle QM Integration to On.

  3. Select your call event type and fill out the fields that appear.

  4. Click Save.