Configuring Zoom Contact Center for Service Cloud Voice

The Zoom Contact Center integration with Service Cloud Voice enables admins to easily connect their Zoom contact center with Salesforce Service Cloud Voice, providing efficient advanced voice call handling capabilities, automatic caller matching, synchronized real-time status updates between Zoom and Salesforce.

Note: Zoom Contact Center for Service Cloud Voice supports Salesforce Enhanced Omni-Channel. For supported CRM features and channels, see Zoom Contact Center CTI connector features.

Requirements for configuring Zoom Contact Center for Service Cloud Voice

Limitations with Zoom Contact Center for Service Cloud Voice

Table of Contents

How to enable Service Cloud Voice

To enable Service Cloud Voice, follow the below steps:

  1. Sign in to Salesforce as a system administrator.
  2. In the upper-right corner, click the Settings icon then Setup.
  3. Search for Partner Telephony Setup in the search bar, then click it to open the Service Cloud Voice setup page.
  4. Under Get Ready for Service Cloud Voice:
    1. Check Create a Custom Domain.
    2. Click Set Up Omni-Channel.
    3. Check Enable Omni-Channel
    4. Click Save.
  5. Under Enable Service Cloud Voice, click the Turn on Voice with Partner Telephony toggle.

How to install the Zoom Contact Center for Service Cloud Voice

Follow the below steps to install Zoom Contact Center for Service Cloud Voice.

  1. Sign in to the Zoom App Marketplace as an account administrator.
  2. In the search bar, enter Zoom Contact Center for Service Cloud Voice.
  3. In the search results, click the app name to open the listing.
  4. If required, pre-approve the app, then click Add.
    The installation will redirect you to the listing in Salesforce AppExchange.
  5. On the Salesforce AppExchange page, click Get It Now.
  6. Log in using a Trailblazer.me account linked to your Salesforce admin account.
  7. Review and agree to the terms, then click Visit Provider.
  8. Select your installation environment.
  9. Sign in to your Salesforce environment.
  10. Select Install for Admins Only, then click Install.
  11. When prompted, approve third-party access and click Continue.
  12. Wait for the installation to finish.
    You’ll receive a confirmation email or can verify completion under Installed Packages in Salesforce.

Note: If you already use this integration and want to upgrade to the latest feature, follow steps 5 through 10 above.

How to generate public and private keys

To establish secure communication between Service Cloud Voice and Zoom Contact Center, you will need to generate both public and private keys. Follow these steps to proceed:

  1. Open a terminal on your machine.
  2. Ensure that you are using OpenSSL 3.x or later, and follow the steps in the Salesforce Developer Guide to generate a private key and public certificate.
    Note: The private key used with the Zoom Contact Center for Service Cloud Voice integration must be in PKCS#8 format. PKCS#1 private keys are not supported and may fail to upload when configuring the integration.
  3. Locate the keys in the directory where the commands are executed. By default:
  4. Ensure that the private key is in PKCS#8 PEM format, and use the .pem file extension when uploading the private key to Zoom Contact Center.
    Note: The key must be generated or converted to PKCS#8 format before it is uploaded.

How to add the Zoom Contact Center for Service Cloud Voice integration

Follow these steps to create a new contact center in Salesforce:

  1. Sign in to Salesforce as a system administrator.
  2. In the upper-right corner, click the Settings icon, then click Setup.
  3. Search for Partner Telephony Contact Centers and open the page.
  4. In the center panel, click New.
  5. Select Zoom Contact Center for Service Cloud Voice and click Next.
  6. Modify the following XML template by inserting your public key (generated earlier) where indicated:
    <callCenter>
        <section sortOrder="0" name="reqGeneralInfo" label="General Information">
            <item sortOrder="0" name="reqInternalName" label="InternalName">zoomContactCenterSCVProvider</item>
            <item sortOrder="1" name="reqDisplayName" label="Display Name"> zoomContactCenterSCVProvider </item>
            <item sortOrder="2" name="reqVendorInfoApiName" label="Conversation Vendor Info Developer Name">zoomcc__zoomContactCenterSCVProvider</item>
        </section>
     
        <section sortOrder="1" name="reqHvcc" label="SCV Settings">
            <item sortOrder="0" name="reqTelephonyIntegrationCertificate" label="Telephony Integration Certificate">-----BEGIN CERTIFICATE-----
    [!!!replace your public key to here!!!]
    -----END CERTIFICATE-----</item>
            <item sortOrder="1" name="reqLongDistPrefix" label="Long Distance Prefix">+1</item>
        </section>
      </callCenter>
  7. Click the Upload XML File button to upload the modified XML file.
    A new contact center will be created in Salesforce.
  8. Click Open to view it.
  9. Scroll down to Contact Center Users and click Add.
  10. Select the Salesforce users to grant access to the contact center, then click Done.
    Note: Users must have the Service Cloud Voice User (Partner Telephony) license and at least one of the following permission sets:
  11. An additional permission set needs to be created and assigned to the agents to be able to control call recording. Follow the steps below:
    1. From Setup, search for Permission Sets and open the page.
    2. Click New.
    3. Name the permission set Recording_Access and click Save.
    4. In the permission set, go to App Permissions and click Edit.
    5. Check the box next to Control Call Recording.
    6. Click Save.
    7. Assign this permission set to:
      • All agent/supervisor users handling voice calls.
      • The Salesforce Service Account used to authenticate the Zoom to Salesforce OAuth connection.

How to configure the Omni-Channel status sync with Zoom Contact Center

To configure Omni-Channel status syncing, follow these steps:

  1. Sign in to Salesforce as a system administrator.
  2. In the top-left corner, click the App Launcher (9-dots icon).
  3. Search for and select the Zoom Contact Center for Service Cloud Voice app.
    1. Authorize the connection with Zoom.
    2. Click Authorization from Zoom App Marketplace.
    3. Sign in to your Zoom admin account.
    4. Authorize Zoom to have access to your Salesforce account.
    5. Wait for authorization to finish.
      The settings page in Salesforce will display a notification stating Authorized access to Contact Center.
  4. In the upper-right corner, click the Setup icon, then click Setup.
  5. Search for Presence Statuses and open the page.
  6. Click New to create new presence statuses.
    At least one online status and one busy status must be assigned to your telephony channel. These statuses must be assigned to the call center agent's profile in order for the agent to see them in the Omni-Channel.
  7. To assign the new statuses to your agents:
    1. Search for Profiles and select the desired profile to configure (for example, System Administrator).
    2. Find the Enabled Service Presence Status Access section and click Edit.
    3. Move the desired statuses from the left column to the right column and click Save.
  8. Search for Zoom Contact Center for Service Cloud Voice in the App Launcher and click Zoom Settings.
  9. Click Omni-Channel Presence Status Mapping to establish synchronization between Zoom statuses and Salesforce Omni-Channel statuses.

This mapping is required. If not configured properly, agents may experience issues such as being marked Available in Salesforce but Occupied in Zoom, which will prevent them from receiving inbound calls.

Note: Ensure Lightning Web Security (LWS) is enabled in your Salesforce org. If it is disabled, inbound calls may fail with Status_Mapping_Error – Contact Admin: Omni-Channel mapping needed for inbound calls even when Omni-Channel status mappings are configured. Learn how to enable the Lightning Web Security. 

How to configure caller matching

Salesforce handles caller matching using Channel-Object Linking. Follow these steps to configure caller matching in Salesforce:

  1. Sign in to Salesforce as a system administrator.
  2. From Setup, enter Channel-Object in the Quick Find box.
  3. Click the Channel-Object Linking toggle and configure the following:
    1. Click New Linking Rule.
    2. Select the Phone channel and the object to link to.
      Note: Salesforce currently only supports linking phone channels to the Contact object.
    3. Enter a rule name and description.
    4. Set rule actions for Action for No Record Found and Action for Single Record Found.
    5. Click Save.
    6. After completing the Phone setup, add the Object-Linking Notifications background utility in the App Manager. This utility displays toast messages in the console that prompt the rep to link a suggested record or add a new one.
    7. From Setup, enter App Manager in the Quick Find box, then select App Manager.
    8. Click Edit in the action menu for your app.
    9. Click Utility Items (Desktop Only) | Add Utility Items | Object-Linking Notifications.
    10. Click Save.

For more details on configuring Channel-Object Linking and caller matching, refer to Salesforce’s documentation.

How to configure After Conversation Work time

After Conversation Work (ACW) time gives agents a set amount of time after a customer conversation to wrap up their work before they start a new conversation. Follow these steps to configure After Conversation Work time.

How to enable Zoom Salesforce Service Cloud Voice integration and add the Salesforce OAuth Connection

A Zoom admin must authorize the Zoom Contact Center service with the Salesforce Service Cloud Voice application. This will enable the Zoom agent experience within Salesforce Service Cloud Voice.

  1. Sign in to the Zoom web portal as an admin.
  2. In the top-right corner, click your profile picture or initials, then click Admin Center.
  3. In the side menu, click CX management .
  4. Click Contact Center then Integrations.
  5. In the Applications tab, click Add.
  6. On the Select application page, specify the following:
  7. Click Next.
  8. On the Setup your external application page, specify the following:
  9. Click Login to Salesforce Service Cloud Voice.
    You will be taken to the Salesforce sign-in screen. When establishing the oAuth connection from Zoom to Salesforce, ensure the account used to login to Salesforce has the appropriate permissions.
  10. Click Allow Access when prompted, then click Allow.
    In the Zoom web portal, you will see the message Zoom Contact Center has successfully connected to Salesforce Service Cloud Voice.
  11. Click Next then Import to Add a Private Key to connect your Salesforce Service Cloud voice with Zoom Contact Center.
    Note: Import the private Key that got generated in this section. 

How to set up client integration for Zoom Contact Center users

  1. Sign in to the Zoom web portal as an admin.
  2. In the top-right corner, click your profile picture or initials, then click Admin Center.
  3. In the side menu, click CX management .
  4. Click Contact Center then Users.
  5. Find and click the user you want to enable the Salesforce Service Cloud Voice integration for.
  6. Next to Client Integration, select the connection that was created for Service Cloud Voice in the previous step.
  7. Click Save.
  8. Repeat as necessary for other users.
    Note: As additional users need access, such as new hires, these steps will need to be repeated.

Other configurations

Call transcripts

Zoom Contact Center for Service Cloud Voice provides real-time call transcription within the voice call records page.

Trust URL

Customers need to add the following trust URLs to their Salesforce org. Refer to this article.

Customized Lightning web component

  1. Sign in to Salesforce as a system administrator.
  2. In the upper-right corner, click the Settings icon then Setup.
  3. In the Quick Find box, search for and select Object Manager.
  4. In Object Manager, select Voice Call.
  5. Click Lightning Record Pages.
  6. Open the desired record page or create a new one.
  7. Within the Lightning App builder, drag and drop the required components onto your agents' Voice Call page layout to enable Zoom functionality within their Salesforce workspace. Refer to the components table below.
    Note: Components may vary by package version.
  8. Click Save, then Activate the page.

Component names for Lightning app builder

Component NameDescription
Voice Call page layouts
activeEngagementActive call management component that displays current call details (phone number, call direction, status) and handles post-call wrap-up and disposition codes.
ZCC AI Expert AssistAI Expert Assist panel that displays AI-generated knowledge base articles, summaries, and suggested actions. 
Talk MetricsReal-time agent talk metrics component that displays agent's talk speed (words/min), speech length, and customer sentiment analysis based on real-time data pushed from the Zoom connector.
zoomContactCenterVideoVideo call upgrade component that allows agents to upgrade voice calls to video calls by embedding the Zoom video interface via iframe.
ZCC Active EngagementDisplay engagement details such as Engagement Id, Start Time, Direction, Channel, Queue name, and Flow name.
Messaging Session page layout
Enhanced conversationSMS, Chat conversation window for Salesforce users
ZCC Active EngagementDisplay engagement details such as Engagement Id, Start Time, Direction, Channel, Queue name, and Flow name.
ZCC AI Expert AssistAI Expert Assist panel that displays AI-generated knowledge base articles, summaries, and suggested actions.
Work item page layout
ZCC Active EngagementDisplay engagement details such as Engagement Id, Start Time, Direction, Channel, Queue name, and Flow name.

Enable decline button

  1. Sign in to Salesforce as a system administrator.
  2. In the upper-right corner, click the Settings icon then Setup.
  3. In the Quick Find box, search for and select Presence Decline Reasons.
  4. Click New.
  5. Add reasons so that agents can select a decline reason when they decline an engagement.
  6. In the Quick Find box, search for and select Presence Configurations and click Edit next to the default presence configuration.
  7. Select the following checkboxes:
  8. Select the decline reasons.

Enable auto accept call

  1. Sign in to Salesforce as a system administrator.
  2. In the upper-right corner, click the Settings icon then Setup.
  3. In the Quick Find box, search for and select Presence Configurations and click Edit next to the default presence configuration.
  4. Select the Automatically accept work requests checkbox.

How to enable routing configuration, queue, omni-channel to console app

  1. Sign in to Salesforce as a system administrator.
  2. In the upper-right corner, click the Settings icon , then Setup.
  3. In the Quick Find box, search for Omni-Channel, click Routing Configurations, and complete the configuration.
  4. In the Quick Find box, search for Queues and complete the setup.
  5. In the Quick Find box, search for App Manager, click Edit next to the applicable app  (for example, Sales Console), click Utility Items (Desktop only), click Add Utility Item, search for and select Omni-Channel, and complete the setup.

Call logging and call record types

Records created by Zoom Contact center in Salesforce

ChannelsStandard Salesforce object record created for the engagement by ZCCZCC values updated in the salesforce recordCustom Salesforce object created for the engagement by ZCC
VoiceVoice call record Zoom engagement ID, call direction, queue, call status, and call timestamps Session histories
SMSMessaging Session RecordEngagement Id, Start Time, Direction, Channel, Queue name, Flow name 
ChatMessaging Session RecordEngagement Id, Start Time, Direction, Channel, Queue name, Flow name 
Video
Voice call record Zoom engagement ID, call direction, queue, call status, and call timestamps 
Email
Case and EmailMessage recordEngagement Id, Queue name, Start Time, Consumer Name, Consumer Email 
Work item
  Work item record

How to create additional Salesforce records

To create new Salesforce records (Lead, Contact, Account, Case, Tasks, or Activity):
  1. Sign in to Salesforce as a system administrator.
  2. In the upper-right corner, click the Settings icon , then Setup.
  3. Click Flows then New Flow.
  4. Select Record-Triggered Flow.
  5. Select Voice Call or Conversation Record as the object.
  6. Choose A record is created.
  7. (Optional) Add the condition: Call Type = Inbound.
  8. Select Actions and Related Records.
  9. Add Create Records and select the required object: Contact, Account, Case, Tasks, Activity
  10. Map available Voice Call values using $Record, such as phone number, queue name, engagement ID, and call direction.
  11. Save and activate the flow.
Use a second Voice Call flow triggered when the record is updated for information available after answer or engagement completion, such as accepted time, end time, duration, disposition, or recording . Optionally, pass additional ZCC variables to Salesforce using an Omni-Channel Flow to create custom records.
 

How to configure Salesforce messaging channels (Chat, SMS) and map Zoom Contact Center variables

Create the Salesforce External Client App

  1. Sign in to Salesforce as a system administrator.
  2. In the upper-right corner, click the Settings icon , then Setup.
  3. Enter External Client App Manager in the Quick Find box, and then select it.
  4. Click New External Client App.
  5. Configure the app as follows:
    • External Client App Name: Enter Zoom Contact Center Messaging.
    • API Name: Enter a unique name that begins with zoomcc, such as zoomcc_ZoomContactCenterMessaging. Do not use the automatically generated Zoom_Contact_Center_Messaging value.
    • Contact Email: Enter the Salesforce administrator’s work email address.
    • Distribution State: Select Local.
    • Description: Enter OAuth application for the Zoom Contact Center BYOC messaging integration with Salesforce.
  6. Select Enable OAuth.
  7. In Callback URL, enter https://login.salesforce.com.
  8. Add the following OAuth scopes to Selected OAuth Scopes:
    • Access Interaction API resources (interaction_api)
    • Perform requests at any time (refresh_token, offline_access)
  9. Under Flow Enablement, select only Enable JWT Bearer Flow.
  10. Under Certificate Upload, upload the public .crt certificate that matches the private key configured in Zoom Contact Center. For example, upload server.crt.
  11. Keep the default Salesforce security settings unless directed otherwise by Zoom Support.
  12. Click Create to save the External Client App.

Important: Upload the public certificate to Salesforce. Do not upload the private .key or .pem file to Salesforce. The matching private key must be stored securely in Zoom Contact Center. Learn more about generating the certificate and private key.

Configure External Client App access

  1. After creating the Salesforce External Client App, in the External Client App Manager, open Zoom Contact Center Messaging.
  2. Open the Policies tab, and then click Edit.
  3. Under OAuth Policies, set Permitted Users to Admin approved users are pre-authorized.
  4. If a warning appears, click OK.
  5. Under App Policies, add the System Administrator profile.
  6. Click Save.

Grant the messaging service user access to the Zoom platform event

  1. From Salesforce Setup, search for and select Permission Sets.
  2. Open SCRT2 Integration User.
  3. Select Object Settings, then open the Zoom platform event or search for its API name zoomcc__Event__e, although its displayed label may differ.
  4. Click Edit.
  5. Enable Read and Create, then click Save.
  6. Test a messaging engagement and confirm that Salesforce receives the Zoom platform event.

Create or update the Salesforce Messaging channel

  1. From Salesforce Setup, enter Messaging Settings in the Quick Find box, and then select Messaging Settings.
  2. If the required channel does not exist, click New Channel and complete the following steps:
    1. Select Bring Your Own Channel.
    2. Select Use an existing contact center.
    3. Select the Zoom Contact Center Service Cloud Voice provider.
    4. Enter a descriptive channel name and a unique developer name.
    5. Complete the channel creation.
  3. Open the messaging channel that you want to connect to Zoom.
  4. In the Conversation Channel Definition section, click Manage Conversation Channel Definition or Modify Conversation Channel Definition.
  5. From Connected App or External Client App Name, select Zoom Contact Center Messaging.
  6. Confirm the following values:
    • Conversation Channel Definition: zoomcc ChannelDefinition
    • Connected App Type: Customer
    • Connected App or External Client App Name: Zoom Contact Center Messaging
  7. Under Omni-Channel Routing, select None when Zoom Contact Center owns routing.
  8. Save and activate the messaging channel.
  9. In the channel’s Information section, copy the Messaging Platform Key.
    Important: Copy the Messaging Platform Key, not the Salesforce Messaging Channel ID. For example, the Messaging Channel ID begins with 0Mj, while the Messaging Platform Key is normally a UUID. If the Zoom configuration field is labeled Salesforce message channel ID, enter the Salesforce Messaging Platform Key in that field.
  10. From Salesforce Setup, search for Partner Telephony Contact Centers and confirm that Zoom Contact Center is listed.

Obtain the Salesforce Consumer Key

  1. From Salesforce Setup, open the External Client App Manager.
  2. Open Zoom Contact Center Messaging.
  3. Next to Policies, click Settings.
  4. Expand OAuth Settings.
  5. Click Consumer Key and Secret.
  6. Complete identity verification if prompted.
  7. Copy the Consumer Key. Do not copy the Consumer Secret.

How to configure the Service Cloud Voice in the Zoom web portal

  1. Sign in to the Zoom web portal as an admin with the privilege to edit Integrations settings.
  2. In the top-right corner, click your profile picture or initials, then click Admin Center.
  3. In the side menu, click CX management .
  4. Click Contact Center then Integrations.
  5. Locate the Salesforce Service Cloud Voice integration.
  6. Click the ellipsis icon , and then click View configuration settings.

Voice channel configuration

Screen pop (Omni-Channel Flow) variable mapping
Use the Selected Omni-Channel Flow dropdown to map Zoom Contact Center variables to the Salesforce omni-channel flow inputs.
Engagement logging mapping configuration
Configure the mapping between Zoom Contact Center variables and Salesforce fields.

Chat and SMS channel configuration

Work item and email channel configuration

Global settings

Replace private key
Locate server.pem in your directory (for example, C:\Users\<name>) and import. Ensure it is in PKCS#8 PEM format with a .pem extension before uploading to Zoom Contact Center. If no .pem file exists, refer to the How to generate public and private keys section. above.

Enable Salesforce Cloud Voice Message Channel and Salesforce consumer key
In Salesforce Setup, search for External Client App Manager > zoomcc messaging > Settings > OAuth Settings > Consumer Key and Secret. Complete identity verification if prompted, then copy the Consumer Key to update here. If the Enable Salesforce Cloud Voice Message Channel shows Not connected, verify the following:

How to configure screen pop and record creation in Salesforce

Zoom provides standard capabilities such as salesforce Voice Call record creation with standard engagement data (such as caller phone number, Queue name, call direction , date-time of call) and passing ZCC IVR/Flow variables to Salesforce.
Salesforce controls screen pop and record creation (Call logging) configuration.