RingCentral (RingEx & RingCx)
This guide explains how to configure a RingCentral developer application that authorizes Conversation Intelligence (CI) to access your call recordings, call logs, and related data. Following the steps in this guide will allow Capacity to complete the integration on your behalf within the CI environment.
Conversation Intelligence (CI) supports both RingCentral RingEx (the unified communications platform) and RingCentral RingCX (the contact center platform). The configuration steps are almost identical for both products; where they differ, this guide calls out the distinction clearly.
You must have a RingCentral administrator account with Developer Console access to complete the steps in this guide. If you are unsure whether your account has the necessary permissions, contact your RingCentral system administrator before proceeding.
How It Works
Once configured, the CI integration will:
- Retrieve call recordings from your RingCentral account on a scheduled or near-real-time basis.
- Ingest call metadata (duration, participants, direction, timestamps) alongside each recording.
- Process recordings through the CI analysis engine to generate transcripts, scores, and insights.
- Optionally exclude or include internal calls (calls between agents or extensions within your organization) — you will be asked to specify your preference.
The integration is read-only — Capacity never writes to, modifies, or deletes any data in your RingCentral account.
Products Supported
Before starting, confirm which RingCentral product(s) your organization uses:
- RingEX — RingCentral's unified communications and telephony platform. Used primarily for employee voice, video, and messaging.
- RingCX — RingCentral's cloud contact center platform. Used for inbound/outbound customer engagement across voice and digital channels.
- Both — If your organization uses both products, you will need to register two separate developer applications (one per product) and generate separate credentials for each.
You will need to tell Capacity which product(s) you use as part of the information handover at the end of this guide. A table is provided in Section 4 to collect everything Capacity needs.
Register App
All configuration takes place on the RingCentral Developer Console. Navigate to the console at:
https://developers.ringcentral.com/console
Sign in with your RingCentral administrator credentials.
If your organization uses both RingEX and RingCX, you will need to repeat Register App section twice— once for RingEX and once for RingCX. Each app is independent. You can register both apps before generating credentials.
Create New App
From the left-hand navigation, select Apps, then click Register App.
- App Properties
- On the App Properties step, complete the fields as follows:
- App Type: Select REST API App.
- Select Next
App Name:
- For RingCX: Capacity-CI-Auth-CX
- For RingEX: Capacity-CI-Auth-EX
App Description:
- For RingCX: Capacity Conversation Intelligence Auth App for CX
- For RingEX: Capacity Conversation Intelligence Auth App for EX
Primary Contact: Select the developer administrator account. This field usually defaults to the currently logged-in user.
Do you intend to promote this app in the RingCentral App Gallery?: Select No.
App Card
The App Card step configures how the app appears within RingCentral. Complete the fields as follows:
Display Name:
- For RingCX: Capacity-CI-Auth-CX
- For RingEX: Capacity-CI-Auth-EX
Summary: Capacity Conversation Intelligence Auth App
App Icon: This is a required field. Upload your organization's logo or any suitable image. The icon is only used internally within the RingCentral Developer Console and is not publicly visible.
Authentication
On the Auth step, configure the following:
Auth Flow: Select JWT Auth Flow. This is the authentication method required by the CI integration. Do not select any other auth flow.
Issue Refresh Tokens?: Select Yes.
JWT (JSON Web Token) authentication is used because the CI integration runs as a server-to-server process with no user interaction. It does not use OAuth redirects or require a browser login flow at runtime.
Security & Permissions
On the Security step, configure the OAuth scopes and access level:
OAuth Scopes: Add all of the following scopes (for both RingEX and RingCX:
- Contacts
- Read Accounts
- Read Call Log
- Read Call Recording
- Read Contacts
- Read Messages
The table below describes the purpose of each required scope:
| OAuth Scope | Purpose |
|---|---|
| Contacts | Access contact directory |
| Read Accounts | Read account configuration and user details |
| Read Call Log | Retrieve call records and metadata |
| Read Call Recording | Access call recordings for transcription/analysis |
| Read Contacts | Read contact details linked to calls |
| Read Messages | Access voicemail and message data |
Never set app visibility to Public. Making this app public would expose your organization's credentials to the RingCentral App Gallery and could allow unauthorized access to your call recordings and account data. This app must remain private at all times.
Finalize App
Review all settings, then click Create. RingCentral will provision the app and redirect you to the app's dashboard.
If you are configuring both RingEX and RingCX, return to Register App and repeat the process for the second product before continuing to the next point
Retrieve the Client ID
After creating the app, navigate back to the applications list:
https://developers.ringcentral.com/my-account.html#/applications
Select the app you just created. On the app dashboard, locate the Client ID field and copy it. You will need this value in the next step.
The Client ID is not a secret value and can be safely stored. However, keep the Client Secret and any JWT tokens confidential — treat them as passwords.
Generate JWT Credentials
Navigate to the credentials page:
https://developers.ringcentral.com/console/my-credentials
Click Create JWT. Complete the form as follows:
Label:
- For RingCX: Capacity-Creds-CX
- For RingEX: Capacity-Creds-EX
App Access: Select "Only specific apps of my choice".
Add App, then click Create JWT.
The JWT is shown only once at the time of creation. If you lose the JWT value, you will need to revoke the existing one and generate a new one. Copy or download it before leaving this page.
Download Credentials
Navigate back to the applications list:
https://developers.ringcentral.com/my-account.html#/applications
Select the app you created. On the app dashboard, locate the Credentials JSON download link and click Download.
The downloaded JSON file contains the Client ID, Client Secret, and related configuration required by the CI platform. This file is all Capacity needs to configure the authentication side of the integration.
The Credentials JSON file contains sensitive secrets. Transmit this file securely — do not send it via unencrypted channels. Use a secure file transfer method agreed with Capacity (for example, a password-protected link or encrypted email).
If you have configured apps for both RingEX and RingCX, you will have two separate Credentials JSON files. Send both files to Capacity, clearly labelled so we can identify which is which.
Account Information
In addition to the Credentials JSON, Capacity requires the following account details to configure the CI integration correctly. These are described below.
Main Account ID
Your Main Account ID is the top-level RingCentral account identifier. To locate it:
- Log in to the RingCentral Admin Portal at https://service.ringcentral.com.
- Navigate to Phone System
- Select your main site
- The Account ID is displayed in the URL (e.g. .../account/123456789/...)
The Main Account ID is typically a numeric value. It may also appear in the URL of your Admin Portal pages (e.g. .../company/sites/123456789/companyInfo/...).
Sub-Account ID
If your RingCentral deployment is organized into sub-accounts (common in multi-site, multi-brand, or reseller deployments), provide the Sub-Account ID for the specific account whose calls should be processed. If you operate a single-account deployment, this field is not required — enter N/A in the handover table.
- Log in to the RingCentral Admin Portal at https://service.ringcentral.com.
- Navigate to Contact Center >> Admin
- Select Settings >> Accounts
- Expand your Main Site
- The Sub-Account ID is displayed in the ID column
Internal Call Processing
By default, the CI platform processes all inbound and outbound calls involving external parties. Internal calls — calls made between extensions or users within your RingCentral account — can optionally be included.
Consider the following when making this decision:
- Include internal calls if you want to analyze internal coaching sessions, team huddles, or any agent-to-agent calls.
- Exclude internal calls if you only want customer-facing interactions to be analyzed, which reduces processing volume and storage usage.
This preference can be changed after the integration goes live by contacting Capacity. It is not a permanent setting.
What to Share with Capacity
Once you have completed the setup, gather the following items and send them securely to your Capacity contact. Use the table below as a checklist.
| Item | Your Value / Confirmation |
|---|---|
| Product(s) in use | ☐ RingEX ☐ RingCX ☐ Both |
| Main Account ID | |
| Sub-Account ID (if applicable) | |
| Process internal calls? | ☐ Yes ☐ No |
| Credentials JSON (RingEX app) | ☐ Attached / ☐ N/A |
| Credentials JSON (RingCX app) | ☐ Attached / ☐ N/A |
Never send Credentials JSON files or JWT tokens via standard unencrypted email. Always use a secure channel agreed with your Capacity contact.
