> Portal Navigation:
> 
> - Append `.md` to any URL under `https://dev.wix.com/docs/` to get its markdown version.
> - Pages are either content pages (article or reference text) or menu pages (a list of links to child pages).
> - To get a menu page, truncate any URL to a parent path and append `.md` (e.g. `https://dev.wix.com/docs/sdk.md`, `https://dev.wix.com/docs/sdk/core-modules.md`).
> - If a reference page seems to be missing its schema (parameters, return types, or type definitions), append `?schema=true` to its `.md` URL (e.g. `https://dev.wix.com/docs/contexts/contexts/stores/category-info/use-category-info-context.md?schema=true`).
> - Top-level index of all portals: https://dev.wix.com/docs/llms.txt
> - Full concatenated docs: https://dev.wix.com/docs/llms-full.txt

# CreateConference

# Package: conferencing

# Namespace: ConferencingProvider

# Method link: https://dev.wix.com/docs/api-reference/business-management/calendar/conferencing/conferencing-provider-v1/create-conference.md

## Introduction

Creates a video conference with your provider.

Wix calls this method when a conference is needed for a connected resource, for example when a booked appointment requires a meeting link.

Wix uses the returned conference details, such as the join URL and password, and passes the conference `id` and `resourceId` back on later Get, Update, and Delete calls. Wix doesn't store the conference itself.

*Your implementation should:**
- Look up the connection for the given `resourceId`.
- Create a distinct meeting in your provider and return its details.
- Be able to look the meeting up later by the `id` you return.

Scheduling parameters (`title`, `startTime`, `durationInMinutes`) are optional. Providers that don't support scheduling can ignore them.

*Error handling:** If your implementation returns an error, Wix surfaces it to the caller.

---

## REST API

### Schema

```
 Method: createConference
 Description: Creates a video conference with your provider.  Wix calls this method when a conference is needed for a connected resource, for example when a booked appointment requires a meeting link.  Wix uses the returned conference details, such as the join URL and password, and passes the conference `id` and `resourceId` back on later Get, Update, and Delete calls. Wix doesn't store the conference itself.  *Your implementation should:** - Look up the connection for the given `resourceId`. - Create a distinct meeting in your provider and return its details. - Be able to look the meeting up later by the `id` you return.  Scheduling parameters (`title`, `startTime`, `durationInMinutes`) are optional. Providers that don't support scheduling can ignore them.  *Error handling:** If your implementation returns an error, Wix surfaces it to the caller.
 URL: {DEPLOYMENT-URI}/v1/create-conference
 Method: POST
 # Note: If the parameter `a.b` is listed under required parameters, `b` is only required if `a` is also present.
 Required parameters:  resourceId
 Method parameters: 
   param name: conference | type: Conference | description: A video conference created by your provider.  This is a data transfer object exchanged between Wix and your provider. The conference itself is stored by your provider, not by Wix.  
        - name: title | type: string | description: Title or topic of the meeting.  | validation: maxLength 500
        - name: startTime | type: string | description: Scheduled start time of the meeting.  | validation: format date-time
        - name: durationInMinutes | type: integer | description: Duration of the meeting in minutes.  | validation: format int32
        - name: timezone | type: string | description: Time zone for the meeting in IANA Time Zone Database format. For example, `America/New_York`.  | validation: maxLength 100
        - name: description | type: string | description: Human-readable description of the conference. Set it only if your provider exposes a description or agenda.  | validation: maxLength 500
   param name: resourceId | type: resourceId | description: GUID of the resource whose account is used. Treat it as an opaque, stable Wix identifier that you key connections by. | required: true | validation: format GUID
 Return type: CreateConferenceResponse
  - name: conference | type: Conference | description: Created conference.  
     - name: id | type: string | description: Conference GUID. Assigned by your provider, and used by Wix to reference the conference on later calls.  | read-only: true | validation: maxLength 100
     - name: url | type: string | description: URL to join the conference. All participants use this URL to join.  | read-only: true | validation: maxLength 2048
     - name: hostUrl | type: string | description: URL for the host to start the conference. Set it only if your provider distinguishes a host URL, such as Zoom.  | read-only: true | validation: maxLength 2048
     - name: password | type: string | description: Password required to join the conference.  | read-only: true | validation: maxLength 100
     - name: title | type: string | description: Title or topic of the meeting.  | validation: maxLength 500
     - name: startTime | type: string | description: Scheduled start time of the meeting.  | validation: format date-time
     - name: durationInMinutes | type: integer | description: Duration of the meeting in minutes.  | validation: format int32
     - name: timezone | type: string | description: Time zone for the meeting in IANA Time Zone Database format. For example, `America/New_York`.  | validation: maxLength 100
     - name: description | type: string | description: Human-readable description of the conference. Set it only if your provider exposes a description or agenda.  | validation: maxLength 500

 Possible Errors:
   HTTP Code: 428 | Status Code: FAILED_PRECONDITION | Application Code: RESOURCE_NOT_CONNECTED | Description: The resource isn't connected to your provider.


```

### Examples

### Create a conference
Wix sends the request payload as an encoded JWT. For the purposes of this example, we show the request and response objects decoded.

```curl
curl -X POST \
'https://my-conferencing.example.com/v1/create-conference' \
-H 'user-agent: Wix' \
-H 'Content-Type: text/plain; charset=utf-8' \
-d '{
  "resourceId": "a1f3c9e2-6b7d-4e58-9c0a-2d4b8e7f1356",
  "conference": {
    "title": "Personal training session",
    "startTime": "2026-11-10T09:00:00Z",
    "durationInMinutes": 60,
    "timezone": "America/New_York"
  }
}'
```

---

## JavaScript SDK

### Schema

```
 Method: wixClientAdmin.calendar.conferencingProvider.createConference(request, metadata)
 Description: Creates a video conference with your provider.  Wix calls this method when a conference is needed for a connected resource, for example when a booked appointment requires a meeting link.  Wix uses the returned conference details, such as the join URL and password, and passes the conference `id` and `resourceId` back on later Get, Update, and Delete calls. Wix doesn't store the conference itself.  *Your implementation should:** - Look up the connection for the given `resourceId`. - Create a distinct meeting in your provider and return its details. - Be able to look the meeting up later by the `id` you return.  Scheduling parameters (`title`, `startTime`, `durationInMinutes`) are optional. Providers that don't support scheduling can ignore them.  *Error handling:** If your implementation returns an error, Wix surfaces it to the caller.
 Method parameters:
   param name: metadata | type: Context | description: this message is not directly used by any service, it exists to describe the expected parameters that SHOULD be provided to invoked Velo methods as part of open-platform. e.g. SPIs, event-handlers, etc.. NOTE: this context object MUST be provided as the last argument in each Velo method signature.  Example: ```typescript export function wixStores_onOrderCanceled({ event, metadata }: OrderCanceledEvent) { ... } ```  
        - name: requestId | type: string | description: A unique identifier of the request. You may print this GUID to your logs to help with future debugging and easier correlation with Wix's logs.  
        - name: currency | type: string | description: [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) 3-letter currency code.  | validation: format CURRENCY
        - name: identity | type: IdentificationData | description: An object that describes the identity that triggered this request.  
           - ONE-OF: 
              - name: anonymousVisitorId | type: string | description: GUID of a site visitor that has not logged in to the site.  | validation: format GUID
              - name: memberId | type: string | description: GUID of a site visitor that has logged in to the site.  | validation: format GUID
              - name: wixUserId | type: string | description: GUID of a Wix user (site owner, contributor, etc.).  | validation: format GUID
              - name: appId | type: string | description: GUID of an app.  | validation: format GUID
        - name: languages | type: array<string> | description: A string representing a language and region in the format of `"xx-XX"`. First 2 letters represent the language code according to ISO 639-1. This is followed by a dash "-", and then a by 2 capital letters representing the region according to ISO 3166-2. For example, `"en-US"`.  
        - name: instanceId | type: string | description: The service provider app's instance GUID.  | validation: format GUID
   param name: request | type: CreateConferenceRequest    
        - name: conference | type: Conference | description: Conference to create.  
           - name: title | type: string | description: Title or topic of the meeting.  | validation: maxLength 500
           - name: startTime | type: Date | description: Scheduled start time of the meeting.  
           - name: durationInMinutes | type: integer | description: Duration of the meeting in minutes.  | validation: format int32
           - name: timezone | type: string | description: Time zone for the meeting in IANA Time Zone Database format. For example, `America/New_York`.  | validation: maxLength 100
           - name: description | type: string | description: Human-readable description of the conference. Set it only if your provider exposes a description or agenda.  | validation: maxLength 500
        - name: resourceId | type: string | description: GUID of the resource whose account is used. Treat it as an opaque, stable Wix identifier that you key connections by.  | validation: format GUID
 Return type: PROMISE<CreateConferenceResponse>
  - name: conference | type: Conference | description: Created conference.  
     - name: _id | type: string | description: Conference GUID. Assigned by your provider, and used by Wix to reference the conference on later calls.  | read-only: true | validation: maxLength 100
     - name: url | type: string | description: URL to join the conference. All participants use this URL to join.  | read-only: true | validation: maxLength 2048
     - name: hostUrl | type: string | description: URL for the host to start the conference. Set it only if your provider distinguishes a host URL, such as Zoom.  | read-only: true | validation: maxLength 2048
     - name: password | type: string | description: Password required to join the conference.  | read-only: true | validation: maxLength 100
     - name: title | type: string | description: Title or topic of the meeting.  | validation: maxLength 500
     - name: startTime | type: Date | description: Scheduled start time of the meeting.  
     - name: durationInMinutes | type: integer | description: Duration of the meeting in minutes.  | validation: format int32
     - name: timezone | type: string | description: Time zone for the meeting in IANA Time Zone Database format. For example, `America/New_York`.  | validation: maxLength 100
     - name: description | type: string | description: Human-readable description of the conference. Set it only if your provider exposes a description or agenda.  | validation: maxLength 500

 Possible Errors:
   HTTP Code: 428 | Status Code: FAILED_PRECONDITION | Application Code: RESOURCE_NOT_CONNECTED | Description: The resource isn't connected to your provider.


```

### Examples

### Create a conference
Creates a meeting in your provider for the requested resource and returns its details.

```javascript
import { conferencingProvider } from "@wix/calendar/service-plugins";

conferencingProvider.provideHandlers({
  createConference: async (payload) => {
    const { request, metadata } = payload;
    const { conference, resourceId } = request;
    // Look up the connection for `resourceId` and create the meeting in your provider.

    return {
      conference: {
        _id: "84729105634",
        url: "https://zoom.us/j/84729105634",
        hostUrl: "https://zoom.us/s/84729105634",
        password: "582916",
        title: "Personal training session",
        startTime: new Date("2026-11-10T09:00:00Z"),
        durationInMinutes: 60,
        timezone: "America/New_York",
      },
    };
  },
});

/* Promise resolves to:
 * {
 *   "conference": {
 *     "_id": "84729105634",
 *     "url": "https://zoom.us/j/84729105634",
 *     "hostUrl": "https://zoom.us/s/84729105634",
 *     "password": "582916",
 *     "title": "Personal training session",
 *     "startTime": "2026-11-10T09:00:00.000Z",
 *     "durationInMinutes": 60,
 *     "timezone": "America/New_York"
 *   }
 * }
 */

```

### createConference (self-managed)
Self-managed SDK calls require you to [create a client](https://dev.wix.com/docs/sdk/articles/work-with-the-sdk/about-the-wix-client.md).

```javascript
import { createClient } from '@wix/sdk';
import { conferencingProvider } from '@wix/calendar/service-plugins';
// Import the auth strategy for the relevant access type
// Import the relevant host module if needed

const myWixClient = createClient ({
  modules: { conferencingProvider },
  // Include the auth strategy and host as relevant
});


async function createConference(request,metadata) {
  const response = await myWixClient.conferencingProvider.createConference(request,metadata);
};
```

---