CCAI Platform does not store any call session data, instead it
leverages integration with external storage. Files can be written to
Cloud Storage buckets or alternatively using
the Secure File Transfer Protocol (SFTP) to an SFTP server. External storage
can be configured in the External storage
section within
Developer settings.
Cloud Storage
Integration with Cloud Storage provides additional benefits including the ability to perform lifecycle management on stored files as well as automatic aging with retention policies to meet legal and regulatory requirements.
Before you begin
To setup external storage to Cloud Storage, you must meet the following requirements:.
A Google Cloud Service account with the
Object Storage Admin
role. For more information, see Service accounts.A JSON service account key for the service account. You use this key in Set up authentication. See Create a service account key for more information on creating and downloading a service account key.
Set up Cloud Storage
To set up authentication, follow these steps:
In the CCAI Platform portal, click Settings > Developer Settings. If you don't see the Settings menu, click Menu, and then click Settings > Developer Settings.
Go to the External Storage pane, and then click the toggle to the on position.
Under Server Setup, select Google Cloud.
Under Authentication Method, select Service Account (Bucket Owner).
Under Bucket Name, enter a bucket name.
Under Key (JSON File), click Upload key to upload your JSON service account key.
Click Save.
Set up SFTP storage
To set up SFTP storage, follow these steps:
In the CCAI Platform portal, click Settings > Developer Settings. If you don't see the Settings menu, click Menu, and then click Settings > Developer Settings.
Go to the External Storage pane, and then click the toggle to on position.
Select SFTP Server.
In the Host field, enter the URL or IP address of the SFTP server.
In the Port field, enter the TCP port number that the SFTP server accepts connections on.
In the Login User ID field, enter the login user ID for the SFTP server.
Do one of the following:
If the SFTP server requires a password for authentication, enter it in the Password field.
If the SFTP server requires a private key for authentication, select the SSH Private Key checkbox and do the following:
In the Private Key field, enter the SSH private key.
In the Passphrase field, the private key passphrase.
To specify a folder to store the data in, enter the folder path in the sftp:// field. The host and port number immediately follow sftp://.
Click Save.
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-browse files.
You can 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, in the CCAI Platform portal go to Developer Settings > External Storage and check the boxes for preferred upload types. The following options are available:
Call recordings.
Chat transcripts.
Voicemails.
Media including photos and videos.
Co-browse sessions.
Metadata JSON files.
Use variables in path and filename formats
It is possible to use variables in the folder path. Additionally it is possible to configure the filename with the 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. You can also specify a file format for each file.
Variables can be CCAI Platform 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 path and filename 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 path and filename 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_START_TIME (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 or static
variable settings appropriate for the file type. If a variable doesn't exist or
doesn't apply, an undef
will be replaced.
Example text 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 this examples, the extension will be added according to the file. It is not required and will be removed if supplied.
Path parameters
Path parameters are 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, call or 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 is the date the upload was attempted. Format is MM_DD_YYYY , for example 01_31_2022 |
Upload time | UPLOAD_TIME |
Built at upload, this is 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 is the year the upload was attempted. Format is YYYY , for example 2022 |
Upload Month | UPLOAD_MONTH |
Built at upload, the is the month the upload was attempted. Format is MM , for example 01 |
Upload Day | UPLOAD_DAY |
Built at upload, this is 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 is 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 file headers. Spaces are changed to '_' in the variables. For example, "My Variable 1" would be converted to CAMPAIGN_MY_VARIABLE_1 |