# Connect The information in the `connect` section of the manifest JSON represents the values on the **[Connect](/docs/build-flow/connect/)** page of the app build flow. You use connect to authenticate third-party applications and integrate data into your Zoom app. ## Manifest JSON This is a display of the full `connect` schema populated with sample values. Include only the fields that are relevant to your app or use case, and omit any others. ```json { "connect": { "enable": true, "url": "https://api.example.com", "security": { "type": 36, "oauth_config": { "authorize_url": "https://app.example.com/oauth/authorize", "access_token_url": "https://app.example.com/oauth/token", "refresh_url": "https://app.example.com/oauth/token", "client_id": "abc123", "client_secret": "s3cr3t", "scope": "read write", "client_authentication": "header", "code_challenge_method": "S256", "advanced_config": { "token_config": { "send_in": "BODY", "values": [ { "key": "audience", "value": "https://api.example.com" } ] } } } }, "routes": [ { "name": "Get the current user", "path": "/users/me", "method": "GET", "key": "example_get_current_user", "description": "Returns the authenticated user.", "parameters": [ { "name": "include", "displayName": "Include", "description": "Related resources to include.", "in": "query", "required": false, "schema": { "type": "string" } } ], "response": { "description": "Current user", "content": "application/json" } }, { "name": "Create item", "path": "/items", "method": "POST", "key": "example_create_item", "request_body": { "required": true, "content": "application/json", "schema": { "type": "object", "properties": [ { "key": "title", "name": "title", "type": "string" }, { "key": "count", "name": "count", "type": "integer" } ] } }, "response": { "description": "Created", "content": "application/json" } } ], "incoming_webhooks": [ { "name": "Item events", "short_description": "Fires on item changes.", "key": "example_item_events", "type": "RestHook", "status": "READY", "state": "ON", "authentication": { "key": "X-Signature", "secret": "whsec_xxx", "algorithm": "HMAC-SHA256", "encoding": "hex", "prefix": "sha256=" }, "validation": { "enabled": true, "request_key": "challenge", "response_key": "challenge" }, "rest_hook": { "subscribe": { "route_key": "example_create_item" }, "unsubscribe": { "route_key": "example_create_item" } } } ], "mcp": { "base_url": "https://mcp.example.com/sse", "name": "Example", "ext": { "description": "Example MCP server", "dcr_enabled": true, "mcpTransportType": "SSE", "mcpType": "NORMAL", "execution_mode": "cloud_mcp" } } } } ``` --- ## Field descriptions (summary) The `connect` object includes the following fields. For details about each field, see the corresponding sections below. | JSON field | Type | Required | Description / Constraints | | :------------------ | :------ | :---------- | :--------------------------------------------------- | | `enable` | boolean | Required | Master switch for the connect capability. | | `url` | string | Required | Base URL of the connector's REST API. | | `security` | object | conditional | Authentication configuration. | | `routes` | array | Required | REST route (action) definitions. Max **100** routes. | | `incoming_webhooks` | array | Required | Incoming webhook definitions. | | `mcp` | object | Required | MCP server configuration. | > **Common reasons connect is disabled** > > The manifest tool will disable the `connect` schema portion of the manifest JSON for the following: > > - `enable` is `false`. > - `enable` is empty and the following are also empty: `url`, `security`, `routes`, `incoming_webhooks`. ---