DocumentationBlogSupport
Log inSign up
Log inSign up
BlogSupport
Build
Getting StartedPlatform Introduction
Embedded Apps
What's NewOverviewDeveloper GuideSidebar API Quick StartSubmission Checklist for Embedded Apps
Design Guidelines
MessagingMeetingsDevicesSidebarSidebar on Mobile
API Reference
BotsButtons and CardsIntegrationsBYODSService AppsService App GuestsService Apps G2GGuest IssuerWidgetsWebex ConnectLogin with WebexInstant ConnectInstant Connect Meeting LinksDeveloper SandboxBeta ProgramSubmit Your AppSupport PolicyFAQs
APIs
API Behavior ChangesPartners API GuideXML API DeprecationAccess the APIREST API BasicsCompliance
Webex APIs
Reference
Data Sources
Admin
OverviewAdmin APIsHybrid ServicesAuthentication
Guides
Hybrid ServicesWebhooksReal-time File DLP BasicsProvisioning APIsBackground ImagesAudit Events Error Reference
Reference
Admin Audit EventsAuthorizationsEventsGroupsHistorical AnalyticsHybrid ClustersHybrid ConnectorsLicensesMeeting QualitiesOrganization ContactsOrganizationsPartner ManagementPartner Reports/TemplatesPartner TagsPeopleRecording ReportRecordingsReport TemplatesReportsResource Group MembershipsResource GroupsRolesSecurity Audit EventsSession TypesSettingsSpace ClassificationsTracking CodesWorkspace LocationsWorkspace Metrics
Webex Calling Beta
Overview
Guides
Integrations and AuthorizationMetadata and Samples
Webex Calling
OverviewSDKs and ToolsWhat's New
Guides
Integrations and AuthorizationProvisioning APIsMetadata and SamplesBackground Images
Reference
Call ControlsCall RoutingCall Settings For MeCalling Service SettingsClient Call SettingsConference ControlsConverged RecordingsDECT Devices SettingsDevice Call SettingsDevicesEmergency Services SettingsFeatures: Announcement PlaylistFeatures: Announcement RepositoryFeatures: Auto AttendantFeatures: Call ParkFeatures: Call PickupFeatures: Call QueueFeatures: Call RecordingFeatures: Customer Experience EssentialsFeatures: Hunt GroupFeatures: Operating ModesFeatures: Paging GroupFeatures: Single Number ReachLocation Call SettingsLocation Call Settings: Call HandlingLocation Call Settings: SchedulesLocation Call Settings: VoicemailLocationsNumbersPSTNPartner Reports/TemplatesPeopleRecording ReportReportsReports: Detailed Call HistorySend Activation EmailUser Call SettingsVirtual Line Call SettingsWorkspace Call SettingsWorkspaces
Webex for Broadworks
Overview
Guides
Integrations and AuthorizationDeveloper's Guide
Reference
BroadWorks Billing ReportsBroadWorks EnterprisesBroadWorks SubscribersBroadWorks Workspaces
Webex for Wholesale
Overview
Guides
Developer's Guide
Reference
Wholesale Billing ReportsWholesale Provisioning
Webex for UCM
Guides
Integrations and Authorization
Reference
UCM Profile
Contact Center
Overview
Reference
Data Sources
Customer Journey Data
Overview
Guides
Getting StartedFAQ
Devices
Overview
Guides
Devices
Reference
Device Call SettingsDevice ConfigurationsDevicesWorkspace LocationsWorkspace MetricsWorkspace PersonalizationWorkspacesxAPI
Directory Services
Reference
Domain ManagementIdentity Organization
Meetings
Overview
Guides
Integrations and AuthorizationWebhooksWebinar GuideMeeting Resource Guide
Reference
Meeting ChatsMeeting Closed CaptionsMeeting InviteesMeeting MessagesMeeting ParticipantsMeeting PollsMeeting PreferencesMeeting Q and AMeeting QualitiesMeeting TranscriptsMeetingsMeetings Summary ReportPeopleRecording ReportRecordingsSession TypesTracking CodesVideo MeshWebhooks
Messaging
Overview
Guides
BotsIntegrations and AuthorizationWebhooksButtons and Cards
Reference
Attachment ActionsEventsMembershipsMessagesPeopleRoom TabsRoomsTeam MembershipsTeamsWebhooks
SCIM 2
Overview
Reference
SCIM 2 BulkSCIM 2 GroupsSCIM 2 Users
Workspace Integrations
OverviewTechnical DetailsControl Hub Features
Webex Status API
Full API Reference
Admin Audit EventsAttachment ActionsAuthorizationsBroadWorks Billing ReportsBroadWorks EnterprisesBroadWorks SubscribersBroadWorks WorkspacesCall ControlsCall RoutingCall Settings For MeCalling Service SettingsClient Call SettingsConference ControlsConverged RecordingsDECT Devices SettingsData SourcesDevice Call SettingsDevice ConfigurationsDevicesDomain ManagementEmergency Services SettingsEventsFeatures: Announcement PlaylistFeatures: Announcement RepositoryFeatures: Auto AttendantFeatures: Call ParkFeatures: Call PickupFeatures: Call QueueFeatures: Call RecordingFeatures: Customer Experience EssentialsFeatures: Hunt GroupFeatures: Operating ModesFeatures: Paging GroupFeatures: Single Number ReachGroupsGuests ManagementHistorical AnalyticsHybrid ClustersHybrid ConnectorsIdentity OrganizationIssuesLicensesLocation Call SettingsLocation Call Settings: Call HandlingLocation Call Settings: SchedulesLocation Call Settings: VoicemailLocationsMeeting ChatsMeeting Closed CaptionsMeeting InviteesMeeting MessagesMeeting ParticipantsMeeting PollsMeeting PreferencesMeeting Q and AMeeting QualitiesMeeting TranscriptsMeetingsMeetings Summary ReportMembershipsMessagesNumbersOrganization ContactsOrganizationsPSTNPartner ManagementPartner Reports/TemplatesPartner TagsPeopleRecording ReportRecordingsReport TemplatesReportsReports: Detailed Call HistoryResource Group MembershipsResource GroupsRolesRoom TabsRoomsSCIM 2 BulkSCIM 2 GroupsSCIM 2 UsersSecurity Audit EventsSend Activation EmailSession TypesSettingsSiteSpace ClassificationsTeam MembershipsTeamsTracking CodesUCM ProfileUser Call SettingsVideo MeshVirtual Line Call SettingsWebhooksWholesale Billing ReportsWholesale ProvisioningWorkspace Call SettingsWorkspace LocationsWorkspace MetricsWorkspace PersonalizationWorkspacesxAPI
API Changelog
SDKs
Space Meetings Migration
Calling
Introduction
Platform
Web
IntroductionQuickstart
Basics
AuthorizationCore ConceptsCalls
Advanced Features
Call SettingsContactsSupplementary ServicesVoicemailBackground Noise Reduction
Kitchen Sink
Meetings
Introduction
Platform
Web
IntroductionQuickstart
Basics
AuthorizationJoin a MeetingMigration To Improved MeetingsPasswords & CaptchasUnified Space Meetings
Advanced Features
Advanced ControlsDialing In and OutStreams & EffectsVideo Resolution
Multistream
Multistream Comprehensive GuideMultistream Quickstart
Migrating SDK V2 to V3
iOSAndroidBrowserNode.jsClick to Call
Developer CommunityCertifications

SDKs

Web Meetings SDK | Introduction

This article provides a detailed introduction to the Webex Web SDK meetings object. It covers multiple methods and events related to meeting creation and retrieval.

anchorThe Meetings Object

anchor

The Meetings instance is part of the Webex Meetings SDK that contains a list of meetings created using the SDK and APIs to perform specific operations or listen to certain events. A detailed explanation and code examples are provided in this article.

anchorInitialize a Meetings Object

anchor

After importing and initializing the Web SDK, the Meetings object is accessible from the webex object:

const webex = new Webex.init();
const meetings = webex.meetings;

The meetings constant contains an instance of the Webex Meetings object.

anchorRegister a Meeting Device

anchor

Once the Meetings object is instantiated, you can register a device using its register() method:

const webex = new Webex.init();
await webex.meetings.register();

AsynchronousYes
ParametersNo parameters required
ReturnsPromise<undefined>

anchorCreate a Meeting

anchor

When registration has been completed, use the Meetings object's create() method to create a new meeting object:

const meeting = await webex.meetings.create(destination, type);

The create() method particulars are detailed below:

AsynchronousYes
Parameters
Sl. NoParameter NameParameter TypeMandatoryDescription
1destinationStringYes The meeting destination where the meeting will take place. There are several possible types of destinations as described in the type parameter.
2typeStringNo The meeting type must be one of the following:
  • MEETING_LINK
  • SIP_URI
  • CONVERSATION_URL
  • PERSONAL_ROOM
  • MEETING_LINK
ReturnsPromise<Meeting>

The Meetings object returns a meeting object which can be used to perform actions on the meeting such as mute, unmute, switch audio, etc.

You can also directly create a meeting by using the joinLink or startLink parameters, which you can get from the Join a Meeting API response. While using the API, set the createJoinLinkAsWebLink or createStartLinkAsWeblink flag as true. Only then will you get the correct link. The link must then be set as the destination.

anchorRetrieve a List of All Meetings

anchor

You can create more than one meeting at a time. To obtain a list of all current meetings, use the Meetings object's getAllMeetings() method:

const meetingList = webex.meetings.getAllMeetings();

AsynchronousNo
ParametersNo parameters required
ReturnsMap<MeetingId,Meeting>

Here's an example of a returned list of meetings:

{
  "3c9628aa-b51d-45c4-9166-1b9f7dafe95e" : { id: "3c9628aa-b51d-45c4-9166-1b9f7dafe95e", ...otherMeetingObjectAttributes },
  "c7d69b95-c9c6-40c1-9138-c6005b8be554": { id: "c7d69b95-c9c6-40c1-9138-c6005b8be554", ...otherMeetingObjectAttributesAndMethods },
}

anchorSynchronize Meetings from Webex Cloud

anchor

If your application is running on behalf of a registered Webex user, and that user has meetings running, you can use the Meetings object's syncMeetings() method to synchronize and then retrieve a list of those meetings.

await webex.meetings.syncMeetings();

AsynchronousYes
ParametersNo parameters required
ReturnsPromise<undefined>

After the syncMeetings() call is successful, use the getAllMeetings method to retrieve the list of meetings:

await webex.meetings.syncMeetings();
const meetingList = webex.meetings.getAllMeetings();

anchorFetch Meetings by Attribute

anchor

You can narrow down the list of meetings returned by choosing specific meeting attributes via the getMeetingByType() method.

For instance, to return a meeting whose destination property is https://cisco.webex.com/meet/alice:

const meeting = webex.meetings.getMeetingByType(
  'destination',
  'https://cisco.webex.com/meet/alice'
);

The getMeetingByType() method particulars are detailed below:

AsynchronousNo
Parameters
NameDescriptionTypeMandatory
attrib The attribute of the meeting you'd like to retrieve, for instance, correlationId, destination, meetingLink. StringYes
value The value to be matched for the attribute. StringYes
ReturnsObject<Meeting>

anchorMeetings Ready Event

anchor

A meetings:ready event fires when a meetings object is ready for use. A meetings object instance is ready once the containing Webex object is ready, and all the meetings object's instance parameters are set. You can subscribe to the ready event immediately following Webex.init:

webex.meetings.on('meetings:ready',() => {
  console.log('Meetings object is ready for device registration');
  // Register a new device...
});

The ready event returns no payload.

Make any Meetings object method calls only after receiving this event.

anchorMeetings Registered Event

anchor

The meetings:registered event is emitted by a Meetings object after you call the register() method:

webex.meetings.on('meetings:registered',() => {
  console.log('Meetings object is ready to perform other operations');
  // Perform meeting operations such as create, sync, etc.
});

anchorMeeting is Added Event

anchor

The meeting:added event fires when a new meeting object is added to the meetings object:

webex.meetings.on('meeting:added', ({ type, meeting }) => {
  // Perform operations on a specific meeting...
});

This event provides an object with two attributes in its payload:

Sl. NoAttribute NameValue
1type One of the following:
Sl. NoTypeDescription
1CREATEDThe meeting was created from within the SDK.
2INCOMINGA 1:1 meeting has been started with this user as the destination.
3JOIN A meeting has been started remotely and the current user is a participant. This is not a 1:1 meeting.
2meeting The Meeting object itself.
Meeting is Removed Event

The meeting:removed event fires when a meeting object is removed from the meetings object:

webex.meetings.on('meeting:removed', ({ meetingId, reason }) => {
  // Perform operations such as updating the UI to remove the defunct meeting...
});

This event returns an object with two of the following attributes as a payload:

Sl. NoAttribute NameValue</th>
1meetingIdThe Correlation ID of a meeting
2reason One of the following removal reasons:
Sl. NoReasonDescription
1SELF_REMOVED The server or a host removed the participant.
2MEETING_INACTIVE_TERMINATINGThe meeting has ended or everyone has left.
3CLIENT_LEAVE_REQUESTThe participant triggered a leave meeting request.
4CLIENT_LEAVE_REQUEST_TAB_CLOSED The participant triggered a leave meeting request by closing the browser tab.
5NO_MEETINGS_TO_SYNC A meeting has been created locally but doesn't exist in the cloud server upon trying to sync meetings using syncMeetings().
6MEETING_CONNECTION_FAILED The meeting failed to connect due to ICE candidate failures or firewall issues.

anchorNetwork Disconnected Event

anchor

The network:disconnected event fires when a meeting instance is disconnected from the Webex Cloud server or when the browser's local network is disconnected:

webex.meetings.on('network:disconnected', () => {
  // Perform operations to cleanup the UI that is related to a Meeting Leave
});
Network Connected Event

The network:connected event fires when the meetings instance is reconnected to the network after being disconnected:

webex.meetings.on('network:connected', () => {
  //Perform operations to reconnect Meeting
});
In This Article
  • The Meetings Object
  • Initialize a Meetings Object
  • Register a Meeting Device
  • Create a Meeting
  • Retrieve a List of All Meetings
  • Synchronize Meetings from Webex Cloud
  • Fetch Meetings by Attribute
  • Meetings Ready Event
  • Meetings Registered Event
  • Meeting is Added Event
  • Network Disconnected Event

Connect

Support

Developer Community

Developer Events

Contact Sales

Handy Links

Webex Ambassadors

Webex App Hub

Resources

Open Source Bot Starter Kits

Download Webex

DevNet Learning Labs

Terms of Service

Privacy Policy

Cookie Policy

Trademarks

© 2025 Cisco and/or its affiliates. All rights reserved.