RingCentral Integration Intake

Modified on Wed, 26 Aug at 2:02 PM

Everything your RingCentral administrator needs to create, plus the four values to send us, so we can connect your phone system to the Voicegain voice bot and run the first live test call.

Prepared for your RingCentral administratorTime required about 30 minutesSend back four values, one answer

There is no webhook screen to fill in — and that is good news

Unlike most phone platforms, RingCentral has no admin page for registering an outside listener. Call notifications can only be turned on through its API. That means you never have to configure a URL, a secret, or a retry policy. You create one app inside your own RingCentral account, send us four values from it, and we switch the notifications on from our side.

Your part

What to set up in RingCentral

All three steps happen in the RingCentral Developer Console, signed in as a Super Admin on your production account. RingCentral retired its sandbox at the end of 2024, so there is no test tenant to build this in.

  1. Create a private server-only app

    In the Developer Console, add a new REST API app. Choose the server-only / no user interface type and enable JWT as the authentication flow. Because the app lives in your own account and is only used by you, it stays private and does not need RingCentral's public-app review.

  2. Grant three permissions

    Add exactly these, using RingCentral's own names. Nothing else is needed for the first phase.

    App permissionsPermissionWhy we need itCallControlReceive call events — ringing, answered, transferred, ended.SubscriptionWebhookLet us switch those notifications on, and keep them alive, from our side.ReadAccountsLook up which person or queue an extension belongs to, so the agent sees the right call.

    ReadCallLog and ReadCallRecording become relevant only if you later ask us to store call recordings. Leave them off for now.

  3. Generate a JWT credential

    Still in the Developer Console, create a JWT credential and scope it to this app only. Leave it with no expiry — if it expires, call events stop arriving with no warning. Generate it while signed in as a Super Admin: the credential inherits that person's permissions, and a narrower role silently returns only part of your account's calls and users.

Send back

The four values

Fill these in and return them over an encrypted channel — a password manager share or an encrypted attachment. Please do not send the client secret or the JWT credential in plain email or chat.

Value

Where to find it

Your entry

 

 

Credentials intake

Client ID

App credentials page in the Developer Console.

 

Client Secret

Same page. Shown once — copy it when you create the app.

 

JWT credential

The token string from step 03.

 

Account ID

Your numeric RingCentral account number. Optional — we can read it from the credential, but having it helps us confirm we are pointed at the right tenant.

 

Call flow

Numbers, and how the call moves

In this setup the voice bot answers first, handles the caller, and then passes the call into RingCentral. So we need two numbers and one answer about routing.

What

Detail we need

Your entry

 

 

Numbering

Inbound number

The published number your callers dial, which you will point at Voicegain so the bot answers first.

 

Transfer destination

The RingCentral number the bot dials when a caller needs a person — your call queue's number or a specific extension.

 

Please write it exactly this way

Give the transfer destination in full international format, with the leading plus sign — +16505550123, never 6505550123 or (650) 555-0123. We match the transfer against the number RingCentral reports, and the two have to be written identically. A number in the wrong shape produces a call that connects normally but arrives at the agent with no context attached, which is a hard failure to spot from the outside.

We also need to know how the call reaches the agent once it is inside RingCentral. If it rings a queue and an agent picks up, or the queue transfers it straight through, everything works today. If a person answers first and then warm-transfers, with a consultation, to a colleague, RingCentral treats the second leg as a separate call and we lose the thread — the agent's screen would stay empty. Tell us which pattern your team actually uses.

Agent identity

Email addresses have to line up

RingCentral's call events identify an agent only by extension number — there is no name or email in them. We look the extension up in your directory and match it to a Voicegain user by email address. So:

  • Every agent's RingCentral user extension needs an email address on it, and it must be the same address that agent uses to sign in to Voicegain. Capitalisation does not matter; a different mailbox does.

  • Shared or generic mailboxes will not work. If several agents share one address on their extensions, we cannot tell them apart and the call context goes to the wrong screen.

  • Send us the list of call queues (RingCentral shows these as Department extensions) along with the agents in scope, so we can confirm we are attributing calls to people rather than to the queue they came through.

Full disclosure

What we will receive from your account

RingCentral's call notifications are only offered account-wide, so this is worth stating plainly before you approve it.

  • Call events for every extension in your tenant, not only for calls that came through the voice bot. RingCentral does not offer a narrower subscription. We ignore calls we do not recognise as ours, but the events do reach our servers.

  • What an event contains: the calling and called numbers, the extension involved, the call's state, and timestamps. No audio and no message content.

  • Your user directory — extension numbers, display names and email addresses — read periodically so we can name the agent on a call. Held briefly in cache and refreshed; not used for anything else.

  • Nothing outbound into your phone system. The permissions above are read and subscribe only. We never place, move, or end a call in RingCentral.

If your data protection agreement needs to name a specific data flow, this section is the one to reference.

Our part

What happens after you send the values

We register the notification subscription against your account and point it at our endpoint, which will look like this:

https://<voicegain-host>/public/webhook/ringcentral?aivrAppId=<your-app-id>

We will confirm the exact address when we set it up. There is nothing to allow through your firewall — RingCentral's servers reach out to us, not the other way round.

Two operational notes so nothing is a surprise later. The subscription renews itself on a weekly cycle, automatically. And if our endpoint ever goes unreachable, RingCentral permanently suspends the subscription rather than retrying indefinitely — we monitor for that and re-create it, and no action is needed from you.

Test day

The first live call

Because there is no sandbox, the first test runs on your live account. Please set aside a short window with a small blast radius:

  • One test number we can point at the bot without touching your main line.

  • One test queue and two or three agents who know the call is coming.

  • A named contact on the call from your side who can check the agent's screen while we watch the events arrive.

  • Written approval to run test calls on the production account, since that is the only environment available.

We will make a handful of calls through the bot, transfer each one to the queue, and confirm the agent's screen opens with the caller's history. Expect an hour, most of it waiting between calls.

Send the completed values back to your Voicegain contact, together with a note on how calls reach your agents today, and we will schedule the test call within a couple of working days of receiving them.

Voicegain · RingCentral integration · Phase 1, call



Was this article helpful?

That’s Great!

Thank you for your feedback

Sorry! We couldn't be helpful

Thank you for your feedback

Let us know how can we improve this article!

Select at least one of the reasons
CAPTCHA verification is required.

Feedback sent

We appreciate your effort and will try to fix the article