key_value connections. Use --kind key_value or --kind kv for each source. Other OAuth connection kinds are not validated end-to-end for knowledge base content sources.
A connector-backed knowledge base does not upload document files through the ADK. The knowledge base specification identifies the external system in content_source and identifies the source paths in documents. During a sync, watsonx Orchestrate retrieves the files, converts and chunks their content, and indexes the chunks in the built-in vector store.
The source documents must meet these requirements:
- Give each file a unique name.
- Include no more than 100 files in one knowledge base specification.
- Limit each
.xlsxfile to 1 MB. - Limit each
.docx,.pdf, and.pptxfile to 25 MB. - Limit each
.csv,.html, and.txtfile to 5 MB.
Before you begin
- Register an application or service account with your content provider.
- Collect the required credentials from the provider.
- If you use Developer Edition, start the server with connector support:
BASH
Required credentials
Each third-party source requires a different set of credentials from its own developer console or app registration. Pass each credential as a separate--entries "<key>=<value>" option on orchestrate connections set-credentials.
Connecting to a third-party content source
1
Create a connection
Create a connection with an application ID that identifies the external source:Configure a team connection in the draft environment:Set the credentials. Use the fields for your source from the required credentials table:To use the knowledge base in the live environment, configure the connection and set its credentials again with
BASH
BASH
BASH
--env live.Note:Keep private keys and passwords out of source control. The connection stores these values separately from the knowledge base specification.
2
Define the knowledge base
Create a YAML file with
content_source and documents:YAML
string
required
The connector to use. Accepted values are
box, sharepoint-file, and onedrive.array
required
List of file and folder paths in the source system. Add a trailing
/ to a path to identify a folder — the sync ingests files directly in that folder but not files in its subfolders.3
Import and perform the initial sync
Import the specification and provide the application ID from the connection:On the first import, watsonx Orchestrate starts a sync and the CLI waits for it to finish.When you import an existing knowledge base, the command updates the specification without starting a sync. Add If the sync fails, the knowledge base remains available. Correct the credentials or connector configuration, and then start another sync.
BASH
--sync to update the specification and sync its content:BASH
4
Check status and sync content
Check the detailed status:The response includes After a sync, use the verbose status output to confirm which files were indexed. If a path does not exist in the source, the import still succeeds but watsonx Orchestrate does not index those files. Correct the paths in the specification and re-import with The command waits for the sync to finish. A knowledge base supports one active sync at a time. During a sync, the knowledge base continues to answer questions with the previous index. A successful sync promotes the new index. A failed sync keeps the previous index available.
BASH
sync_state, sync_state_msg, and last_sync_stats for a connector-backed knowledge base.A detailed response can contain these fields:
JSON
--sync.Start an on-demand sync after you change files in the source or update the document paths:BASH
Remove the knowledge base and connection
Remove the knowledge base:BASH
BASH
Examples
- Box
- OneDrive
Box uses a JWT service account. Get the credential values from your Box Developer Console application and its generated key pair.Create the knowledge base specification:Import the specification:
BASH
YAML
BASH

