> ## Documentation Index
> Fetch the complete documentation index at: https://docs.puntego.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Connect knowledge workspaces

> Index selected Zendesk, Intercom, Mintlify, Notion, Confluence, and Google Drive content, see what was skipped and why, and disconnect safely.

Puntego can index approved content from Zendesk Help Center, Intercom Articles,
Mintlify docs, Notion, Confluence, and Google Drive. Content anyone can read
without signing in answers visitors; everything else stays internal until you
choose otherwise (see [Who each source answers](#who-each-source-answers)).
Every connector is read-only and never edits the provider workspace.

## Choose a connector

| Provider | Authentication | Content scope |
| - | - | - |
| Zendesk Help Center | None for a public Help Center; an agent API token is optional | Published articles visible to everyone |
| Intercom Articles | Workspace access token | Published articles with a public Help Center address |
| Mintlify docs | None (public docs) | Pages listed in the site's `llms.txt` or sitemap, honoring `robots.txt` |
| Notion | OAuth (or an internal integration token where OAuth is not offered) | Pages you share with Puntego, optionally limited to one page subtree |
| Confluence Cloud | OAuth | One approved site and 1–20 explicitly selected spaces |
| Google Drive | OAuth + Google Picker | 1–50 explicitly selected files; folders are not selected implicitly |

<Note>
  Connector availability is environment-dependent. Notion OAuth requires the
  Puntego Notion app; Confluence requires the Puntego Atlassian OAuth app;
  Google Drive requires the Google OAuth app and Picker credentials; every
  stored credential requires the tenant-bound encrypted vault. The dashboard
  reports the missing prerequisite instead of collecting a credential it cannot
  use.
</Note>

## See what was indexed and what was skipped

**Knowledge → Sources** shows how many pages are indexed against your plan's
allowance. Each source lists what it indexed and what it skipped, with one
reason per skipped item:

| Reason | What it means |
| - | - |
| Requires sign-in | The page or article is only visible after signing in, or to a user segment. Puntego only indexes public content. |
| Blocked by robots.txt | The site asks crawlers not to read it. |
| Not published | A draft. |
| Too large | Over the per-page size limit. |
| Duplicate | The same content is already indexed from another page. |
| Over the plan limit | The plan's page allowance was used up. |
| No readable text, Unsupported format, Could not be read | Nothing to index, a format Puntego does not read, or an error from the site or provider. |

## Who each source answers

The **Answers** column on **Knowledge → Sources** says who each source answers.

| Source | Answers visitors |
| - | - |
| Website (crawl or sitemap) | Yes |
| Mintlify docs, and a Zendesk Help Center anyone can read | Yes. Only public articles and pages are indexed, and an answer can link to the public page it came from. |
| Zendesk Help Center that requires sign-in | No, until an owner or admin turns on **Visible to visitors**. Puntego checks whether anyone can read the Help Center when you connect it with an agent token. |
| Intercom Articles | No, until an owner or admin turns on **Visible to visitors**. Intercom doesn't tell Puntego who each published article is shown to. |
| Notion, Confluence, Google Drive | No, until an owner or admin turns on **Visible to visitors** on the connector |
| Uploaded files | No |

**Visible to visitors** is on each connector card. Turning it on for anything
that isn't public to everyone asks for confirmation first, because visitors will
get answers from every article, page, or file that connection reads. Turning it
off takes effect right away. A change applies to what the source already
indexed, without another sync, and is recorded with who made it. Content a
source indexed before visitor answers were available is updated by its next
sync: the card says **Updating** until then, and **Sync now** applies it right
away. Disconnecting a source removes everything it indexed.

## Connect Zendesk Help Center

1. Open **Knowledge → Sources** and choose **Connect Zendesk Help Center**.
2. Enter your Help Center address, for example `acme.zendesk.com`. For a custom
   Help Center domain, use the `zendesk.com` address shown in Admin Center.
3. If your Help Center requires sign-in, add an agent email and API token.
4. Select **Connect & sync**.

Restricted articles (signed-in users or a user segment) and drafts are never
indexed; they appear as skipped. A Help Center that requires sign-in starts
internal, because its articles are not public even when they are visible to
everyone who signs in. Puntego checks this again before every sync: if a Help
Center starts requiring sign-in, a source that answered visitors by default
becomes internal right away (recorded in the visibility history), and one you
made visible yourself keeps your choice and shows **Needs attention**.

## Connect Intercom Articles

1. In Intercom, create an access token that can read articles.
2. Choose **Connect Intercom Articles**, pick your workspace region, paste the
   token, and select **Connect & sync**.

Only articles published to a Help Center are indexed. Drafts and articles
without a Help Center address appear as skipped. Intercom Articles starts
internal: the Intercom API doesn't say whether a published article is shown to
everyone or only to signed-in users or chosen audiences, so turn on **Visible
to visitors** only if every published article is for customers.

## Connect Mintlify docs

Choose **Connect Mintlify docs**, enter the public address of your docs (for
example `https://docs.acme.com`), and select **Connect & sync**. Puntego reads
the site's `llms.txt` (or its sitemap) and each page's markdown, honoring
`robots.txt` for `PuntegoBot`. Pages behind sign-in appear as skipped.

## Connect Notion

Choose **Connect Notion**. Notion asks which pages Puntego may read; only those
pages are indexed. Where the Notion app is not configured, the dashboard instead
asks for an internal integration token:

1. Create a Notion internal integration with read access.
2. Share only the pages Puntego should learn.
3. Enter the token and, optionally, a root page ID or URL.
4. Select **Connect & sync**.

## Connect Confluence

1. Select **Connect Confluence** and approve the requested read-only OAuth
   access.
2. If the account exposes more than one site, choose the intended site.
3. Choose between 1 and 20 spaces, then select **Save & sync**.

Puntego does not silently widen the selection when another space is added to the
site. Change the approved space list explicitly from the connector card.

## Connect Google Drive

1. Select **Connect Google Drive** and approve the requested read-only OAuth
   access.
2. Open the Google Picker from the connector card.
3. Choose between 1 and 50 supported files, then sync.

The Picker accepts Google Docs, Sheets, and Slides plus supported document and
text formats. Selecting a folder does not grant Puntego an implicit recursive
scope.

## Credential and sync safety

* Provider credentials and refresh tokens are encrypted and never returned by
  the connector API or written to logs.
* OAuth state is single-use and bound to the signed-in workspace session;
  Google and Notion use PKCE.
* Requests go only to the provider's official hosts. A public docs site is read
  through the same SSRF guard as website sources.
* Imported content is sanitized before indexing: hidden text, comments and
  scripts are dropped, and indexed text is treated as information, never as an
  instruction. It cannot trigger an action.
* Connected sources sync daily. Each sync re-indexes only what changed and
  removes what was deleted in the provider.
* If a refresh fails after a successful sync, the last good snapshot remains
  available. The exception is a provider that answers with nothing Puntego may
  index: every article deleted, or Mintlify docs that now require sign-in. That
  sync removes what the source indexed, and the card shows why.

## Test, refresh, or disconnect

Use **Test** for a read-only provider check and **Sync now** after content
changes. If nothing changed, Puntego records a successful sync without
re-indexing.

Disconnecting requires confirmation. Puntego erases the provider credential,
revokes active sync work, and removes every indexed item from the source. It
never changes provider content.

<Card title="Train Puntego on your site" icon="database" href="/rag-training">
  Learn how indexed passages are retrieved and supplied to the guide.
</Card>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.