Skip to content

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

On-Demand
Recommended. Optimized for production.
Full Import
Convenient. Good for quick scripts.

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.

On-Demand
ts
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.

On-Demand
ts
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.

On-Demand
ts
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.

On-Demand
ts
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.

On-Demand
ts
import { tel, systemSms } from 'protocol-launcher/ringcentral'

const telUrl = tel({
  phoneNumber: '15551234567',
})

const defaultSmsUrl = systemSms({
  phoneNumber: '15551234567',
})

Generate RingCentral web app deep links under the documented production base URL.

On-Demand
ts
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.

On-Demand
ts
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.

On-Demand
ts
import { joinVideo } from 'protocol-launcher/ringcentral'

const meetingUrl = joinVideo({
  meetingId: '123456789',
})

const meetingWithPasswordUrl = joinVideo({
  meetingId: '123456789',
  password: 'passcode',
})

Official Documentation