SlideShare uma empresa Scribd logo
1 de 38
Advanced RingCentral
API Use Cases
Byrne Reese, Sr. Product Manager
CoderCruise 2019
Byrne Reese
Senior Product Manager, RingCentral
I love building great
developer experiences.
byrne.reese@ringcentral.com
medium.com/@byrnereese
● Established in 1999
● #1 Cloud Communications Provider
● Provides Voice, SMS, Team Messaging,
Meetings, and Fax with a single app and across
multiple devices
● Over 400,000 customers ranging from small
businesses to enterprises
● Established in 1999
● Provides Voice, SMS, Team Messaging,
Meetings, and Fax with a single app and across
multiple devices
● #1 Cloud Communications Provider
● Over 400,000 customers ranging from small
businesses to enterprises
● APIs for voice, call routing, SMS, team
messaging and collaboration, meetings,
fax, data, and more.
Nordic APIs: 2018 Best API Award
Call Routing & Call Control
Bridge Operator Console is an
application which provides
essential functions for today’s
modern receptionists.
Features
● User presence & availability
● Call routing
● Active call control
● Parked call alerts
● AI-powered call routing suggestions
Bridge Operator Console Architecture
Key Endpoints and APIs
● Call Control
● Presence
● Answering Rules
● Call Log
● Call Monitoring
● Messaging
Key Events
● Telephony Sessions Event
● User Presence Event
Events
API Calls
Bridge Operator Console Architecture
Key Endpoints and APIs
● Call Control
● Presence
● Answering Rules
● Call Log
● Call Monitoring
● Messaging
Key Events
● Telephony Sessions Event
● User Presence Event
Events
API Calls
Call Routing and Control Diagram
ext. A
Transfer
warm vs cold
ext. B
Call Routing and Control Diagram
ext. A
Transfer
Call Queue
ext. B
ext. C
ext. D
Try each in
sequence...
ext. D
Call Routing and Control Diagram
ext. A
Park
Park Group
ext. B
ext. C
ext. D
Only these
extensions
can answer
ext. B
Call Routing and Control Diagram
ext. A
Transfer
Call Forwarding
ext. B
Ring
simultaneously
or sequentially
Call Routing and Control Diagram
ext. A
Reject
{
"uuid": "837270960869181944",
"subscriptionId": "5c37f936-fa66-4b4b-95af-1e94b51a748d",
"pn_apns": {
"body": {
"sessionId": "402936341008",
"telephonySessionId": "Y3MxNzE4NDE5MDM0MzQwMTgzODRAMTAuNjIuMjUuMTEx",
"parties": [
{
"extensionId": "400144455008",
"id": "cs171841903434018384-2",
"direction": "Inbound",
"to": { "phoneNumber": "102", "name": "Tom Sawyer", "extensionId": "400144455008" },
"from": { "phoneNumber": "103", "name": "The Cat Jerry", "extensionId": "400144457008" },
"status": { "code": ”Answered" },
"missedCall": false,
"muted": false
}
],
}
}
}
Telephony Sessions Event
(snipped to fit on a slide)
Setup, Proceeding, Answered,
Disconnected, Gone, Parked, Hold,
VoiceMail, FaxReceive,
VoiceMailScreening
Call Control API (Javascript)
const SDK = require('ringcentral');
const rcsdk = new SDK({
server: 'serverURL',
appKey: 'clientId',
appSecret: 'clientSecret'
});
const platform = rcsdk.platform();
await platform.login({
username: 'username',
password: 'password'
});
sid = "402936341008"
pid = "cs171841903434018384-2"
uri = `/restapi/v1.0/account/~/telephony/sessions/${sid}/parties/${pid}/transfer`
const r = await platform.post(uri, {
phoneNumber: '+1-510-555-1212'
});
Authentication Stuff
Call Control API (Javascript)
const SDK = require('ringcentral');
const rcsdk = new SDK({
server: 'serverURL',
appKey: 'clientId',
appSecret: 'clientSecret'
});
const platform = rcsdk.platform();
await platform.login({
username: 'username',
password: 'password'
});
sid = "402936341008"
pid = "cs171841903434018384-2"
uri = `/restapi/v1.0/account/~/telephony/sessions/${sid}/parties/${pid}/transfer`
const r = await platform.post(uri, {
phoneNumber: '+1-510-555-1212'
});
hold
unhold
reject
forward
Embeddable Communications
Zoho CRM helps businesses drive
sales processes, support customers,
and promote customer success.
Features
● Call-pop
● Click-to-dial
● Contact syncing
● Call notes
● Call logging
Embeddable Phone
We wanted to make embedding a
fully functional phone and
communication device on the web
as plug-and-play as possible.
Features
● Phone (with dial-pad)
● SMS
● Call History
● Team Messaging
● Read Faxes
Initialize the Embeddable Widget
<script src="https://ringcentral.github.io/ringcentral-web-widget/adapter.js? 
appKey=myAppKey& 
appServer=https://platform.devtest.ringcentral.com& 
redirectUri=https://ringcentral.github.io/ringcentral-web-widget/redirect.html”></script>
Initialize the Embeddable Widget
(function() {
var rcs = document.createElement("script");
rcs.src = "https://ringcentral.github.io/ringcentral-web-widget/adapter.js?" +
"appKey=myAppKey&" +
"appServer=https://platform.devtest.ringcentral.com&" +
"redirectUri=https://ringcentral.github.io/ringcentral-web-widget/redirect.html";
var rcs0 = document.getElementsByTagName("script")[0];
rcs0.parentNode.insertBefore(rcs, rcs0);
if (window.RCAdapter) {
window.RCAdapter.setMinimized(false);
}
})();
<script src="https://ringcentral.github.io/ringcentral-web-widget/adapter.js? 
appKey=myAppKey& 
appServer=https://platform.devtest.ringcentral.com& 
redirectUri=https://ringcentral.github.io/ringcentral-web-widget/redirect.html”></script>
Or…
(function () {
window.addEventListener('message', function(e) {
const data = e.data;
if (data) {
switch (data.type) {
case 'rc-call-ring-notify':
var id = number2id(data.call.from, number2user);
if (id) {
var contact = id2user[id];
window.title = contact.character.displayName;
window.history.pushState("", contact.character.displayName, "?id="+id);
displayUserDOM(id, id2user); // your custom display function
}
break;
default:
break;
}
}
})
})();
Create a Call Pop
Call
Recording
Analysis
(in 2 case studies)
Gong is a conversation analytics company that uses
machine learning to help sales organizations have more
effective conversations with their customers.
Theta Lake uses AI to detect compliance risks in
videos, audio/call recordings, and other rich media
content. Detections feed into intuitive, AI-assisted
supervision workflow with secure retention and
compliant archiving options.
Features
● Risk detection alerts
● Call, meeting and message analysis
● Configurable data retention
● Content indexing for quick access
● Scene change detection in meetings
● Workflow design tools
Since 2008, more than
$240B
in fines have been levied against
banks for compliance violations
1 Scheduled process triggers
scan for new content
2
Theta Lake retrieves and
processes content
3
Theta Lake analyzes &
assesses risk
Speech to Text Service
Scheduled Task
4
Theta Lake indexes content
and alerts agents
Message Store
(Fax, SMS)
Call Log
(Call Recordings)
Glip
(Compliance Exports)
Meetings
(Cloud Recordings
BETA)
Request
const SDK = require('ringcentral');
const rcsdk = new SDK({
server: 'serverURL',
appKey: 'clientId',
appSecret: 'clientSecret'
});
const platform = rcsdk.platform();
await platform.login({
username: 'username',
extension: 'extension',
password: 'password'
});
uri = `/restapi/v1.0/account/~/extension/~/call-log/${rId}`
const r = await platform.get(uri, {});
Response
{
"uri": "..snip..?view=Simple",
"id": "IXPCm_tIkCduk4I",
"sessionId": "404412141008",
"startTime": "2015-06-25T14:57:30.000Z",
"duration": 60,
"type": "Voice",
"direction": "Inbound",
"action": "Phone Call",
"result": "Accepted",
"to": {
"phoneNumber": "+18772160007",
"name": "John Smith"
},
"from": {
"phoneNumber": "+18882400004",
"name": "Jane Smith"
},
"recording": {
"uri": "..snip../40119014/recording/40154",
"id": "401547458008",
"type": "OnDemand",
"contentUri": "..snip../40154/content"
}
}
Real-time Call Monitoring
Velvetech is a custom software development
company that developed a real-time
transcription service and framework.
Features
● Real-time Transcription
● Speaker identification
● Real-time Conversation Analysis
+
● AI-driven prompt suggestion engine
● Modular speech recognition,
language models and transcription
Call Monitoring Groups
ext. A
ext. B
ext. C
ext. E
ext. G
Call Monitoring Group
ext. D
ext. F
ext. H
Supervisors
ext. I ext. Kext. J ext. L
Call Monitoring by a Virtual Agent
{
"uuid": "837270960869181944",
"subscriptionId": "5c37f936-fa66-4b4b-95af-1e94b51a748d",
"pn_apns": {
"body": {
"sessionId": "402936341008",
"telephonySessionId": "Y3MxNzE4NDE5MDM0MzQwMTgzODRAMTAuNjIuMjUuMTEx",
"parties": [
{
"extensionId": "400144455008",
"id": "cs171841903434018384-2",
"direction": "Inbound",
"to": { "phoneNumber": "102", "name": "Tom Sawyer", "extensionId": "400144455008" },
"from": { "phoneNumber": "103", "name": "The Cat Jerry", "extensionId": "400144457008" },
"status": { "code": "Answered" },
"missedCall": false,
"muted": false
}
],
}
}
}
Telephony Sessions Event
(snipped to fit on a slide)
Call Monitoring in Ruby
require 'ringcentral'
rc = RingCentral.new(
'client_id',
'client_secret',
'https://platform.ringcentral.com')
rc.authorize( username: '+16505550100',
password: 'my_password')
sid = "402936341008"
uri = '/restapi/v1.0/account/{accountId}/telephony/sessions/{sid}/supervise'
res = rc.post, payload: {
"mode": "Listen",
"extensionNumber": "108",
"deviceId": "60727004"
}
Thank You.
Q&A

Mais conteúdo relacionado

Semelhante a Advanced RingCentral API Use Cases

Ezhilarasu_C,C++,Telecom,Resume
Ezhilarasu_C,C++,Telecom,ResumeEzhilarasu_C,C++,Telecom,Resume
Ezhilarasu_C,C++,Telecom,Resume
Ezhilarasu A
 
Application Services On The Web Sales Forcecom
Application Services On The Web Sales ForcecomApplication Services On The Web Sales Forcecom
Application Services On The Web Sales Forcecom
QConLondon2008
 
Dave Carroll Application Services Salesforce
Dave Carroll Application Services SalesforceDave Carroll Application Services Salesforce
Dave Carroll Application Services Salesforce
deimos
 
Real time Communication with Signalr (Android Client)
Real time Communication with Signalr (Android Client)Real time Communication with Signalr (Android Client)
Real time Communication with Signalr (Android Client)
Deepak Gupta
 

Semelhante a Advanced RingCentral API Use Cases (20)

Security Architecture Consulting - Hiren Shah
Security Architecture Consulting - Hiren ShahSecurity Architecture Consulting - Hiren Shah
Security Architecture Consulting - Hiren Shah
 
Architecting io t solutions with microisoft azure ignite tour version
Architecting io t solutions with microisoft azure ignite tour versionArchitecting io t solutions with microisoft azure ignite tour version
Architecting io t solutions with microisoft azure ignite tour version
 
Ezhilarasu_C,C++,Telecom,Resume
Ezhilarasu_C,C++,Telecom,ResumeEzhilarasu_C,C++,Telecom,Resume
Ezhilarasu_C,C++,Telecom,Resume
 
Application Services On The Web Sales Forcecom
Application Services On The Web Sales ForcecomApplication Services On The Web Sales Forcecom
Application Services On The Web Sales Forcecom
 
Consul: Service Mesh for Microservices
Consul: Service Mesh for MicroservicesConsul: Service Mesh for Microservices
Consul: Service Mesh for Microservices
 
TADHack Oracle Alerant Optare Webinar
TADHack Oracle Alerant Optare WebinarTADHack Oracle Alerant Optare Webinar
TADHack Oracle Alerant Optare Webinar
 
SpringOne Tour Denver - Spring Boot & Spring Cloud on Pivotal Application Ser...
SpringOne Tour Denver - Spring Boot & Spring Cloud on Pivotal Application Ser...SpringOne Tour Denver - Spring Boot & Spring Cloud on Pivotal Application Ser...
SpringOne Tour Denver - Spring Boot & Spring Cloud on Pivotal Application Ser...
 
Spring Boot & Spring Cloud Apps on Pivotal Application Service - Daniel Lavoie
Spring Boot & Spring Cloud Apps on Pivotal Application Service - Daniel LavoieSpring Boot & Spring Cloud Apps on Pivotal Application Service - Daniel Lavoie
Spring Boot & Spring Cloud Apps on Pivotal Application Service - Daniel Lavoie
 
Dave Carroll Application Services Salesforce
Dave Carroll Application Services SalesforceDave Carroll Application Services Salesforce
Dave Carroll Application Services Salesforce
 
WSO2 Summit London 2018: Introduction
WSO2 Summit London 2018: IntroductionWSO2 Summit London 2018: Introduction
WSO2 Summit London 2018: Introduction
 
Aplicaciones distribuidas con Dapr
Aplicaciones distribuidas con DaprAplicaciones distribuidas con Dapr
Aplicaciones distribuidas con Dapr
 
The Momentum of Collaboration and the Customer Experience
The Momentum of Collaboration and the Customer ExperienceThe Momentum of Collaboration and the Customer Experience
The Momentum of Collaboration and the Customer Experience
 
Mohini_Singh_CV
Mohini_Singh_CVMohini_Singh_CV
Mohini_Singh_CV
 
Client & Virtual User Experience Monitoring mit Splunk
Client & Virtual User Experience Monitoring mit SplunkClient & Virtual User Experience Monitoring mit Splunk
Client & Virtual User Experience Monitoring mit Splunk
 
Client & Virtual User Experience Monitoring mit Splunk
Client & Virtual User Experience Monitoring mit SplunkClient & Virtual User Experience Monitoring mit Splunk
Client & Virtual User Experience Monitoring mit Splunk
 
Resumeupdated
ResumeupdatedResumeupdated
Resumeupdated
 
Resumeupdated
ResumeupdatedResumeupdated
Resumeupdated
 
Real time Communication with Signalr (Android Client)
Real time Communication with Signalr (Android Client)Real time Communication with Signalr (Android Client)
Real time Communication with Signalr (Android Client)
 
[Hands-on] CQRS(Command Query Responsibility Segregation) 와 Event Sourcing 패턴 실습
[Hands-on] CQRS(Command Query Responsibility Segregation) 와 Event Sourcing 패턴 실습[Hands-on] CQRS(Command Query Responsibility Segregation) 와 Event Sourcing 패턴 실습
[Hands-on] CQRS(Command Query Responsibility Segregation) 와 Event Sourcing 패턴 실습
 
CQRS and Event Sourcing
CQRS and Event Sourcing CQRS and Event Sourcing
CQRS and Event Sourcing
 

Mais de Byrne Reese (7)

Melody Designer Training
Melody Designer TrainingMelody Designer Training
Melody Designer Training
 
Building Web Sites With Movable Type
Building Web Sites With Movable TypeBuilding Web Sites With Movable Type
Building Web Sites With Movable Type
 
Hacking Movable Type Training - Day 2
Hacking Movable Type Training - Day 2Hacking Movable Type Training - Day 2
Hacking Movable Type Training - Day 2
 
Hacking Movable Type Training - Day 1
Hacking Movable Type Training - Day 1Hacking Movable Type Training - Day 1
Hacking Movable Type Training - Day 1
 
Online Communities
Online CommunitiesOnline Communities
Online Communities
 
Timespeople Community Features
Timespeople Community FeaturesTimespeople Community Features
Timespeople Community Features
 
Evolution Of Open
Evolution Of OpenEvolution Of Open
Evolution Of Open
 

Último

Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 

Último (20)

Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 

Advanced RingCentral API Use Cases

  • 1. Advanced RingCentral API Use Cases Byrne Reese, Sr. Product Manager CoderCruise 2019
  • 2. Byrne Reese Senior Product Manager, RingCentral I love building great developer experiences. byrne.reese@ringcentral.com medium.com/@byrnereese
  • 3. ● Established in 1999 ● #1 Cloud Communications Provider ● Provides Voice, SMS, Team Messaging, Meetings, and Fax with a single app and across multiple devices ● Over 400,000 customers ranging from small businesses to enterprises
  • 4. ● Established in 1999 ● Provides Voice, SMS, Team Messaging, Meetings, and Fax with a single app and across multiple devices ● #1 Cloud Communications Provider ● Over 400,000 customers ranging from small businesses to enterprises ● APIs for voice, call routing, SMS, team messaging and collaboration, meetings, fax, data, and more. Nordic APIs: 2018 Best API Award
  • 5. Call Routing & Call Control
  • 6. Bridge Operator Console is an application which provides essential functions for today’s modern receptionists. Features ● User presence & availability ● Call routing ● Active call control ● Parked call alerts ● AI-powered call routing suggestions
  • 7. Bridge Operator Console Architecture Key Endpoints and APIs ● Call Control ● Presence ● Answering Rules ● Call Log ● Call Monitoring ● Messaging Key Events ● Telephony Sessions Event ● User Presence Event Events API Calls
  • 8. Bridge Operator Console Architecture Key Endpoints and APIs ● Call Control ● Presence ● Answering Rules ● Call Log ● Call Monitoring ● Messaging Key Events ● Telephony Sessions Event ● User Presence Event Events API Calls
  • 9. Call Routing and Control Diagram ext. A Transfer warm vs cold ext. B
  • 10. Call Routing and Control Diagram ext. A Transfer Call Queue ext. B ext. C ext. D Try each in sequence... ext. D
  • 11. Call Routing and Control Diagram ext. A Park Park Group ext. B ext. C ext. D Only these extensions can answer ext. B
  • 12. Call Routing and Control Diagram ext. A Transfer Call Forwarding ext. B Ring simultaneously or sequentially
  • 13. Call Routing and Control Diagram ext. A Reject
  • 14. { "uuid": "837270960869181944", "subscriptionId": "5c37f936-fa66-4b4b-95af-1e94b51a748d", "pn_apns": { "body": { "sessionId": "402936341008", "telephonySessionId": "Y3MxNzE4NDE5MDM0MzQwMTgzODRAMTAuNjIuMjUuMTEx", "parties": [ { "extensionId": "400144455008", "id": "cs171841903434018384-2", "direction": "Inbound", "to": { "phoneNumber": "102", "name": "Tom Sawyer", "extensionId": "400144455008" }, "from": { "phoneNumber": "103", "name": "The Cat Jerry", "extensionId": "400144457008" }, "status": { "code": ”Answered" }, "missedCall": false, "muted": false } ], } } } Telephony Sessions Event (snipped to fit on a slide) Setup, Proceeding, Answered, Disconnected, Gone, Parked, Hold, VoiceMail, FaxReceive, VoiceMailScreening
  • 15. Call Control API (Javascript) const SDK = require('ringcentral'); const rcsdk = new SDK({ server: 'serverURL', appKey: 'clientId', appSecret: 'clientSecret' }); const platform = rcsdk.platform(); await platform.login({ username: 'username', password: 'password' }); sid = "402936341008" pid = "cs171841903434018384-2" uri = `/restapi/v1.0/account/~/telephony/sessions/${sid}/parties/${pid}/transfer` const r = await platform.post(uri, { phoneNumber: '+1-510-555-1212' }); Authentication Stuff
  • 16. Call Control API (Javascript) const SDK = require('ringcentral'); const rcsdk = new SDK({ server: 'serverURL', appKey: 'clientId', appSecret: 'clientSecret' }); const platform = rcsdk.platform(); await platform.login({ username: 'username', password: 'password' }); sid = "402936341008" pid = "cs171841903434018384-2" uri = `/restapi/v1.0/account/~/telephony/sessions/${sid}/parties/${pid}/transfer` const r = await platform.post(uri, { phoneNumber: '+1-510-555-1212' }); hold unhold reject forward
  • 18. Zoho CRM helps businesses drive sales processes, support customers, and promote customer success. Features ● Call-pop ● Click-to-dial ● Contact syncing ● Call notes ● Call logging
  • 19.
  • 20. Embeddable Phone We wanted to make embedding a fully functional phone and communication device on the web as plug-and-play as possible. Features ● Phone (with dial-pad) ● SMS ● Call History ● Team Messaging ● Read Faxes
  • 21. Initialize the Embeddable Widget <script src="https://ringcentral.github.io/ringcentral-web-widget/adapter.js? appKey=myAppKey& appServer=https://platform.devtest.ringcentral.com& redirectUri=https://ringcentral.github.io/ringcentral-web-widget/redirect.html”></script>
  • 22. Initialize the Embeddable Widget (function() { var rcs = document.createElement("script"); rcs.src = "https://ringcentral.github.io/ringcentral-web-widget/adapter.js?" + "appKey=myAppKey&" + "appServer=https://platform.devtest.ringcentral.com&" + "redirectUri=https://ringcentral.github.io/ringcentral-web-widget/redirect.html"; var rcs0 = document.getElementsByTagName("script")[0]; rcs0.parentNode.insertBefore(rcs, rcs0); if (window.RCAdapter) { window.RCAdapter.setMinimized(false); } })(); <script src="https://ringcentral.github.io/ringcentral-web-widget/adapter.js? appKey=myAppKey& appServer=https://platform.devtest.ringcentral.com& redirectUri=https://ringcentral.github.io/ringcentral-web-widget/redirect.html”></script> Or…
  • 23. (function () { window.addEventListener('message', function(e) { const data = e.data; if (data) { switch (data.type) { case 'rc-call-ring-notify': var id = number2id(data.call.from, number2user); if (id) { var contact = id2user[id]; window.title = contact.character.displayName; window.history.pushState("", contact.character.displayName, "?id="+id); displayUserDOM(id, id2user); // your custom display function } break; default: break; } } }) })(); Create a Call Pop
  • 25. Gong is a conversation analytics company that uses machine learning to help sales organizations have more effective conversations with their customers.
  • 26.
  • 27.
  • 28. Theta Lake uses AI to detect compliance risks in videos, audio/call recordings, and other rich media content. Detections feed into intuitive, AI-assisted supervision workflow with secure retention and compliant archiving options. Features ● Risk detection alerts ● Call, meeting and message analysis ● Configurable data retention ● Content indexing for quick access ● Scene change detection in meetings ● Workflow design tools Since 2008, more than $240B in fines have been levied against banks for compliance violations
  • 29. 1 Scheduled process triggers scan for new content 2 Theta Lake retrieves and processes content 3 Theta Lake analyzes & assesses risk Speech to Text Service Scheduled Task 4 Theta Lake indexes content and alerts agents Message Store (Fax, SMS) Call Log (Call Recordings) Glip (Compliance Exports) Meetings (Cloud Recordings BETA)
  • 30.
  • 31. Request const SDK = require('ringcentral'); const rcsdk = new SDK({ server: 'serverURL', appKey: 'clientId', appSecret: 'clientSecret' }); const platform = rcsdk.platform(); await platform.login({ username: 'username', extension: 'extension', password: 'password' }); uri = `/restapi/v1.0/account/~/extension/~/call-log/${rId}` const r = await platform.get(uri, {}); Response { "uri": "..snip..?view=Simple", "id": "IXPCm_tIkCduk4I", "sessionId": "404412141008", "startTime": "2015-06-25T14:57:30.000Z", "duration": 60, "type": "Voice", "direction": "Inbound", "action": "Phone Call", "result": "Accepted", "to": { "phoneNumber": "+18772160007", "name": "John Smith" }, "from": { "phoneNumber": "+18882400004", "name": "Jane Smith" }, "recording": { "uri": "..snip../40119014/recording/40154", "id": "401547458008", "type": "OnDemand", "contentUri": "..snip../40154/content" } }
  • 33. Velvetech is a custom software development company that developed a real-time transcription service and framework. Features ● Real-time Transcription ● Speaker identification ● Real-time Conversation Analysis + ● AI-driven prompt suggestion engine ● Modular speech recognition, language models and transcription
  • 34. Call Monitoring Groups ext. A ext. B ext. C ext. E ext. G Call Monitoring Group ext. D ext. F ext. H Supervisors ext. I ext. Kext. J ext. L
  • 35. Call Monitoring by a Virtual Agent
  • 36. { "uuid": "837270960869181944", "subscriptionId": "5c37f936-fa66-4b4b-95af-1e94b51a748d", "pn_apns": { "body": { "sessionId": "402936341008", "telephonySessionId": "Y3MxNzE4NDE5MDM0MzQwMTgzODRAMTAuNjIuMjUuMTEx", "parties": [ { "extensionId": "400144455008", "id": "cs171841903434018384-2", "direction": "Inbound", "to": { "phoneNumber": "102", "name": "Tom Sawyer", "extensionId": "400144455008" }, "from": { "phoneNumber": "103", "name": "The Cat Jerry", "extensionId": "400144457008" }, "status": { "code": "Answered" }, "missedCall": false, "muted": false } ], } } } Telephony Sessions Event (snipped to fit on a slide)
  • 37. Call Monitoring in Ruby require 'ringcentral' rc = RingCentral.new( 'client_id', 'client_secret', 'https://platform.ringcentral.com') rc.authorize( username: '+16505550100', password: 'my_password') sid = "402936341008" uri = '/restapi/v1.0/account/{accountId}/telephony/sessions/{sid}/supervise' res = rc.post, payload: { "mode": "Listen", "extensionNumber": "108", "deviceId": "60727004" }