getcargohq/cargo-skills/cargo-connection/SKILL.md
cargo-connection
Connect Cargo to an external system and find out what it can do — authenticate connectors, browse the integration catalog, and resolve the `connectorUuid` and `actionSlug` a workflow node needs. Triggers: "connect my HubSpot", "is Salesforce connected", "what integrations do you support", "can Cargo talk to <tool>", "what actions does <provider> have", "I need the connector UUID", "set up the API key for", "it is asking for credentials again", "why is this connector failing auth", "list my conne
- Source repository stars
- 15
- Declared platforms
- 0
- Static risk flags
- 1
- Last source update
- 2026-08-24
- Source checked
- 2026-08-25
Decision brief
What it does: where it fits
Connector and integration management: listing connectors, discovering available integrations, and managing authenticated connector instances.
Not for
- Tasks that require unconfirmed production actions or broad system permissions.
- Environments where the pinned source and install steps cannot be inspected.
Compatibility matrix
Platform support, with evidence labels
| Platform | Status | Evidence | What to check |
|---|---|---|---|
| Codex | Not declared | No explicit evidence | Portability before use |
| Claude Code | Not declared | No explicit evidence | Portability before use |
| Cursor | Not declared | No explicit evidence | Portability before use |
| Gemini CLI | Not declared | No explicit evidence | Portability before use |
Installation
Inspect first. Install second.
The source command is displayed only when detected. A safe inspection prompt is always available so your agent can explain every action before execution.
npx skills add https://github.com/getcargohq/cargo-skills --skill "cargo-connection"Inspect the Agent Skill "cargo-connection" from https://github.com/getcargohq/cargo-skills/blob/da11a0957aec4343130fb41fc3192c12bc67af60/cargo-connection/SKILL.md at commit da11a0957aec4343130fb41fc3192c12bc67af60. List every install step, command, network request, credential, file read/write, external action, and rollback step. Explain whether it fits my task. Do not install or execute anything until I approve.
Workflow
What the source asks the agent to do
- 01
Only integrations that have actions (usable in workflow nodes)
cargo-ai connection integration list --has-actions true
cargo-ai connection integration list --has-actions true - 02
How to detect autocomplete fields
When an action's config looks like this:
When an action's config looks like this:The objectType field requires autocomplete. The ui:options.slug ("listObjects") is the autocomplete slug you pass to connector autocomplete. - 03
How to call connector autocomplete
Review the “How to call connector autocomplete” section in the pinned source before continuing.
Review and apply the “How to call connector autocomplete” source section. - 04
5. Use these values in your workflow node config
Review the “5. Use these values in your workflow node config” section in the pinned source before continuing.
Review and apply the “5. Use these values in your workflow node config” source section. - 05
Bootstrap
Already signed in (cargo-ai whoami returns a workspace)? Skip to the next section.
Already signed in (cargo-ai whoami returns a workspace)? Skip to the next section.Every command prints JSON to stdout; failures exit non-zero with {"errorMessage": "..."}. Anything that creates a run or a batch is async — pass --wait-until-finished or poll the matching get. When the full skill bundle…
Permission review
Static risk signals and limitations
Runs scripts
The documentation asks the agent to run terminal commands or scripts.
npm install -g @cargo-ai/cli # no global install? prefix every command with `npx @cargo-ai/cli`Runs scripts
The documentation asks the agent to run terminal commands or scripts.
cargo-ai login --email [email protected] # emailed code, no browser; creates the account on first useEvidence record
Why each signal appears
| Signal | Value | Evidence type | Meaning |
|---|---|---|---|
| Quality score | 92/100 | Computed | Documentation, specificity, maintenance, and trust rules |
| Repository stars | 15 | Source | Repository attention, not individual Skill quality |
| Compatibility | 0 platforms | Source | Declared in the catalog source record |
| Usage guide | automated source guide | Editorial | Generated or reviewed according to the visible evidence level |
Pinned source
Provenance and original SKILL.md
- Repository
- getcargohq/cargo-skills
- Skill path
- cargo-connection/SKILL.md
- Commit
- da11a0957aec4343130fb41fc3192c12bc67af60
- License
- MIT
- Collected
- 2026-08-25
- Default branch
- main
View the original SKILL.md
Cargo CLI — Connections
Connector and integration management: listing connectors, discovering available integrations, and managing authenticated connector instances.
See
references/response-shapes.mdfor full JSON response structures. Seereferences/troubleshooting.mdfor common errors and how to fix them. Seereferences/examples/connectors.mdfor connector CRUD and discovery examples. Seereferences/examples/integrations.mdfor listing available integrations and OAuth flows. For third-party connector rate limit handling and retry config in workflows, seecargo-orchestration/references/polling.mdandcargo-orchestration/references/troubleshooting.md. Native integrations do not have rate limits.
Bootstrap
Already signed in (cargo-ai whoami returns a workspace)? Skip to the next section.
npm install -g @cargo-ai/cli # no global install? prefix every command with `npx @cargo-ai/cli`
cargo-ai login --email [email protected] # emailed code, no browser; creates the account on first use
# alternatives: --oauth (browser) · --token <api-token> (CI)
cargo-ai whoami # confirm the active workspace before any write
Every command prints JSON to stdout; failures exit non-zero with {"errorMessage": "..."}. Anything that creates a run or a batch is async — pass --wait-until-finished or poll the matching get. When the full skill bundle is installed, ../cargo/references/prerequisites.md adds the CLI version pin, token scopes, and the admin-only surface.
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.
Discover resources first
cargo-ai connection connector list # all authenticated connectors
cargo-ai connection integration list # all available integration types
cargo-ai connection integration list --search "hubspot" # search by name
cargo-ai connection integration get <slug> # third-party-specific actions (e.g. HubSpot)
cargo-ai connection native-integration get # built-in Cargo actions only (NOT third-party)
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.
# List all connectors
cargo-ai connection connector list
# Create a connector
cargo-ai connection connector create \
--integration-slug clearbit \
--slug clearbit_production \
--name "Clearbit - Production"
# Update a connector
cargo-ai connection connector update --uuid <connector-uuid> --name "Clearbit - Staging"
# Remove a connector
cargo-ai connection connector remove <connector-uuid>
# Check if a connector slug is taken
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.
# List all available integrations
cargo-ai connection integration list
# Filter by category
cargo-ai connection integration list --category enrichment
# Search by name
cargo-ai connection integration list --search "hubspot"
# Find by exact slug(s)
cargo-ai connection integration list --slugs clearbit
# Only integrations that have actions (usable in workflow nodes)
cargo-ai connection integration list --has-actions true
# Only integrations that have extractors (can sync data into models)
cargo-ai connection integration list --has-extractors true
# Get built-in Cargo actions and extractors (NOT third-party connector actions)
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:
# 1. First, get the list of object types
cargo-ai connection connector autocomplete \
--connector-uuid <uuid> --slug listObjects --params '{}'
# 2. Then, get properties for the chosen object type
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
# 1. Find your HubSpot connector UUID
cargo-ai connection connector list --integration-slug hubspot
# 2. Get HubSpot actions and inspect their config + uiSchema
cargo-ai connection integration get hubspot
# → The "findRecords" action has objectType with autocomplete slug "listObjects"
# 3. Fetch available object types
cargo-ai connection connector autocomplete \
--connector-uuid <hubspot-connector-uuid> \
--slug listObjects --params '{}'
# → Returns: contacts, companies, deals, tickets, etc.
# 4. Fetch properties for the chosen object type
cargo-ai connection connector autocomplete \
--connector-uuid <hubspot-connector-uuid> \
--slug listObjectProperties \
--params '{"objectType": "contacts"}'
# → Returns: email, firstname, lastname, phone, etc.
# 5. Use these values in your workflow node config
Using connector actions in workflows
Connector actions are used as nodes in workflow graphs. To use an action:
# 1. Find your connector UUID
cargo-ai connection connector list
# → Filter the output by integrationSlug to find the right connector
# 2. Discover available actions for the integration
cargo-ai connection integration get <integration-slug>
# → actions are keyed by actionSlug, with config.jsonSchema (input) for each
# → many actions also carry output.schema — the JSON Schema of what the action
# emits; use it to wire downstream nodes instead of guessing (absent on some actions)
# → Or use get-documentation for a plain text overview
# → Or use native-integration get for built-in Cargo actions (not third-party)
# 3. Reference the connector and action in a node graph
# See cargo-orchestration references/nodes.md for the full node syntax
Reading an action's input schema — and where the inputs go
An action's input fields live at actions.<slug>.config.schema in the integration get <slug> output (config.jsonSchema is the same schema decorated for the form UI). Read it before calling an action — don't guess field names.
# the required input fields for an action:
cargo-ai connection integration get linkedin \
| jq '.integration.actions.connectProfile.config.schema'
# → required: linkedinProfileUrl, identityIds
Two footguns:
- For a top-level action (
action execute/execute-batch), the input values go in--data, NOT in the action'sconfig. The action definition'sconfig({"kind":"connector",…,"config":{}}) stays{}; the fields described byconfig.schemaare the--datapayload. Passing them inconfigfails withA top-level action does not use action.config; pass the action's inputs via data instead.(Inside a workflow node graph those same fields go in the node'sconfig— seecargo-orchestration/references/nodes.md. The "--data, notconfig" rule is specific toaction execute/execute-batch.) - Some inputs must be resolved first via autocomplete. If a field's
uiSchemacarriesIntegrationAutocompleteWidget, fetch its values withconnector autocomplete(above). Notably, LinkedIn engagement/extraction actions (connectProfile,visitProfile,extractEventAttendees,extractProfileViewers) requireidentityIds— the connected account that acts — resolved via thelistIdentityIdsautocomplete. Amust match format "uuid"error means that identity is missing.
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
Frequently asked questions
What to verify before installation and use
What does the cargo-connection source document cover?
Connector and integration management: listing connectors, discovering available integrations, and managing authenticated connector instances.
How do I install cargo-connection?
The source record exposes this install command: npx skills add https://github.com/getcargohq/cargo-skills --skill "cargo-connection". Inspect the command and pinned source before running it.
Which permission-related actions were detected?
Static rules flagged exec-script in the source; the page lists the matching lines and excerpts.
Alternatives
Compare before choosing
minhnv0807/ai-business-skills
53-tracking-setup-global
Use when conversion TRACKING must be set up or fixed before spending — Meta Pixel and Conversions API, Google Ads conversions with Enhanced Conversions, GA4, TikTok Pixel and Events API, server-side GTM, consent mode for GDPR and CCPA, UTM conventions, iOS ATT attribution windows, and a pre-launch verification checklist. Trigger on 'tracking setup', 'pixel setup', 'CAPI', 'GA4 events', 'conversions are not being recorded', 'Meta and Shopify numbers do not match'. Also use when launch is imminent
K-Dense-AI/scientific-agent-skills
dask
Distributed computing for larger-than-RAM pandas/NumPy workflows. Use when you need to scale existing pandas/NumPy code beyond memory or across clusters. Best for parallel file processing, distributed ML, integration with existing pandas code. For out-of-core analytics on single machine use vaex; for in-memory speed use polars.
getcargohq/cargo-skills
cargo-orchestration
Make Cargo actually run something, or show what it would run — execute one connector action, run a multi-step workflow, trigger a batch across a whole segment or model, message an AI agent, build or edit a node graph, draw a workflow, tool or play as a diagram, and query the runtime tables (runs, batches, spans, records) with SQL. Triggers: "run this on all my contacts", "execute the action", "kick off a batch", "build a workflow", "schedule a play", "make it run every morning", "ask the agent",
NVIDIA/skills
vss-deploy-detection-tracking-2d
Use this skill when the user wants to deploy, run, debug, tear down, or call the REST API of the RTVI-CV 2D detection / tracking microservice. Trigger when the user says things like 'deploy rtvi-cv', 'start warehouse 2d', 'add a stream', 'check rtvi-cv health', or 'stop the perception container'. Not for VLM, embedding, or analytics — use the matching vss-* skill.