CRM mapping and settings

CRM default admin user

Overview

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 Platform.cs88.my.salesforce.com.

  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

Overview

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.

Limits

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

Overview

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.

Details

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

Set up external storage for your CRM

With Contact Center AI Platform (CCAI Platform), you can use external storage to store and retrieve CCAI Platform session data such as call recordings, chat transcripts, media files uploaded by end-users, email transcripts, and session metadata. These files are stored outside of your CRM and you can link them to your CRM records. Files are encrypted during transit. Setting up external storage is helpful if you have a CRM that does not have a standard integration with CCAI Platform.

File types and naming conventions

The following table shows the file types that can be stored in external storage, as well as the naming convention for the various file types:

File type

Naming convention

Call recordings

  • call-{id}.mp3

  • call-{id}.wav

Chat transcripts

  • chat-{id}.txt

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

Email transcripts

  • email-{id}.pdf

Session metadata

  • metadata-{id}.json

  • metadata-{id}.txt

Storage types

You can use the following storage types for external storage:

Before you begin

To set up external storage for your CRM, you need:

  • A CCAI Platform account with administrator and agent roles.

  • Access to your CRM.

  • A Cloud Storage bucket or a secure file transfer protocol (SFTP) server, depending on the type of external storage you are setting up.

Set up external storage using Cloud Storage

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

  1. Sign in to the CCAI Platform portal using administrator credentials.

  2. Click Menu, and then click Settings > Developer Settings.

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

  4. For Server Setup, click Google Cloud and then click Service Account (Bucket Owner).

  5. In the Bucket Name field, enter the path to your Cloud Storage bucket.

  6. In the Key (JSON File) click Upload key and select a key file for a service account that has write permissions to the Cloud Storage bucket.

  7. If you want to save your session data to a specific folder in your Cloud Storage bucket, enter the path to the folder in the https://storage.googleapis.com/storage/v1/b/o/ field.

  8. Select the checkboxes next to the types of data that you want to store.

  9. Optional: For Email, clear the checkboxes for the types of email data that you don't want to store in external storage. Checkboxes are selected by default.

  10. Optional: For Email, edit the path for a type of email data. This changes the folder in your SFTP server where that type of email data is stored.

  11. Click Link & Save.

Set up external storage using an SFTP server

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

  1. Sign into the CCAI Platform portal using administrator credentials.

  2. Click Menu, and then click Settings > Developer Settings.

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

  4. For Server Setup, click SFTP Server.

  5. In the Host field, enter the URL or IP address for your SFTP server.

  6. In the Port field, enter the port number for your SFTP server.

  7. In the Login User ID field, enter the user ID for signing into your SFTP server.

  8. In the Password field, enter the password for signing into your SFTP server, if one is required.

  9. If your SFTP server requires an SSH private key for authentication, select the SSH Private Key checkbox.

  10. In the Private Key field, enter the private key.

  11. In the Passphrase field, enter the passphrase.

  12. If you want to save your session data to a specific folder in your SFTP server, enter the path to the folder in the sftp://@:22/ field.

  13. Select the checkboxes next to the types of data that you want to store.

  14. Optional: For Email, clear the checkboxes for the types of email data that you don't want to store in external storage. Checkboxes are selected by default.

  15. Optional: For Email, edit the path for a type of email data. This changes the folder in your SFTP server where that type of email data is stored.

  16. Click Save Changes.

Accepted SSH key types

Here are the SSH key types that are accepted as private keys when setting up external storage using an SFTP server:

  • curve25519-sha256 (node v14.0.0+)

  • curve25519-sha256@libssh.org (node v14.0.0+)

  • ecdh-sha2-nistp256

  • ecdh-sha2-nistp384

  • ecdh-sha2-nistp521

  • diffie-hellman-group-exchange-sha256

  • diffie-hellman-group14-sha256

  • diffie-hellman-group15-sha512

  • diffie-hellman-group16-sha512

  • diffie-hellman-group17-sha512

  • diffie-hellman-group18-sha512

  • diffie-hellman-group-exchange-sha1

  • diffie-hellman-group14-sha1

Agent experience

During a call or chat session, photos and videos uploaded by the end-user using SmartActions are displayed in the agent adapter. When the session is over, agents see a link in the CRM pointing to the session recording or transcript stored on the external server.

Locating chat transcripts

Overview

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.

Options:

  • 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

Body
  • 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

Structure