Skip to main content

Connectors

OIKB picks the connector from the start of the source value. Anything that doesn't match a prefix below is treated as a local folder.

bash
hrida-oikb sync github:owner/repo      --kb-id ...
hrida-oikb sync confluence:ENG         --kb-id ...
hrida-oikb sync s3://bucket/prefix     --kb-id ...
hrida-oikb sync servicenow:incident    --kb-id ...

Credentials come from environment variables. Set only the ones for the connectors you use: export them in your shell, or put them in the .env file next to the production Compose file.

Messaging sources sync incrementally

Slack, Discord and Teams messages are split into one file per day, so a new message only re-uploads that day's file.


Code repositories​

ConnectorSource syntaxCredentials
GitHubgithub:owner/repo or github:owner/repo/subdirGITHUB_TOKEN (private repos)
GitLabgitlab:owner/repo or gitlab:owner/repo/subdirGITLAB_TOKEN; GITLAB_URL for self-hosted
Bitbucketbitbucket:owner/repoBITBUCKET_USER, BITBUCKET_APP_PASSWORD

The default branch is used unless you pass --branch (or branch: in the config). Limit to a folder with --path docs/ or path:.

Cloud storage​

ConnectorSource syntaxCredentialsExtra
Amazon S3s3://bucket/prefixStandard AWS credentials (profile, env vars, instance role)s3
Google Cloud Storagegs://bucket/prefixStandard Google credentials (service account)gcs
Azure Blobaz://container/prefixAZURE_STORAGE_CONNECTION_STRING (required; no managed identity)azure
Cloudflare R2r2://bucket/prefixR2_ACCOUNT_ID, R2_ACCESS_KEY_ID, R2_SECRET_ACCESS_KEYr2
Oracle Cloudoci://bucket/prefixOCI config, plus OCI_NAMESPACEoracle
Dropboxdropbox:/pathDROPBOX_TOKENdropbox
Google Drivegdrive:<folder-id>GOOGLE_APPLICATION_CREDENTIALS (service account JSON)gdrive
SharePointsharepoint:site.sharepoint.com or sharepoint:site.sharepoint.com/Library (default library Documents)See SharePointsharepoint-cert for certificate auth
Egnyteegnyte:/pathEGNYTE_DOMAIN, EGNYTE_TOKEN

Object stores (S3, GCS, Azure, R2, Oracle) use each object's ETag as its checksum, so unchanged files aren't downloaded.

SharePoint​

Two ways to authenticate. Set one, not both:

Client secret

bash
export SHAREPOINT_TENANT_ID=...
export SHAREPOINT_CLIENT_ID=...
export SHAREPOINT_CLIENT_SECRET=...

Certificate (recommended for production)

bash
pip install "./hrida_oikb-1.0.3-py3-none-any.whl[sharepoint-cert]"
export SHAREPOINT_TENANT_ID=...
export SHAREPOINT_CLIENT_ID=...
export SHAREPOINT_CERTIFICATE_PATH=/path/to/cert.pem
export SHAREPOINT_CERTIFICATE_PASSWORD=...   # only if the key is encrypted

The PEM file must contain both the private key and the certificate.

Wikis & knowledge bases​

ConnectorSource syntaxCredentials
Confluenceconfluence:SPACE_KEY or confluence:https://company.atlassian.net/SPACE_KEYCONFLUENCE_URL, CONFLUENCE_USER, CONFLUENCE_TOKEN
Notionnotion:<page-or-database-id>NOTION_TOKEN
BookStackbookstack:BOOKSTACK_URL, BOOKSTACK_TOKEN_ID, BOOKSTACK_TOKEN_SECRET
Discoursediscourse: or discourse:<category>DISCOURSE_URL, DISCOURSE_API_KEY, DISCOURSE_API_USERNAME
GitBookgitbook:<space-id>GITBOOK_TOKEN
Guruguru: or guru:<collection>GURU_USER, GURU_TOKEN
Outlineoutline: or outline:<collection>OUTLINE_URL, OUTLINE_TOKEN
Slabslab:<org>SLAB_TOKEN (SLAB_ORG as fallback)
Document360document360:<project-id>DOCUMENT360_TOKEN
DokuWikidokuwiki: or dokuwiki:<namespace>DOKUWIKI_URL, DOKUWIKI_USER, DOKUWIKI_PASSWORD
Google Sitesgsites:<site-id>GOOGLE_SITES_TOKEN (extra gsites)

Ticketing & project management​

ConnectorSource syntaxCredentials
Jirajira:PROJECT with optional ?jql=...&fields=...&format=markdown&limit=...JIRA_URL, JIRA_USER, JIRA_TOKEN
ServiceNowservicenow:<table> (default incident) with optional ?query=...&fields=...&format=...&limit=... (default limit 1000)SERVICENOW_INSTANCE, SERVICENOW_USER, SERVICENOW_PASSWORD
Linearlinear:<team>LINEAR_TOKEN
Zendeskzendesk: or zendesk:<subdomain>ZENDESK_SUBDOMAIN, ZENDESK_USER, ZENDESK_TOKEN
Freshdeskfreshdesk: or freshdesk:<domain>FRESHDESK_DOMAIN, FRESHDESK_TOKEN
Asanaasana:<project-id>ASANA_TOKEN
ClickUpclickup:<space-id>CLICKUP_TOKEN
Airtableairtable:<base-id> or airtable:<base-id>/<table> (default Table 1)AIRTABLE_TOKEN
ProductBoardproductboard:PRODUCTBOARD_TOKEN

Example: only open bugs from Jira, as Markdown:

yaml
source: "jira:ENG?jql=type=Bug AND status!=Done&format=markdown&limit=500"

Messaging & email​

ConnectorSource syntaxCredentials
Slackslack:<channel-id>SLACK_TOKEN
Discorddiscord:<channel-id>DISCORD_TOKEN
Microsoft Teamsteams:<team-id>/<channel-id>TEAMS_TENANT_ID, TEAMS_CLIENT_ID, TEAMS_CLIENT_SECRET
Gmailgmail:user@domain.com or gmail:user@domain.com?q=<search>GOOGLE_APPLICATION_CREDENTIALS (extra gmail)
Zulipzulip: or zulip:<stream>ZULIP_URL, ZULIP_EMAIL, ZULIP_KEY

Meetings, forums, sales & web​

ConnectorSource syntaxCredentials
Gonggong:GONG_ACCESS_KEY, GONG_ACCESS_KEY_SECRET
Firefliesfireflies:FIREFLIES_TOKEN
XenForoxenforo: or xenforo:<forum-id>XENFORO_URL, XENFORO_KEY
Salesforcesalesforce:SALESFORCE_URL, SALESFORCE_TOKEN
HubSpothubspot:HUBSPOT_TOKEN
Websiteweb:https://example.comNone (extra web)

Local filesystem​

Any path, for example ./docs or /srv/handbook. Supports every file type, scans recursively and respects .hrida-oikbignore.


Optional extras​

These connectors need client libraries that aren't installed by default:

ExtraConnectors
s3Amazon S3
gcsGoogle Cloud Storage
azureAzure Blob
r2Cloudflare R2
oracleOracle Cloud
dropboxDropbox
gdriveGoogle Drive
gmailGmail
gsitesGoogle Sites
webWebsite crawler
sharepoint-certSharePoint certificate auth
bash
pip install "./hrida_oikb-1.0.3-py3-none-any.whl[s3,gdrive]"   # several
pip install "./hrida_oikb-1.0.3-py3-none-any.whl[all]"         # everything

All other connectors work with the base install.

Hrida.ai is proprietary software of Zlabs Innovation. See the license for terms. © 2026 Zlabs Innovation.