Knowledge Connectors

8 min read

Connectors pull data from external tools into knowledge bases on a schedule. Sync is incremental by default, so only new or changed content is processed after the first run. A connector can also be assigned to multiple knowledge bases.

This page focuses on connector-specific setup. Every connector also shares a few common fields in the UI:

  • Name -- a label for your team
  • Description -- optional context for other admins
  • Visibility -- whether the connector is org-wide or team-scoped
  • Schedule -- when sync runs automatically

Most connector-specific filters live under Advanced in the create/edit dialogs.

Connector visibility is part of the broader knowledge source access model. See Overview - Visibility Modes for how connector visibility determines which connector data each user can query.

Jira

Ingests issue descriptions, comments, and metadata from Jira Cloud or Server.

FieldDescription
Base URLYour Jira instance URL (e.g., https://your-domain.atlassian.net)
Cloud InstanceToggle on for Jira Cloud, off for Jira Server/Data Center
Project KeyFilter issues to a single project (optional)
JQL QueryCustom JQL to filter issues (optional)
Comment Email BlacklistComma-separated emails whose comments are excluded (optional)
Labels to SkipComma-separated issue labels to exclude (optional)

Authentication uses an Atlassian account email and API token. Incremental sync uses JQL time-range queries on the updated field.

Confluence

Ingests page content (HTML converted to plain text) from Confluence Cloud or Server.

FieldDescription
URLYour Confluence instance URL (e.g., https://your-domain.atlassian.net/wiki)
Cloud InstanceToggle on for Confluence Cloud, off for Server/Data Center
Space KeysComma-separated space keys to sync (optional)
Page IDsComma-separated specific page IDs to sync (optional)
CQL QueryCustom CQL to filter content (optional)
Labels to SkipComma-separated labels to exclude (optional)
Batch SizePages per batch (default: 50)

Authentication uses the same Atlassian email + API token as Jira. Incremental sync uses CQL lastModified queries.

GitHub

Ingests issues, pull requests, and their comments from GitHub.com or GitHub Enterprise Server.

FieldDescription
GitHub API URLAPI endpoint (e.g., https://api.github.com for GitHub.com, or your GHE API URL)
OwnerGitHub organization or username that owns the repositories
RepositoriesComma-separated repository names to sync (optional -- leave blank to sync all org repositories)
Include IssuesToggle to sync issues and their comments (default: on)
Include Pull RequestsToggle to sync pull requests and their comments (default: on)
Labels to SkipComma-separated labels to exclude (optional)

Authentication uses a personal access token (PAT). Incremental sync uses the since parameter on the issues API to fetch only items updated after the last sync.

GitLab

Ingests issues, merge requests, and their comments from GitLab.com or self-hosted GitLab instances.

FieldDescription
GitLab URLInstance URL (e.g., https://gitlab.com or your self-hosted URL)
GroupGitLab group ID or path to scope project discovery (optional)
Project IDsComma-separated specific project IDs to sync (optional -- leave blank to sync all)
Include IssuesToggle to sync issues and their comments (default: on)
Include Merge RequestsToggle to sync merge requests and their comments (default: on)
Labels to SkipComma-separated labels to exclude (optional)

Authentication uses a personal access token (PAT). System-generated notes (assignment changes, label updates, etc.) are automatically filtered out. Incremental sync uses the updated_after parameter.

ServiceNow

Ingests records from ServiceNow instances via the Table API. HTML descriptions are converted to plain text. Multiple entity types can be enabled via toggles.

FieldDescription
Instance URLYour ServiceNow instance URL (e.g., https://your-instance.service-now.com)
Include IncidentsSync incidents from the incident table (default: on)
Include ChangesSync change requests from the change_request table (default: off)
Include Change TasksSync change tasks from the change_task table (default: off)
Include ProblemsSync problems from the problem table (default: off)
Include Business ApplicationsSync business applications from the cmdb_ci_business_app CMDB table (default: off)
StatesComma-separated state values to filter by (e.g. 1, 2). Applies to incidents, changes, change tasks, and problems (optional)
Assignment GroupsComma-separated assignment group sys_ids to filter by. Does not apply to business applications (optional)
Batch SizeRecords per batch (default: 50)

Authentication supports both basic auth (username + password) and OAuth bearer tokens. When using basic auth, provide the username in the Email field and the password in the API Token field. For OAuth, leave the Email field empty and provide the bearer token. Incidents are synced by default; enable additional entity types in the advanced configuration. States and assignment group filters apply to all entity types except business applications. Incremental sync uses the sys_created_on field to fetch only records created since the last run.

Notion

Ingests pages from Notion workspaces using the Notion API. Page content is fetched from Notion blocks and converted to plain text.

FieldDescription
Database IDsComma-separated Notion database IDs to sync (optional -- leave blank to sync all accessible pages)
Page IDsComma-separated specific Notion page IDs to sync (optional -- takes precedence over Database IDs)

Authentication uses a Notion integration token (starts with secret_). Create an internal integration in your Notion workspace and share the relevant pages or databases with it. Incremental sync uses the last_edited_time field to fetch only pages modified since the last run.

SharePoint

Ingests documents and site pages from SharePoint Online via the Microsoft Graph API. Text is extracted from .txt, .md, .csv, .json, .xml, .html, .htm, .yaml, .log files, as well as .docx, .pdf, and .pptx documents. Site pages are synced with content extracted from web parts. When a multimodal embedding model is configured (e.g., gemini-embedding-2-preview), image files (.jpg, .jpeg, .png, .gif, .webp) up to 4 MB are also ingested and embedded directly.

FieldDescription
Tenant IDYour Azure AD (Entra ID) tenant ID or domain (e.g., xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx)
Site URLYour SharePoint site URL (e.g., https://your-tenant.sharepoint.com/sites/your-site)
Client IDAzure AD app registration Application (client) ID
Client SecretAzure AD app registration client secret value
Drive IDsComma-separated document library IDs to sync (optional -- leave blank to sync all site libraries)
Folder PathRestrict sync to a specific folder path within each drive (optional)
Include PagesToggle to sync site pages and their web part content (default: on)

Authentication uses an Azure AD app registration with client credentials (OAuth2). The app registration requires the Sites.Read.All application permission on Microsoft Graph, and admin consent must be granted.

To configure the connector:

  • Tenant ID comes from Microsoft Entra ID > App registrations > > Overview > Directory (tenant) ID
  • Client ID comes from Application (client) ID on the same page
  • Client Secret is the secret Value from Certificates & secrets, not the secret ID
  • Site URL should be the exact SharePoint site web URL, not just the display name

Known limitation:

  • SharePoint file sync currently lists only the direct children of the selected drive root or Folder Path. Nested subfolders are not traversed recursively. If you need multiple nested folders today, point Folder Path at the specific folder you want to sync or create separate connectors. Recursive traversal is tracked in issue #3665.

Incremental sync uses the lastModifiedDateTime field to fetch only items modified since the last run.

Managing Connectors

Connectors can be managed from either the Connectors page or a knowledge base's detail page. After creation you can:

  • Toggle enabled/disabled -- suspends or resumes the cron schedule
  • Trigger sync -- runs an immediate sync outside the schedule
  • View runs -- see sync history with status, document counts, and errors

Adding New Connector Types

See Adding Knowledge Connectors for a developer guide on implementing new connector types.