---
title: "Integrations"
description: "Connect external services and keep their content synced into Ocho."
canonical: https://ocho.bot/docs/administration/integrations
last_updated: 2026-07-12
---

# Integrations

> Connect external services and keep their content synced into Ocho.

Integrations pull content from external services (document stores, wikis, repositories) into your Library on a schedule. Custom API connections are different: they register an external API for tooling such as the Flows **Integration Call** block — they don't sync content.

> Who can do this: integration administrators create and manage connections. Everyone can view them — without the integration administrator role the Connections page shows the list and connection details but none of the create or manage buttons.

## Connect a service

1. In the sidebar, open **Integrations → Connections** and click    **New connection**. 2. Pick the source you want to connect. Two kinds exist:

- **Content sources** (SharePoint, Notion, Google Drive, GitHub) — synced

services. On the **Configure connection** step, enter a **Connection      name**, complete any source-specific settings (the step also shows the      sync schedule the connection will run on), and click **Create &      connect**. Finish the sign-in that opens in a popup window.

- **Custom API** — register any external REST API: **Connection name**,

**Base URL**, **Authentication** (**None**, **Basic (username /      password)**, **API key**, or **Bearer token** — API key adds **Header      name** and **Value prefix** fields), and an **OpenAPI spec** (upload a      .json/.yaml/.yml file or paste it) that tells Ocho which operations      exist. 3. The Connections list is a table; its **Status** column shows the sync    status (for example **Synced**). Open a connection to see its    verification badge: **Verified** (with the last-verified date) or    **Not verified**, along with any verification error message.

A second **Connections** tab also lives under **Flows** ("Manage integration connections used by your flows."). Its connection cards show **Verified**, **Error**, or **Unverified** badges, and it has its own **New connection** button — but creating connections still requires the integration administrator role.

## Keep content in sync

Content connections sync automatically; the connection page shows **Sync status**, **Last synced**, **Next run**, and **Active** tiles. (Custom API connections never sync.) From a connection's page, integration administrators can:

- **Sync now** — trigger an immediate sync (one at a time; a second request

while one runs is rejected).

- **Test connection** or **Reconnect** — verify credentials, or re-run the

sign-in popup if verification fails.

- **Delete** — removes the connection and its sync history, but synced

documents stay in the Library (they're detached from the connection's   dataset, not deleted). The confirm dialog says "Synced documents and   history will be removed." — in practice the documents survive.

Everyone can browse the **Sync History** and **Synced Documents** tabs on the connection page. To see a sync finish, refresh the Sync History list — job rows update as they complete. The **See full sync history** link opens the **Sync Jobs** page (also in the sidebar under **Integrations**), pre-filtered to that connection.

## Bring your own OAuth app (advanced)

When creating an OAuth-based content connection (SharePoint, Notion, Google Drive) from the Connections page, the configure step includes a collapsed **Advanced: use your own OAuth app** section. (GitHub connections use a GitHub App instead, so this section doesn't appear for them.) Enter your organization's **Client ID** and **Client Secret** there to use a dedicated OAuth app instead of the platform's shared app; leave the fields blank to use the default. Set this before authorizing — the section isn't available on an existing connection's page.

## Good to know

- Synced documents land in the Library like any other document and can be

attached to datasets.

- If a source isn't configured on the platform side, the connection still

saves, but a warning appears: "Connection saved, but it can't be   authorized yet -- this integration isn't configured on the server. Ask an   admin to provision the provider credentials."

- Custom API connections don't sync — attempting a sync on one is rejected

with "Custom API integrations do not sync".

All docs: https://ocho.bot/docs

---

Ocho — AI knowledge orchestration · [Home](https://ocho.bot/) · [Docs](https://ocho.bot/docs) · [Blog](https://ocho.bot/blog) · [About](https://ocho.bot/about) · [Developers](https://ocho.bot/developers) · [Contact](https://ocho.bot/contact) · [llms.txt](https://ocho.bot/llms.txt)
