Source profileQuality 92/100Review permissions

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-28
Source checked
2026-08-28

Decision brief

What it does: where it fits

Connector and integration management: listing connectors, discovering available integrations, and managing authenticated connector instances.

Best for

    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

    PlatformStatusEvidenceWhat to check
    CodexNot declaredNo explicit evidencePortability before use
    Claude CodeNot declaredNo explicit evidencePortability before use
    CursorNot declaredNo explicit evidencePortability before use
    Gemini CLINot declaredNo explicit evidencePortability before use
    Open the compatibility checker

    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.

    Source-detected install commandSource
    npx skills add https://github.com/getcargohq/cargo-skills --skill "cargo-connection"
    Safe inspection promptEditorial

    Inspect the Agent Skill "cargo-connection" from https://github.com/getcargohq/cargo-skills/blob/aead4ddc20c9de1a8b7f9d79e021957a9c0ab395/cargo-connection/SKILL.md at commit aead4ddc20c9de1a8b7f9d79e021957a9c0ab395. 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

    1. 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
    2. 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.
    3. 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.
    4. 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.
    5. 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

    medium · line 17

    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

    medium · line 18

    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 use

    Evidence record

    Why each signal appears

    EvidenceSourceComputedTestedEditorial
    SignalValueEvidence typeMeaning
    Quality score92/100ComputedDocumentation, specificity, maintenance, and trust rules
    Repository stars15SourceRepository attention, not individual Skill quality
    Compatibility0 platformsSourceDeclared in the catalog source record
    Usage guideautomated source guideEditorialGenerated 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
    aead4ddc20c9de1a8b7f9d79e021957a9c0ab395
    License
    MIT
    Collected
    2026-08-28
    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.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.

    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

    Looking for an action? Search for it — don't browse the catalog. Two keyword searches cover the whole surface, and both beat paging integration list or reading a whole integration get payload:

    cargo-ai orchestration action list <query>                # START HERE — connector + native + tools + agents.
                                                              # Returns a ready-to-run action object (connectorUuid
                                                              # resolved) and the action's credit costs.
    cargo-ai connection action search <query> --credits-only  # connector catalog only, but filters by category
                                                              # and by "is it paid" — which `action list` cannot.
    

    Reach for the catalog commands when you need the integration, not an action — its auth fields, its extractors, or the full input schema of an action you have already picked:

    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>                # one integration's actions + input schemas
    cargo-ai connection native-integration get                # built-in Cargo actions only (NOT third-party)
    

    Which action search?

    orchestration action listconnection action search
    Coversconnector, native, tools, agentsconnector catalog only
    Returnsa runnable action object with connectorUuid, workspace connectors, credits, autocompletesintegrationSlug + actionSlug, category, credits — you assemble the action yourself
    Filters--kind, --integration-slug, --limit--category, --integration, --credits-only, --limit
    NeedsCLI ≥ 1.0.66CLI ≥ 1.0.36

    Default to action list — it is the one that hands you something you can execute. Switch to action search for the two questions it alone answers: which paid actions match this? (--credits-only) and what does this category offer? (--category). Both rank an action-slug or name hit above an integration hit, above a description hit, and require all query terms to match.

    integration get vs native-integration get

    These two commands return different sets of actions and are not interchangeable:

    CommandThird-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 getYou need Cargo-native capabilities that don't belong to any specific third-party connector

    Example: To find HubSpot-specific actions, use integration get hubspotnative-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 '{}'
    
    FlagRequiredDescription
    --connector-uuidyesThe UUID of the connector to autocomplete against
    --slugyesThe autocomplete slug from uiSchema[field]["ui:options"].slug
    --paramsyesJSON object of parameters (use {} when none are needed)
    --valuenoSearch string to filter results
    --refreshnoBypass 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 the action — search first, and only then read its schema
    cargo-ai orchestration action list <keywords> --integration-slug <integration-slug>
    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's config. The fields described by config.schema are the --data payload; the action definition carries no config key at all. Misplacing them is no longer a loud failure: older backends rejected the call with A top-level action does not use action.config; pass the action's inputs via data instead., newer ones drop config on the way in and run the action with no inputs at all — you get a missing-required-field error from the provider, or an empty result, not a message about config. If an action comes back empty for no obvious reason, check that the inputs are in --data. (Inside a workflow node graph those same fields go in the node's config — see cargo-orchestration/references/nodes.md. The "--data, not config" rule is specific to action execute/execute-batch.)
    • Some inputs must be resolved first via autocomplete. If a field's uiSchema carries IntegrationAutocompleteWidget, fetch its values with connector autocomplete (above). Notably, LinkedIn engagement/extraction actions (connectProfile, visitProfile, extractEventAttendees, extractProfileViewers) require identityIds — the connected account that acts — resolved via the listIdentityIds autocomplete. A must 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

    Computed 10029,236

    garrytan/gbrain

    bulk-ingestion

    End-to-end discipline for turning any large data source (audio libraries, email takeouts, document corpora, chat exports, API dumps) into brain pages at scale. The lifecycle spine: SCHEMA → ACCESS → TRIAL → EVALUATE → IMPROVE → CODIFY → TEST → SKILLIFY → BULK → MONITOR. State is tracked in a durable JSON manifest (see MANIFEST-PATTERN.md) so any crash, session boundary, or subagent fan-out resumes from ground truth instead of memory.

    Computed 10025,136

    alirezarezvani/claude-skills

    app-store-optimization

    App Store Optimization (ASO) toolkit for researching keywords, analyzing competitor rankings, generating metadata suggestions, and improving app visibility on Apple App Store and Google Play Store. Use when the user asks about ASO, app store rankings, app metadata, app titles and descriptions, app store listings, app visibility, or mobile app marketing on iOS or Android. Supports keyword research and scoring, competitor keyword analysis, metadata optimization, A/B test planning, launch checklist

    Computed 1005,277

    dotnet/skills

    migrate-vstest-to-mtp

    Migrates .NET test projects from VSTest to Microsoft.Testing.Platform (MTP). Use when user asks to "migrate to MTP", "switch from VSTest", "enable Microsoft.Testing.Platform", "use MTP runner", set OutputType=Exe only for test projects in Directory.Build.props, or mentions EnableMSTestRunner, EnableNUnitRunner, or UseMicrosoftTestingPlatformRunner. USE FOR: MTP behavioral differences vs VSTest (exit code 8, zero tests discovered, --ignore-exit-code, TESTINGPLATFORM_EXITCODE_IGNORE); centralizing

    Computed 100147

    oaustegard/claude-skills

    featuring

    Generate hierarchical _FEATURES.md files that describe what a codebase DOES from a user/consumer perspective, anchored to source symbols via tree-sitting. Supports large complex codebases through feature-driven decomposition into sub-feature files. Uses a multi-pass synthesis: orientation → detail → overview rewrite. Use when someone says "what does this do", "document features", "feature inventory", "_FEATURES.md", or needs to understand a codebase's purpose before modifying it. Complements tre