External storage

Contact Center AI Platform (CCAI Platform) doesn't store session metadata, call recordings, chat transcripts, or any files uploaded by the end-user during a session. To store these types of data, you can use CCAI Platform's external storage capability. With external storage, you can save data to a Cloud Storage bucket or a Secure File Transfer Protocol (SFTP) server.

Cloud Storage

Cloud Storage provides features such as lifecycle management and aging and retention policies. These features can help you meet legal and regulatory requirements.

Before you begin

To set up external storage with Cloud Storage, you must have the following:

Set up external storage with Cloud Storage

To set up external storage with Cloud Storage, follow these steps:

  1. 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.

  2. Go to the External Storage pane, and then click the toggle to the on position.

  3. Under Server Setup, select Google Cloud.

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

  5. Under Bucket Name, enter the name of the Cloud Storage bucket where you want to set up external storage.

  6. Under Service Account Key (JSON File), click Upload key, go to the service account key that you want to use, and then open it.

  7. Click Save.

SFTP storage

You can also set up external storage using an SFTP server.

To set up external storage using an SFTP server, follow these steps:

  1. 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.

  2. Go to the External Storage pane, and then click the toggle to on position.

  3. Select SFTP Server.

  4. In the Host field, enter the URL or IP address of the SFTP server.

  5. In the Port field, enter the TCP port number that the SFTP server accepts connections on.

  6. In the Login User ID field, enter the login user ID for the SFTP server.

  7. 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.

  8. 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://.

  9. 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