<!--
{
  "availability" : [
    "iOS: 15.0.0 -",
    "iPadOS: 15.0.0 -",
    "macCatalyst: 15.0.0 -",
    "macOS: 12.0.0 -",
    "visionOS: 1.0.0 -",
    "watchOS: 8.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "EventKit",
  "identifier" : "/documentation/EventKit/EKVirtualConferenceProvider",
  "metadataVersion" : "0.1.0",
  "role" : "Class",
  "symbol" : {
    "kind" : "Class",
    "modules" : [
      "EventKit"
    ],
    "preciseIdentifier" : "c:objc(cs)EKVirtualConferenceProvider"
  },
  "title" : "EKVirtualConferenceProvider"
}
-->

# EKVirtualConferenceProvider

An object that associates virtual conferencing details with an event object in a user’s calendar.

```
class EKVirtualConferenceProvider
```

## Overview

[`EKVirtualConferenceProvider`](/documentation/EventKit/EKVirtualConferenceProvider) lets apps that offer virtual conferencing services to integrate directly with events in users’ calendars. To add this support to your app, add a virtual conference extension. The principal class of the app extension is a custom subclass of [`EKVirtualConferenceProvider`](/documentation/EventKit/EKVirtualConferenceProvider) that you create that provides the following:

- A list of room types where events take place, such as Personal Room or Team Room
- A descriptor for a virtual conference, including a user-visible title, one or more URLs, and additional details

### Providing Room Details

To provide a list of rooms, you provide one or more *room type descriptors* that contain details about where a virtual conference takes place. Each room type descriptor includes a user-visible title and an identifier that you choose. EventKit calls [`fetchAvailableRoomTypes(completionHandler:)`](/documentation/EventKit/EKVirtualConferenceProvider/fetchAvailableRoomTypes(completionHandler:)) on your virtual conference provider to retrieve an array of [`EKVirtualConferenceRoomTypeDescriptor`](/documentation/EventKit/EKVirtualConferenceRoomTypeDescriptor) objects.

### Providing Conference Details

After EventKit has the room type descriptors, users can add an event that specifies one of your rooms as the location. To identify the virtual conference event, your virtual conference provider creates a *virtual conference descriptor* that contains details about the virtual conference. The conference descriptor contains the following:

- One or more ``doc://com.apple.eventkit/documentation/EventKit/EKVirtualConferenceURLDescriptor`` objects to specify how the user joins the virtual conference
- An optional user-visible title that EventKit may display
- An optional user-visible string with details about the virtual conference that EventKit displays

EventKit calls [`fetchVirtualConference(identifier:completionHandler:)`](/documentation/EventKit/EKVirtualConferenceProvider/fetchVirtualConference(identifier:completionHandler:)) on your virtual conference provider to retrieve an instance of [`EKVirtualConferenceDescriptor`](/documentation/EventKit/EKVirtualConferenceDescriptor).

> Important:
> Events that use your virtual conference descriptors may sync to other devices where your app isn’t installed. To support links to your virtual conference regardless of whether your app is installed, adopt universal links in your app. Universal links let you specify HTTP URLs that open your app if it’s installed or open a corresponding web page if it’s not. For more information about adopting universal links in your app, see <doc://com.apple.documentation/documentation/Xcode/supporting-universal-links-in-your-app>.

## Topics

### Providing Rooms

[`fetchAvailableRoomTypes(completionHandler:)`](/documentation/EventKit/EKVirtualConferenceProvider/fetchAvailableRoomTypes(completionHandler:))

Provides an array of room types where events take place.

### Providing Virtual Conferences

[`fetchVirtualConference(identifier:completionHandler:)`](/documentation/EventKit/EKVirtualConferenceProvider/fetchVirtualConference(identifier:completionHandler:))

Provides details about a virtual conference that takes place in a room the user selects.



---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)
