RingCentral
RingCentral is a communications app for calling, messaging, meetings, and team collaboration. Protocol Launcher allows you to generate RingCentral URL scheme links.
Usage
There are two ways to use this library:
- On-Demand import from subpaths enables tree-shaking and keeps bundles small.
- Full Import from the root package is convenient but includes all app modules.
Pick On-Demand for production builds; Full Import is fine for quick scripts or demos.
Select Installation Method
Notes
This module follows RingCentral's official URI Scheme Reference. It exposes the documented rcmobile:// mobile links, rcapp://r/signin, tel: and sms: system URI forms, RingCentral web app links under https://app.ringcentral.com, the documented desktop /r/... paths, and RingCentral Video join links under https://v.ringcentral.com.
The desktopSms() helper only serializes content for the official number + content form. It does not create an undocumented content-only URL.
Mobile Call and SMS
Generate the documented RingCentral mobile call and SMS draft URIs. These can start communication flows, so the docs show generated examples without live preview links.
import { call, sms } from 'protocol-launcher/ringcentral'
const callUrl = call({
phoneNumber: '15551234567',
})
const smsUrl = sms({
phoneNumber: '15551234567',
})Mobile Screens
Open RingCentral mobile screens documented by the rcmobile:// catalog.
import { conference, meeting, contacts, voicemail, history } from 'protocol-launcher/ringcentral'
const conferenceUrl = conference()
const meetingUrl = meeting()
const contactsUrl = contacts()
const voicemailUrl = voicemail()
const historyUrl = history()Mobile Team Messaging
Open RingCentral mobile Team Messaging resources using the documented rcmobile://glip/... URIs.
import { openTeam, openChat, openPost, openFile, openTask, openEvent } from 'protocol-launcher/ringcentral'
const teamUrl = openTeam({
teamId: 'team-123',
})
const directMessageUrl = openChat({
userId: 'user-123',
})
const postUrl = openPost({
postId: 'post-123',
})
const fileUrl = openFile({
fileId: 'file-123',
})
const taskUrl = openTask({
taskId: 'task-123',
})
const eventUrl = openEvent({
eventId: 'event-123',
})Sign In
Launch the RingCentral app sign-in screen.
import { signIn } from 'protocol-launcher/ringcentral'
const url = signIn()System URI Forms
Generate the tel: and sms: URI forms listed in RingCentral's reference. These use the default phone or SMS app rather than the rcmobile:// scheme.
import { tel, systemSms } from 'protocol-launcher/ringcentral'
const telUrl = tel({
phoneNumber: '15551234567',
})
const defaultSmsUrl = systemSms({
phoneNumber: '15551234567',
})Web App Links
Generate RingCentral web app deep links under the documented production base URL.
import { openWebTeamChat, openWebInvitation, openWebGroup, openWebMessageThread, openWebChat, openWebTeamMessage, openWebTask, openWebFile, openWebEvent } from 'protocol-launcher/ringcentral'
const teamChatUrl = openWebTeamChat({
groupId: 'group-123',
})
const invitationUrl = openWebInvitation({
groupId: 'group-123',
email: 'member@example.com',
})
const groupUrl = openWebGroup({
groupId: 'group-123',
})
const messageThreadUrl = openWebMessageThread({
messageId: 'message-123',
})
const chatUrl = openWebChat({
chatId: 'chat-123',
})
const teamMessageUrl = openWebTeamMessage({
teamId: 'team-123',
messageId: 'message-123',
})
const taskUrl = openWebTask({
taskId: 'task-123',
})
const fileUrl = openWebFile({
fileId: 'file-123',
})
const eventUrl = openWebEvent({
eventId: 'event-123',
})Desktop Paths
Generate the documented /r/... RingCentral desktop paths. RingCentral documents the production base URL separately as https://app.ringcentral.com/, but these helpers return the exact path forms shown in the catalog.
import { desktopCall, desktopDialer, desktopSms, desktopFax } from 'protocol-launcher/ringcentral'
const desktopCallUrl = desktopCall({
phoneNumber: '15551234567',
})
const dialerUrl = desktopDialer()
const prefilledDialerUrl = desktopDialer({
phoneNumber: '15551234567',
})
const smsComposerUrl = desktopSms()
const prefilledSmsUrl = desktopSms({
phoneNumber: '15551234567',
content: 'Hello from Protocol Launcher',
})
const faxComposerUrl = desktopFax()RingCentral Video
Open a RingCentral Video meeting, optionally with a prefilled password.
import { joinVideo } from 'protocol-launcher/ringcentral'
const meetingUrl = joinVideo({
meetingId: '123456789',
})
const meetingWithPasswordUrl = joinVideo({
meetingId: '123456789',
password: 'passcode',
})