RingCentral Embeddable 1.0 Release Notes

Embbnux Ji
RingCentral Developers
4 min readJul 30, 2019
With this you can embed a full-featured softphone into your web apps — make sure to check out all the new updates

RingCentral Embeddable is an out-of-the-box embeddable web application that helps developers integrate RingCentral services to their web applications with just a line of code. We are excited to see that more and more developers are using it to build their integration and extension app. And recently, we released RingCentral Embeddable 1.0 which includes lots of new features.

Highlights:

  1. Third party service API with call logger (support call recording)
  2. Third party service API with message logger (support voicemail)
  3. Calling Setting API
  4. Active call control
  5. Configurable toggle settings
  6. Customize third party service brand logo
  7. New adapter UI
  8. Firefox support

New logger API with third party service

For CRM developers, Call Logging and Message Logging are important features. In the logger API, we support both manual and automatic logging.

To register a logger service:

document.querySelector("#rc-widget-adapter-frame").contentWindow.postMessage({
type: 'rc-adapter-register-third-party-service',
service: {
name: 'TestService',
callLoggerPath: '/callLogger',
callLoggerTitle: 'Log to TestService',
// recordingWithToken: 1
}
}, '*');

After you’re registered, you can get a Log to TestService in calls page, and Auto log calls setting on the setting page.

When a user clicks log button or enable auto logger, we can then get the call information in the message listener:

window.addEventListener('message', function (e) {
var data = e.data;
if (data && data.type === 'rc-post-message-request') {
if (data.path === '/callLogger') {
// add your codes here to log call to your service
console.log(data);
// response to widget
document.querySelector("#rc-widget-adapter-frame").contentWindow.postMessage({
type: 'rc-post-message-response',
responseId: data.requestId,
response: { data: 'ok' },
}, '*');
}
}
});

We can also get call recording and voicemail data in logger api. For even more information make sure to check out the full document.

Calling Setting and Active Call Control

In the RingCentral Embeddable we set default calling mode as Browser, which will make calls and transport voice with the browser’s WebRTC. The RingCentral Embeddable also supports making calls with our RingCentral Desktop app or using Ringout call. Those calls are active on other devices, but we can still control them in our Embeddable with the active call control feature.

To set calling mode with Calling Setting API:

document.querySelector("#rc-widget").contentWindow.postMessage({
type: 'rc-calling-settings-update',
callWith: 'softphone',
}, '*');

Go here for full document.

By default active call controls is disabled, but you can enable it after you add Active Call Control permission in your RingCentral app.

More Configurable Settings page

In RingCentral Embeddable’s setting page we now support adding settings into it, and now makes it easy to add your authorization button in it.

For example we can add Open contact page when call coming setting into your settings list, and add your service’s authorization status and account in into it:

Please go here for the toggle settings’ document and here for more information on authorization settings.

New adapter UI

We’ve also update the adapter UI for JS. In the new UI we’ve reduced our app size in minimized mode.

We also show current call information in the header of app and the user can get the call information after leaving call control page.

Firefox support

Previously RingCentral Embeddable only supported making webRTC calls in the Chrome browser, but now we also support Firefox. All usages are the same as Chrome, for more information on building a Firefox extension refer to this article.

More information

For more information, please go to RingCentral Embeddable’s Github repository and feel free to create issues there if you come across any problems.

--

--