---
title: "Create a connector"
method: POST
path: "/v3/connectors"
tags: ["Connectors (Integrations)"]
---

# Create a connector

`POST /v3/connectors`

Create a connector in your Nylas application.

Connectors are how your Nylas application stores information it needs to connect to external
services. Creating a connector is the first step in setting up authentication for your project.
See [Supported providers](/docs/provider-guides/#supported-providers) for more information.

## Request body

- union
  - object — Google connector. Requires Google Cloud OAuth app credentials.
    - `provider` string, required — The provider type. For Google providers, set to `google`.
    - `settings` object — Google Cloud provider auth app credentials and settings.
      - `client_id` string, required — The Google Cloud app's client ID.
      - `client_secret` string, required — The Google Cloud app's client secret.
      - `topic_name` string — Google Pub/Sub topic name. Required if using Email webhooks.
    - `scope` string[] — Set the default scopes for each connector. These scopes are overridden by scopes set on the specific grant.
  - object — Microsoft connector. Requires Azure OAuth app credentials.
    - `provider` string, required — The provider type. For Microsoft providers, set to `microsoft`.
    - `settings` object — Your Azure provider auth app credentials and settings, as stored in Entra ID.
      - `client_id` string, required — The Azure auth app's client ID.
      - `client_secret` string, required — The Azure auth app's client secret.
      - `tenant` string — Microsoft tenant ID.
    - `scope` string[] — Set the default scopes for each connector. Scopes set on individual grants override these scopes. For Microsoft Graph connectors, the Nylas API accepts both the full URI version of a scope name (for example, `https://graph.microsoft.com/Calendars.Read`), as well as the short form (for example, `Calendars.Read`).
  - object — Zoom connector for managing meetings on behalf of users.
    - `provider` string, required — The provider type. For Zoom providers, set to `zoom`.
    - `settings` object — Zoom provider credentials and settings. You can copy them from your [Zoom App](https://developers.zoom.us/docs/zoom-apps/) in [Zoom Developer Platform](https://developers.zoom.us/docs/). The Zoom Nylas connector does not support default scopes, so do not include them in the connector request. However, you must configure the required [granular scopes](https://developers.zoom.us/docs/integrations/oauth-scopes-granular/) directly on your Zoom OAuth app. To use Zoom conferencing with Nylas events, your Zoom app needs: `meeting:write:meeting` (create), `meeting:update:meeting` (update), and `meeting:delete:meeting` (delete).
      - `client_id` string, required — The Zoom app's client ID.
      - `client_secret` string, required — The Zoom app's client secret.
  - object — iCloud connector. No app credentials required.
    - `provider` string, required — The provider type, in this case `icloud`. See [Authenticating iCloud accounts](/docs/provider-guides/icloud/) for more information.
  - object — IMAP connector for generic IMAP/SMTP mail servers.
    - `provider` string, required — The provider type, in this case `imap`. See [Using IMAP accounts and data](/docs/provider-guides/imap/) for more information.
  - object — EWS connector for Exchange on-premises servers.
    - `provider` string, required — The provider type (in this case, `ews`). See [Authenticating Exchange on-premises accounts](/docs/provider-guides/exchange-on-prem/) for more information.
    - `scopes` 'ews.messages' | 'ews.calendar' | 'ews.contacts' — Scopes settings tell Nylas to request specific data objects from the provider.
  - object — Nylas-managed virtual calendar. No external provider.
    - `provider` string, required — The provider type. For virtual calendars, set to `virtual-calendar`.
  - object — Yahoo connector. Requires Yahoo OAuth app credentials.
    - `provider` string, required — The provider type (in this case, `yahoo`). See [Authenticating Yahoo accounts](/docs/provider-guides/yahoo/) for more information.
    - `settings` object — Yahoo provider credentials.
      - `client_id` string, required — The Yahoo app's client ID.
      - `client_secret` string, required — The Yahoo app's client secret.
    - `scope` string[] — Set the default scopes for each connector. These scopes are overridden by scopes set on the specific grant.
  - object — Connector for Nylas-hosted [Agent Account](/docs/v3/agent-accounts/) email and calendar mailboxes. Agent Account connectors don't support the `scope` field.
    - `provider` string, required — The provider type (in this case, `nylas`).

## Response `201`

Connector Created

- object
  - `request_id` string — ID of the request.
  - `data` ConnectorObject
    - `name` string, required — The name of the connector.
    - `provider` 'google' | 'microsoft' | 'imap' | 'icloud' | 'yahoo' | 'virtual-calendar' | 'ews' | 'zoom' | 'nylas', required — Provider type
    - `settings` object — Optional settings from provider
    - `scope` string[] — (Not used for Zoom connectors.) Optional default scopes for the connector. For Zoom, configure scopes directly on your Zoom OAuth app. See [Zoom granular scopes](https://developers.zoom.us/docs/integrations/oauth-scopes-granular/).
    - `active_credential_id` string — The ID of the "default" credential record of this Connector. This credential will be used as a default for communication with the provider.

## Other responses

- `400` — Bad Request
- `401` — Not Authenticated

---

[API](https://skmtc.dev/nylas/apis/nylas-api.md) · [All operations](https://skmtc.dev/nylas/apis/nylas-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/nylas/nylas-api/revisions/51c2c1b4ecff/schema)
