CRM mapping and settings

CRM default admin user


The CCAI Platform CRM package sends multiple pieces of data during a support interaction, and all data interactions that take place in the CRM are assigned to a user. This feature allows you to define a CRM admin user to represent the default user for all CRM actions and events where a specific agent has not been identified or assigned. This will replace the default behavior where an agent is randomly selected for such events. If this feature is not used, CCAI Platform will randomly assign the ticket/case to any user.

Depending on the CRM, an admin user email, API or admin token combination are required to enable the default user option.

Once enabled, the times when tickets will be assigned to the admin rather than a random user are:

  • Ticket/case and contact creation when a new chat is initiated before an agent is assigned to the chat

  • Voicemail tickets/cases before receiving a callback call

  • Call ticket/cases for abandoned calls (if enabled)

Feature details

  • If possible, it's best to use a Salesforce Admin account that is not tied to a specific user as individual user accounts are prone to being disabled without understanding the underlying connections

Zendesk configuration

These steps require Admin permissions in both Zendesk and CCAI Platform.

  1. Follow the steps to generate a new API token in the Zendesk help center.

  2. In the CCAI Platform Portal, go to Settings > DeveloperSettings.

  3. Enter the API token you just created in Zendesk in the API Token field.

  4. Enter an email with Admin permissions in Zendesk in the Zendesk user email address field.

  5. Mark the checkbox for Default User.

  6. Click Save Changes.

Zendesk troubleshooting

  • If "Zendesk user email address" and "API Token" combination is invalid, an error message is shown and values are reverted to previous setting values (other settings are saved). If values were blank before, it will revert to blank values.

  • If "Zendesk user email address" and "API Token" combination is invalid on save, the "Default User" checkbox will get unchecked.

  • If either "Zendesk user email address" or "API Token" is empty, the "Default User" checkbox will be disabled.

Salesforce configuration

An account with Administrator privileges is required for this feature.

  1. From the Admin Portal, go to Settings > Developer Settings.

  2. Check to be sure all fields are completed in the CRM section.

  3. Be sure your Salesforce Organization ID is 15 digits, not 18. Ex: instead of 00D0O000005Jj18UAC, remove the last 3 characters to be 00D0O000005Jj18.

  4. Scroll to the bottom of the page and enter your individual Salesforce login URL. This URL is your custom domain, not your lightning domain. Example: https://[companyname]--CCAI

  5. Click Save Login URL.

  6. Click the Link button and enter your Salesforce Administrator credentials in the pop-up and click Log In.

  7. Once you are logged in, you will see the login listed as Active in green under Connected Admin Users.

  8. Repeat Step 6 with another Admin account for redundancy is the first account is disabled.

  9. Go to CRM > Default User and check the box for Use the Admin user for all ticket creation/updates... option.

  10. Click Save Changes.

Salesforce troubleshooting

  • If "Salesforce Admin Token" is not linked "Default User" feature is disabled, the checkbox is disabled and you can't check or uncheck the box.

  • If "Salesforce Admin Token" is linked then "Default User" feature is enabled, you can then check or uncheck the box.

  • If "Default User" is checked and "Salesforce Admin Token" gets unlinked then "Default User" will get unchecked and disabled.

CRM API rate limits


APIs and your CRM

CCAI Platform call and chat adapters function within a Customer Relationship Manager (CRM) software. There are many benefits to this, including automatic case creation to record the details of interactions.

CCAI Platform is integrated through an application programming interface (API), which passes information from CCAI Platform into your CRM.

You may have other integrations already using APIs to connect to your CRM. Using an ecosystem of different apps and integrations tied together via APIs can help drive important business objectives for your contact center.


Each time CCAI Platform or any other application sends data to your CRM, it's referred to as a API call.

The specific CRM and level of licensing will determine how many API calls you are allowed per day, as well as how many API calls you are allowed per minute. This is referred to as rate limiting.

For example, you may have a Zendesk license that allows 400 API calls per minute and 2,500 calls per day. Some CRMs provide a dashboard that will allow you to monitor usage over time to ensure integrations are running smoothly and that no one app is monopolizing your API call rate.

Limits and CCAI Platform

The primary purpose of the CCAI Platform integration into your CRM is to record actions from calls and chats within case/ticket records. Each CCAI Platform activity that is tracked in the CRM - like contact search, case/ticket creation, and call logging - creates an API call.

This also means that if you exceed your rate limit within your CRM, you may experience calls and chats not creating cases/tickets.

Fortunately, CCAI Platform will continue to create the commands to make news cases/tickets from calls and chats even if you have reached your API limit. They will queue in the system, and as soon as the CRM can accept more API calls, the queued cases/tickets will populate in your CRM.

To avoid case creation interference, please ensure that you have the appropriate level of licensing to support all of your integrations, and monitor your API rate limit dashboards.

For Zendesk, CCAI Platform offers API batching to reduce the number of API calls made. Please see API Batching - Zendesk for more information.

Session metadata file


For every voice and chat session, CCAI Platform stores the specific details in a session metadata JSON file. This file can contain 20+ data points including session information, transfers, handle duration, participants, diagnostic information, and much more. The session metadata file can be easily parsed and used for post-session analysis and tracking.

Session metadata can be pushed to an external storage service or attached to a CRM record. This JSON data file is available for custom and Standard CRM solutions.


The session metadata file contains detailed information about the session. This is sent 15 mins after the session has completed.

The session metadata file can be utilized in many ways:

  • Delivered to your external storage service in JSON format

  • Used to update a CRM record via email

  • Attached to a record in the integrated CRM

Sessions metadata content

  • Session ID

  • Session type

  • Session status

  • Time when the session was:

    • Created

    • Queued

    • Assigned

    • Connected

    • Ended

    • Scheduled

    • Updated

  • Wait duration

  • Call duration

  • Hold duration

  • CSAT

    • Rating

    • Comment

  • SmartActions

    • Verification status

    • Photos and screenshots uploaded

    • Video files uploaded

    • Text input

  • Selected menu and menu path

  • Agent info

  • Transfer information

  • Deflection information

  • Handle durations

  • Queue durations

  • Participants

  • Disposition Codes and Notes

External storage for integrated CRMs


This feature enables the use of an external storage service to store and retrieve CCAI Platform session metadata, call recordings, chat transcripts, and consumer-uploaded media files.

The files are stored outside of your CRM and can be linked to CRM records. This is an excellent option if you have a CRM that does not have a standard integration with CCAI Platform.

The following storage services are supported:


In order to configure External Storage, you must have:

  • A valid CCAI Platform account with Admin and Agent roles assigned for testing and configuration

  • Access to your CRM for testing

  • An external storage service

File formats and naming conventions

The following file types can be pushed to the external storage service. Files are encrypted during transit using HTTPS:



Call recordings

  • call-{id}.mp3

  • call-{id}.wav

Media files

  • call-{id}-photo-{photo-id}.jpg

  • call-{id}-video-{video-id}.mp4

  • chat-{id}-photo-{photo-id}.jpg

  • chat-{id}-video-{video-id}.mp4

Chat transcripts

  • chat-{id}.txt

Session metadata

  • metadata-{id}.json

  • metadata-{id}.txt

Agent experience

Within your CRM, when the session is over, Agents see a link to the session recording or transcript. Instead of this link pointing to the file stored on the CRM server, the URL points to the configured external storage service.

During the call or chat session, photos and videos uploaded by the consumer via SmartActions are displayed in the Agent Adapter.

Configuring the external storage service

Complete these steps to configure your external storage:

  1. Log in to the CCAI Platform Portal using an account with the Admin role assigned.

  2. Go to Settings > Developer Settings.

  3. On the Developer Settings page, scroll to the External Storage section.

  4. Enable information storage outside CRM servers by toggling the switch to On, then select the types of files to be stored:

  5. In the Server Setup section, select your storage type and complete the setup steps.

SFTP Server

  1. Enter the SFTP Host (URL or IP address.)

  2. Enter the Port number.

  3. Enter the SFTP Login User ID.

  4. If the SFTP server requires a password for authentication, enter it in the Password field.

  5. If the SFTP server requires a private key for authentication, select the SSH Private Key checkbox:

    • Enter (copy & paste) the SSH Private Key.

    • Enter the private key Passphrase.

  6. If the session information should be stored in a specific folder on the SFTP server, select the Folder Path checkbox and enter the SFTP folder path.

  7. Click Save Changes.

Google Cloud

  1. Enter the destination Google Cloud Bucket Name.

  2. Enter Google Cloud Client ID.

  3. Enter the Google Cloud Client Secret.

  4. If the session information should be stored in a specific folder in the Google Cloud bucket, select the Folder Path checkbox and enter the Google Cloud folder path.

  5. Click Link & Save.

Testing the external storage configuration

For CRMs with existing standard integration:

  1. Log in to your CRM.

  2. Log in to CCAI Platform within the CRM using CCAI Platform credentials with an Agent role assigned.

  3. Place a call or chat. The CRM record that is associated with the session is displayed.

  4. When the session is finished, the transcript file should be uploaded within seconds.

  5. Navigate to the external server storage folder directly and verify the file is available.

  6. Navigate to the session information where the recording is stored:

  7. Click on the link for the call recording or chat transcript and confirm the media is available.

Locating chat transcripts


Once a chat has ended, the transcript is uploaded to your CRM, or a data server, based on your configuration. This transcript shows the participants, timeline of events, and conversation content.

Admin configuration

Chat Transcripts are enabled globally at Settings > Chat > Chat Transcripts.


  • Add the chat transcript as an attachment

  • Add as a comment in the CRM

Click Save Chat Transcript.

Location in CRM or Server

Transcripts are uploaded to the CRM or server once the chat has been completed. Transcripts can be found where the chat ID and other chat information are stored.

  • Zendesk: added in plain text and attached as a file to a private comment in the ticket

  • Salesforce: Added as a file attachment as a comment or to the CCAI Platform Session Object

  • Kustomer: added as both a file attachment and as a comment.

  • MS Dynamics: Added as an attachment under timeline for the ticket

  • Chat transcripts sent via SFTP to an external storage via integrated CRM. See External Storage for Intgerated CRM

Transcript details

Timestamp formatting

The timestamps in the chat transcripts will default to the timezone as set in Settings > Support CenterDetails.

The timestamps will be formatted as HH:MM:SS format.

Participant identification

  • The participants' first name and last name initial will show, if available in the system

  • The chat support agent name includes Agent before agent's first name

  • The full name of the agent will not be displayed anywhere in the system generated sections

  • The full name of the end-user will not be displayed anywhere in the system generated sections

Transcript styling

  • The transcript header contains:

    • The chat ID of the specific chat with a prefix "ID:"

    • The start date of the chat in the format of YYYY-MM-DD and timezone

  • The dotted line made of 50 hyphens (-) is placed in the line right below the header

  • The individual messages sent by the participants and the system

  • Messages are chronologically ordered following the order of message exchange

    • The exact timestamp of the message in HH:MM:SS format

    • The name of the participant who sent the message

    • The message sent by the participant

      • No text case, styling, or format changes will be made to the actual chat message sent by the participant
  • All back-to-back messages from a single participant or system will be stacked together to represent a message block