Skip to content

Webex

Webex is a collaboration app for messaging, meetings, and calling. Protocol Launcher allows you to generate Webex 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

Webex documents webexteams://im?email=... for creating or opening a one-person space and webexteams://im?space=... for opening an existing space. A Webex developer blog documents webexteams://meet?sip=... and webextel: click-to-call examples. Webex's cross-launch documentation documents webextel://login?..., webexauth://login?..., webexauth://logout, and https://cisco.webex.com/logout?... with the parameters shown below.

Webex also lists CLICKTOCALL:, SIP:, TEL: (not on iOS), and WEBEXTEL: as protocol handlers that can start calls when Webex App is the default calling application. This module only adds helpers for complete URL formats that Webex documents with concrete parameters or examples.

Open Chat

Create or open a Webex chat/space with one person by email address.

On-Demand
ts
import { openChat } from 'protocol-launcher/webex'

const url = openChat({
  email: 'barbara@example.com',
})

Open Space

Open an existing Webex space by space ID.

On-Demand
ts
import { openSpace } from 'protocol-launcher/webex'

const url = openSpace({
  space: '0000aa-a0a0',
})

Meet by SIP

Place a Webex App meeting/call to a SIP address using webexteams://meet?sip=.... This may launch a call, so the docs show the generated URL without a live preview link.

On-Demand
ts
import { meet } from 'protocol-launcher/webex'

const url = meet({
  sip: 'user@example.com',
})

Webex Click-to-Call

Place a URI based call with the Webex App using the webextel: protocol handler.

On-Demand
ts
import { call } from 'protocol-launcher/webex'

const url = call({
  destination: '+1234567890',
})

Cross-Launch Call

Cross launch Webex App to make a call with the documented webextel://login URL.

On-Demand
ts
import { crossLaunchCall } from 'protocol-launcher/webex'

const url = crossLaunchCall({
  telephone: '123456789',
  xSource: 'App B',
  xSuccess: 'appb://success_flow',
  xCancel: 'appb://cancel_flow',
})

Cross-Launch Sign-In

Cross launch Webex App to sign in with an email address using the documented webexauth://login URL. Webex documents telephone, x-source, x-success, and x-cancel as iOS-only parameters.

On-Demand
ts
import { crossLaunchSignIn } from 'protocol-launcher/webex'

const url = crossLaunchSignIn({
  email: 'user1@example.com',
  telephone: '123456789',
  xSource: 'App B',
  xSuccess: 'appb://success_flow',
  xCancel: 'appb://cancel_flow',
})

Logout

Log out of Webex App using the documented webexauth://logout URL.

On-Demand
ts
import { logout } from 'protocol-launcher/webex'

const url = logout()

Log out of Webex App on managed iOS/iPadOS devices with the documented Universal Link Callback URL.

On-Demand
ts
import { universalLinkLogout } from 'protocol-launcher/webex'

const url = universalLinkLogout({
  ulcSuccess: 'https://sampledomain.com/success',
  ulcError: 'https://sampledomain.com/error',
})

Official Documentation