| name | cargo-connection |
| description | Manage connectors and integrations using the Cargo CLI. Use when the user wants to list, create, update, or remove connectors, discover available integrations, or understand what connector actions are available for use in workflows. |
| version | 1.1.0 |
| compatibility | Requires @cargo-ai/cli (npm) and a Cargo account (browser sign-in via --oauth, or an API token) |
| homepage | https://github.com/getcargohq/cargo-skills |
| metadata | {"author":"getcargo","openclaw":{"requires":{"bins":["cargo-ai"]},"install":[{"kind":"node","package":"@cargo-ai/cli@latest","bins":["cargo-ai"]}],"homepage":"https://github.com/getcargohq/cargo-skills"}} |
Cargo CLI — Connections
Connector and integration management: listing connectors, discovering available integrations, and managing authenticated connector instances.
See references/response-shapes.md for full JSON response structures.
See references/troubleshooting.md for common errors and how to fix them.
See references/examples/connectors.md for connector CRUD and discovery examples.
See references/examples/integrations.md for listing available integrations and OAuth flows.
For third-party connector rate limit handling and retry config in workflows, see cargo-orchestration/references/polling.md and cargo-orchestration/references/troubleshooting.md. Native integrations do not have rate limits.
Key concepts
Integration: The external service type (e.g. HubSpot, Clearbit, Salesforce). Integrations define what actions are available.
Connector: An authenticated instance of an integration. One integration can have multiple connectors (e.g. two different HubSpot accounts). Connectors are what you reference in workflow node graphs.
Prerequisites
See ../cargo/references/prerequisites.md for install, login (--oauth / --token), JSON output conventions, and error shapes. Verify the session with cargo-ai whoami before running any of the commands below.
Discover resources first
cargo-ai connection connector list
cargo-ai connection integration list
cargo-ai connection integration list --search "hubspot"
cargo-ai connection integration get <slug>
cargo-ai connection native-integration get
integration get vs native-integration get
These two commands return different sets of actions and are not interchangeable:
| Command | Third-party service actions (HubSpot, Salesforce, Clearbit, …) | Built-in Cargo actions (HTTP, transforms, utilities) | When to use |
|---|
integration get <slug> | ✓ | ✗ | You need actions for a specific third-party service — use this for HubSpot, Salesforce, Clearbit, etc. |
native-integration get | ✗ | ✓ | You need Cargo-native capabilities that don't belong to any specific third-party connector |
Example: To find HubSpot-specific actions, use integration get hubspot — native-integration get will not return them.
Quick reference
cargo-ai connection connector list --integration-slug <slug>
cargo-ai connection connector create --integration-slug <slug> --slug <slug> --name <name>
cargo-ai connection connector update --uuid <uuid> --name <name>
cargo-ai connection connector remove <connector-uuid>
cargo-ai connection connector get <connector-uuid>
cargo-ai connection connector autocomplete --connector-uuid <uuid> --slug <slug> --params '<json>'
cargo-ai connection integration list
cargo-ai connection integration get <slug>
cargo-ai connection integration get-documentation <slug>
cargo-ai connection native-integration get
Connectors
Connectors are authenticated connections to external services.
cargo-ai connection connector list
cargo-ai connection connector create \
--integration-slug clearbit \
--slug clearbit_production \
--name "Clearbit - Production"
cargo-ai connection connector update --uuid <connector-uuid> --name "Clearbit - Staging"
cargo-ai connection connector remove <connector-uuid>
cargo-ai connection connector exists-by-slug --slug clearbit_production
Note: Creating a connector requires --slug (unique identifier) in addition to --name (display name) and --integration-slug. For OAuth-based integrations, the authentication flow is completed separately via connection integration complete-oauth.
Integrations
Integrations define the available services and their connector actions.
cargo-ai connection integration list
cargo-ai connection integration list --category enrichment
cargo-ai connection integration list --search "hubspot"
cargo-ai connection integration list --slug clearbit
cargo-ai connection integration list --has-actions true
cargo-ai connection integration list --has-extractors true
cargo-ai connection native-integration get
Integration categories: engagement, marketing, sales, finance, analytics, freeform, success, support, enrichment, storage, custom.
Use integration get <slug> to discover all actions available for a specific third-party service (e.g. HubSpot, Salesforce). Use native-integration get only for built-in Cargo actions — it does not return HubSpot or other service-specific actions. Actions are referenced by actionSlug in workflow node graphs (see the cargo-orchestration skill's references/nodes.md).
Connector autocomplete — fetching available values for action fields
Some action fields don't accept freeform input — their allowed values must be fetched dynamically from the connector. When you inspect an action's config (via integration get <slug> or native-integration get), look at the uiSchema alongside the jsonSchema. If a field's uiSchema contains "ui:widget": "IntegrationAutocompleteWidget", the valid values for that field must be retrieved using connector autocomplete.
How to detect autocomplete fields
When an action's config looks like this:
{
"jsonSchema": {
"type": "object",
"properties": {
"objectType": { "type": "string", "description": "The object type" }
}
},
"uiSchema": {
"objectType": {
"ui:widget": "IntegrationAutocompleteWidget",
"ui:options": {
"slug": "listObjects",
"allowRefresh": true
}
}
}
}
The objectType field requires autocomplete. The ui:options.slug ("listObjects") is the autocomplete slug you pass to connector autocomplete.
How to call connector autocomplete
cargo-ai connection connector autocomplete \
--connector-uuid <connector-uuid> \
--slug <autocomplete-slug> \
--params '{}'
| Flag | Required | Description |
|---|
--connector-uuid | yes | The UUID of the connector to autocomplete against |
--slug | yes | The autocomplete slug from uiSchema[field]["ui:options"].slug |
--params | yes | JSON object of parameters (use {} when none are needed) |
--value | no | Search string to filter results |
--refresh | no | Bypass cache and fetch fresh results |
Autocomplete with parameters
Some autocomplete fields depend on the value of another field. This is indicated by a params object in ui:options:
{
"uiSchema": {
"objectType": {
"ui:widget": "IntegrationAutocompleteWidget",
"ui:options": { "slug": "listObjects" }
},
"propertyName": {
"ui:widget": "IntegrationAutocompleteWidget",
"ui:options": {
"slug": "listObjectProperties",
"params": { "objectType": "$this.$parent.objectType" }
}
}
}
}
Here, propertyName depends on the selected objectType. Replace the $this.$parent... expression with the actual value you chose:
cargo-ai connection connector autocomplete \
--connector-uuid <uuid> --slug listObjects --params '{}'
cargo-ai connection connector autocomplete \
--connector-uuid <uuid> --slug listObjectProperties \
--params '{"objectType": "contacts"}'
Response format
{
"results": [
{ "label": "Contacts", "value": "contacts" },
{ "label": "Companies", "value": "companies" },
{ "label": "Deals", "value": "deals" }
]
}
Use the value field in your node config. The label is the human-readable display name. Results may also include optional description and parent fields.
End-to-end example: configuring a HubSpot action
cargo-ai connection connector list --integration-slug hubspot
cargo-ai connection integration get hubspot
cargo-ai connection connector autocomplete \
--connector-uuid <hubspot-connector-uuid> \
--slug listObjects --params '{}'
cargo-ai connection connector autocomplete \
--connector-uuid <hubspot-connector-uuid> \
--slug listObjectProperties \
--params '{"objectType": "contacts"}'
Using connector actions in workflows
Connector actions are used as nodes in workflow graphs. To use an action:
cargo-ai connection connector list
cargo-ai connection integration get <integration-slug>
Example connector node (Clearbit company enrichment):
{
"uuid": "node-uuid",
"slug": "enrich",
"kind": "connector",
"integrationSlug": "clearbit",
"actionSlug": "enrichCompany",
"connectorUuid": "<clearbit-connector-uuid>",
"config": {
"domain": {
"kind": "templateExpression",
"expression": "{{nodes.start.domain}}",
"instructTo": "none",
"fromRecipe": false
}
},
"childrenUuids": ["end-node-uuid"],
"fallbackOnFailure": false,
"position": { "x": 0, "y": 166 }
}
Help
Every command supports --help:
cargo-ai connection connector list --help
cargo-ai connection connector create --help
cargo-ai connection integration list --help