You can add and configure connections in two ways:
Use a combination of the connections add and connections configure commands to define and set up connections manually.
Import connections from a YAML file, just like other watsonx Orchestrate resources.
You can create and import connection configurations using YAML files, which makes it easier to share setup details across users. However, you must set credentials separately using the CLI. This requirement helps prevent storing sensitive information like passwords in unsecured files.In your YAML specification file, define the connection’s structure, including:
Application ID (app_id)
Authentication type
Environment-specific settings (e.g., draft vs. live)
Credential scope (member or team)
YAML
Copy
Ask AI
spec_version: v1kind: connectionapp_id: my_appenvironments: draft: # in draft each person needs to provide their own basic credentials kind: basic type: team server_url: https://example.com/ live: kind: api_key # note it's possible to auth different in the deployed live agent vs the draft agent type: member server_url: https://example.com/
Defines the schema version of the file. The ADK uses this value to manage in-place upgrades or display warnings when breaking changes prevent an upgrade.
Possible Values: v1
The kind of credentials to use for the connection in this environment, note this can differ per environment.Possible values: basic, bearer, api_key, oauth_auth_code_flow, oauth_auth_implicit_flow, oauth_auth_password_flow, oauth_auth_client_credentials_flow, oauth_auth_on_behalf_of_flow, key_value
Whether these credentials for the connection in this environment should be shared by all
users (team), or provided by each user (member).Possible values: team, member
The base URL of the server this application is associated with (if any). In the case of oauth connections, this may differ
from the token URL which is provided via the credentials themselves.
Configuration for the live environment. This setting is ignored in watsonx Orchestrate Developer Edition because it does not include a live environment.
The kind of credentials to use for the connection in this environment, note this can differ per environment.Possible values: basic, bearer, api_key, oauth_auth_code_flow, oauth_auth_implicit_flow, oauth_auth_password_flow, oauth_auth_client_credentials_flow, oauth_auth_on_behalf_of_flow, key_value
Whether these credentials for the connection in this environment should be shared by all
users (team), or provided by each user (member).Possible values: team, member
The base URL of the server this application is associated with (if any). In the case of oauth connections, this may differ
from the token URL which is provided via the credentials themselves.
A Basic connection contains two secure fields (username and password), and one insecure field (server_url).
my_app.yaml
Copy
Ask AI
spec_version: v1kind: connectionapp_id: my_appenvironments: draft: # in draft each person needs to provide their own basic credentials kind: basic type: team server_url: https://example.com/ live: kind: basic type: team server_url: https://example.com/
Bearer Connections
An Bearer connection contains one secure field called a token, and one insecure field for the server_url.
my_app.yaml
Copy
Ask AI
spec_version: v1kind: connectionapp_id: my_appenvironments: draft: # in draft each person needs to provide their own basic credentials kind: bearer type: team server_url: https://example.com/ live: kind: bearer type: team server_url: https://example.com/
API Key Connections
An API key connection contains one secure field called an api_key,
and one insecure field for the server_url.
my_app.yaml
Copy
Ask AI
spec_version: v1kind: connectionapp_id: my_appenvironments: draft: # in draft each person needs to provide their own basic credentials kind: api_key type: team server_url: https://example.com/ live: kind: api_key type: team server_url: https://example.com/
Key Value Connections
Key-value connections allow you to pass an arbitrary set of keys and values to upstream providers. These connections are especially useful in Python tools when you need secure configuration options that don’t fit into standard authentication categories.You can also use key-value connections to securely inject environment variables into MCP servers, enabling flexible and secure runtime configuration.
my_app.yaml
Copy
Ask AI
spec_version: v1kind: connectionapp_id: my_appenvironments: draft: kind: key_value type: team live: kind: key_value type: team
OAuth auth code flow
OAuth Auth Code Flows provide a downstream service a field called an access_token which can
be used used as an Bearer token by your tool.
**my_app.yaml**
Copy
Ask AI
spec_versionkind: connectionapp_id: my_appenvironments: draft: kind: oauth_auth_code_flow type: team server_url: https://example.com/ live: kind: oauth_auth_code_flow type: team server_url: https://example.com/
🚧 OAuth auth implicit flow
OAuth Implicit Flows provide a downstream service a field called an access_token which can
be used used as an Bearer token by your tool.
**my_app.yaml**
Copy
Ask AI
spec_versionkind: connectionapp_id: my_appenvironments: draft: kind: oauth_auth_implicit_flow type: team server_url: https://example.com/ live: kind: oauth_auth_implicit_flow type: team server_url: https://example.com/
OAuth auth password flow
OAuth Auth Password Flows provide a downstream service a field called an access_token which can
be used used as an Bearer token by your tool.
**my_app.yaml**
Copy
Ask AI
spec_versionkind: connectionapp_id: my_appenvironments: draft: kind: oauth_auth_password_flow type: team server_url: https://example.com/ live: kind: oauth_auth_password_flow type: team server_url: https://example.com/
OAuth auth client credentials flow
OAuth Auth Client Flows provide a downstream service a field called an access_token which can
be used used as an Bearer token by your tool.
**my_app.yaml**
Copy
Ask AI
spec_versionkind: connectionapp_id: my_appenvironments: draft: kind: oauth_auth_client_credentials_flow type: team server_url: https://example.com/ live: kind: oauth_auth_client_credentials_flow type: team server_url: https://example.com/
🌐 SSO / IDP auth (on behalf of flow)
OAuth on-behalf-of flows authenticate against an identity provider that can issue tokens to downstream services on behalf of a user. This enables secure, delegated access to external systems.Currently, watsonx Orchestrate supports these flows only for agents accessed through embedded webchat.
Once you’ve added a connection, you can manage its credentials through the Connections Management UI, located under Manage → Connections.For member connections, each end user sets their own credentials through this interface.
Connections UI
Note:
In the watsonx Orchestrate Developer Edition, you can only set credentials using the CLI. The UI does not support credential management in this edition.
As a result, you can only fully configure OAuth connections in the SaaS or on-premises offerings, where both CLI and UI credential setup are supported.
You can choose to set credentials for either the draft environment (used in the Manage Agents preview) or the live environment, depending on where the agent will operate
You can choose to set credentials for either the draft environment (used in the Manage Agents preview) or the live environment, depending on where the agent will operate
You can choose to set credentials for either the draft environment (used in the Manage Agents preview) or the live environment, depending on where the agent will operate
You can choose to set credentials for either the draft environment (used in the Manage Agents preview) or the live environment, depending on where the agent will operate
A key-value pair can be used to securely pass configuration data to downstream tools or AI gateway providers. Entries are provided in the form key=value.
OAuth supports multiple authentication flows, as outlined in the OpenAPI specification. watsonx Orchestrate can use these flows to generate authentication tokens for compatible downstream consumers.Unlike other authentication methods, such as Basic Auth or API Key, where tools receive the same credentials that were configured,
OAuth connections dynamically resolve an access_token within Orchestrate.
The platform generates this token on behalf of the tool and securely provides it during execution.Auth Code Flow
You can choose to set credentials for either the draft environment (used in the Manage Agents preview) or the live environment, depending on where the agent will operate
A comma-separated list of OAuth scopes to request. These scopes define the permissions granted to the generated token for accessing the upstream service provider.
Define custom field options for an OAuth request. Use key-value pairs in the format location:<key>=<value> or <key>=<value>. You can pass multiple values like this: -t key1=value1 -t location:key2=value2. Valid locations are: header, body, and query. If you omit the location, it defaults to header.
Define custom field options for an oauth_auth_code_flow auth server request. Use key-value pairs in the format location:<key>=<value> or <key>=<value>. You can pass multiple values like this: --auth-entries key1=value1 --auth-entries location:key2=value2. The only valid location is query, which also serves as the default if you omit it.
🚧 Implicit flow
Currently, watsonx Orchestrate does not support OAuth implicit flows.
Support for this feature is coming soon.Password flow
You can choose to set credentials for either the draft environment (used in the Manage Agents preview) or the live environment, depending on where the agent will operate
A comma separated list of oauth scopes to request for the user to grant the generated token certain
privileged accesses to the upstream service provider.
You can choose to set credentials for either the draft environment (used in the Manage Agents preview) or the live environment, depending on where the agent will operate
A comma separated list of oauth scopes to request for the user to grant the generated token certain
privileged accesses to the upstream service provider.
A comma separated list of oauth scopes to request for the user to grant the generated token certain
privileged accesses to the upstream service provider.
You can choose to set credentials for either the draft environment (used in the Manage Agents preview) or the live environment, depending on where the agent will operate
You can choose to set credentials for either the draft environment (used in the Manage Agents preview) or the live environment, depending on where the agent will operate
A comma separated list of oauth scopes to request for the user to grant the generated token certain
privileged accesses to the upstream service provider.
Define custom field options for an OAuth request. Use key-value pairs in the format location:<key>=<value> or <key>=<value>. You can pass multiple values like this: -t key1=value1 -t location:key2=value2. Valid locations are: header, body, and query. If you omit the location, it defaults to header.
You can choose to set credentials for either the draft environment (used in the Manage Agents preview) or the live environment, depending on where the agent will operate
Define custom field options for an OAuth request. Use key-value pairs in the format location:<key>=<value> or <key>=<value>. You can pass multiple values like this: -t key1=value1 -t location:key2=value2. Valid locations are: header, body, and query. If you omit the location, it defaults to header.