> 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

# Connect

# Package: conferencing

# Namespace: ConferencingService

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

## Permission Scopes:
Manage_Wix_Rentals_App_Forms_submissions: SCOPE.RENTALS.MANAGE

## Introduction

Connects a resource to a conferencing provider.

Dispatches based on `connectionMethod`:

- `OAUTH` (`oauthOptions`): returns an `oauthUrl` for the user to complete authorization. After authorization, the provider redirects to `redirectUrl` with `?connectionId=<id>` on success or `?error=<code>` on failure.
- `CREDENTIALS` (`credentialsOptions`): validates the credentials and returns the established connection.
- `CUSTOM` (`customOptions`): stores a static URL, password, and description, then returns the established connection.

Response shape by `connectionMethod`:

| connectionMethod | populated field |
| ----------------- | --------------------------------- |
| `OAUTH`           | `oauthUrl`                       |
| `CREDENTIALS`     | `connection`                      |
| `CUSTOM`        | `connection`                      |

A resource can connect to several providers, but to at most one connection per provider. Reconnecting an existing provider replaces the previous connection and refreshes its `connectedDate`.

---

## REST API

### Schema

```
 Method: connect
 Description: Connects a resource to a conferencing provider.  Dispatches based on `connectionMethod`:  - `OAUTH` (`oauthOptions`): returns an `oauthUrl` for the user to complete authorization. After authorization, the provider redirects to `redirectUrl` with `?connectionId=<id>` on success or `?error=<code>` on failure. - `CREDENTIALS` (`credentialsOptions`): validates the credentials and returns the established connection. - `CUSTOM` (`customOptions`): stores a static URL, password, and description, then returns the established connection.  Response shape by `connectionMethod`:  | connectionMethod | populated field | | ----------------- | --------------------------------- | | `OAUTH`           | `oauthUrl`                       | | `CREDENTIALS`     | `connection`                      | | `CUSTOM`        | `connection`                      |  A resource can connect to several providers, but to at most one connection per provider. Reconnecting an existing provider replaces the previous connection and refreshes its `connectedDate`.
 URL: https://www.wixapis.com/calendar/v3/conferences/v1/connections/connect
 Method: POST
 # Note: If the parameter `a.b` is listed under required parameters, `b` is only required if `a` is also present.
 Required parameters:  appId, connectionMethod
 Method parameters: 
   param name: appId | type: appId | description: GUID of the conferencing provider app. | required: true | validation: format GUID
    - ONE-OF: 
     - name: oauthOptions | type: OAuthConnectionOptions | description: Set when `connectionMethod` is `OAUTH`.  
        - name: redirectUrl | type: string | description: URL to redirect the user to after OAuth completes.  Must be an `http` or `https` URL, or an app-scheme URL: `wixadmin://`, `wix://` or `branded.<metaSiteId>://`.  On success, the redirect includes `?connectionId=<connection_id>`. On failure, it includes `?error=<error_code>`.  | validation: maxLength 2048
     - name: credentialsOptions | type: CredentialsConnectionOptions | description: Set when `connectionMethod` is `CREDENTIALS`.  
        - name: userName | type: string | description: Username for the conferencing account. May be an email address or another identifier.  | validation: maxLength 500
        - name: password | type: string | description: Password for the conferencing account.  | validation: maxLength 500
     - name: customOptions | type: CustomConnectionOptions | description: Set when `connectionMethod` is `CUSTOM`.  
        - name: conferenceUrl | type: string | description: Static conference URL.  | validation: maxLength 2048
        - name: description | type: string | description: Human-readable description of the link. For example, `Personal Zoom Room`.  | validation: maxLength 500
        - name: password | type: string | description: Conference password.  | validation: maxLength 500
   param name: connectionMethod | type: ConnectionMethod | description: Method used to authenticate against a conferencing provider. | required: true 
      - enum:
           OAUTH - OAuth authorization flow.
           CREDENTIALS - Username and password authentication.
           CUSTOM - Static custom link: a URL with an optional password and description, stored by Wix.
   param name: resourceId | type: resourceId | description: GUID of the resource.  When absent, the request targets the business resource (`4e0579a5-491e-4e70-a872-d097eed6e520`), a site-level account shared by the business.  | validation: format GUID
 Return type: ConnectResponse
  - ONE-OF: 
     - name: oauthUrl | type: string | description: OAuth authorization URL. Returned when `connectionMethod` is `OAUTH`. Redirect the user to this URL to complete authorization.  | validation: format WEB_URL
     - name: connection | type: Connection | description: Established connection. Returned when `connectionMethod` is `CREDENTIALS` or `CUSTOM`.  
        - ONE-OF: 
           - name: oauthDetails | type: OAuthConnectionDetails | description: Set when `connectionMethod` is `OAUTH`.  
              - name: email | type: string | description: Email address of the authorized provider account.  Returned empty for callers who aren't authorized to view connections owned by other resources.  | read-only: true | validation: maxLength 320
           - name: credentialsDetails | type: CredentialsConnectionDetails | description: Set when `connectionMethod` is `CREDENTIALS`.  
              - name: userName | type: string | description: Username, often an email address, of the credentialed account.  | read-only: true | validation: maxLength 500
           - name: customDetails | type: CustomConnectionDetails | description: Set when `connectionMethod` is `CUSTOM`.  
              - name: conferenceUrl | type: string | description: Static conference URL.  | read-only: true | validation: maxLength 2048
              - name: description | type: string | description: Human-readable description of the link. For example, `Personal Zoom Room`.  | validation: maxLength 500
              - name: password | type: string | description: Conference password. Returned empty for callers who aren't authorized to view it.  | validation: maxLength 500
        - name: id | type: string | description: Connection GUID. Generated by the provider.  | read-only: true | validation: format GUID
        - name: status | type: ConnectionStatus | description: Connection status.  
             - enum:
             -     CONNECTED: The connection is usable now.
             -     DISCONNECTED: The user or your implementation intentionally disconnected the account.
             -     ERROR: The connection was established but is now broken, for example tokens were revoked or expired externally, and needs reconnection.
        - name: connectionMethod | type: ConnectionMethod | description: Method used to establish this connection.  
             - enum:
             -     OAUTH: OAuth authorization flow.
             -     CREDENTIALS: Username and password authentication.
             -     CUSTOM: Static custom link: a URL with an optional password and description, stored by Wix.
        - name: appId | type: string | description: GUID of the conferencing provider app.  | validation: format GUID
        - name: appName | type: string | description: Display name of the provider app. For example, `Zoom` or `Google Meet`.  | validation: maxLength 200
        - name: connectedDate | type: string | description: Date and time the connection was established, in UTC.  | read-only: true | validation: format date-time
        - name: resourceId | type: string | description: GUID of the resource. Replaces `accountOwnerId`.  | read-only: true | validation: format GUID

 Possible Errors:
   HTTP Code: 400 | Status Code: INVALID_ARGUMENT | Application Code: INVALID_URL | Description: The custom conference URL is invalid.
   HTTP Code: 401 | Status Code: UNAUTHENTICATED | Application Code: BAD_CREDENTIALS | Description: The provided credentials are invalid.
   HTTP Code: 403 | Status Code: PERMISSION_DENIED | Application Code: PERMISSION_DENIED | Description: The identity used to call the method doesn't have the required permissions to manage this resource.
   HTTP Code: 404 | Status Code: NOT_FOUND | Application Code: PROVIDER_NOT_FOUND | Description: Couldn't find the conferencing provider.
   HTTP Code: 428 | Status Code: FAILED_PRECONDITION | Application Code: NOT_SUPPORTED_BY_PROVIDER | Description: The conferencing provider doesn't support the specified connection method.


```

### Examples

### Connect a resource with OAuth
Starts an OAuth connection between a resource and Zoom. Redirect the user to the returned oauthUrl.

```curl
curl -X POST \
'https://www.wixapis.com/calendar/v3/conferences/v1/connections/connect' \
-H 'Authorization: <AUTH>' \
-H 'Content-Type: application/json' \
-d '{
  "appId": "c6d111d1-1a8d-49f0-a78c-4f1823fb6592",
  "resourceId": "a1f3c9e2-6b7d-4e58-9c0a-2d4b8e7f1356",
  "connectionMethod": "OAUTH",
  "oauthOptions": {
    "redirectUrl": "https://www.example.com/conferencing/oauth-callback"
  }
}'
```

### Connect a custom meeting link
Stores a static meeting URL for a resource.

```curl
curl -X POST \
'https://www.wixapis.com/calendar/v3/conferences/v1/connections/connect' \
-H 'Authorization: <AUTH>' \
-H 'Content-Type: application/json' \
-d '{
  "appId": "503e9909-65ff-4065-ba69-07dac490396d",
  "resourceId": "a1f3c9e2-6b7d-4e58-9c0a-2d4b8e7f1356",
  "connectionMethod": "CUSTOM",
  "customOptions": {
    "conferenceUrl": "https://zoom.us/j/84729105634",
    "description": "Personal Zoom Room",
    "password": "studio42"
  }
}'
```

---

## JavaScript SDK

### Schema

```
 Method: wixClientAdmin.calendar.conferencing.connect(appId, options)
 Description: Connects a resource to a conferencing provider.  Dispatches based on `connectionMethod`:  - `OAUTH` (`oauthOptions`): returns an `oauthUrl` for the user to complete authorization. After authorization, the provider redirects to `redirectUrl` with `?connectionId=<id>` on success or `?error=<code>` on failure. - `CREDENTIALS` (`credentialsOptions`): validates the credentials and returns the established connection. - `CUSTOM` (`customOptions`): stores a static URL, password, and description, then returns the established connection.  Response shape by `connectionMethod`:  | connectionMethod | populated field | | ----------------- | --------------------------------- | | `OAUTH`           | `oauthUrl`                       | | `CREDENTIALS`     | `connection`                      | | `CUSTOM`        | `connection`                      |  A resource can connect to several providers, but to at most one connection per provider. Reconnecting an existing provider replaces the previous connection and refreshes its `connectedDate`.
 # Note: If the parameter `a.b` is listed under required parameters, `b` is only required if `a` is also present.
 Required parameters:  appId, options.connectionMethod, options
 Method parameters: 
   param name: appId | type: string | description: GUID of the conferencing provider app. | required: true | validation: format GUID
   param name: options | type: ConnectOptions  none | required: true 
    - ONE-OF: - required: true
     - name: oauthOptions | type: OAuthConnectionOptions | description: Set when `connectionMethod` is `OAUTH`.  
        - name: redirectUrl | type: string | description: URL to redirect the user to after OAuth completes.  Must be an `http` or `https` URL, or an app-scheme URL: `wixadmin://`, `wix://` or `branded.<metaSiteId>://`.  On success, the redirect includes `?connectionId=<connection_id>`. On failure, it includes `?error=<error_code>`.  | validation: maxLength 2048
     - name: credentialsOptions | type: CredentialsConnectionOptions | description: Set when `connectionMethod` is `CREDENTIALS`.  
        - name: userName | type: string | description: Username for the conferencing account. May be an email address or another identifier.  | validation: maxLength 500
        - name: password | type: string | description: Password for the conferencing account.  | validation: maxLength 500
     - name: customOptions | type: CustomConnectionOptions | description: Set when `connectionMethod` is `CUSTOM`.  
        - name: conferenceUrl | type: string | description: Static conference URL.  | validation: maxLength 2048
        - name: description | type: string | description: Human-readable description of the link. For example, `Personal Zoom Room`.  | validation: maxLength 500
        - name: password | type: string | description: Conference password.  | validation: maxLength 500
        - name: resourceId | type: string | description: GUID of the resource.  When absent, the request targets the business resource (`4e0579a5-491e-4e70-a872-d097eed6e520`), a site-level account shared by the business.  | validation: format GUID
        - name: connectionMethod | type: ConnectionMethod | description: Connection method. Indicates which `connectionDetails` variant the caller populates. | required: true 
             - enum:
             -     OAUTH: OAuth authorization flow.
             -     CREDENTIALS: Username and password authentication.
             -     CUSTOM: Static custom link: a URL with an optional password and description, stored by Wix.
 Return type: PROMISE<ConnectResponse>
  - ONE-OF: 
     - name: oauthUrl | type: string | description: OAuth authorization URL. Returned when `connectionMethod` is `OAUTH`. Redirect the user to this URL to complete authorization.  | validation: format WEB_URL
     - name: connection | type: Connection | description: Established connection. Returned when `connectionMethod` is `CREDENTIALS` or `CUSTOM`.  
        - ONE-OF: 
           - name: oauthDetails | type: OAuthConnectionDetails | description: Set when `connectionMethod` is `OAUTH`.  
              - name: email | type: string | description: Email address of the authorized provider account.  Returned empty for callers who aren't authorized to view connections owned by other resources.  | read-only: true | validation: maxLength 320
           - name: credentialsDetails | type: CredentialsConnectionDetails | description: Set when `connectionMethod` is `CREDENTIALS`.  
              - name: userName | type: string | description: Username, often an email address, of the credentialed account.  | read-only: true | validation: maxLength 500
           - name: customDetails | type: CustomConnectionDetails | description: Set when `connectionMethod` is `CUSTOM`.  
              - name: conferenceUrl | type: string | description: Static conference URL.  | read-only: true | validation: maxLength 2048
              - name: description | type: string | description: Human-readable description of the link. For example, `Personal Zoom Room`.  | validation: maxLength 500
              - name: password | type: string | description: Conference password. Returned empty for callers who aren't authorized to view it.  | validation: maxLength 500
        - name: _id | type: string | description: Connection GUID. Generated by the provider.  | read-only: true | validation: format GUID
        - name: status | type: ConnectionStatus | description: Connection status.  
             - enum:
             -     CONNECTED: The connection is usable now.
             -     DISCONNECTED: The user or your implementation intentionally disconnected the account.
             -     ERROR: The connection was established but is now broken, for example tokens were revoked or expired externally, and needs reconnection.
        - name: connectionMethod | type: ConnectionMethod | description: Method used to establish this connection.  
             - enum:
             -     OAUTH: OAuth authorization flow.
             -     CREDENTIALS: Username and password authentication.
             -     CUSTOM: Static custom link: a URL with an optional password and description, stored by Wix.
        - name: appId | type: string | description: GUID of the conferencing provider app.  | validation: format GUID
        - name: appName | type: string | description: Display name of the provider app. For example, `Zoom` or `Google Meet`.  | validation: maxLength 200
        - name: connectedDate | type: Date | description: Date and time the connection was established, in UTC.  | read-only: true 
        - name: resourceId | type: string | description: GUID of the resource. Replaces `accountOwnerId`.  | read-only: true | validation: format GUID

 Possible Errors:
   HTTP Code: 400 | Status Code: INVALID_ARGUMENT | Application Code: INVALID_URL | Description: The custom conference URL is invalid.
   HTTP Code: 401 | Status Code: UNAUTHENTICATED | Application Code: BAD_CREDENTIALS | Description: The provided credentials are invalid.
   HTTP Code: 403 | Status Code: PERMISSION_DENIED | Application Code: PERMISSION_DENIED | Description: The identity used to call the method doesn't have the required permissions to manage this resource.
   HTTP Code: 404 | Status Code: NOT_FOUND | Application Code: PROVIDER_NOT_FOUND | Description: Couldn't find the conferencing provider.
   HTTP Code: 428 | Status Code: FAILED_PRECONDITION | Application Code: NOT_SUPPORTED_BY_PROVIDER | Description: The conferencing provider doesn't support the specified connection method.


```

### Examples

### Connect a custom meeting link
Stores a static meeting URL for a resource.

```javascript
import { conferencing } from "@wix/calendar";

async function connect() {
  const response = await conferencing.connect("503e9909-65ff-4065-ba69-07dac490396d", {
    resourceId: "a1f3c9e2-6b7d-4e58-9c0a-2d4b8e7f1356",
    connectionMethod: "CUSTOM",
    customOptions: {
      conferenceUrl: "https://zoom.us/j/84729105634",
      description: "Personal Zoom Room",
      password: "studio42",
    },
  });
}

/* Promise resolves to:
 * {
 *   "connection": {
 *     "_id": "a1f3c9e2-6b7d-4e58-9c0a-2d4b8e7f1356",
 *     "status": "CONNECTED",
 *     "connectionMethod": "CUSTOM",
 *     "appId": "503e9909-65ff-4065-ba69-07dac490396d",
 *     "appName": "Custom Link",
 *     "connectedDate": "2026-11-02T08:20:05.118Z",
 *     "resourceId": "a1f3c9e2-6b7d-4e58-9c0a-2d4b8e7f1356",
 *     "customDetails": {
 *       "conferenceUrl": "https://zoom.us/j/84729105634",
 *       "description": "Personal Zoom Room",
 *       "password": "studio42"
 *     }
 *   }
 * }
 */

```

### Connect a resource with OAuth
Starts an OAuth connection between a resource and Zoom. Redirect the user to the returned oauthUrl.

```javascript
import { conferencing } from "@wix/calendar";

async function connect() {
  const response = await conferencing.connect("c6d111d1-1a8d-49f0-a78c-4f1823fb6592", {
    resourceId: "a1f3c9e2-6b7d-4e58-9c0a-2d4b8e7f1356",
    connectionMethod: "OAUTH",
    oauthOptions: {
      redirectUrl: "https://www.example.com/conferencing/oauth-callback",
    },
  });
}

/* Promise resolves to:
 * {
 *   "oauthUrl": "https://zoom.us/oauth/authorize?response_type=code&client_id=Wq7kTn2bRZ6xY1pVhD3s&state=8f3d2b6a"
 * }
 */

```

### connect (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 { conferencing } from '@wix/calendar';
// Import the auth strategy for the relevant access type
// Import the relevant host module if needed

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


async function connect(appId,options) {
  const response = await myWixClient.conferencing.connect(appId,options);
};
```

---