> Source: https://builder.ema.ai/v2/integrations-data/data-connectors
> Title: Data Connectors

# Data Connectors

Data connectors keep an AI Employee's **Knowledge base** current by syncing documents from external sources — SharePoint sites, Google Drive folders, Confluence spaces, and Box folders. Where [Tools](/builder/v2/integrations-data/the-tool-editor) let an AI Employee _act_ in external systems, connectors let it _know_ about your content: every synced document is extracted, chunked, embedded, and made searchable so the AI Employee can cite it in its answers.

Connectors are different from Tools. A Tool call is a sub-second request that runs through the integrations service. A connector sync is a long-running background job — listing files, downloading content, extracting text, embedding — so it runs in the ingestion service as a durable workflow with retries and incremental updates. You manage connectors from the **Data sources** tab of the Integrations page, and credentials are admin-only.

## The connection model

Three concepts work together:

-   **Connection** — holds the credentials and configuration for one external source (admin-only). One connection can feed multiple Knowledge bases scoped to different paths.
-   **Knowledge base (KB)** — a searchable collection linked to a connection (and a sync schedule). KBs are scoped to a specific AI Employee.
-   **Sync** — the job that pulls documents from the source into the KB. Syncs run on a schedule or can be triggered manually.

> [INFO]
> **Roles.** Creating connections and Knowledge bases is admin-only — builders never see credentials. Builders select from available KBs when configuring a workflow and can narrow results with a folder filter at search time.

## Supported connectors

The **Data sources** tab shows a tile for each source. Local file upload is shown for reference but is handled in the AI Employee's Knowledge bases tab, not here. The external connectors are:

Connector

Auth

What you connect at

Setup guide

SharePoint

App client-credentials (Azure AD app); or OAuth2 delegated (sign in with Microsoft)

A SharePoint site

[SharePoint Connector](/builder/v2/integrations-data/data-connectors-sharepoint)

Google Drive

Service account, or OAuth2 user consent

A Drive folder

[Google Drive Connector](/builder/v2/integrations-data/data-connectors-google-drive)

Confluence

OAuth2 (Atlassian authorization code), or Basic auth (email + API token)

A Confluence space or pages

[Confluence Connector](/builder/v2/integrations-data/data-connectors-confluence)

Box

OAuth2 (authorization code)

A Box folder

[Box Connector](/builder/v2/integrations-data/data-connectors-box)

Each connector connects at the **collection level** — a site, folder, or space — not the whole instance or tenant. When you connect a collection, Ema ingests its content, including nested folders and attachments, within that scope.

### How documents flow in

Every connector feeds the same pipeline, so mixing sources never requires re-indexing:

1.  **List** — the connector enumerates the files in scope.
2.  **Download** — it fetches each file's content.
3.  **Extract** — text is extracted from PDFs, Office documents (`.docx`, `.xlsx`, `.pptx`), HTML, and images (via a vision model).
4.  **Chunk and embed** — text is split and embedded into vectors.
5.  **Store** — chunks land in the vector store and become searchable.

Syncs are **incremental**: Ema detects changes with the source's ETag, falling back to a content hash, so unchanged files are skipped. A background scheduler runs due syncs automatically; you can also trigger a sync on demand.

## Setting up a connector

From the **Data sources** tab, select a connector tile and complete its setup form. Every connector asks for a **name** and **description**; the rest depends on the source. Each connector has a dedicated setup page with the full field list, scopes, sync configuration, and limits — the summaries below link to them.

### SharePoint

SharePoint Online defaults to an **app** (client-credentials) mode using an Azure AD app registration, with an optional **delegated** OAuth2 mode where you sign in with your Microsoft account. App mode collects the **site URL**, **Azure tenant ID**, **client ID**, and **client secret**; delegated mode asks only for a name and site URL, then signs you in for the scopes `Sites.Read.All`, `Files.Read.All`, and `offline_access`. Full setup, scopes, and limits: [SharePoint Connector](/builder/v2/integrations-data/data-connectors-sharepoint).

### Google Drive

Google Drive supports two modes — full setup, scopes, and limits: [Google Drive Connector](/builder/v2/integrations-data/data-connectors-google-drive).

-   **Service account** — paste the full service-account JSON; share the folders or Shared Drive with the service account.
-   **OAuth2 user consent** — sign in and approve access; Ema uses platform OAuth credentials.

### Confluence

Confluence Cloud supports the Atlassian OAuth2 authorization-code flow (default when configured) and Basic auth (account email + scoped API token). You scope a sync by Confluence space keys and/or root page IDs. Full setup, scopes, and limits: [Confluence Connector](/builder/v2/integrations-data/data-connectors-confluence).

### Box

Box uses the OAuth2 authorization-code flow with platform-level Box app credentials (one Box app serves all tenants). Connecting opens Box's consent screen; each tenant's access and refresh tokens are stored encrypted per connection and refreshed at sync time. Full setup and limits: [Box Connector](/builder/v2/integrations-data/data-connectors-box).

> [TIP]
> OAuth2 connectors validate the connection during setup — the success banner confirms the account that authorized it. API-key and client-credential connectors run a live test call against the source before the connection is stored, so wrong credentials fail immediately rather than at first sync.

## Connecting from the OAuth flow

OAuth2 connectors follow a consistent browser flow regardless of source:

1.  You enter a connection name and select **Connect**.
2.  Ema redirects you to the provider's sign-in and consent screen, carrying a signed state parameter for CSRF protection.
3.  You approve the requested scopes.
4.  The provider redirects back to Ema's callback, which exchanges the one-time code for tokens and stores them encrypted.
5.  The Data sources tab shows a success banner; the new connection appears in the connector's list.

If something goes wrong — an expired state, a token-exchange failure, or a failed test — the tab shows a specific error banner so you can correct it.

## Grounding an AI Employee in connected content

Once a connection exists, an admin creates a Knowledge base from it (scoped to an AI Employee) and the documents in scope sync into that KB. A builder then references the KB from the relevant workflow node — for example a search-and-respond agent — and can apply a folder filter to narrow what that node searches. From then on, the AI Employee retrieves and cites the synced content in its answers.

## What's next

-   Per-connector setup guides: [SharePoint Connector](/builder/v2/integrations-data/data-connectors-sharepoint), [Google Drive Connector](/builder/v2/integrations-data/data-connectors-google-drive), [Confluence Connector](/builder/v2/integrations-data/data-connectors-confluence), [Box Connector](/builder/v2/integrations-data/data-connectors-box).
-   [Integrations Hub](/builder/v2/integrations-data/integrations-hub) — the full Integrations page, connections, and MCP servers.
-   [The Tool Editor](/builder/v2/integrations-data/the-tool-editor) — give an AI Employee the ability to _act_ in external systems.
