{"id":"d951d75f-fe63-49bd-b51b-b6fd7b86bd78","entityType":"agent","slug":"clawhub-cargo-ai-cargo-connection","name":"cargo-connection","canonicalUrl":"https://www.xpersona.co/agent/clawhub-cargo-ai-cargo-connection","canonicalPath":"/agent/clawhub-cargo-ai-cargo-connection","generatedAt":"2026-10-10T13:31:59.240Z","source":"CLAWHUB","claimStatus":"UNCLAIMED","verificationTier":"NONE","summary":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-10T09:52:45.977Z","emptyReason":null},"description":"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 connectors\". Integrations: amplemarket, amplitude, attio, bigQuery, calendly, closecom, contrast, csv, customerio, dbt, emailBison, expandi, googleAds, googleSheets, heyReach, http, hubspot, hubspotMcp, instantly, instantlyV2, intercom, jira, kitt, lemlist, lgm, linkedinAds, linkedinMatchedAudience, livestorm, manus, marketo, metabase, microsoftTeams, mixpanel, netsuite, netsuiteSoap, notionMcp, octave, onesignal, outreach, pipedrive, postgresql, redshift, resend, rift, salesforce, salesforceMcp, salesloft, Sendgrid, sillage, slack, smartlead, snowflake, sql, stripe, and 82 more. Skip when: choosing between enrichment providers for a GTM job — use cargo-gtm and its provider playbooks.","descriptionLabel":"Source description","evidenceSummary":"Capability contract not published. No trust telemetry is available yet. 1.5K downloads reported by the source. Last updated 10/10/2026.","installCommand":"clawhub skill install s178dcd9wkfn0a2fqrygmt3jzn87j9e1:cargo-connection","sourceUrl":"https://clawhub.ai/cargo-ai/cargo-connection","homepage":"https://clawhub.ai/cargo-ai/skills/cargo-connection","primaryLinks":[{"label":"View on ClawHub","url":"https://clawhub.ai/cargo-ai/cargo-connection","kind":"source"},{"label":"Homepage","url":"https://clawhub.ai/cargo-ai/skills/cargo-connection","kind":"homepage"}],"safetyScore":84,"overallRank":62,"popularityScore":64,"trustScore":null,"claimedByName":null,"isOwner":false,"seoDescription":"cargo-connection technical dossier on Xpersona with agent coverage, OPENCLEW support, and live trust metadata."},"coverage":{"evidence":{"source":"public-profile","verified":false,"confidence":"medium","updatedAt":"2026-10-10T09:52:45.977Z","emptyReason":null},"protocols":[{"protocol":"OPENCLEW","label":"OpenClaw","status":"self-declared","notes":"Declared in the public agent profile."}],"capabilities":[],"verifiedCount":0,"selfDeclaredCount":1,"capabilityMatrix":{"rows":[{"key":"OPENCLEW","type":"protocol","support":"unknown","confidenceSource":"profile","notes":"Listed on profile"}],"flattenedTokens":"protocol:OPENCLEW|unknown|profile"}},"adoption":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-10T09:52:45.977Z","emptyReason":null},"stars":null,"forks":null,"downloads":1512,"packageName":null,"latestVersion":"1.5.0","tractionLabel":"1.5K downloads"},"release":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-10T09:52:45.238Z","emptyReason":null},"lastUpdatedAt":"2026-10-10T09:52:45.977Z","lastCrawledAt":"2026-10-10T09:52:45.238Z","lastIndexedAt":null,"nextCrawlAt":"2026-10-11T09:52:45.238Z","lastVerifiedAt":null,"highlights":[{"version":"1.5.0","createdAt":"2026-09-16T07:26:05.115Z","changelog":"- Version bump to 1.5.0. - Documentation updated: integration catalog now explicitly calls out deprecated integrations (`isDeprecated` flag and naming convention), guiding users not to use deprecated integrations for new workflows. - Removed deprecated documentation file: skill-card.md.","fileCount":8,"zipByteSize":15975},{"version":"1.4.1","createdAt":"2026-09-02T23:41:03.770Z","changelog":"cargo-connection 1.4.1 - Updated to version 1.4.1. - Minor integration count adjustment in documentation (integration list reduced by one). - Removed obsolete skill-card.md file. - Documentation and metadata refreshed.","fileCount":8,"zipByteSize":15594},{"version":"1.4.0","createdAt":"2026-08-27T23:43:25.923Z","changelog":"cargo-connection 1.4.0 introduces fast, unified action search for integrations and native capabilities. - Adds guidance to use orchestration action search (`cargo-ai orchestration action list <query>`) as the primary way to find and execute actions, with ready-to-run output. - Documents new `cargo-ai connection action search <query>` for catalog filtering by paid actions or category. - Explains the difference between action search commands, including filters, results, and recommended usage. - Removes duplicate integration listing and browsing steps; streamlines discovery section. - Drops the redundant skill-card.md file.","fileCount":8,"zipByteSize":15750},{"version":"1.3.0","createdAt":"2026-08-14T07:22:39.614Z","changelog":"**Expanded integration catalog and onboarding instructions, plus streamlined integration listing flags.** - Added a detailed list of supported integrations and use-case examples in the description. - Introduced a \"Bootstrap\" section with explicit setup and login steps for new users. - The `integration list` command now uses `--slugs` for filtering by exact slugs (replacing `--slug`). - Documentation improvements and clearer explanations for discovery and authentication flows. - Removed the redundant `skill-card.md` file.","fileCount":8,"zipByteSize":14926},{"version":"1.2.1","createdAt":"2026-08-11T21:43:42.660Z","changelog":"- Version updated to 1.2.1. - Improved authentication documentation: new support for email-based login via `cargo-ai login --email`. - Removed browser-only login requirement in compatibility notes; alternatives (OAuth, API token) remain supported. - Removed redundant skill-card.md file. - Minor text and compatibility clarifications in SKILL.md.","fileCount":8,"zipByteSize":14080},{"version":"1.2.0","createdAt":"2026-07-25T19:18:21.138Z","changelog":"- Added skill-metadata.json for improved metadata handling. - Removed deprecated skill-card.md file. - Updated SKILL.md and references/response-shapes.md with minor documentation changes and version bump to 1.2.0. - Internal structure refined: 1 file added, 2 files changed, 1 file removed.","fileCount":8,"zipByteSize":13971},{"version":"1.1.0","createdAt":"2026-05-28T22:12:54.856Z","changelog":"cargo-connection 1.1.0 - Clarified the distinction between third-party integration actions and built-in Cargo actions in command documentation. - Updated install instructions to reference a shared prerequisites file. - Changed CLI install to always use the latest version of @cargo-ai/cli. - Improved documentation structure for prerequisites and action discovery. - Added more detailed comparison table for `integration get` vs `native-integration get` commands.","fileCount":7,"zipByteSize":12545},{"version":"1.0.0","createdAt":"2026-05-28T18:26:27.138Z","changelog":"Initial release of cargo-connection — manage connectors and integrations with the Cargo CLI. - List, create, update, and remove connectors for external services. - Discover available integrations and their service-specific actions. - Distinguish between native integrations (built-in actions) and third-party integrations (service-specific actions). - Support connector autocomplete for retrieving dynamic field values. - Requires global install of @cargo-ai/cli and Cargo account authentication.","fileCount":7,"zipByteSize":12827}]},"execution":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No published capability contract is available yet."},"installCommand":"clawhub skill install s178dcd9wkfn0a2fqrygmt3jzn87j9e1:cargo-connection","setupComplexity":"low","setupSteps":["Install using `clawhub skill install s178dcd9wkfn0a2fqrygmt3jzn87j9e1:cargo-connection` in an isolated environment before connecting it to live workloads.","No published capability contract is available yet, so validate auth and request/response behavior manually.","Review the upstream CLAWHUB listing at https://clawhub.ai/cargo-ai/cargo-connection before using production credentials."],"contract":{"contractStatus":"missing","authModes":[],"requires":[],"forbidden":[],"supportsMcp":false,"supportsA2a":false,"supportsStreaming":false,"inputSchemaRef":null,"outputSchemaRef":null,"dataRegion":null,"contractUpdatedAt":null,"sourceUpdatedAt":null,"freshnessSeconds":null},"invocationGuide":{"preferredApi":{"snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-cargo-ai-cargo-connection/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-cargo-ai-cargo-connection/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-cargo-ai-cargo-connection/trust"},"curlExamples":["curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-cargo-ai-cargo-connection/snapshot\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-cargo-ai-cargo-connection/contract\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-cargo-ai-cargo-connection/trust\""],"jsonRequestTemplate":{"query":"summarize this repo","constraints":{"maxLatencyMs":2000,"protocolPreference":["OPENCLEW"]}},"jsonResponseTemplate":{"ok":true,"result":{"summary":"...","confidence":0.9},"meta":{"source":"CLAWHUB","generatedAt":"2026-10-10T13:31:59.237Z"}},"retryPolicy":{"maxAttempts":3,"backoffMs":[500,1500,3500],"retryableConditions":["HTTP_429","HTTP_503","NETWORK_TIMEOUT"]}},"endpoints":{"dossierUrl":"https://www.xpersona.co/api/v1/agents/clawhub-cargo-ai-cargo-connection/dossier","snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-cargo-ai-cargo-connection/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-cargo-ai-cargo-connection/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-cargo-ai-cargo-connection/trust"}},"reliability":{"evidence":{"source":"runtime-metrics","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No trust, reliability, or runtime telemetry is available."},"trust":{"status":"unavailable","handshakeStatus":"UNKNOWN","verificationFreshnessHours":null,"reputationScore":null,"p95LatencyMs":null,"successRate30d":null,"fallbackRate":null,"attempts30d":null,"trustUpdatedAt":null,"trustConfidence":"unknown","sourceUpdatedAt":null,"freshnessSeconds":null},"decisionGuardrails":{"doNotUseIf":["Contract metadata is missing or unavailable for deterministic execution."],"safeUseWhen":[],"riskFlags":["missing_or_unavailable_contract","trust_data_unavailable","schema_references_missing"],"operationalConfidence":"low"},"executionMetrics":{"observedLatencyMsP50":null,"observedLatencyMsP95":null,"estimatedCostUsd":null,"uptime30d":null,"rateLimitRpm":null,"rateLimitBurst":null,"lastVerifiedAt":null,"verificationSource":null},"runtimeMetrics":{"successRate":null,"avgLatencyMs":null,"avgCostUsd":null,"hallucinationRate":null,"retryRate":null,"disputeRate":null,"p50Latency":null,"p95Latency":null,"lastUpdated":null}},"benchmarks":{"evidence":{"source":"no-benchmark-data","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No benchmark suites or observed failure patterns are available."},"suites":[],"failurePatterns":[]},"artifacts":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-10T09:52:45.977Z","emptyReason":null},"readme":"Skill: cargo-connection\n\nOwner: cargo-ai\n\nSummary: 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 connectors\". Integrations: amplemarket, amplitude, attio, bigQuery, calendly, closecom, contrast, csv, customerio, dbt, emailBison, expandi, googleAds, googleSheets, heyReach, http, hubspot, hubspotMcp, instantly, instantlyV2, intercom, jira, kitt, lemlist, lgm, linkedinAds, linkedinMatchedAudience, livestorm, manus, marketo, metabase, microsoftTeams, mixpanel, netsuite, netsuiteSoap, notionMcp, octave, onesignal, outreach, pipedrive, postgresql, redshift, resend, rift, salesforce, salesforceMcp, salesloft, Sendgrid, sillage, slack, smartlead, snowflake, sql, stripe, and 82 more. Skip when: choosing between enrichment providers for a GTM job — use cargo-gtm and its provider playbooks.\n\nTags: latest:1.5.0\n\nVersion history:\n\nv1.5.0 | 2026-09-16T07:26:05.115Z | auto\n\n- Version bump to 1.5.0.\n- Documentation updated: integration catalog now explicitly calls out deprecated integrations (`isDeprecated` flag and naming convention), guiding users not to use deprecated integrations for new workflows.\n- Removed deprecated documentation file: skill-card.md.\n\nv1.4.1 | 2026-09-02T23:41:03.770Z | auto\n\ncargo-connection 1.4.1\n\n- Updated to version 1.4.1.\n- Minor integration count adjustment in documentation (integration list reduced by one).\n- Removed obsolete skill-card.md file.\n- Documentation and metadata refreshed.\n\nv1.4.0 | 2026-08-27T23:43:25.923Z | auto\n\ncargo-connection 1.4.0 introduces fast, unified action search for integrations and native capabilities.\n\n- Adds guidance to use orchestration action search (`cargo-ai orchestration action list <query>`) as the primary way to find and execute actions, with ready-to-run output.\n- Documents new `cargo-ai connection action search <query>` for catalog filtering by paid actions or category.\n- Explains the difference between action search commands, including filters, results, and recommended usage.\n- Removes duplicate integration listing and browsing steps; streamlines discovery section.\n- Drops the redundant skill-card.md file.\n\nv1.3.0 | 2026-08-14T07:22:39.614Z | auto\n\n**Expanded integration catalog and onboarding instructions, plus streamlined integration listing flags.**\n\n- Added a detailed list of supported integrations and use-case examples in the description.\n- Introduced a \"Bootstrap\" section with explicit setup and login steps for new users.\n- The `integration list` command now uses `--slugs` for filtering by exact slugs (replacing `--slug`).\n- Documentation improvements and clearer explanations for discovery and authentication flows.\n- Removed the redundant `skill-card.md` file.\n\nv1.2.1 | 2026-08-11T21:43:42.660Z | auto\n\n- Version updated to 1.2.1.\n- Improved authentication documentation: new support for email-based login via `cargo-ai login --email`.\n- Removed browser-only login requirement in compatibility notes; alternatives (OAuth, API token) remain supported.\n- Removed redundant skill-card.md file.\n- Minor text and compatibility clarifications in SKILL.md.\n\nv1.2.0 | 2026-07-25T19:18:21.138Z | auto\n\n- Added skill-metadata.json for improved metadata handling.\n- Removed deprecated skill-card.md file.\n- Updated SKILL.md and references/response-shapes.md with minor documentation changes and version bump to 1.2.0.\n- Internal structure refined: 1 file added, 2 files changed, 1 file removed.\n\nv1.1.0 | 2026-05-28T22:12:54.856Z | auto\n\ncargo-connection 1.1.0\n\n- Clarified the distinction between third-party integration actions and built-in Cargo actions in command documentation.\n- Updated install instructions to reference a shared prerequisites file.\n- Changed CLI install to always use the latest version of @cargo-ai/cli.\n- Improved documentation structure for prerequisites and action discovery.\n- Added more detailed comparison table for `integration get` vs `native-integration get` commands.\n\nv1.0.0 | 2026-05-28T18:26:27.138Z | auto\n\nInitial release of cargo-connection — manage connectors and integrations with the Cargo CLI.\n\n- List, create, update, and remove connectors for external services.\n- Discover available integrations and their service-specific actions.\n- Distinguish between native integrations (built-in actions) and third-party integrations (service-specific actions).\n- Support connector autocomplete for retrieving dynamic field values.\n- Requires global install of @cargo-ai/cli and Cargo account authentication.\n\nArchive index:\n\nArchive v1.5.0: 8 files, 15975 bytes\n\nFiles: references/examples/connectors.md (3769b), references/examples/integrations.md (3830b), references/response-shapes.md (9677b), references/troubleshooting.md (5493b), skill-card.md (2587b), skill-metadata.json (921b), SKILL.md (18089b), _meta.json (135b)\n\nFile v1.5.0:SKILL.md\n\n---\nname: cargo-connection\ndescription: \"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 connectors\\\". Integrations: amplemarket, amplitude, attio, bigQuery, calendly, closecom, contrast, csv, customerio, dbt, emailBison, expandi, googleAds, googleSheets, heyReach, http, hubspot, hubspotMcp, instantly, instantlyV2, intercom, jira, kitt, lemlist, lgm, linkedinAds, linkedinMatchedAudience, livestorm, manus, marketo, metabase, microsoftTeams, mixpanel, netsuite, netsuiteSoap, notionMcp, octave, onesignal, outreach, pipedrive, postgresql, redshift, resend, rift, salesforce, salesforceMcp, salesloft, Sendgrid, sillage, slack, smartlead, snowflake, sql, stripe, and 82 more. Skip when: choosing between enrichment providers for a GTM job — use cargo-gtm and its provider playbooks.\"\nversion: \"1.5.0\"\ncompatibility: Requires @cargo-ai/cli (npm). Sign in or create an account with `cargo-ai login --email` (emailed code, no browser), `--oauth`, or an API token\nhomepage: https://github.com/getcargohq/cargo-skills\nmetadata:\n  author: getcargo\n  openclaw:\n    requires:\n      bins:\n        - cargo-ai\n    install:\n      - kind: node\n        package: \"@cargo-ai/cli@latest\"\n        bins:\n          - cargo-ai\n    homepage: https://github.com/getcargohq/cargo-skills\n---\n\n# Cargo CLI — Connections\n\nConnector and integration management: listing connectors, discovering available integrations, and managing authenticated connector instances.\n\n> See `references/response-shapes.md` for full JSON response structures.\n> See `references/troubleshooting.md` for common errors and how to fix them.\n> See `references/examples/connectors.md` for connector CRUD and discovery examples.\n> See `references/examples/integrations.md` for listing available integrations and OAuth flows.\n> 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.\n\n## Bootstrap\n\nAlready signed in (`cargo-ai whoami` returns a workspace)? Skip to the next section.\n\n```bash\nnpm install -g @cargo-ai/cli            # no global install? prefix every command with `npx @cargo-ai/cli`\ncargo-ai login --email you@company.com  # emailed code, no browser; creates the account on first use\n                                        # alternatives: --oauth (browser) · --token <api-token> (CI)\ncargo-ai whoami                         # confirm the active workspace before any write\n```\n\nEvery 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`](../cargo/references/prerequisites.md) adds the CLI version pin, token scopes, and the admin-only surface.\n\n## Key concepts\n\n**Integration:** The external service type (e.g. HubSpot, Clearbit, Salesforce). Integrations define what actions are available.\n\n**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.\n\n## Discover resources first\n\n**Looking for an action? Search for it — don't browse the catalog.** Two keyword\nsearches cover the whole surface, and both beat paging `integration list` or\nreading a whole `integration get` payload:\n\n```bash\ncargo-ai orchestration action list <query>                # START HERE — connector + native + tools + agents.\n                                                          # Returns a ready-to-run action object (connectorUuid\n                                                          # resolved) and the action's credit costs.\ncargo-ai connection action search <query> --credits-only  # connector catalog only, but filters by category\n                                                          # and by \"is it paid\" — which `action list` cannot.\n```\n\nReach for the catalog commands when you need the *integration*, not an action —\nits auth fields, its extractors, or the full input schema of an action you have\nalready picked:\n\n```bash\ncargo-ai connection connector list                        # all authenticated connectors\ncargo-ai connection integration list                      # all available integration types\ncargo-ai connection integration list --search \"hubspot\"   # search by name\ncargo-ai connection integration get <slug>                # one integration's actions + input schemas\ncargo-ai connection native-integration get                # built-in Cargo actions only (NOT third-party)\n```\n\n> **Deprecated integrations still appear in the catalog.** `integration list` returns them with\n> `isDeprecated: true` and a display name ending in `(deprecated)`. Existing connectors keep\n> working — deprecation breaks nothing — but never wire a *new* workflow to one. Two were\n> deprecated in CLI 1.0.92, the self-referential `cargo` integration among them. Read the flag\n> rather than keeping a list: check `isDeprecated` before proposing any integration you found by\n> browsing instead of by `action list`.\n\n### Which action search?\n\n| | `orchestration action list` | `connection action search` |\n|---|---|---|\n| Covers | connector, native, **tools, agents** | connector catalog only |\n| Returns | a runnable `action` object with `connectorUuid`, workspace connectors, `credits`, autocompletes | `integrationSlug` + `actionSlug`, category, `credits` — you assemble the action yourself |\n| Filters | `--kind`, `--integration-slug`, `--limit` | `--category`, `--integration`, **`--credits-only`**, `--limit` |\n| Needs | CLI ≥ 1.0.66 | CLI ≥ 1.0.36 |\n\nDefault to `action list` — it is the one that hands you something you can execute.\nSwitch to `action search` for the two questions it alone answers: *which paid\nactions match this?* (`--credits-only`) and *what does this category offer?*\n(`--category`). Both rank an action-slug or name hit above an integration hit,\nabove a description hit, and require **all** query terms to match.\n\n### `integration get` vs `native-integration get`\n\nThese two commands return **different sets of actions** and are not interchangeable:\n\n| Command | Third-party service actions (HubSpot, Salesforce, Clearbit, …) | Built-in Cargo actions (HTTP, transforms, utilities) | When to use |\n|---|---|---|---|\n| `integration get <slug>` | ✓ | ✗ | You need actions for a specific third-party service — **use this for HubSpot, Salesforce, Clearbit, etc.** |\n| `native-integration get` | ✗ | ✓ | You need Cargo-native capabilities that don't belong to any specific third-party connector |\n\n**Example:** To find HubSpot-specific actions, use `integration get hubspot` — `native-integration get` will not return them.\n\n## Quick reference\n\n```bash\ncargo-ai connection connector list --integration-slug <slug>\ncargo-ai connection connector create --integration-slug <slug> --slug <slug> --name <name>\ncargo-ai connection connector update --uuid <uuid> --name <name>\ncargo-ai connection connector remove <connector-uuid>\ncargo-ai connection connector get <connector-uuid>\ncargo-ai connection connector autocomplete --connector-uuid <uuid> --slug <slug> --params '<json>'\ncargo-ai connection integration list\ncargo-ai connection integration get <slug>\ncargo-ai connection integration get-documentation <slug>\ncargo-ai connection native-integration get\n```\n\n## Connectors\n\nConnectors are authenticated connections to external services.\n\n```bash\n# List all connectors\ncargo-ai connection connector list\n\n# Create a connector\ncargo-ai connection connector create \\\n  --integration-slug clearbit \\\n  --slug clearbit_production \\\n  --name \"Clearbit - Production\"\n\n# Update a connector\ncargo-ai connection connector update --uuid <connector-uuid> --name \"Clearbit - Staging\"\n\n# Remove a connector\ncargo-ai connection connector remove <connector-uuid>\n\n# Check if a connector slug is taken\ncargo-ai connection connector exists-by-slug --slug clearbit_production\n```\n\n**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`.\n\n## Integrations\n\nIntegrations define the available services and their connector actions.\n\n```bash\n# List all available integrations\ncargo-ai connection integration list\n\n# Filter by category\ncargo-ai connection integration list --category enrichment\n\n# Search by name\ncargo-ai connection integration list --search \"hubspot\"\n\n# Find by exact slug(s)\ncargo-ai connection integration list --slugs clearbit\n\n# Only integrations that have actions (usable in workflow nodes)\ncargo-ai connection integration list --has-actions true\n\n# Only integrations that have extractors (can sync data into models)\ncargo-ai connection integration list --has-extractors true\n\n# Get built-in Cargo actions and extractors (NOT third-party connector actions)\ncargo-ai connection native-integration get\n```\n\n**Integration categories:** `engagement`, `marketing`, `sales`, `finance`, `analytics`, `freeform`, `success`, `support`, `enrichment`, `storage`, `custom`.\n\nUse `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`).\n\n## Connector autocomplete — fetching available values for action fields\n\nSome 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`.\n\n### How to detect autocomplete fields\n\nWhen an action's config looks like this:\n\n```json\n{\n  \"jsonSchema\": {\n    \"type\": \"object\",\n    \"properties\": {\n      \"objectType\": { \"type\": \"string\", \"description\": \"The object type\" }\n    }\n  },\n  \"uiSchema\": {\n    \"objectType\": {\n      \"ui:widget\": \"IntegrationAutocompleteWidget\",\n      \"ui:options\": {\n        \"slug\": \"listObjects\",\n        \"allowRefresh\": true\n      }\n    }\n  }\n}\n```\n\nThe `objectType` field requires autocomplete. The `ui:options.slug` (`\"listObjects\"`) is the autocomplete slug you pass to `connector autocomplete`.\n\n### How to call connector autocomplete\n\n```bash\ncargo-ai connection connector autocomplete \\\n  --connector-uuid <connector-uuid> \\\n  --slug <autocomplete-slug> \\\n  --params '{}'\n```\n\n| Flag               | Required | Description                                                       |\n| ------------------ | -------- | ----------------------------------------------------------------- |\n| `--connector-uuid` | yes      | The UUID of the connector to autocomplete against                 |\n| `--slug`           | yes      | The autocomplete slug from `uiSchema[field][\"ui:options\"].slug`   |\n| `--params`         | yes      | JSON object of parameters (use `{}` when none are needed)         |\n| `--value`          | no       | Search string to filter results                                   |\n| `--refresh`        | no       | Bypass cache and fetch fresh results                              |\n\n### Autocomplete with parameters\n\nSome autocomplete fields depend on the value of another field. This is indicated by a `params` object in `ui:options`:\n\n```json\n{\n  \"uiSchema\": {\n    \"objectType\": {\n      \"ui:widget\": \"IntegrationAutocompleteWidget\",\n      \"ui:options\": { \"slug\": \"listObjects\" }\n    },\n    \"propertyName\": {\n      \"ui:widget\": \"IntegrationAutocompleteWidget\",\n      \"ui:options\": {\n        \"slug\": \"listObjectProperties\",\n        \"params\": { \"objectType\": \"$this.$parent.objectType\" }\n      }\n    }\n  }\n}\n```\n\nHere, `propertyName` depends on the selected `objectType`. Replace the `$this.$parent...` expression with the actual value you chose:\n\n```bash\n# 1. First, get the list of object types\ncargo-ai connection connector autocomplete \\\n  --connector-uuid <uuid> --slug listObjects --params '{}'\n\n# 2. Then, get properties for the chosen object type\ncargo-ai connection connector autocomplete \\\n  --connector-uuid <uuid> --slug listObjectProperties \\\n  --params '{\"objectType\": \"contacts\"}'\n```\n\n### Response format\n\n```json\n{\n  \"results\": [\n    { \"label\": \"Contacts\", \"value\": \"contacts\" },\n    { \"label\": \"Companies\", \"value\": \"companies\" },\n    { \"label\": \"Deals\", \"value\": \"deals\" }\n  ]\n}\n```\n\nUse the `value` field in your node config. The `label` is the human-readable display name. Results may also include optional `description` and `parent` fields.\n\n### End-to-end example: configuring a HubSpot action\n\n```bash\n# 1. Find your HubSpot connector UUID\ncargo-ai connection connector list --integration-slug hubspot\n\n# 2. Get HubSpot actions and inspect their config + uiSchema\ncargo-ai connection integration get hubspot\n# → The \"findRecords\" action has objectType with autocomplete slug \"listObjects\"\n\n# 3. Fetch available object types\ncargo-ai connection connector autocomplete \\\n  --connector-uuid <hubspot-connector-uuid> \\\n  --slug listObjects --params '{}'\n# → Returns: contacts, companies, deals, tickets, etc.\n\n# 4. Fetch properties for the chosen object type\ncargo-ai connection connector autocomplete \\\n  --connector-uuid <hubspot-connector-uuid> \\\n  --slug listObjectProperties \\\n  --params '{\"objectType\": \"contacts\"}'\n# → Returns: email, firstname, lastname, phone, etc.\n\n# 5. Use these values in your workflow node config\n```\n\n## Using connector actions in workflows\n\nConnector actions are used as nodes in workflow graphs. To use an action:\n\n```bash\n# 1. Find your connector UUID\ncargo-ai connection connector list\n# → Filter the output by integrationSlug to find the right connector\n\n# 2. Discover the action — search first, and only then read its schema\ncargo-ai orchestration action list <keywords> --integration-slug <integration-slug>\ncargo-ai connection integration get <integration-slug>\n# → actions are keyed by actionSlug, with config.jsonSchema (input) for each\n# → many actions also carry output.schema — the JSON Schema of what the action\n#   emits; use it to wire downstream nodes instead of guessing (absent on some actions)\n# → Or use get-documentation for a plain text overview\n# → Or use native-integration get for built-in Cargo actions (not third-party)\n\n# 3. Reference the connector and action in a node graph\n# See cargo-orchestration references/nodes.md for the full node syntax\n```\n\n### Reading an action's input schema — and where the inputs go\n\nAn 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.\n\n```bash\n# the required input fields for an action:\ncargo-ai connection integration get linkedin \\\n  | jq '.integration.actions.connectProfile.config.schema'\n# → required: linkedinProfileUrl, identityIds\n```\n\nTwo footguns:\n\n- **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`.)\n- **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.\n\nExample connector node (Clearbit company enrichment):\n\n```json\n{\n  \"uuid\": \"node-uuid\",\n  \"slug\": \"enrich\",\n  \"kind\": \"connector\",\n  \"integrationSlug\": \"clearbit\",\n  \"actionSlug\": \"enrichCompany\",\n  \"connectorUuid\": \"<clearbit-connector-uuid>\",\n  \"config\": {\n    \"domain\": {\n      \"kind\": \"templateExpression\",\n      \"expression\": \"{{nodes.start.domain}}\",\n      \"instructTo\": \"none\",\n      \"fromRecipe\": false\n    }\n  },\n  \"childrenUuids\": [\"end-node-uuid\"],\n  \"fallbackOnFailure\": false,\n  \"position\": { \"x\": 0, \"y\": 166 }\n}\n```\n\n## Help\n\nEvery command supports `--help`:\n\n```bash\ncargo-ai connection connector list --help\ncargo-ai connection connector create --help\ncargo-ai connection integration list --help\n```\n\nFile v1.5.0:_meta.json\n\n{\n  \"ownerId\": \"kn7by8t6yt9yghbxtxz6hv0bts87k6bq\",\n  \"slug\": \"cargo-connection\",\n  \"version\": \"1.5.0\",\n  \"publishedAt\": 1789543565115\n}\n\nFile v1.5.0:references/examples/connectors.md\n\n# Connector examples\n\n## List all connectors\n\n```bash\ncargo-ai connection connector list\n```\n\n## Filter connectors by integration\n\n```bash\ncargo-ai connection connector list --integration-slug clearbit\n# → Returns only connectors for the Clearbit integration\n```\n\n## Get a single connector\n\n```bash\ncargo-ai connection connector get <connector-uuid>\n# → Returns the full connector object (same shape as an item from connector list)\n```\n\n## Find a connector UUID for use in a workflow\n\n```bash\n# 1. List connectors (optionally filter by integration)\ncargo-ai connection connector list --integration-slug clearbit\n# → Extract the \"uuid\" field from the right connector\n\n# 2. Use the UUID in your workflow node's connectorUuid config\n```\n\n## Create a connector\n\n```bash\ncargo-ai connection connector create \\\n  --integration-slug clearbit \\\n  --slug clearbit_production \\\n  --name \"Clearbit - Production\"\n```\n\n`--slug` is a unique identifier (no spaces), `--name` is the display name. For credit-based integrations (`useCredits: true`), this is all that's needed. For credential-based integrations, pass `--config` with the integration-specific credentials JSON.\n\n## Update a connector\n\n```bash\ncargo-ai connection connector update --uuid <connector-uuid> --name \"Clearbit - Staging\"\ncargo-ai connection connector update --uuid <connector-uuid> --config '{\"apiKey\":\"new-key\"}'\n```\n\n## Remove a connector\n\n```bash\n# Check usage first — list connectors and check playsCount and toolsCount\ncargo-ai connection connector list\n# → High counts mean the connector is heavily used — remove dependencies before deleting\n\ncargo-ai connection connector remove <connector-uuid>\n```\n\n## Check if a slug is available\n\n```bash\ncargo-ai connection connector exists-by-slug --slug clearbit_production\n# → { \"exists\": true }\n```\n\n## Connector usage audit\n\nFind all connectors and how many plays/tools use each:\n\n```bash\ncargo-ai connection connector list\n# → Check playsCount and toolsCount fields for each connector\n```\n\n## Autocomplete — fetch available values for an action field\n\nWhen an action's `uiSchema` marks a field with `\"ui:widget\": \"IntegrationAutocompleteWidget\"`, use `connector autocomplete` to get the allowed values.\n\n```bash\n# Basic autocomplete (no params needed)\ncargo-ai connection connector autocomplete \\\n  --connector-uuid <connector-uuid> \\\n  --slug listObjects \\\n  --params '{}'\n# → { \"results\": [{ \"label\": \"Contacts\", \"value\": \"contacts\" }, ...] }\n```\n\n## Autocomplete with dependent parameters\n\nSome fields depend on another field's value. Pass the dependency in `--params`:\n\n```bash\n# Get properties for a specific object type\ncargo-ai connection connector autocomplete \\\n  --connector-uuid <connector-uuid> \\\n  --slug listObjectProperties \\\n  --params '{\"objectType\": \"contacts\"}'\n# → { \"results\": [{ \"label\": \"Email\", \"value\": \"email\" }, ...] }\n```\n\n## Autocomplete with search filtering\n\nUse `--value` to filter results by a search string:\n\n```bash\ncargo-ai connection connector autocomplete \\\n  --connector-uuid <connector-uuid> \\\n  --slug listObjectProperties \\\n  --params '{\"objectType\": \"contacts\"}' \\\n  --value \"email\"\n# → Returns only properties matching \"email\"\n```\n\n## Autocomplete with cache refresh\n\nResults are cached (default 30 minutes). Use `--refresh` to bypass the cache:\n\n```bash\ncargo-ai connection connector autocomplete \\\n  --connector-uuid <connector-uuid> \\\n  --slug listObjects \\\n  --params '{}' \\\n  --refresh\n```\n\n## Rate limit awareness\n\nSome connectors have rate limits (visible in the `rateLimit` field from `connector list`):\n\n```bash\ncargo-ai connection connector list\n# → Check rateLimit.unit (day/hour/minute) and rateLimit.max for each connector\n# → Design batches to stay within these limits\n```\n\nFile v1.5.0:references/examples/integrations.md\n\n# Integration examples\n\n## List all available integrations\n\n```bash\ncargo-ai connection integration list\n```\n\nResponse includes `slug`, `name`, `description`, and `category` for each available integration.\n\n## Filter integrations\n\n```bash\n# By category\ncargo-ai connection integration list --category enrichment\n\n# By name search\ncargo-ai connection integration list --search \"hubspot\"\n\n# By exact slug(s)\ncargo-ai connection integration list --slugs clearbit\n\n# Only those with actions (usable in workflow nodes)\ncargo-ai connection integration list --has-actions true\n\n# Only those with extractors (can sync data into models)\ncargo-ai connection integration list --has-extractors true\n```\n\n**Categories:** `engagement`, `marketing`, `sales`, `finance`, `analytics`, `freeform`, `success`, `support`, `enrichment`, `storage`, `custom`.\n\n## Find an integration slug\n\n```bash\ncargo-ai connection integration list --search \"hubspot\"\n# → Extract the \"slug\" value\n# → Use slug when creating connectors: --integration-slug <slug>\n```\n\n## Get full integration details\n\n```bash\ncargo-ai connection integration get clearbit\n# → Returns the full integration object with actions, extractors, and configuration schemas\n```\n\nUse this to discover all available actions and extractors for an integration, including their `config.jsonSchema` for building workflow nodes.\n\n## Get integration documentation\n\n```bash\ncargo-ai connection integration get-documentation clearbit\ncargo-ai connection integration get-documentation hubspot\n```\n\nReturns plain text documentation for the integration, including available actions and their configuration.\n\n## Discover actions for a specific integration (e.g. HubSpot)\n\n```bash\ncargo-ai connection integration get hubspot\n# → Returns HubSpot-specific actions (e.g. \"create_contact\", \"update_deal\") and extractors\n# → Each action includes its config.jsonSchema for building workflow nodes\n\ncargo-ai connection integration get-documentation hubspot\n# → Plain text overview of all HubSpot actions\n```\n\n**Use `integration get <slug>` when you need service-specific actions** — HubSpot, Salesforce, Clearbit, etc.\n\n## Discover native (built-in Cargo) actions and extractors\n\n```bash\ncargo-ai connection native-integration get\n# → Returns built-in Cargo actions ONLY — NOT HubSpot or other third-party actions\n# → actions: keyed by actionSlug (generic platform utilities)\n# → extractors: keyed by extractor slug\n```\n\n**Important:** `native-integration get` does **not** return HubSpot-specific or other third-party connector actions. To get those, use `integration get <slug>` instead.\n\nUse `actionSlug` values in workflow node configs (see `cargo-orchestration/references/nodes.md`).\n\n## Set up a connector for use in workflows (full flow)\n\n```bash\n# 1. Find the integration slug\ncargo-ai connection integration list --search \"hubspot\"\n# → Extract the \"slug\" value\n\n# 2. Create the connector\ncargo-ai connection connector create \\\n  --integration-slug hubspot \\\n  --slug hubspot_production \\\n  --name \"HubSpot - Production\"\n# → Note the returned connector UUID\n\n# 3. Get the integration details to discover available actions\ncargo-ai connection integration get hubspot\n# → Or get plain text docs: cargo-ai connection integration get-documentation hubspot\n\n# 4. Use the connector UUID and action slug in a workflow node\n# See cargo-orchestration references/nodes.md for node syntax\n```\n\n## Common integration slugs\n\n| Service       | Slug           |\n| ------------- | -------------- |\n| Clearbit      | `clearbit`     |\n| HubSpot       | `hubspot`      |\n| Salesforce    | `salesforce`   |\n| Apollo.io     | `apolloio`     |\n| HTTP (custom) | `http`         |\n| Slack         | `slack`        |\n| Google Sheets | `googleSheets` |\n\nRun `integration list` for the complete current list.\n\nFile v1.5.0:references/response-shapes.md\n\n# Response shapes\n\nJSON response structures returned by Cargo CLI commands used in the `cargo-connection` skill.\n\n## cargo-ai connection connector list\n\n```json\n{\n  \"connectors\": [\n    {\n      \"uuid\": \"connector-uuid\",\n      \"workspaceUuid\": \"...\",\n      \"userUuid\": \"...\",\n      \"name\": \"Clearbit - Production\",\n      \"slug\": \"clearbit_production\",\n      \"integrationSlug\": \"clearbit\",\n      \"rateLimit\": { \"unit\": \"day\", \"max\": 1000 },\n      \"cacheTtlMilliseconds\": 86400000,\n      \"playsCount\": 2,\n      \"toolsCount\": 5,\n      \"modelsCount\": 0,\n      \"useCredits\": true,\n      \"config\": null,\n      \"createdAt\": \"2025-01-01T00:00:00Z\",\n      \"updatedAt\": \"2025-01-15T00:00:00Z\",\n      \"deletedAt\": null\n    }\n  ]\n}\n```\n\n**Key fields:** `uuid`, `name`, `integrationSlug`, `useCredits`, `playsCount`, `toolsCount`.\n\nWhen `useCredits` is `true`, actions on this connector consume Cargo credits. When `false`, `config` contains the integration-specific credentials.\n\n## cargo-ai connection connector get\n\n```json\n{\n  \"connector\": {\n    \"uuid\": \"connector-uuid\",\n    \"workspaceUuid\": \"...\",\n    \"userUuid\": \"...\",\n    \"name\": \"Clearbit - Production\",\n    \"slug\": \"clearbit_production\",\n    \"integrationSlug\": \"clearbit\",\n    \"rateLimit\": { \"unit\": \"day\", \"max\": 1000 },\n    \"cacheTtlMilliseconds\": 86400000,\n    \"playsCount\": 2,\n    \"toolsCount\": 5,\n    \"modelsCount\": 0,\n    \"useCredits\": true,\n    \"config\": null,\n    \"createdAt\": \"2025-01-01T00:00:00Z\",\n    \"updatedAt\": \"2025-01-15T00:00:00Z\",\n    \"deletedAt\": null\n  }\n}\n```\n\nSame shape as a single item from `connector list`.\n\n## cargo-ai connection integration list\n\nEach integration in the list is a full integration object (same shape as `integration get`).\n\n```json\n{\n  \"integrations\": [\n    {\n      \"slug\": \"clearbit\",\n      \"name\": \"Clearbit\",\n      \"description\": \"Company and person enrichment\",\n      \"category\": \"enrichment\",\n      \"icon\": \"https://...\",\n      \"color\": \"#...\",\n      \"url\": \"https://...\",\n      \"subCategories\": [],\n      \"documentationPath\": \"...\",\n      \"connector\": { \"config\": { \"jsonSchema\": { ... } } },\n      \"actions\": { \"enrichCompanyFromDomain\": { ... } },\n      \"extractors\": {},\n      \"dynamicSchemas\": {}\n    }\n  ]\n}\n```\n\n**Key fields:** `slug` (used when creating connectors and filtering), `name`, `category`, `actions`, `extractors`.\n\nSupports `--category`, `--slugs`, `--search`, `--has-actions`, `--has-extractors` to filter results.\n\n**Integration categories:** `engagement`, `marketing`, `sales`, `finance`, `analytics`, `freeform`, `success`, `support`, `enrichment`, `storage`, `custom`.\n\n## cargo-ai connection integration get\n\nReturns the full integration object, including all actions and extractors with their configuration schemas.\n\n```json\n{\n  \"integration\": {\n    \"slug\": \"clearbit\",\n    \"name\": \"Clearbit\",\n    \"description\": \"Company and person enrichment\",\n    \"category\": \"enrichment\",\n    \"icon\": \"https://...\",\n    \"color\": \"#...\",\n    \"url\": \"https://...\",\n    \"subCategories\": [],\n    \"documentationPath\": \"...\",\n    \"connector\": {\n      \"config\": {\n        \"jsonSchema\": { \"type\": \"object\", \"properties\": { \"apiKey\": { \"type\": \"string\" } } }\n      }\n    },\n    \"actions\": {\n      \"enrichCompanyFromDomain\": {\n        \"name\": \"Enrich Company From Domain\",\n        \"description\": \"Enrich a company by domain\",\n        \"category\": \"enrichment\",\n        \"icon\": \"https://...\",\n        \"isSerialized\": false,\n        \"config\": {\n          \"jsonSchema\": { \"type\": \"object\", \"properties\": { \"domain\": { \"type\": \"string\" } } }\n        },\n        \"output\": {\n          \"schema\": {\n            \"type\": \"object\",\n            \"properties\": { \"name\": { \"type\": \"string\" }, \"domain\": { \"type\": \"string\" } }\n          }\n        },\n        \"credits\": {\n          \"costs\": [{ \"type\": \"fixed\", \"cost\": 1 }]\n        },\n        \"childrenCount\": 0\n      },\n      \"findRecords\": {\n        \"name\": \"Find records\",\n        \"description\": \"Find records matching the given criterias.\",\n        \"category\": \"enrichment\",\n        \"icon\": \"https://...\",\n        \"isSerialized\": false,\n        \"config\": {\n          \"jsonSchema\": {\n            \"type\": \"object\",\n            \"properties\": {\n              \"objectType\": { \"type\": \"string\", \"description\": \"The object type\" },\n              \"propertyName\": { \"type\": \"string\", \"description\": \"Property to search on\" }\n            }\n          },\n          \"uiSchema\": {\n            \"objectType\": {\n              \"ui:widget\": \"IntegrationAutocompleteWidget\",\n              \"ui:options\": {\n                \"slug\": \"listObjects\",\n                \"allowRefresh\": true\n              }\n            },\n            \"propertyName\": {\n              \"ui:widget\": \"IntegrationAutocompleteWidget\",\n              \"ui:options\": {\n                \"slug\": \"listObjectProperties\",\n                \"allowRefresh\": true,\n                \"params\": {\n                  \"objectType\": \"$this.$parent.objectType\"\n                }\n              }\n            }\n          }\n        },\n        \"credits\": {\n          \"costs\": [{ \"type\": \"fixed\", \"cost\": 1 }]\n        },\n        \"childrenCount\": 0\n      }\n    },\n    \"extractors\": {},\n    \"dynamicSchemas\": {}\n  }\n}\n```\n\n**Key fields:** `actions` is keyed by `actionSlug` — use these in workflow connector nodes. Each action's `config.jsonSchema` is its **input**; `output.schema`, when present, is the JSON Schema of what the action **emits** — read it instead of guessing the output shape (not every action declares one; `integration list` includes it too). `connector.config.jsonSchema` describes the credentials needed when creating a connector (for non-credit integrations). `extractors` is keyed by extractor slug — use these when creating models.\n\n**`uiSchema` and autocomplete:** Each action's `config` may include a `uiSchema` alongside `jsonSchema`. When a field in `uiSchema` has `\"ui:widget\": \"IntegrationAutocompleteWidget\"`, its allowed values must be fetched via `connector autocomplete`. The `ui:options.slug` tells you which autocomplete slug to use, and `ui:options.params` (if present) specifies dependent parameters — replace `$this.$parent...` expressions with actual values. See the main SKILL.md for the full autocomplete workflow.\n\n## cargo-ai connection native-integration get\n\n> **Note:** This command returns **built-in Cargo actions only** (e.g. `start`, `end`, `branch`, `filter`, `agent`, `python`). It does **not** return HubSpot, Salesforce, Clearbit, or other third-party connector actions. For those, use `cargo-ai connection integration get <slug>`.\n\n```json\n{\n  \"nativeIntegration\": {\n    \"actions\": {\n      \"send_email\": {\n        \"name\": \"Send Email\",\n        \"description\": \"Send an email via the native Cargo email action\",\n        \"category\": \"enrichment\",\n        \"icon\": \"https://...\",\n        \"isSerialized\": false,\n        \"config\": {\n          \"jsonSchema\": { \"type\": \"object\", \"properties\": { \"domain\": { \"type\": \"string\" } } },\n          \"uiSchema\": {}\n        },\n        \"meta\": {\n          \"jsonSchema\": { \"type\": \"object\" }\n        },\n        \"credits\": {\n          \"costs\": [{ \"type\": \"fixed\", \"cost\": 1 }]\n        },\n        \"childrenCount\": 0\n      }\n    },\n    \"extractors\": {\n      \"contacts\": {\n        \"name\": \"Contacts\",\n        \"description\": \"Sync contacts from integration\",\n        \"icon\": \"https://...\",\n        \"config\": {\n          \"jsonSchema\": { \"type\": \"object\", \"properties\": {} },\n          \"uiSchema\": {}\n        },\n        \"mode\": {\n          \"kind\": \"fetch\",\n          \"isIncremental\": true\n        }\n      }\n    }\n  }\n}\n```\n\n**`actions`** is keyed by action slug. Each key is an `actionSlug` for use in workflow connector nodes.\n\n| Field | Description |\n| ----- | ----------- |\n| `name` | Display name |\n| `description` | What the action does |\n| `category` | One of: `invisible`, `logic`, `storage`, `ai`, `sales`, `code` |\n| `icon` | Icon URL |\n| `config.jsonSchema` | JSON Schema describing the action's input parameters |\n| `config.uiSchema` | UI hints for each field — check for `IntegrationAutocompleteWidget` to detect autocomplete fields |\n| `childrenCount` | Number of child branches (0 for most actions) |\n| `credits.costs` | Credit cost per execution. Each cost has `type` (`fixed` or `unit`) and `cost` (number) |\n\n**`extractors`** is keyed by extractor slug. Extractors sync data from an integration into a model.\n\n| Field | Description |\n| ----- | ----------- |\n| `name` | Display name |\n| `description` | What the extractor syncs |\n| `icon` | Icon URL |\n| `config.jsonSchema` | JSON Schema describing the extractor's configuration |\n| `mode.kind` | `\"fetch\"` (pull-based) or `\"ingest\"` (push-based) |\n| `mode.isIncremental` | Whether the extractor supports incremental sync (fetch mode only) |\n\n## cargo-ai connection connector autocomplete\n\nFetches the allowed values for a field that uses `IntegrationAutocompleteWidget` in its `uiSchema`.\n\n```json\n{\n  \"results\": [\n    {\n      \"label\": \"Contacts\",\n      \"value\": \"contacts\",\n      \"description\": \"HubSpot contacts object\"\n    },\n    {\n      \"label\": \"Companies\",\n      \"value\": \"companies\"\n    },\n    {\n      \"label\": \"Deals\",\n      \"value\": \"deals\"\n    }\n  ]\n}\n```\n\n| Field | Required | Description |\n| ----- | -------- | ----------- |\n| `label` | yes | Human-readable display name |\n| `value` | yes | The value to use in node config |\n| `description` | no | Additional context about the option |\n| `parent` | no | Parent grouping identifier (for hierarchical options) |\n| `configOverride` | no | Additional config values that should be set when this option is selected |\n\nUse the `value` field when setting the corresponding property in a workflow node's `config`.\n\nFile v1.5.0:references/troubleshooting.md\n\n# Troubleshooting\n\nCommon errors and recovery steps for `cargo-connection` commands.\n\n## General\n\n| Symptom                                      | Cause                            | Fix                                                                       |\n| -------------------------------------------- | -------------------------------- | ------------------------------------------------------------------------- |\n| `{\"errorMessage\": \"...\"}` with non-zero exit | Any CLI error                    | Read the `errorMessage` — it usually says exactly what's wrong            |\n| `command not found: cargo-ai`                | CLI not installed or not in PATH | Run `npm install -g @cargo-ai/cli` or prefix with `npx @cargo-ai/cli`     |\n| `Unauthorized` or `Forbidden`                | Bad or expired credentials       | Re-run `cargo-ai login --oauth` (browser sign-in) or `cargo-ai login --token <token>`; verify with `cargo-ai whoami` |\n\n## Connectors\n\n| Symptom                                 | Cause                                            | Fix                                                                                              |\n| --------------------------------------- | ------------------------------------------------ | ------------------------------------------------------------------------------------------------ |\n| `connector get` returns not found       | Wrong UUID                                       | Re-run `connector list` to get the correct UUID                                                  |\n| `connector create` fails                | Integration slug doesn't exist                   | Run `integration list` to find valid `integrationSlug` values                                    |\n| `connector remove` fails                | Connector is referenced by active plays or tools | Check `playsCount` and `toolsCount` on the connector; remove or update dependent resources first |\n| Workflow fails with connector not found | Connector UUID in node graph is wrong            | Re-run `connector list` to verify the UUID used in the node config                               |\n| Action not executing as expected        | Wrong `actionSlug`                               | For third-party connector actions (HubSpot, Salesforce, etc.), run `integration get <slug>` to see correct `actionSlug` values. Only use `native-integration get` for built-in Cargo actions. |\n\n## Connector autocomplete\n\n| Symptom                                              | Cause                                                              | Fix                                                                                                                          |\n| ---------------------------------------------------- | ------------------------------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------- |\n| `connector autocomplete` returns empty results       | Wrong autocomplete slug or params                                  | Re-check the `uiSchema` from `integration get <slug>` — use the exact `ui:options.slug` and pass required `params`           |\n| `Invalid autocomplete params` error                  | Missing or wrong params keys                                       | Check `ui:options.params` in the `uiSchema` — each key listed there must be provided in `--params` with an actual value       |\n| `connectorNotFound` reason                           | Wrong connector UUID                                               | Re-run `connector list` to get the correct UUID                                                                               |\n| `failedToGetIntegration` reason                      | Integration doesn't support autocomplete for this slug             | Verify the autocomplete slug exists in the integration's `uiSchema` — not all fields use autocomplete                         |\n| Stale or outdated autocomplete results               | Results are cached (default 30 minutes)                            | Pass `--refresh` to bypass the cache                                                                                          |\n| Used a freeform value instead of autocomplete result  | Field requires a specific value from the autocomplete result set   | Always check `uiSchema` for `IntegrationAutocompleteWidget` — if present, fetch and use a `value` from the autocomplete results |\n\n## Integrations\n\n| Symptom                                                 | Cause                                                         | Fix                                                             |\n| ------------------------------------------------------- | ------------------------------------------------------------- | --------------------------------------------------------------- |\n| `integration list` doesn't show an expected integration | Integration may not be available in your region or plan       | Contact Cargo support or check the integrations page in the app |\n| Third-party actions (e.g. HubSpot) not found via `native-integration get` | `native-integration get` only returns built-in Cargo actions | Use `integration get <slug>` (e.g. `integration get hubspot`) to get service-specific actions |\n| OAuth flow incomplete                                   | `complete-oauth` not called after creating an OAuth connector | Complete the OAuth flow through the Cargo app UI or via the API |\n\nFile v1.5.0:skill-card.md\n\n## Description:\n\nCargo Connection helps agents authenticate Cargo connectors, inspect integration capabilities, and resolve connector UUIDs and action slugs for workflow nodes.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[cargo-ai](https://clawhub.ai/user/cargo-ai)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nDevelopers and operators use this skill to manage Cargo connector setup, audit authenticated connector usage, discover supported integrations and actions, and prepare connector configuration for Cargo workflow nodes.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: The skill installs or uses @cargo-ai/cli@latest, which may change behavior across releases.\n\nMitigation: Pin the Cargo CLI version for production or shared agent environments.\n\nRisk: Connector commands can involve API tokens, connector credentials, and sensitive connector configuration.\n\nMitigation: Avoid pasting real tokens or API keys into command lines or chat, keep connector JSON out of public logs, and rotate any exposed credentials.\n\nRisk: Connector list and get responses may expose workspace configuration for non-credit connectors.\n\nMitigation: Treat connector JSON as sensitive operational data and limit transcript sharing to the minimum fields needed.\n\nRisk: The security verdict recommends review before production use.\n\nMitigation: Review the skill before installing it in production or shared agent environments.\n\n## Reference(s):\n\n- [Cargo Connection on ClawHub](https://clawhub.ai/cargo-ai/skills/cargo-connection)\n- [Cargo Skills Repository](https://github.com/getcargohq/cargo-skills)\n- [Connector Examples](references/examples/connectors.md)\n- [Integration Examples](references/examples/integrations.md)\n- [Response Shapes](references/response-shapes.md)\n- [Troubleshooting](references/troubleshooting.md)\n\n## Skill Output:\n\n**Output Type(s):** [Guidance, Shell commands, Configuration, JSON]\n\n**Output Format:** [Markdown guidance with shell command examples and JSON snippets]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Commands return JSON and may include connector configuration; review outputs before sharing logs or transcripts.]\n\n## Skill Version(s):\n\n1.5.0 (source: frontmatter, skill-metadata.json, server evidence)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nFile v1.5.0:skill-metadata.json\n\n{\n  \"$comment\": \"Generated by .github/scripts/skills-metadata.mjs — do not hand-edit. Regenerate with: node .github/scripts/skills-metadata.mjs --write .\",\n  \"name\": \"cargo-connection\",\n  \"version\": \"1.5.0\",\n  \"documents\": [\n    {\n      \"path\": \"SKILL.md\",\n      \"kind\": \"entrypoint\",\n      \"title\": \"Cargo CLI — Connections\"\n    },\n    {\n      \"path\": \"references/examples/connectors.md\",\n      \"kind\": \"example\",\n      \"title\": \"Connector examples\"\n    },\n    {\n      \"path\": \"references/examples/integrations.md\",\n      \"kind\": \"example\",\n      \"title\": \"Integration examples\"\n    },\n    {\n      \"path\": \"references/response-shapes.md\",\n      \"kind\": \"reference\",\n      \"title\": \"Response shapes\"\n    },\n    {\n      \"path\": \"references/troubleshooting.md\",\n      \"kind\": \"reference\",\n      \"title\": \"Troubleshooting\"\n    }\n  ],\n  \"contentHash\": \"40da18c472c7bc25e70173d8ebf3e49f169d82406f76f1994d24f91fba835704\"\n}\n\nArchive v1.4.1: 8 files, 15594 bytes\n\nFiles: references/examples/connectors.md (3769b), references/examples/integrations.md (3830b), references/response-shapes.md (9677b), references/troubleshooting.md (5493b), skill-card.md (2048b), skill-metadata.json (921b), SKILL.md (17573b), _meta.json (135b)\n\nFile v1.4.1:SKILL.md\n\n---\nname: cargo-connection\ndescription: \"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 connectors\\\". Integrations: amplemarket, amplitude, attio, bigQuery, calendly, closecom, contrast, csv, customerio, dbt, emailBison, expandi, googleAds, googleSheets, heyReach, http, hubspot, hubspotMcp, instantly, instantlyV2, intercom, jira, kitt, lemlist, lgm, linkedinAds, linkedinMatchedAudience, livestorm, manus, marketo, metabase, microsoftTeams, mixpanel, netsuite, netsuiteSoap, notionMcp, octave, onesignal, outreach, pipedrive, postgresql, redshift, resend, rift, salesforce, salesforceMcp, salesloft, Sendgrid, sillage, slack, smartlead, snowflake, sql, stripe, and 82 more. Skip when: choosing between enrichment providers for a GTM job — use cargo-gtm and its provider playbooks.\"\nversion: \"1.4.1\"\ncompatibility: Requires @cargo-ai/cli (npm). Sign in or create an account with `cargo-ai login --email` (emailed code, no browser), `--oauth`, or an API token\nhomepage: https://github.com/getcargohq/cargo-skills\nmetadata:\n  author: getcargo\n  openclaw:\n    requires:\n      bins:\n        - cargo-ai\n    install:\n      - kind: node\n        package: \"@cargo-ai/cli@latest\"\n        bins:\n          - cargo-ai\n    homepage: https://github.com/getcargohq/cargo-skills\n---\n\n# Cargo CLI — Connections\n\nConnector and integration management: listing connectors, discovering available integrations, and managing authenticated connector instances.\n\n> See `references/response-shapes.md` for full JSON response structures.\n> See `references/troubleshooting.md` for common errors and how to fix them.\n> See `references/examples/connectors.md` for connector CRUD and discovery examples.\n> See `references/examples/integrations.md` for listing available integrations and OAuth flows.\n> 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.\n\n## Bootstrap\n\nAlready signed in (`cargo-ai whoami` returns a workspace)? Skip to the next section.\n\n```bash\nnpm install -g @cargo-ai/cli            # no global install? prefix every command with `npx @cargo-ai/cli`\ncargo-ai login --email you@company.com  # emailed code, no browser; creates the account on first use\n                                        # alternatives: --oauth (browser) · --token <api-token> (CI)\ncargo-ai whoami                         # confirm the active workspace before any write\n```\n\nEvery 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`](../cargo/references/prerequisites.md) adds the CLI version pin, token scopes, and the admin-only surface.\n\n## Key concepts\n\n**Integration:** The external service type (e.g. HubSpot, Clearbit, Salesforce). Integrations define what actions are available.\n\n**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.\n\n## Discover resources first\n\n**Looking for an action? Search for it — don't browse the catalog.** Two keyword\nsearches cover the whole surface, and both beat paging `integration list` or\nreading a whole `integration get` payload:\n\n```bash\ncargo-ai orchestration action list <query>                # START HERE — connector + native + tools + agents.\n                                                          # Returns a ready-to-run action object (connectorUuid\n                                                          # resolved) and the action's credit costs.\ncargo-ai connection action search <query> --credits-only  # connector catalog only, but filters by category\n                                                          # and by \"is it paid\" — which `action list` cannot.\n```\n\nReach for the catalog commands when you need the *integration*, not an action —\nits auth fields, its extractors, or the full input schema of an action you have\nalready picked:\n\n```bash\ncargo-ai connection connector list                        # all authenticated connectors\ncargo-ai connection integration list                      # all available integration types\ncargo-ai connection integration list --search \"hubspot\"   # search by name\ncargo-ai connection integration get <slug>                # one integration's actions + input schemas\ncargo-ai connection native-integration get                # built-in Cargo actions only (NOT third-party)\n```\n\n### Which action search?\n\n| | `orchestration action list` | `connection action search` |\n|---|---|---|\n| Covers | connector, native, **tools, agents** | connector catalog only |\n| Returns | a runnable `action` object with `connectorUuid`, workspace connectors, `credits`, autocompletes | `integrationSlug` + `actionSlug`, category, `credits` — you assemble the action yourself |\n| Filters | `--kind`, `--integration-slug`, `--limit` | `--category`, `--integration`, **`--credits-only`**, `--limit` |\n| Needs | CLI ≥ 1.0.66 | CLI ≥ 1.0.36 |\n\nDefault to `action list` — it is the one that hands you something you can execute.\nSwitch to `action search` for the two questions it alone answers: *which paid\nactions match this?* (`--credits-only`) and *what does this category offer?*\n(`--category`). Both rank an action-slug or name hit above an integration hit,\nabove a description hit, and require **all** query terms to match.\n\n### `integration get` vs `native-integration get`\n\nThese two commands return **different sets of actions** and are not interchangeable:\n\n| Command | Third-party service actions (HubSpot, Salesforce, Clearbit, …) | Built-in Cargo actions (HTTP, transforms, utilities) | When to use |\n|---|---|---|---|\n| `integration get <slug>` | ✓ | ✗ | You need actions for a specific third-party service — **use this for HubSpot, Salesforce, Clearbit, etc.** |\n| `native-integration get` | ✗ | ✓ | You need Cargo-native capabilities that don't belong to any specific third-party connector |\n\n**Example:** To find HubSpot-specific actions, use `integration get hubspot` — `native-integration get` will not return them.\n\n## Quick reference\n\n```bash\ncargo-ai connection connector list --integration-slug <slug>\ncargo-ai connection connector create --integration-slug <slug> --slug <slug> --name <name>\ncargo-ai connection connector update --uuid <uuid> --name <name>\ncargo-ai connection connector remove <connector-uuid>\ncargo-ai connection connector get <connector-uuid>\ncargo-ai connection connector autocomplete --connector-uuid <uuid> --slug <slug> --params '<json>'\ncargo-ai connection integration list\ncargo-ai connection integration get <slug>\ncargo-ai connection integration get-documentation <slug>\ncargo-ai connection native-integration get\n```\n\n## Connectors\n\nConnectors are authenticated connections to external services.\n\n```bash\n# List all connectors\ncargo-ai connection connector list\n\n# Create a connector\ncargo-ai connection connector create \\\n  --integration-slug clearbit \\\n  --slug clearbit_production \\\n  --name \"Clearbit - Production\"\n\n# Update a connector\ncargo-ai connection connector update --uuid <connector-uuid> --name \"Clearbit - Staging\"\n\n# Remove a connector\ncargo-ai connection connector remove <connector-uuid>\n\n# Check if a connector slug is taken\ncargo-ai connection connector exists-by-slug --slug clearbit_production\n```\n\n**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`.\n\n## Integrations\n\nIntegrations define the available services and their connector actions.\n\n```bash\n# List all available integrations\ncargo-ai connection integration list\n\n# Filter by category\ncargo-ai connection integration list --category enrichment\n\n# Search by name\ncargo-ai connection integration list --search \"hubspot\"\n\n# Find by exact slug(s)\ncargo-ai connection integration list --slugs clearbit\n\n# Only integrations that have actions (usable in workflow nodes)\ncargo-ai connection integration list --has-actions true\n\n# Only integrations that have extractors (can sync data into models)\ncargo-ai connection integration list --has-extractors true\n\n# Get built-in Cargo actions and extractors (NOT third-party connector actions)\ncargo-ai connection native-integration get\n```\n\n**Integration categories:** `engagement`, `marketing`, `sales`, `finance`, `analytics`, `freeform`, `success`, `support`, `enrichment`, `storage`, `custom`.\n\nUse `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`).\n\n## Connector autocomplete — fetching available values for action fields\n\nSome 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`.\n\n### How to detect autocomplete fields\n\nWhen an action's config looks like this:\n\n```json\n{\n  \"jsonSchema\": {\n    \"type\": \"object\",\n    \"properties\": {\n      \"objectType\": { \"type\": \"string\", \"description\": \"The object type\" }\n    }\n  },\n  \"uiSchema\": {\n    \"objectType\": {\n      \"ui:widget\": \"IntegrationAutocompleteWidget\",\n      \"ui:options\": {\n        \"slug\": \"listObjects\",\n        \"allowRefresh\": true\n      }\n    }\n  }\n}\n```\n\nThe `objectType` field requires autocomplete. The `ui:options.slug` (`\"listObjects\"`) is the autocomplete slug you pass to `connector autocomplete`.\n\n### How to call connector autocomplete\n\n```bash\ncargo-ai connection connector autocomplete \\\n  --connector-uuid <connector-uuid> \\\n  --slug <autocomplete-slug> \\\n  --params '{}'\n```\n\n| Flag               | Required | Description                                                       |\n| ------------------ | -------- | ----------------------------------------------------------------- |\n| `--connector-uuid` | yes      | The UUID of the connector to autocomplete against                 |\n| `--slug`           | yes      | The autocomplete slug from `uiSchema[field][\"ui:options\"].slug`   |\n| `--params`         | yes      | JSON object of parameters (use `{}` when none are needed)         |\n| `--value`          | no       | Search string to filter results                                   |\n| `--refresh`        | no       | Bypass cache and fetch fresh results                              |\n\n### Autocomplete with parameters\n\nSome autocomplete fields depend on the value of another field. This is indicated by a `params` object in `ui:options`:\n\n```json\n{\n  \"uiSchema\": {\n    \"objectType\": {\n      \"ui:widget\": \"IntegrationAutocompleteWidget\",\n      \"ui:options\": { \"slug\": \"listObjects\" }\n    },\n    \"propertyName\": {\n      \"ui:widget\": \"IntegrationAutocompleteWidget\",\n      \"ui:options\": {\n        \"slug\": \"listObjectProperties\",\n        \"params\": { \"objectType\": \"$this.$parent.objectType\" }\n      }\n    }\n  }\n}\n```\n\nHere, `propertyName` depends on the selected `objectType`. Replace the `$this.$parent...` expression with the actual value you chose:\n\n```bash\n# 1. First, get the list of object types\ncargo-ai connection connector autocomplete \\\n  --connector-uuid <uuid> --slug listObjects --params '{}'\n\n# 2. Then, get properties for the chosen object type\ncargo-ai connection connector autocomplete \\\n  --connector-uuid <uuid> --slug listObjectProperties \\\n  --params '{\"objectType\": \"contacts\"}'\n```\n\n### Response format\n\n```json\n{\n  \"results\": [\n    { \"label\": \"Contacts\", \"value\": \"contacts\" },\n    { \"label\": \"Companies\", \"value\": \"companies\" },\n    { \"label\": \"Deals\", \"value\": \"deals\" }\n  ]\n}\n```\n\nUse the `value` field in your node config. The `label` is the human-readable display name. Results may also include optional `description` and `parent` fields.\n\n### End-to-end example: configuring a HubSpot action\n\n```bash\n# 1. Find your HubSpot connector UUID\ncargo-ai connection connector list --integration-slug hubspot\n\n# 2. Get HubSpot actions and inspect their config + uiSchema\ncargo-ai connection integration get hubspot\n# → The \"findRecords\" action has objectType with autocomplete slug \"listObjects\"\n\n# 3. Fetch available object types\ncargo-ai connection connector autocomplete \\\n  --connector-uuid <hubspot-connector-uuid> \\\n  --slug listObjects --params '{}'\n# → Returns: contacts, companies, deals, tickets, etc.\n\n# 4. Fetch properties for the chosen object type\ncargo-ai connection connector autocomplete \\\n  --connector-uuid <hubspot-connector-uuid> \\\n  --slug listObjectProperties \\\n  --params '{\"objectType\": \"contacts\"}'\n# → Returns: email, firstname, lastname, phone, etc.\n\n# 5. Use these values in your workflow node config\n```\n\n## Using connector actions in workflows\n\nConnector actions are used as nodes in workflow graphs. To use an action:\n\n```bash\n# 1. Find your connector UUID\ncargo-ai connection connector list\n# → Filter the output by integrationSlug to find the right connector\n\n# 2. Discover the action — search first, and only then read its schema\ncargo-ai orchestration action list <keywords> --integration-slug <integration-slug>\ncargo-ai connection integration get <integration-slug>\n# → actions are keyed by actionSlug, with config.jsonSchema (input) for each\n# → many actions also carry output.schema — the JSON Schema of what the action\n#   emits; use it to wire downstream nodes instead of guessing (absent on some actions)\n# → Or use get-documentation for a plain text overview\n# → Or use native-integration get for built-in Cargo actions (not third-party)\n\n# 3. Reference the connector and action in a node graph\n# See cargo-orchestration references/nodes.md for the full node syntax\n```\n\n### Reading an action's input schema — and where the inputs go\n\nAn 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.\n\n```bash\n# the required input fields for an action:\ncargo-ai connection integration get linkedin \\\n  | jq '.integration.actions.connectProfile.config.schema'\n# → required: linkedinProfileUrl, identityIds\n```\n\nTwo footguns:\n\n- **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`.)\n- **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.\n\nExample connector node (Clearbit company enrichment):\n\n```json\n{\n  \"uuid\": \"node-uuid\",\n  \"slug\": \"enrich\",\n  \"kind\": \"connector\",\n  \"integrationSlug\": \"clearbit\",\n  \"actionSlug\": \"enrichCompany\",\n  \"connectorUuid\": \"<clearbit-connector-uuid>\",\n  \"config\": {\n    \"domain\": {\n      \"kind\": \"templateExpression\",\n      \"expression\": \"{{nodes.start.domain}}\",\n      \"instructTo\": \"none\",\n      \"fromRecipe\": false\n    }\n  },\n  \"childrenUuids\": [\"end-node-uuid\"],\n  \"fallbackOnFailure\": false,\n  \"position\": { \"x\": 0, \"y\": 166 }\n}\n```\n\n## Help\n\nEvery command supports `--help`:\n\n```bash\ncargo-ai connection connector list --help\ncargo-ai connection connector create --help\ncargo-ai connection integration list --help\n```\n\nFile v1.4.1:_meta.json\n\n{\n  \"ownerId\": \"kn7by8t6yt9yghbxtxz6hv0bts87k6bq\",\n  \"slug\": \"cargo-connection\",\n  \"version\": \"1.4.1\",\n  \"publishedAt\": 1788392463770\n}\n\nFile v1.4.1:references/examples/connectors.md\n\n# Connector examples\n\n## List all connectors\n\n```bash\ncargo-ai connection connector list\n```\n\n## Filter connectors by integration\n\n```bash\ncargo-ai connection connector list --integration-slug clearbit\n# → Returns only connectors for the Clearbit integration\n```\n\n## Get a single connector\n\n```bash\ncargo-ai connection connector get <connector-uuid>\n# → Returns the full connector object (same shape as an item from connector list)\n```\n\n## Find a connector UUID for use in a workflow\n\n```bash\n# 1. List connectors (optionally filter by integration)\ncargo-ai connection connector list --integration-slug clearbit\n# → Extract the \"uuid\" field from the right connector\n\n# 2. Use the UUID in your workflow node's connectorUuid config\n```\n\n## Create a connector\n\n```bash\ncargo-ai connection connector create \\\n  --integration-slug clearbit \\\n  --slug clearbit_production \\\n  --name \"Clearbit - Production\"\n```\n\n`--slug` is a unique identifier (no spaces), `--name` is the display name. For credit-based integrations (`useCredits: true`), this is all that's needed. For credential-based integrations, pass `--config` with the integration-specific credentials JSON.\n\n## Update a connector\n\n```bash\ncargo-ai connection connector update --uuid <connector-uuid> --name \"Clearbit - Staging\"\ncargo-ai connection connector update --uuid <connector-uuid> --config '{\"apiKey\":\"new-key\"}'\n```\n\n## Remove a connector\n\n```bash\n# Check usage first — list connectors and check playsCount and toolsCount\ncargo-ai connection connector list\n# → High counts mean the connector is heavily used — remove dependencies before deleting\n\ncargo-ai connection connector remove <connector-uuid>\n```\n\n## Check if a slug is available\n\n```bash\ncargo-ai connection connector exists-by-slug --slug clearbit_production\n# → { \"exists\": true }\n```\n\n## Connector usage audit\n\nFind all connectors and how many plays/tools use each:\n\n```bash\ncargo-ai connection connector list\n# → Check playsCount and toolsCount fields for each connector\n```\n\n## Autocomplete — fetch available values for an action field\n\nWhen an action's `uiSchema` marks a field with `\"ui:widget\": \"IntegrationAutocompleteWidget\"`, use `connector autocomplete` to get the allowed values.\n\n```bash\n# Basic autocomplete (no params needed)\ncargo-ai connection connector autocomplete \\\n  --connector-uuid <connector-uuid> \\\n  --slug listObjects \\\n  --params '{}'\n# → { \"results\": [{ \"label\": \"Contacts\", \"value\": \"contacts\" }, ...] }\n```\n\n## Autocomplete with dependent parameters\n\nSome fields depend on another field's value. Pass the dependency in `--params`:\n\n```bash\n# Get properties for a specific object type\ncargo-ai connection connector autocomplete \\\n  --connector-uuid <connector-uuid> \\\n  --slug listObjectProperties \\\n  --params '{\"objectType\": \"contacts\"}'\n# → { \"results\": [{ \"label\": \"Email\", \"value\": \"email\" }, ...] }\n```\n\n## Autocomplete with search filtering\n\nUse `--value` to filter results by a search string:\n\n```bash\ncargo-ai connection connector autocomplete \\\n  --connector-uuid <connector-uuid> \\\n  --slug listObjectProperties \\\n  --params '{\"objectType\": \"contacts\"}' \\\n  --value \"email\"\n# → Returns only properties matching \"email\"\n```\n\n## Autocomplete with cache refresh\n\nResults are cached (default 30 minutes). Use `--refresh` to bypass the cache:\n\n```bash\ncargo-ai connection connector autocomplete \\\n  --connector-uuid <connector-uuid> \\\n  --slug listObjects \\\n  --params '{}' \\\n  --refresh\n```\n\n## Rate limit awareness\n\nSome connectors have rate limits (visible in the `rateLimit` field from `connector list`):\n\n```bash\ncargo-ai connection connector list\n# → Check rateLimit.unit (day/hour/minute) and rateLimit.max for each connector\n# → Design batches to stay within these limits\n```\n\nFile v1.4.1:references/examples/integrations.md\n\n# Integration examples\n\n## List all available integrations\n\n```bash\ncargo-ai connection integration list\n```\n\nResponse includes `slug`, `name`, `description`, and `category` for each available integration.\n\n## Filter integrations\n\n```bash\n# By category\ncargo-ai connection integration list --category enrichment\n\n# By name search\ncargo-ai connection integration list --search \"hubspot\"\n\n# By exact slug(s)\ncargo-ai connection integration list --slugs clearbit\n\n# Only those with actions (usable in workflow nodes)\ncargo-ai connection integration list --has-actions true\n\n# Only those with extractors (can sync data into models)\ncargo-ai connection integration list --has-extractors true\n```\n\n**Categories:** `engagement`, `marketing`, `sales`, `finance`, `analytics`, `freeform`, `success`, `support`, `enrichment`, `storage`, `custom`.\n\n## Find an integration slug\n\n```bash\ncargo-ai connection integration list --search \"hubspot\"\n# → Extract the \"slug\" value\n# → Use slug when creating connectors: --integration-slug <slug>\n```\n\n## Get full integration details\n\n```bash\ncargo-ai connection integration get clearbit\n# → Returns the full integration object with actions, extractors, and configuration schemas\n```\n\nUse this to discover all available actions and extractors for an integration, including their `config.jsonSchema` for building workflow nodes.\n\n## Get integration documentation\n\n```bash\ncargo-ai connection integration get-documentation clearbit\ncargo-ai connection integration get-documentation hubspot\n```\n\nReturns plain text documentation for the integration, including available actions and their configuration.\n\n## Discover actions for a specific integration (e.g. HubSpot)\n\n```bash\ncargo-ai connection integration get hubspot\n# → Returns HubSpot-specific actions (e.g. \"create_contact\", \"update_deal\") and extractors\n# → Each action includes its config.jsonSchema for building workflow nodes\n\ncargo-ai connection integration get-documentation hubspot\n# → Plain text overview of all HubSpot actions\n```\n\n**Use `integration get <slug>` when you need service-specific actions** — HubSpot, Salesforce, Clearbit, etc.\n\n## Discover native (built-in Cargo) actions and extractors\n\n```bash\ncargo-ai connection native-integration get\n# → Returns built-in Cargo actions ONLY — NOT HubSpot or other third-party actions\n# → actions: keyed by actionSlug (generic platform utilities)\n# → extractors: keyed by extractor slug\n```\n\n**Important:** `native-integration get` does **not** return HubSpot-specific or other third-party connector actions. To get those, use `integration get <slug>` instead.\n\nUse `actionSlug` values in workflow node configs (see `cargo-orchestration/references/nodes.md`).\n\n## Set up a connector for use in workflows (full flow)\n\n```bash\n# 1. Find the integration slug\ncargo-ai connection integration list --search \"hubspot\"\n# → Extract the \"slug\" value\n\n# 2. Create the connector\ncargo-ai connection connector create \\\n  --integration-slug hubspot \\\n  --slug hubspot_production \\\n  --name \"HubSpot - Production\"\n# → Note the returned connector UUID\n\n# 3. Get the integration details to discover available actions\ncargo-ai connection integration get hubspot\n# → Or get plain text docs: cargo-ai connection integration get-documentation hubspot\n\n# 4. Use the connector UUID and action slug in a workflow node\n# See cargo-orchestration references/nodes.md for node syntax\n```\n\n## Common integration slugs\n\n| Service       | Slug           |\n| ------------- | -------------- |\n| Clearbit      | `clearbit`     |\n| HubSpot       | `hubspot`      |\n| Salesforce    | `salesforce`   |\n| Apollo.io     | `apolloio`     |\n| HTTP (custom) | `http`         |\n| Slack         | `slack`        |\n| Google Sheets | `googleSheets` |\n\nRun `integration list` for the complete current list.\n\nFile v1.4.1:references/response-shapes.md\n\n# Response shapes\n\nJSON response structures returned by Cargo CLI commands used in the `cargo-connection` skill.\n\n## cargo-ai connection connector list\n\n```json\n{\n  \"connectors\": [\n    {\n      \"uuid\": \"connector-uuid\",\n      \"workspaceUuid\": \"...\",\n      \"userUuid\": \"...\",\n      \"name\": \"Clearbit - Production\",\n      \"slug\": \"clearbit_production\",\n      \"integrationSlug\": \"clearbit\",\n      \"rateLimit\": { \"unit\": \"day\", \"max\": 1000 },\n      \"cacheTtlMilliseconds\": 86400000,\n      \"playsCount\": 2,\n      \"toolsCount\": 5,\n      \"modelsCount\": 0,\n      \"useCredits\": true,\n      \"config\": null,\n      \"createdAt\": \"2025-01-01T00:00:00Z\",\n      \"updatedAt\": \"2025-01-15T00:00:00Z\",\n      \"deletedAt\": null\n    }\n  ]\n}\n```\n\n**Key fields:** `uuid`, `name`, `integrationSlug`, `useCredits`, `playsCount`, `toolsCount`.\n\nWhen `useCredits` is `true`, actions on this connector consume Cargo credits. When `false`, `config` contains the integration-specific credentials.\n\n## cargo-ai connection connector get\n\n```json\n{\n  \"connector\": {\n    \"uuid\": \"connector-uuid\",\n    \"workspaceUuid\": \"...\",\n    \"userUuid\": \"...\",\n    \"name\": \"Clearbit - Production\",\n    \"slug\": \"clearbit_production\",\n    \"integrationSlug\": \"clearbit\",\n    \"rateLimit\": { \"unit\": \"day\", \"max\": 1000 },\n    \"cacheTtlMilliseconds\": 86400000,\n    \"playsCount\": 2,\n    \"toolsCount\": 5,\n    \"modelsCount\": 0,\n    \"useCredits\": true,\n    \"config\": null,\n    \"createdAt\": \"2025-01-01T00:00:00Z\",\n    \"updatedAt\": \"2025-01-15T00:00:00Z\",\n    \"deletedAt\": null\n  }\n}\n```\n\nSame shape as a single item from `connector list`.\n\n## cargo-ai connection integration list\n\nEach integration in the list is a full integration object (same shape as `integration get`).\n\n```json\n{\n  \"integrations\": [\n    {\n      \"slug\": \"clearbit\",\n      \"name\": \"Clearbit\",\n      \"description\": \"Company and person enrichment\",\n      \"category\": \"enrichment\",\n      \"icon\": \"https://...\",\n      \"color\": \"#...\",\n      \"url\": \"https://...\",\n      \"subCategories\": [],\n      \"documentationPath\": \"...\",\n      \"connector\": { \"config\": { \"jsonSchema\": { ... } } },\n      \"actions\": { \"enrichCompanyFromDomain\": { ... } },\n      \"extractors\": {},\n      \"dynamicSchemas\": {}\n    }\n  ]\n}\n```\n\n**Key fields:** `slug` (used when creating connectors and filtering), `name`, `category`, `actions`, `extractors`.\n\nSupports `--category`, `--slugs`, `--search`, `--has-actions`, `--has-extractors` to filter results.\n\n**Integration categories:** `engagement`, `marketing`, `sales`, `finance`, `analytics`, `freeform`, `success`, `support`, `enrichment`, `storage`, `custom`.\n\n## cargo-ai connection integration get\n\nReturns the full integration object, including all actions and extractors with their configuration schemas.\n\n```json\n{\n  \"integration\": {\n    \"slug\": \"clearbit\",\n    \"name\": \"Clearbit\",\n    \"description\": \"Company and person enrichment\",\n    \"category\": \"enrichment\",\n    \"icon\": \"https://...\",\n    \"color\": \"#...\",\n    \"url\": \"https://...\",\n    \"subCategories\": [],\n    \"documentationPath\": \"...\",\n    \"connector\": {\n      \"config\": {\n        \"jsonSchema\": { \"type\": \"object\", \"properties\": { \"apiKey\": { \"type\": \"string\" } } }\n      }\n    },\n    \"actions\": {\n      \"enrichCompanyFromDomain\": {\n        \"name\": \"Enrich Company From Domain\",\n        \"description\": \"Enrich a company by domain\",\n        \"category\": \"enrichment\",\n        \"icon\": \"https://...\",\n        \"isSerialized\": false,\n        \"config\": {\n          \"jsonSchema\": { \"type\": \"object\", \"properties\": { \"domain\": { \"type\": \"string\" } } }\n        },\n        \"output\": {\n          \"schema\": {\n            \"type\": \"object\",\n            \"properties\": { \"name\": { \"type\": \"string\" }, \"domain\": { \"type\": \"string\" } }\n          }\n        },\n        \"credits\": {\n          \"costs\": [{ \"type\": \"fixed\", \"cost\": 1 }]\n        },\n        \"childrenCount\": 0\n      },\n      \"findRecords\": {\n        \"name\": \"Find records\",\n        \"description\": \"Find records matching the given criterias.\",\n        \"category\": \"enrichment\",\n        \"icon\": \"https://...\",\n        \"isSerialized\": false,\n        \"config\": {\n          \"jsonSchema\": {\n            \"type\": \"object\",\n            \"properties\": {\n              \"objectType\": { \"type\": \"string\", \"description\": \"The object type\" },\n              \"propertyName\": { \"type\": \"string\", \"description\": \"Property to search on\" }\n            }\n          },\n          \"uiSchema\": {\n            \"objectType\": {\n              \"ui:widget\": \"IntegrationAutocompleteWidget\",\n              \"ui:options\": {\n                \"slug\": \"listObjects\",\n                \"allowRefresh\": true\n              }\n            },\n            \"propertyName\": {\n              \"ui:widget\": \"IntegrationAutocompleteWidget\",\n              \"ui:options\": {\n                \"slug\": \"listObjectProperties\",\n                \"allowRefresh\": true,\n                \"params\": {\n                  \"objectType\": \"$this.$parent.objectType\"\n                }\n              }\n            }\n          }\n        },\n        \"credits\": {\n          \"costs\": [{ \"type\": \"fixed\", \"cost\": 1 }]\n        },\n        \"childrenCount\": 0\n      }\n    },\n    \"extractors\": {},\n    \"dynamicSchemas\": {}\n  }\n}\n```\n\n**Key fields:** `actions` is keyed by `actionSlug` — use these in workflow connector nodes. Each action's `config.jsonSchema` is its **input**; `output.schema`, when present, is the JSON Schema of what the action **emits** — read it instead of guessing the output shape (not every action declares one; `integration list` includes it too). `connector.config.jsonSchema` describes the credentials needed when creating a connector (for non-credit integrations). `extractors` is keyed by extractor slug — use these when creating models.\n\n**`uiSchema` and autocomplete:** Each action's `config` may include a `uiSchema` alongside `jsonSchema`. When a field in `uiSchema` has `\"ui:widget\": \"IntegrationAutocompleteWidget\"`, its allowed values must be fetched via `connector autocomplete`. The `ui:options.slug` tells you which autocomplete slug to use, and `ui:options.params` (if present) specifies dependent parameters — replace `$this.$parent...` expressions with actual values. See the main SKILL.md for the full autocomplete workflow.\n\n## cargo-ai connection native-integration get\n\n> **Note:** This command returns **built-in Cargo actions only** (e.g. `start`, `end`, `branch`, `filter`, `agent`, `python`). It does **not** return HubSpot, Salesforce, Clearbit, or other third-party connector actions. For those, use `cargo-ai connection integration get <slug>`.\n\n```json\n{\n  \"nativeIntegration\": {\n    \"actions\": {\n      \"send_email\": {\n        \"name\": \"Send Email\",\n        \"description\": \"Send an email via the native Cargo email action\",\n        \"category\": \"enrichment\",\n        \"icon\": \"https://...\",\n        \"isSerialized\": false,\n        \"config\": {\n          \"jsonSchema\": { \"type\": \"object\", \"properties\": { \"domain\": { \"type\": \"string\" } } },\n          \"uiSchema\": {}\n        },\n        \"meta\": {\n          \"jsonSchema\": { \"type\": \"object\" }\n        },\n        \"credits\": {\n          \"costs\": [{ \"type\": \"fixed\", \"cost\": 1 }]\n        },\n        \"childrenCount\": 0\n      }\n    },\n    \"extractors\": {\n      \"contacts\": {\n        \"name\": \"Contacts\",\n        \"description\": \"Sync contacts from integration\",\n        \"icon\": \"https://...\",\n        \"config\": {\n          \"jsonSchema\": { \"type\": \"object\", \"properties\": {} },\n          \"uiSchema\": {}\n        },\n        \"mode\": {\n          \"kind\": \"fetch\",\n          \"isIncremental\": true\n        }\n      }\n    }\n  }\n}\n```\n\n**`actions`** is keyed by action slug. Each key is an `actionSlug` for use in workflow connector nodes.\n\n| Field | Description |\n| ----- | ----------- |\n| `name` | Display name |\n| `description` | What the action does |\n| `category` | One of: `invisible`, `logic`, `storage`, `ai`, `sales`, `code` |\n| `icon` | Icon URL |\n| `config.jsonSchema` | JSON Schema describing the action's input parameters |\n| `config.uiSchema` | UI hints for each field — check for `IntegrationAutocompleteWidget` to detect autocomplete fields |\n| `childrenCount` | Number of child branches (0 for most actions) |\n| `credits.costs` | Credit cost per execution. Each cost has `type` (`fixed` or `unit`) and `cost` (number) |\n\n**`extractors`** is keyed by extractor slug. Extractors sync data from an integration into a model.\n\n| Field | Description |\n| ----- | ----------- |\n| `name` | Display name |\n| `description` | What the extractor syncs |\n| `icon` | Icon URL |\n| `config.jsonSchema` | JSON Schema describing the extractor's configuration |\n| `mode.kind` | `\"fetch\"` (pull-based) or `\"ingest\"` (push-based) |\n| `mode.isIncremental` | Whether the extractor supports incremental sync (fetch mode only) |\n\n## cargo-ai connection connector autocomplete\n\nFetches the allowed values for a field that uses `IntegrationAutocompleteWidget` in its `uiSchema`.\n\n```json\n{\n  \"results\": [\n    {\n      \"label\": \"Contacts\",\n      \"value\": \"contacts\",\n      \"description\": \"HubSpot contacts object\"\n    },\n    {\n      \"label\": \"Companies\",\n      \"value\": \"companies\"\n    },\n    {\n      \"label\": \"Deals\",\n      \"value\": \"deals\"\n    }\n  ]\n}\n```\n\n| Field | Required | Description |\n| ----- | -------- | ----------- |\n| `label` | yes | Human-readable display name |\n| `value` | yes | The value to use in node config |\n| `description` | no | Additional context about the option |\n| `parent` | no | Parent grouping identifier (for hierarchical options) |\n| `configOverride` | no | Additional config values that should be set when this option is selected |\n\nUse the `value` field when setting the corresponding property in a workflow node's `config`.\n\nFile v1.4.1:references/troubleshooting.md\n\n# Troubleshooting\n\nCommon errors and recovery steps for `cargo-connection` commands.\n\n## General\n\n| Symptom                                      | Cause                            | Fix                                                                       |\n| -------------------------------------------- | -------------------------------- | ------------------------------------------------------------------------- |\n| `{\"errorMessage\": \"...\"}` with non-zero exit | Any CLI error                    | Read the `errorMessage` — it usually says exactly what's wrong            |\n| `command not found: cargo-ai`                | CLI not installed or not in PATH | Run `npm install -g @cargo-ai/cli` or prefix with `npx @cargo-ai/cli`     |\n| `Unauthorized` or `Forbidden`                | Bad or expired credentials       | Re-run `cargo-ai login --oauth` (browser sign-in) or `cargo-ai login --token <token>`; verify with `cargo-ai whoami` |\n\n## Connectors\n\n| Symptom                                 | Cause                                            | Fix                                                                                              |\n| --------------------------------------- | ------------------------------------------------ | ------------------------------------------------------------------------------------------------ |\n| `connector get` returns not found       | Wrong UUID                                       | Re-run `connector list` to get the correct UUID                                                  |\n| `connector create` fails                | Integration slug doesn't exist                   | Run `integration list` to find valid `integrationSlug` values                                    |\n| `connector remove` fails                | Connector is referenced by active plays or tools | Check `playsCount` and `toolsCount` on the connector; remove or update dependent resources first |\n| Workflow fails with connector not found | Connector UUID in node graph is wrong            | Re-run `connector list` to verify the UUID used in the node config                               |\n| Action not executing as expected        | Wrong `actionSlug`                               | For third-party connector actions (HubSpot, Salesforce, etc.), run `integration get <slug>` to see correct `actionSlug` values. Only use `native-integration get` for built-in Cargo actions. |\n\n## Connector autocomplete\n\n| Symptom                                              | Cause                                                              | Fix                                                                                                                          |\n| ---------------------------------------------------- | ------------------------------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------- |\n| `connector autocomplete` returns empty results       | Wrong autocomplete slug or params                                  | Re-check the `uiSchema` from `integration get <slug>` — use the exact `ui:options.slug` and pass required `params`           |\n| `Invalid autocomplete params` error                  | Missing or wrong params keys                                       | Check `ui:options.params` in the `uiSchema` — each key listed there must be provided in `--params` with an actual value       |\n| `connectorNotFound` reason                           | Wrong connector UUID                                               | Re-run `connector list` to get the correct UUID                                                                               |\n| `failedToGetIntegration` reason                      | Integration doesn't support autocomplete for this slug             | Verify the autocomplete slug exists in the integration's `uiSchema` — not all fields use autocomplete                         |\n| Stale or outdated autocomplete results               | Results are cached (default 30 minutes)                            | Pass `--refresh` to bypass the cache                                                                                          |\n| Used a freeform value instead of autocomplete result  | Field requires a specific value from the autocomplete result set   | Always check `uiSchema` for `IntegrationAutocompleteWidget` — if present, fetch and use a `value` from the autocomplete results |\n\n## Integrations\n\n| Symptom                                                 | Cause                                                         | Fix                                                             |\n| ------------------------------------------------------- | ------------------------------------------------------------- | --------------------------------------------------------------- |\n| `integration list` doesn't show an expected integration | Integration may not be available in your region or plan       | Contact Cargo support or check the integrations page in the app |\n| Third-party actions (e.g. HubSpot) not found via `native-integration get` | `native-integration get` only returns built-in Cargo actions | Use `integration get <slug>` (e.g. `integration get hubspot`) to get service-specific actions |\n| OAuth flow incomplete                                   | `complete-oauth` not called after creating an OAuth connector | Complete the OAuth flow through the Cargo app UI or via the API |\n\nFile v1.4.1:skill-card.md\n\n## Description:\n\nConnect Cargo to external systems by guiding connector authentication, integration catalog discovery, and lookup of connector UUIDs and action slugs for workflow nodes.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[cargo-ai](https://clawhub.ai/user/cargo-ai)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nDevelopers and operators use this skill to manage Cargo connectors, inspect supported integrations, resolve action schemas, and prepare connector references for Cargo workflows.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: The skill can guide persistent connector changes, including creating, updating, or removing business integrations.\n\nMitigation: Confirm the active Cargo workspace before write operations and require explicit approval before connector removal.\n\nRisk: Connector setup and updates may involve credentials or API tokens.\n\nMitigation: Avoid pasting real API keys directly in shell commands and prefer a trusted, pinned CLI installation path.\n\n## Reference(s):\n\n- [Cargo skills homepage](https://github.com/getcargohq/cargo-skills)\n- [Connector examples](references/examples/connectors.md)\n- [Integration examples](references/examples/integrations.md)\n- [Response shapes](references/response-shapes.md)\n- [Troubleshooting](references/troubleshooting.md)\n\n## Skill Output:\n\n**Output Type(s):** [text, markdown, shell commands, configuration, guidance]\n\n**Output Format:** [Markdown guidance with inline shell commands and JSON examples]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Cargo CLI commands generally emit JSON responses and may require a signed-in Cargo workspace.]\n\n## Skill Version(s):\n\n1.4.1 (source: frontmatter and release evidence)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nFile v1.4.1:skill-metadata.json\n\n{\n  \"$comment\": \"Generated by .github/scripts/skills-metadata.mjs — do not hand-edit. Regenerate with: node .github/scripts/skills-metadata.mjs --write .\",\n  \"name\": \"cargo-connection\",\n  \"version\": \"1.4.1\",\n  \"documents\": [\n    {\n      \"path\": \"SKILL.md\",\n      \"kind\": \"entrypoint\",\n      \"title\": \"Cargo CLI — Connections\"\n    },\n    {\n      \"path\": \"references/examples/connectors.md\",\n      \"kind\": \"example\",\n      \"title\": \"Connector examples\"\n    },\n    {\n      \"path\": \"references/examples/integrations.md\",\n      \"kind\": \"example\",\n      \"title\": \"Integration examples\"\n    },\n    {\n      \"path\": \"references/response-shapes.md\",\n      \"kind\": \"reference\",\n      \"title\": \"Response shapes\"\n    },\n    {\n      \"path\": \"references/troubleshooting.md\",\n      \"kind\": \"reference\",\n      \"title\": \"Troubleshooting\"\n    }\n  ],\n  \"contentHash\": \"ae89405f866a55232b5302af5075d748d97a56b64b43531540e6385e8114347f\"\n}\n\nArchive v1.4.0: 8 files, 15750 bytes\n\nFiles: references/examples/connectors.md (3769b), references/examples/integrations.md (3830b), references/response-shapes.md (9677b), references/troubleshooting.md (5493b), skill-card.md (2553b), skill-metadata.json (921b), SKILL.md (17573b), _meta.json (135b)\n\nFile v1.4.0:SKILL.md\n\n---\nname: cargo-connection\ndescription: \"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 connectors\\\". Integrations: amplemarket, amplitude, attio, bigQuery, calendly, closecom, contrast, csv, customerio, dbt, emailBison, expandi, googleAds, googleSheets, heyReach, http, hubspot, hubspotMcp, instantly, instantlyV2, intercom, jira, kitt, lemlist, lgm, linkedinAds, linkedinMatchedAudience, livestorm, manus, marketo, metabase, microsoftTeams, mixpanel, netsuite, netsuiteSoap, notionMcp, octave, onesignal, outreach, pipedrive, postgresql, redshift, resend, rift, salesforce, salesforceMcp, salesloft, Sendgrid, sillage, slack, smartlead, snowflake, sql, stripe, and 83 more. Skip when: choosing between enrichment providers for a GTM job — use cargo-gtm and its provider playbooks.\"\nversion: \"1.4.0\"\ncompatibility: Requires @cargo-ai/cli (npm). Sign in or create an account with `cargo-ai login --email` (emailed code, no browser), `--oauth`, or an API token\nhomepage: https://github.com/getcargohq/cargo-skills\nmetadata:\n  author: getcargo\n  openclaw:\n    requires:\n      bins:\n        - cargo-ai\n    install:\n      - kind: node\n        package: \"@cargo-ai/cli@latest\"\n        bins:\n          - cargo-ai\n    homepage: https://github.com/getcargohq/cargo-skills\n---\n\n# Cargo CLI — Connections\n\nConnector and integration management: listing connectors, discovering available integrations, and managing authenticated connector instances.\n\n> See `references/response-shapes.md` for full JSON response structures.\n> See `references/troubleshooting.md` for common errors and how to fix them.\n> See `references/examples/connectors.md` for connector CRUD and discovery examples.\n> See `references/examples/integrations.md` for listing available integrations and OAuth flows.\n> 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.\n\n## Bootstrap\n\nAlready signed in (`cargo-ai whoami` returns a workspace)? Skip to the next section.\n\n```bash\nnpm install -g @cargo-ai/cli            # no global install? prefix every command with `npx @cargo-ai/cli`\ncargo-ai login --email you@company.com  # emailed code, no browser; creates the account on first use\n                                        # alternatives: --oauth (browser) · --token <api-token> (CI)\ncargo-ai whoami                         # confirm the active workspace before any write\n```\n\nEvery 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`](../cargo/references/prerequisites.md) adds the CLI version pin, token scopes, and the admin-only surface.\n\n## Key concepts\n\n**Integration:** The external service type (e.g. HubSpot, Clearbit, Salesforce). Integrations define what actions are available.\n\n**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.\n\n## Discover resources first\n\n**Looking for an action? Search for it — don't browse the catalog.** Two keyword\nsearches cover the whole surface, and both beat paging `integration list` or\nreading a whole `integration get` payload:\n\n```bash\ncargo-ai orchestration action list <query>                # START HERE — connector + native + tools + agents.\n                                                          # Returns a ready-to-run action object (connectorUuid\n                                                          # resolved) and the action's credit costs.\ncargo-ai connection action search <query> --credits-only  # connector catalog only, but filters by category\n                                                          # and by \"is it paid\" — which `action list` cannot.\n```\n\nReach for the catalog commands when you need the *integration*, not an action —\nits auth fields, its extractors, or the full input schema of an action you have\nalready picked:\n\n```bash\ncargo-ai connection connector list                        # all authenticated connectors\ncargo-ai connection integration list                      # all available integration types\ncargo-ai connection integration list --search \"hubspot\"   # search by name\ncargo-ai connection integration get <slug>                # one integration's actions + input schemas\ncargo-ai connection native-integration get                # built-in Cargo actions only (NOT third-party)\n```\n\n### Which action search?\n\n| | `orchestration action list` | `connection action search` |\n|---|---|---|\n| Covers | connector, native, **tools, agents** | connector catalog only |\n| Returns | a runnable `action` object with `connectorUuid`, workspace connectors, `credits`, autocompletes | `integrationSlug` + `actionSlug`, category, `credits` — you assemble the action yourself |\n| Filters | `--kind`, `--integration-slug`, `--limit` | `--category`, `--integration`, **`--credits-only`**, `--limit` |\n| Needs | CLI ≥ 1.0.66 | CLI ≥ 1.0.36 |\n\nDefault to `action list` — it is the one that hands you something you can execute.\nSwitch to `action search` for the two questions it alone answers: *which paid\nactions match this?* (`--credits-only`) and *what does this category offer?*\n(`--category`). Both rank an action-slug or name hit above an integration hit,\nabove a description hit, and require **all** query terms to match.\n\n### `integration get` vs `native-integration get`\n\nThese two commands return **different sets of actions** and are not interchangeable:\n\n| Command | Third-party service actions (HubSpot, Salesforce, Clearbit, …) | Built-in Cargo actions (HTTP, transforms, utilities) | When to use |\n|---|---|---|---|\n| `integration get <slug>` | ✓ | ✗ | You need actions for a specific third-party service — **use this for HubSpot, Salesforce, Clearbit, etc.** |\n| `native-integration get` | ✗ | ✓ | You need Cargo-native capabilities that don't belong to any specific third-party connector |\n\n**Example:** To find HubSpot-specific actions, use `integration get hubspot` — `native-integration get` will not return them.\n\n## Quick reference\n\n```bash\ncargo-ai connection connector list --integration-slug <slug>\ncargo-ai connection connector create --integration-slug <slug> --slug <slug> --name <name>\ncargo-ai connection connector update --uuid <uuid> --name <name>\ncargo-ai connection connector remove <connector-uuid>\ncargo-ai connection connector get <connector-uuid>\ncargo-ai connection connector autocomplete --connector-uuid <uuid> --slug <slug> --params '<json>'\ncargo-ai connection integration list\ncargo-ai connection integration get <slug>\ncargo-ai connection integration get-documentation <slug>\ncargo-ai connection native-integration get\n```\n\n## Connectors\n\nConnectors are authenticated connections to external services.\n\n```bash\n# List all connectors\ncargo-ai connection connector list\n\n# Create a connector\ncargo-ai connection connector create \\\n  --integration-slug clearbit \\\n  --slug clearbit_production \\\n  --name \"Clearbit - Production\"\n\n# Update a connector\ncargo-ai connection connector update --uuid <connector-uuid> --name \"Clearbit - Staging\"\n\n# Remove a connector\ncargo-ai connection connector remove <connector-uuid>\n\n# Check if a connector slug is taken\ncargo-ai connection connector exists-by-slug --slug clearbit_production\n```\n\n**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`.\n\n## Integrations\n\nIntegrations define the available services and their connector actions.\n\n```bash\n# List all available integrations\ncargo-ai connection integration list\n\n# Filter by category\ncargo-ai connection integration list --category enrichment\n\n# Search by name\ncargo-ai connection integration list --search \"hubspot\"\n\n# Find by exact slug(s)\ncargo-ai connection integration list --slugs clearbit\n\n# Only integrations that have actions (usable in workflow nodes)\ncargo-ai connection integration list --has-actions true\n\n# Only integrations that have extractors (can sync data into models)\ncargo-ai connection integration list --has-extractors true\n\n# Get built-in Cargo actions and extractors (NOT third-party connector actions)\ncargo-ai connection native-integration get\n```\n\n**Integration categories:** `engagement`, `marketing`, `sales`, `finance`, `analytics`, `freeform`, `success`, `support`, `enrichment`, `storage`, `custom`.\n\nUse `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`).\n\n## Connector autocomplete — fetching available values for action fields\n\nSome 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`.\n\n### How to detect autocomplete fields\n\nWhen an action's config looks like this:\n\n```json\n{\n  \"jsonSchema\": {\n    \"type\": \"object\",\n    \"properties\": {\n      \"objectType\": { \"type\": \"string\", \"description\": \"The object type\" }\n    }\n  },\n  \"uiSchema\": {\n    \"objectType\": {\n      \"ui:widget\": \"IntegrationAutocompleteWidget\",\n      \"ui:options\": {\n        \"slug\": \"listObjects\",\n        \"allowRefresh\": true\n      }\n    }\n  }\n}\n```\n\nThe `objectType` field requires autocomplete. The `ui:options.slug` (`\"listObjects\"`) is the autocomplete slug you pass to `connector autocomplete`.\n\n### How to call connector autocomplete\n\n```bash\ncargo-ai connection connector autocomplete \\\n  --connector-uuid <connector-uuid> \\\n  --slug <autocomplete-slug> \\\n  --params '{}'\n```\n\n| Flag               | Required | Description                                                       |\n| ------------------ | -------- | ----------------------------------------------------------------- |\n| `--connector-uuid` | yes      | The UUID of the connector to autocomplete against                 |\n| `--slug`           | yes      | The autocomplete slug from `uiSchema[field][\"ui:options\"].slug`   |\n| `--params`         | yes      | JSON object of parameters (use `{}` when none are needed)         |\n| `--value`          | no       | Search string to filter results                                   |\n| `--refresh`        | no       | Bypass cache and fetch fresh results                              |\n\n### Autocomplete with parameters\n\nSome autocomplete fields depend on the value of another field. This is indicated by a `params` object in `ui:options`:\n\n```json\n{\n  \"uiSchema\": {\n    \"objectType\": {\n      \"ui:widget\": \"IntegrationAutocompleteWidget\",\n      \"ui:options\": { \"slug\": \"listObjects\" }\n    },\n    \"propertyName\": {\n      \"ui:widget\": \"IntegrationAutocompleteWidget\",\n      \"ui:options\": {\n        \"slug\": \"listObjectProperties\",\n        \"params\": { \"objectType\": \"$this.$parent.objectType\" }\n      }\n    }\n  }\n}\n```\n\nHere, `propertyName` depends on the selected `objectType`. Replace the `$this.$parent...` expression with the actual value you chose:\n\n```bash\n# 1. First, get the list of object types\ncargo-ai connection connector autocomplete \\\n  --connector-uuid <uuid> --slug listObjects --params '{}'\n\n# 2. Then, get properties for the chosen object type\ncargo-ai connection connector autocomplete \\\n  --connector-uuid <uuid> --slug listObjectProperties \\\n  --params '{\"objectType\": \"contacts\"}'\n```\n\n### Response format\n\n```json\n{\n  \"results\": [\n    { \"label\": \"Contacts\", \"value\": \"contacts\" },\n    { \"label\": \"Companies\", \"value\": \"companies\" },\n    { \"label\": \"Deals\", \"value\": \"deals\" }\n  ]\n}\n```\n\nUse the `value` field in your node config. The `label` is the human-readable display name. Results may also include optional `description` and `parent` fields.\n\n### End-to-end example: configuring a HubSpot action\n\n```bash\n# 1. Find your HubSpot connector UUID\ncargo-ai connection connector list --integration-slug hubspot\n\n# 2. Get HubSpot actions and inspect their config + uiSchema\ncargo-ai connection integration get hubspot\n# → The \"findRecords\" action has objectType with autocomplete slug \"listObjects\"\n\n# 3. Fetch available object types\ncargo-ai connection connector autocomplete \\\n  --connector-uuid <hubspot-connector-uuid> \\\n  --slug listObjects --params '{}'\n# → Returns: contacts, companies, deals, tickets, etc.\n\n# 4. Fetch properties for the chosen object type\ncargo-ai connection connector autocomplete \\\n  --connector-uuid <hubspot-connector-uuid> \\\n  --slug listObjectProperties \\\n  --params '{\"objectType\": \"contacts\"}'\n# → Returns: email, firstname, lastname, phone, etc.\n\n# 5. Use these values in your workflow node config\n```\n\n## Using connector actions in workflows\n\nConnector actions are used as nodes in workflow graphs. To use an action:\n\n```bash\n# 1. Find your connector UUID\ncargo-ai connection connector list\n# → Filter the output by integrationSlug to find the right connector\n\n# 2. Discover the action — search first, and only then read its schema\ncargo-ai orchestration action list <keywords> --integration-slug <integration-slug>\ncargo-ai connection integration get <integration-slug>\n# → actions are keyed by actionSlug, with config.jsonSchema (input) for each\n# → many actions also carry output.schema — the JSON Schema of what the action\n#   emits; use it to wire downstream nodes instead of guessing (absent on some actions)\n# → Or use get-documentation for a plain text overview\n# → Or use native-integration get for built-in Cargo actions (not third-party)\n\n# 3. Reference the connector and action in a node graph\n# See cargo-orchestration references/nodes.md for the full node syntax\n```\n\n### Reading an action's input schema — and where the inputs go\n\nAn 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.\n\n```bash\n# the required input fields for an action:\ncargo-ai connection integration get linkedin \\\n  | jq '.integration.actions.connectProfile.config.schema'\n# → required: linkedinProfileUrl, identityIds\n```\n\nTwo footguns:\n\n- **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`.)\n- **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.\n\nExample connector node (Clearbit company enrichment):\n\n```json\n{\n  \"uuid\": \"node-uuid\",\n  \"slug\": \"enrich\",\n  \"kind\": \"connector\",\n  \"integrationSlug\": \"clearbit\",\n  \"actionSlug\": \"enrichCompany\",\n  \"connectorUuid\": \"<clearbit-connector-uuid>\",\n  \"config\": {\n    \"domain\": {\n      \"kind\": \"templateExpression\",\n      \"expression\": \"{{nodes.start.domain}}\",\n      \"instructTo\": \"none\",\n      \"fromRecipe\": false\n    }\n  },\n  \"childrenUuids\": [\"end-node-uuid\"],\n  \"fallbackOnFailure\": false,\n  \"position\": { \"x\": 0, \"y\": 166 }\n}\n```\n\n## Help\n\nEvery command supports `--help`:\n\n```bash\ncargo-ai connection connector list --help\ncargo-ai connection connector create --help\ncargo-ai connection integration list --help\n```\n\nFile v1.4.0:_meta.json\n\n{\n  \"ownerId\": \"kn7by8t6yt9yghbxtxz6hv0bts87k6bq\",\n  \"slug\": \"cargo-connection\",\n  \"version\": \"1.4.0\",\n  \"publishedAt\": 1787874205923\n}\n\nFile v1.4.0:references/examples/connectors.md\n\n# Connector examples\n\n## List all connectors\n\n```bash\ncargo-ai connection connector list\n```\n\n## Filter connectors by integration\n\n```bash\ncargo-ai connection connector list --integration-slug clearbit\n# → Returns only connectors for the Clearbit integration\n```\n\n## Get a single connector\n\n```bash\ncargo-ai connection connector get <connector-uuid>\n# → Returns the full connector object (same shape as an item from connector list)\n```\n\n## Find a connector UUID for use in a workflow\n\n```bash\n# 1. List connectors (optionally filter by integration)\ncargo-ai connection connector list --integration-slug clearbit\n# → Extract the \"uuid\" field from the right connector\n\n# 2. Use the UUID in your workflow node's connectorUuid config\n```\n\n## Create a connector\n\n```bash\ncargo-ai connection connector create \\\n  --integration-slug clearbit \\\n  --slug clearbit_production \\\n  --name \"Clearbit - Production\"\n```\n\n`--slug` is a unique identifier (no spaces), `--name` is the display name. For credit-based integrations (`useCredits: true`), this is all that's needed. For credential-based integrations, pass `--config` with the integration-specific credentials JSON.\n\n## Update a connector\n\n```bash\ncargo-ai connection connector update --uuid <connector-uuid> --name \"Clearbit - Staging\"\ncargo-ai connection connector update --uuid <connector-uuid> --config '{\"apiKey\":\"new-key\"}'\n```\n\n## Remove a connector\n\n```bash\n# Check usage first — list connectors and check playsCount and toolsCount\ncargo-ai connection connector list\n# → High counts mean the connector is heavily used — remove dependencies before deleting\n\ncargo-ai connection connector remove <connector-uuid>\n```\n\n## Check if a slug is available\n\n```bash\ncargo-ai connection connector exists-by-slug --slug clearbit_production\n# → { \"exists\": true }\n```\n\n## Connector usage audit\n\nFind all connectors and how many plays/tools use each:\n\n```bash\ncargo-ai connection connector list\n# → Check playsCount and toolsCount fields for each connector\n```\n\n## Autocomplete — fetch available values for an action field\n\nWhen an action's `uiSchema` marks a field with `\"ui:widget\": \"IntegrationAutocompleteWidget\"`, use `connector autocomplete` to get the allowed values.\n\n```bash\n# Basic autocomplete (no params needed)\ncargo-ai connection connector autocomplete \\\n  --connector-uuid <connector-uuid> \\\n  --slug listObjects \\\n  --params '{}'\n# → { \"results\": [{ \"label\": \"Contacts\", \"value\": \"contacts\" }, ...] }\n```\n\n## Autocomplete with dependent parameters\n\nSome fields depend on another field's value. Pass the dependency in `--params`:\n\n```bash\n# Get properties for a specific object type\ncargo-ai connection connector autocomplete \\\n  --connector-uuid <connector-uuid> \\\n  --slug listObjectProperties \\\n  --params '{\"objectType\": \"contacts\"}'\n# → { \"results\": [{ \"label\": \"Email\", \"value\": \"email\" }, ...] }\n```\n\n## Autocomplete with search filtering\n\nUse `--value` to filter results by a search string:\n\n```bash\ncargo-ai connection connector autocomplete \\\n  --connector-uuid <connector-uuid> \\\n  --slug listObjectProperties \\\n  --params '{\"objectType\": \"contacts\"}' \\\n  --value \"email\"\n# → Returns only properties matching \"email\"\n```\n\n## Autocomplete with cache refresh\n\nResults are cached (default 30 minutes). Use `--refresh` to bypass the cache:\n\n```bash\ncargo-ai connection connector autocomplete \\\n  --connector-uuid <connector-uuid> \\\n  --slug listObjects \\\n  --params '{}' \\\n  --refresh\n```\n\n## Rate limit awareness\n\nSome connectors have rate limits (visible in the `rateLimit` field from `connector list`):\n\n```bash\ncargo-ai connection connector list\n# → Check rateLimit.unit (day/hour/minute) and rateLimit.max for each connector\n# → Design batches to stay within these limits\n```\n\nFile v1.4.0:references/examples/integrations.md\n\n# Integration examples\n\n## List all available integrations\n\n```bash\ncargo-ai connection integration list\n```\n\nResponse includes `slug`, `name`, `description`, and `category` for each available integration.\n\n## Filter integrations\n\n```bash\n# By category\ncargo-ai connection integration list --category enrichment\n\n# By name search\ncargo-ai connection integration list --search \"hubspot\"\n\n# By exact slug(s)\ncargo-ai connection integration list --slugs clearbit\n\n# Only those with actions (usable in workflow nodes)\ncargo-ai connection integration list --has-actions true\n\n# Only those with extractors (can sync data into models)\ncargo-ai connection integration list --has-extractors true\n```\n\n**Categories:** `engagement`, `marketing`, `sales`, `finance`, `analytics`, `freeform`, `success`, `support`, `enrichment`, `storage`, `custom`.\n\n## Find an integration slug\n\n```bash\ncargo-ai connection integration list --search \"hubspot\"\n# → Extract the \"slug\" value\n# → Use slug when creating connectors: --integration-slug <slug>\n```\n\n## Get full integration details\n\n```bash\ncargo-ai connection integration get clearbit\n# → Returns the full integration object with actions, extractors, and configuration schemas\n```\n\nUse this to discover all available actions and extractors for an integration, including their `config.jsonSchema` for building workflow nodes.\n\n## Get integration documentation\n\n```bash\ncargo-ai connection integration get-documentation clearbit\ncargo-ai connection integration get-documentation hubspot\n```\n\nReturns plain text documentation for the integration, including available actions and their configuration.\n\n## Discover actions for a specific integration (e.g. HubSpot)\n\n```bash\ncargo-ai connection integration get hubspot\n# → Returns HubSpot-specific actions (e.g. \"create_contact\", \"update_deal\") and extractors\n# → Each action includes its config.jsonSchema for building workflow nodes\n\ncargo-ai connection integration get-documentation hubspot\n# → Plain text overview of all HubSpot actions\n```\n\n**Use `integration get <slug>` when you need service-specific actions** — HubSpot, Salesforce, Clearbit, etc.\n\n## Discover native (built-in Cargo) actions and extractors\n\n```bash\ncargo-ai connection native-integration get\n# → Returns built-in Cargo actions ONLY — NOT HubSpot or other third-party actions\n# → actions: keyed by actionSlug (generic platform utilities)\n# → extractors: keyed by extractor slug\n```\n\n**Important:** `native-integration get` does **not** return HubSpot-specific or other third-party connector actions. To get those, use `integration get <slug>` instead.\n\nUse `actionSlug` values in workflow node configs (see `cargo-orchestration/references/nodes.md`).\n\n## Set up a connector for use in workflows (full flow)\n\n```bash\n# 1. Find the integration slug\ncargo-ai connection integration list --search \"hubspot\"\n# → Extract the \"slug\" value\n\n# 2. Create the connector\ncargo-ai connection connector create \\\n  --integration-slug hubspot \\\n  --slug hubspot_production \\\n  --name \"HubSpot - Production\"\n# → Note the returned connector UUID\n\n# 3. Get the integration details to discover available actions\ncargo-ai connection integration get hubspot\n# → Or get plain text docs: cargo-ai connection integration get-documentation hubspot\n\n# 4. Use the connector UUID and action slug in a workflow node\n# See cargo-orchestration references/nodes.md for node syntax\n```\n\n## Common integration slugs\n\n| Service       | Slug           |\n| ------------- | -------------- |\n| Clearbit      | `clearbit`     |\n| HubSpot       | `hubspot`      |\n| Salesforce    | `salesforce`   |\n| Apollo.io     | `apolloio`     |\n| HTTP (custom) | `http`         |\n| Slack         | `slack`        |\n| Google Sheets | `googleSheets` |\n\nRun `integration list` for the complete current list.\n\nFile v1.4.0:references/response-shapes.md\n\n# Response shapes\n\nJSON response structures returned by Cargo CLI commands used in the `cargo-connection` skill.\n\n## cargo-ai connection connector list\n\n```json\n{\n  \"connectors\": [\n    {\n      \"uuid\": \"connector-uuid\",\n      \"workspaceUuid\": \"...\",\n      \"userUuid\": \"...\",\n      \"name\": \"Clearbit - Production\",\n      \"slug\": \"clearbit_production\",\n      \"integrationSlug\": \"clearbit\",\n      \"rateLimit\": { \"unit\": \"day\", \"max\": 1000 },\n      \"cacheTtlMilliseconds\": 86400000,\n      \"playsCount\": 2,\n      \"toolsCount\": 5,\n      \"modelsCount\": 0,\n      \"useCredits\": true,\n      \"config\": null,\n      \"createdAt\": \"2025-01-01T00:00:00Z\",\n      \"updatedAt\": \"2025-01-15T00:00:00Z\",\n      \"deletedAt\": null\n    }\n  ]\n}\n```\n\n**Key fields:** `uuid`, `name`, `integrationSlug`, `useCredits`, `playsCount`, `toolsCount`.\n\nWhen `useCredits` is `true`, actions on this connector consume Cargo credits. When `false`, `config` contains the integration-specific credentials.\n\n## cargo-ai connection connector get\n\n```json\n{\n  \"connector\": {\n    \"uuid\": \"connector-uuid\",\n    \"workspaceUuid\": \"...\",\n    \"userUuid\": \"...\",\n    \"name\": \"Clearbit - Production\",\n    \"slug\": \"clearbit_production\",\n    \"integrationSlug\": \"clearbit\",\n    \"rateLimit\": { \"unit\": \"day\", \"max\": 1000 },\n    \"cacheTtlMilliseconds\": 86400000,\n    \"playsCount\": 2,\n    \"toolsCount\": 5,\n    \"modelsCount\": 0,\n    \"useCredits\": true,\n    \"config\": null,\n    \"createdAt\": \"2025-01-01T00:00:00Z\",\n    \"updatedAt\": \"2025-01-15T00:00:00Z\",\n    \"deletedAt\": null\n  }\n}\n```\n\nSame shape as a single item from `connector list`.\n\n## cargo-ai connection integration list\n\nEach integration in the list is a full integration object (same shape as `integration get`).\n\n```json\n{\n  \"integrations\": [\n    {\n      \"slug\": \"clearbit\",\n      \"name\": \"Clearbit\",\n      \"description\": \"Company and person enrichment\",\n      \"category\": \"enrichment\",\n      \"icon\": \"https://...\",\n      \"color\": \"#...\",\n      \"url\": \"https://...\",\n      \"subCategories\": [],\n      \"documentationPath\": \"...\",\n      \"connector\": { \"config\": { \"jsonSchema\": { ... } } },\n      \"actions\": { \"enrichCompanyFromDomain\": { ... } },\n      \"extractors\": {},\n      \"dynamicSchemas\": {}\n    }\n  ]\n}\n```\n\n**Key fields:** `slug` (used when creating connectors and filtering), `name`, `category`, `actions`, `extractors`.\n\nSupports `--category`, `--slugs`, `--search`, `--has-actions`, `--has-extractors` to filter results.\n\n**Integration categories:** `engagement`, `marketing`, `sales`, `finance`, `analytics`, `freeform`, `success`, `support`, `enrichment`, `storage`, `custom`.\n\n## cargo-ai connection integration get\n\nReturns the full integration object, including all actions and extractors with their configuration schemas.\n\n```json\n{\n  \"integration\": {\n    \"slug\": \"clearbit\",\n    \"name\": \"Clearbit\",\n    \"description\": \"Company and person enrichment\",\n    \"category\": \"enrichment\",\n    \"icon\": \"https://...\",\n    \"color\": \"#...\",\n    \"url\": \"https://...\",\n    \"subCategories\": [],\n    \"documentationPath\": \"...\",\n    \"connector\": {\n      \"config\": {\n        \"jsonSchema\": { \"type\": \"object\", \"properties\": { \"apiKey\": { \"type\": \"string\" } } }\n      }\n    },\n    \"actions\": {\n      \"enrichCompanyFromDomain\": {\n        \"name\": \"Enrich Company From Domain\",\n        \"description\": \"Enrich a company by domain\",\n        \"category\": \"enrichment\",\n        \"icon\": \"https://...\",\n        \"isSerialized\": false,\n        \"config\": {\n          \"jsonSchema\": { \"type\": \"object\", \"properties\": { \"domain\": { \"type\": \"string\" } } }\n        },\n        \"output\": {\n          \"schema\": {\n            \"type\": \"object\",\n            \"properties\": { \"name\": { \"type\": \"string\" }, \"domain\": { \"type\": \"string\" } }\n          }\n        },\n        \"credits\": {\n          \"costs\": [{ \"type\": \"fixed\", \"cost\": 1 }]\n        },\n        \"childrenCount\": 0\n      },\n      \"findRecords\": {\n        \"name\": \"Find records\",\n        \"description\": \"Find records matching the given criterias.\",\n        \"category\": \"enrichment\",\n        \"icon\": \"https://...\",\n        \"isSerialized\": false,\n        \"config\": {\n          \"jsonSchema\": {\n            \"type\": \"object\",\n            \"properties\": {\n              \"objectType\": { \"type\": \"string\", \"description\": \"The object type\" },\n              \"propertyName\": { \"type\": \"string\", \"description\": \"Property to search on\" }\n            }\n          },\n          \"uiSchema\": {\n            \"objectType\": {\n              \"ui:widget\": \"IntegrationAutocompleteWidget\",\n              \"ui:options\": {\n                \"slug\": \"listObjects\",\n                \"allowRefresh\": true\n              }\n            },\n            \"propertyName\": {\n              \"ui:widget\": \"IntegrationAutocompleteWidget\",\n              \"ui:options\": {\n                \"slug\": \"listObjectProperties\",\n                \"allowRefresh\": true,\n                \"params\": {\n                  \"objectType\": \"$this.$parent.objectType\"\n                }\n              }\n            }\n          }\n        },\n        \"credits\": {\n          \"costs\": [{ \"type\": \"fixed\", \"cost\": 1 }]\n        },\n        \"childrenCount\": 0\n      }\n    },\n    \"extractors\": {},\n    \"dynamicSchemas\": {}\n  }\n}\n```\n\n**Key fields:** `actions` is keyed by `actionSlug` — use these in workflow connector nodes. Each action's `config.jsonSchema` is its **input**; `output.schema`, when present, is the JSON Schema of what the action **emits** — read it instead of guessing the output shape (not every action declares one; `integration list` includes it too). `connector.config.jsonSchema` describes the credentials needed when creating a connector (for non-credit integrations). `extractors` is keyed by extractor slug — use these when creating models.\n\n**`uiSchema` and autocomplete:** Each action's `config` may include a `uiSchema` alongside `jsonSchema`. When a field in `uiSchema` has `\"ui:widget\": \"IntegrationAutocompleteWidget\"`, its allowed values must be fetched via `connector autocomplete`. The `ui:options.slug` tells you which autocomplete slug to use, and `ui:options.params` (if present) specifies dependent parameters — replace `$this.$parent...` expressions with actual values. See the main SKILL.md for the full autocomplete workflow.\n\n## cargo-ai connection native-integration get\n\n> **Note:** This command returns **built-in Cargo actions only** (e.g. `start`, `end`, `branch`, `filter`, `agent`, `python`). It does **not** return HubSpot, Salesforce, Clearbit, or other third-party connector actions. For those, use `cargo-ai connection integration get <slug>`.\n\n```json\n{\n  \"nativeIntegration\": {\n    \"actions\": {\n      \"send_email\": {\n        \"name\": \"Send Email\",\n        \"description\": \"Send an email via the native Cargo email action\",\n        \"category\": \"enrichment\",\n        \"icon\": \"https://...\",\n        \"isSerialized\": false,\n        \"config\": {\n          \"jsonSchema\": { \"type\": \"object\", \"properties\": { \"domain\": { \"type\": \"string\" } } },\n          \"uiSchema\": {}\n        },\n        \"meta\": {\n          \"jsonSchema\": { \"type\": \"object\" }\n        },\n        \"credits\": {\n          \"costs\": [{ \"type\": \"fixed\", \"cost\": 1 }]\n        },\n        \"childrenCount\": 0\n      }\n    },\n    \"extractors\": {\n      \"contacts\": {\n        \"name\": \"Contacts\",\n        \"description\": \"Sync contacts from integration\",\n        \"icon\": \"https://...\",\n        \"config\": {\n          \"jsonSchema\": { \"type\": \"object\", \"properties\": {} },\n          \"uiSchema\": {}\n        },\n        \"mode\": {\n          \"kind\": \"fetch\",\n          \"isIncremental\": true\n        }\n      }\n    }\n  }\n}\n```\n\n**`actions`** is keyed by action slug. Each key is an `actionSlug` for use in workflow connector nodes.\n\n| Field | Description |\n| ----- | ----------- |\n| `name` | Display name |\n| `description` | What the action does |\n| `category` | One of: `invisible`, `logic`, `storage`, `ai`, `sales`, `code` |\n| `icon` | Icon URL |\n| `config.jsonSchema` | JSON Schema describing the action's input parameters |\n| `config.uiSchema` | UI hints for each field — check for `IntegrationAutocompleteWidget` to detect autocomplete fields |\n| `childrenCount` | Number of child branches (0 for most actions) |\n| `credits.costs` | Credit cost per execution. Each cost has `type` (`fixed` or `unit`) and `cost` (number) |\n\n**`extractors`** is keyed by extractor slug. Extractors sync data from an integration into a model.\n\n| Field | Description |\n| ----- | ----------- |\n| `name` | Display name |\n| `description` | What the extractor syncs |\n| `icon` | Icon URL |\n| `config.jsonSchema` | JSON Schema describing the extractor's configuration |\n| `mode.kind` | `\"fetch\"` (pull-based) or `\"ingest\"` (push-based) |\n| `mode.isIncremental` | Whether the extractor supports incremental sync (fetch mode only) |\n\n## cargo-ai connection connector autocomplete\n\nFetches the allowed values for a field that uses `IntegrationAutocompleteWidget` in its `uiSchema`.\n\n```json\n{\n  \"results\": [\n    {\n      \"label\": \"Contacts\",\n      \"value\": \"contacts\",\n      \"description\": \"HubSpot contacts object\"\n    },\n    {\n      \"label\": \"Companies\",\n      \"value\": \"companies\"\n    },\n    {\n      \"label\": \"Deals\",\n      \"value\": \"deals\"\n    }\n  ]\n}\n```\n\n| Field | Required | Description |\n| ----- | -------- | ----------- |\n| `label` | yes | Human-readable display name |\n| `value` | yes | The value to use in node config |\n| `description` | no | Additional context about the option |\n| `parent` | no | Parent grouping identifier (for hierarchical options) |\n| `configOverride` | no | Additional config values that should be set when this option is selected |\n\nUse the `value` field when setting the corresponding property in a workflow node's `config`.\n\nFile v1.4.0:references/troubleshooting.md\n\n# Troubleshooting\n\nCommon errors and recovery steps for `cargo-connection` commands.\n\n## General\n\n| Symptom                                      | Cause                            | Fix                                                                       |\n| -------------------------------------------- | -------------------------------- | ------------------------------------------------------------------------- |\n| `{\"errorMessage\": \"...\"}` with non-zero exit | Any CLI error                    | Read the `errorMessage` — it usually says exactly what's wrong            |\n| `command not found: cargo-ai`                | CLI not installed or not in PATH | Run `npm install -g @cargo-ai/cli` or prefix with `npx @cargo-ai/cli`     |\n| `Unauthorized` or `Forbidden`                | Bad or expired credentials       | Re-run `cargo-ai login --oauth` (browser sign-in) or `cargo-ai login --token <token>`; verify with `cargo-ai whoami` |\n\n## Connectors\n\n| Symptom                                 | Cause                                            | Fix                                                                                              |\n| --------------------------------------- | ------------------------------------------------ | ------------------------------------------------------------------------------------------------ |\n| `connector get` returns not found       | Wrong UUID                                       | Re-run `connector list` to get the correct UUID                                                  |\n| `connector create` fails                | Integration slug doesn't exist                   | Run `integration list` to find valid `integrationSlug` values                                    |\n| `connector remove` fails                | Connector is referenced by active plays or tools | Check `playsCount` and `toolsCount` on the connector; remove or update dependent resources first |\n| Workflow fails with connector not found | Connector UUID in node graph is wrong            | Re-run `connector list` to verify the UUID used in the node config                               |\n| Action not executing as expected        | Wrong `actionSlug`                               | For third-party connector actions (HubSpot, Salesforce, etc.), run `integration get <slug>` to see correct `actionSlug` values. Only use `native-integration get` for built-in Cargo actions. |\n\n## Connector autocomplete\n\n| Symptom                                              | Cause                                                              | Fix                                                                                                                          |\n| ---------------------------------------------------- | ------------------------------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------- |\n| `connector autocomplete` returns empty results       | Wrong autocomplete slug or params                                  | Re-check the `uiSchema` from `integration get <slug>` — use the exact `ui:options.slug` and pass required `params`           |\n| `Invalid autocomplete params` error                  | Missing or wrong params keys                                       | Check `ui:options.params` in the `uiSchema` — each key listed there must be provided in `--params` with an actual value       |\n| `connectorNotFound` reason                           | Wrong connector UUID                                               | Re-run `connector list` to get the correct UUID                                                                               |\n| `failedToGetIntegration` reason                      | Integration doesn't support autocomplete for this slug             | Verify the autocomplete slug exists in the integration's `uiSchema` — not all fields use autocomplete                         |\n| Stale or outdated autocomplete results               | Results are cached (default 30 minutes)                            | Pass `--refresh` to bypass the cache                                                                                          |\n| Used a freeform value instead of autocomplete result  | Field requires a specific value from the autocomplete result set   | Always check `uiSchema` for `IntegrationAutocompleteWidget` — if present, fetch and use a `value` from the autocomplete results |\n\n## Integrations\n\n| Symptom                                                 | Cause                                                         | Fix                                                             |\n| ------------------------------------------------------- | ------------------------------------------------------------- | --------------------------------------------------------------- |\n| `integration list` doesn't show an expected integration | Integration may not be available in your region or plan       | Contact Cargo support or check the integrations page in the app |\n| Third-party actions (e.g. HubSpot) not found via `native-integration get` | `native-integration get` only returns built-in Cargo actions | Use `integration get <slug>` (e.g. `integration get hubspot`) to get service-specific actions |\n| OAuth flow incomplete                                   | `complete-oauth` not called after creating an OAuth connector | Complete the OAuth flow through the Cargo app UI or via the API |\n\nFile v1.4.0:skill-card.md\n\n## Description:\n\nCargo Connection helps agents manage Cargo connector authentication, discover integrations and actions, and resolve connector UUIDs and action slugs for workflows.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[cargo-ai](https://clawhub.ai/user/cargo-ai)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nCargo users and workflow builders use this skill to connect external systems to Cargo, inspect available integrations and actions, and retrieve connector and action identifiers needed in Cargo workflows.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Connector commands can handle sensitive credentials or change authenticated external-service connections.\n\nMitigation: Install only if you use Cargo and trust the @cargo-ai/cli package; avoid putting secrets directly in shell commands when possible and confirm the active workspace with cargo-ai whoami before write operations.\n\nRisk: Removing or changing a connector can disrupt Cargo plays, tools, or workflows that depend on it.\n\nMitigation: Check dependent plays, tools, and connector usage counts before removing a connector or changing its configuration.\n\nRisk: Incorrect connector UUIDs, action slugs, or autocomplete values can cause workflow failures or empty action results.\n\nMitigation: Resolve actions and connector identifiers with the Cargo CLI discovery commands, and use connector autocomplete for fields that require dynamic values.\n\n## Reference(s):\n\n- [ClawHub Skill Page](https://clawhub.ai/cargo-ai/skills/cargo-connection)\n- [Cargo Skills Homepage](https://github.com/getcargohq/cargo-skills)\n- [Connector Examples](references/examples/connectors.md)\n- [Integration Examples](references/examples/integrations.md)\n- [Response Shapes](references/response-shapes.md)\n- [Troubleshooting](references/troubleshooting.md)\n\n## Skill Output:\n\n**Output Type(s):** [Text, Markdown, Shell commands, Configuration, Guidance]\n\n**Output Format:** [Markdown guidance with inline bash commands and JSON examples]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Requires the Cargo CLI and an authenticated Cargo workspace for command execution.]\n\n## Skill Version(s):\n\n1.4.0 (source: frontmatter and server release evidence)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nFile v1.4.0:skill-metadata.json\n\n{\n  \"$comment\": \"Generated by .github/scripts/skills-metadata.mjs — do not hand-edit. Regenerate with: node .github/scripts/skills-metadata.mjs --write .\",\n  \"name\": \"cargo-connection\",\n  \"version\": \"1.4.0\",\n  \"documents\": [\n    {\n      \"path\": \"SKILL.md\",\n      \"kind\": \"entrypoint\",\n      \"title\": \"Cargo CLI — Connections\"\n    },\n    {\n      \"path\": \"references/examples/connectors.md\",\n      \"kind\": \"example\",\n      \"title\": \"Connector examples\"\n    },\n    {\n      \"path\": \"references/examples/integrations.md\",\n      \"kind\": \"example\",\n      \"title\": \"Integration examples\"\n    },\n    {\n      \"path\": \"references/response-shapes.md\",\n      \"kind\": \"reference\",\n      \"title\": \"Response shapes\"\n    },\n    {\n      \"path\": \"references/troubleshooting.md\",\n      \"kind\": \"reference\",\n      \"title\": \"Troubleshooting\"\n    }\n  ],\n  \"contentHash\": \"f13696973045922b006b9665a679d99fd8fb2ed5463a9c4fd3012f0e7eb171f8\"\n}\n\nArchive v1.3.0: 8 files, 14926 bytes\n\nFiles: references/examples/connectors.md (3769b), references/examples/integrations.md (3830b), references/response-shapes.md (9677b), references/troubleshooting.md (5493b), skill-card.md (2499b), skill-metadata.json (921b), SKILL.md (15287b), _meta.json (135b)\n\nFile v1.3.0:SKILL.md\n\n---\nname: cargo-connection\ndescription: \"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 connectors\\\". Integrations: amplemarket, amplitude, attio, bigQuery, calendly, closecom, contrast, csv, customerio, dbt, emailBison, expandi, googleAds, googleSheets, heyReach, http, hubspot, hubspotMcp, instantly, instantlyV2, intercom, jira, kitt, lemlist, lgm, linkedinAds, linkedinMatchedAudience, livestorm, manus, marketo, metabase, microsoftTeams, mixpanel, netsuite, netsuiteSoap, notionMcp, octave, onesignal, outreach, pipedrive, postgresql, redshift, resend, rift, salesforce, salesforceMcp, salesloft, Sendgrid, sillage, slack, smartlead, snowflake, sql, stripe, and 84 more. Skip when: choosing between enrichment providers for a GTM job — use cargo-gtm and its provider playbooks.\"\nversion: \"1.3.0\"\ncompatibility: Requires @cargo-ai/cli (npm). Sign in or create an account with `cargo-ai login --email` (emailed code, no browser), `--oauth`, or an API token\nhomepage: https://github.com/getcargohq/cargo-skills\nmetadata:\n  author: getcargo\n  openclaw:\n    requires:\n      bins:\n        - cargo-ai\n    install:\n      - kind: node\n        package: \"@cargo-ai/cli@latest\"\n        bins:\n          - cargo-ai\n    homepage: https://github.com/getcargohq/cargo-skills\n---\n\n# Cargo CLI — Connections\n\nConnector and integration management: listing connectors, discovering available integrations, and managing authenticated connector instances.\n\n> See `references/response-shapes.md` for full JSON response structures.\n> See `references/troubleshooting.md` for common errors and how to fix them.\n> See `references/examples/connectors.md` for connector CRUD and discovery examples.\n> See `references/examples/integrations.md` for listing available integrations and OAuth flows.\n> 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.\n\n## Bootstrap\n\nAlready signed in (`cargo-ai whoami` returns a workspace)? Skip to the next section.\n\n```bash\nnpm install -g @cargo-ai/cli            # no global install? prefix every command with `npx @cargo-ai/cli`\ncargo-ai login --email you@company.com  # emailed code, no browser; creates the account on first use\n                                        # alternatives: --oauth (browser) · --token <api-token> (CI)\ncargo-ai whoami                         # confirm the active workspace before any write\n```\n\nEvery 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`](../cargo/references/prerequisites.md) adds the CLI version pin, token scopes, and the admin-only surface.\n\n## Key concepts\n\n**Integration:** The external service type (e.g. HubSpot, Clearbit, Salesforce). Integrations define what actions are available.\n\n**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.\n\n## Discover resources first\n\n```bash\ncargo-ai connection connector list                        # all authenticated connectors\ncargo-ai connection integration list                      # all available integration types\ncargo-ai connection integration list --search \"hubspot\"   # search by name\ncargo-ai connection integration get <slug>                # third-party-specific actions (e.g. HubSpot)\ncargo-ai connection native-integration get                # built-in Cargo actions only (NOT third-party)\n```\n\n### `integration get` vs `native-integration get`\n\nThese two commands return **different sets of actions** and are not interchangeable:\n\n| Command | Third-party service actions (HubSpot, Salesforce, Clearbit, …) | Built-in Cargo actions (HTTP, transforms, utilities) | When to use |\n|---|---|---|---|\n| `integration get <slug>` | ✓ | ✗ | You need actions for a specific third-party service — **use this for HubSpot, Salesforce, Clearbit, etc.** |\n| `native-integration get` | ✗ | ✓ | You need Cargo-native capabilities that don't belong to any specific third-party connector |\n\n**Example:** To find HubSpot-specific actions, use `integration get hubspot` — `native-integration get` will not return them.\n\n## Quick reference\n\n```bash\ncargo-ai connection connector list --integration-slug <slug>\ncargo-ai connection connector create --integration-slug <slug> --slug <slug> --name <name>\ncargo-ai connection connector update --uuid <uuid> --name <name>\ncargo-ai connection connector remove <connector-uuid>\ncargo-ai connection connector get <connector-uuid>\ncargo-ai connection connector autocomplete --connector-uuid <uuid> --slug <slug> --params '<json>'\ncargo-ai connection integration list\ncargo-ai connection integration get <slug>\ncargo-ai connection integration get-documentation <slug>\ncargo-ai connection native-integration get\n```\n\n## Connectors\n\nConnectors are authenticated connections to external services.\n\n```bash\n# List all connectors\ncargo-ai connection connector list\n\n# Create a connector\ncargo-ai connection connector create \\\n  --integration-slug clearbit \\\n  --slug clearbit_production \\\n  --name \"Clearbit - Production\"\n\n# Update a connector\ncargo-ai connection connector update --uuid <connector-uuid> --name \"Clearbit - Staging\"\n\n# Remove a connector\ncargo-ai connection connector remove <connector-uuid>\n\n# Check if a connector slug is taken\ncargo-ai connection connector exists-by-slug --slug clearbit_production\n```\n\n**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`.\n\n## Integrations\n\nIntegrations define the available services and their connector actions.\n\n```bash\n# List all available integrations\ncargo-ai connection integration list\n\n# Filter by category\ncargo-ai connection integration list --category enrichment\n\n# Search by name\ncargo-ai connection integration list --search \"hubspot\"\n\n# Find by exact slug(s)\ncargo-ai connection integration list --slugs clearbit\n\n# Only integrations that have actions (usable in workflow nodes)\ncargo-ai connection integration list --has-actions true\n\n# Only integrations that have extractors (can sync data into models)\ncargo-ai connection integration list --has-extractors true\n\n# Get built-in Cargo actions and extractors (NOT third-party connector actions)\ncargo-ai connection native-integration get\n```\n\n**Integration categories:** `engagement`, `marketing`, `sales`, `finance`, `analytics`, `freeform`, `success`, `support`, `enrichment`, `storage`, `custom`.\n\nUse `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`).\n\n## Connector autocomplete — fetching available values for action fields\n\nSome 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`.\n\n### How to detect autocomplete fields\n\nWhen an action's config looks like this:\n\n```json\n{\n  \"jsonSchema\": {\n    \"type\": \"object\",\n    \"properties\": {\n      \"objectType\": { \"type\": \"string\", \"description\": \"The object type\" }\n    }\n  },\n  \"uiSchema\": {\n    \"objectType\": {\n      \"ui:widget\": \"IntegrationAutocompleteWidget\",\n      \"ui:options\": {\n     \n\nArchive v1.2.1: 8 files, 14080 bytes\n\nFiles: references/examples/connectors.md (3769b), references/examples/integrations.md (3826b), references/response-shapes.md (9676b), references/troubleshooting.md (5493b), skill-card.md (2463b), skill-metadata.json (921b), SKILL.md (13673b), _meta.json (135b)\n\nArchive v1.2.0: 8 files, 13971 bytes\n\nFiles: references/examples/connectors.md (3769b), references/examples/integrations.md (3826b), references/response-shapes.md (9676b), references/troubleshooting.md (5493b), skill-card.md (2331b), skill-metadata.json (921b), SKILL.md (13625b), _meta.json (135b)\n\nArchive v1.1.0: 7 files, 12545 bytes\n\nFiles: references/examples/connectors.md (3769b), references/examples/integrations.md (3826b), references/response-shapes.md (9241b), references/troubleshooting.md (5493b), skill-card.md (2166b), SKILL.md (11801b), _meta.json (135b)\n\nArchive v1.0.0: 7 files, 12827 bytes\n\nFiles: references/examples/connectors.md (3769b), references/examples/integrations.md (3826b), references/response-shapes.md (9241b), references/troubleshooting.md (5493b), skill-card.md (2383b), SKILL.md (12237b), _meta.json (135b)","readmeExcerpt":"Skill: cargo-connection Owner: cargo-ai Summary: 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 connecto","codeSnippets":[],"executableExamples":[{"language":"bash","snippet":"npm install -g @cargo-ai/cli            # no global install? prefix every command with `npx @cargo-ai/cli`\ncargo-ai login --email you@company.com  # emailed code, no browser; creates the account on first use\n                                        # alternatives: --oauth (browser) · --token <api-token> (CI)\ncargo-ai whoami                         # confirm the active workspace before any write"},{"language":"bash","snippet":"cargo-ai orchestration action list <query>                # START HERE — connector + native + tools + agents.\n                                                          # Returns a ready-to-run action object (connectorUuid\n                                                          # resolved) and the action's credit costs.\ncargo-ai connection action search <query> --credits-only  # connector catalog only, but filters by category\n                                                          # and by \"is it paid\" — which `action list` cannot."},{"language":"bash","snippet":"cargo-ai connection connector list                        # all authenticated connectors\ncargo-ai connection integration list                      # all available integration types\ncargo-ai connection integration list --search \"hubspot\"   # search by name\ncargo-ai connection integration get <slug>                # one integration's actions + input schemas\ncargo-ai connection native-integration get                # built-in Cargo actions only (NOT third-party)"},{"language":"bash","snippet":"cargo-ai connection connector list --integration-slug <slug>\ncargo-ai connection connector create --integration-slug <slug> --slug <slug> --name <name>\ncargo-ai connection connector update --uuid <uuid> --name <name>\ncargo-ai connection connector remove <connector-uuid>\ncargo-ai connection connector get <connector-uuid>\ncargo-ai connection connector autocomplete --connector-uuid <uuid> --slug <slug> --params '<json>'\ncargo-ai connection integration list\ncargo-ai connection integration get <slug>\ncargo-ai connection integration get-documentation <slug>\ncargo-ai connection native-integration get"},{"language":"bash","snippet":"# List all connectors\ncargo-ai connection connector list\n\n# Create a connector\ncargo-ai connection connector create \\\n  --integration-slug clearbit \\\n  --slug clearbit_production \\\n  --name \"Clearbit - Production\"\n\n# Update a connector\ncargo-ai connection connector update --uuid <connector-uuid> --name \"Clearbit - Staging\"\n\n# Remove a connector\ncargo-ai connection connector remove <connector-uuid>\n\n# Check if a connector slug is taken\ncargo-ai connection connector exists-by-slug --slug clearbit_production"},{"language":"bash","snippet":"# List all available integrations\ncargo-ai connection integration list\n\n# Filter by category\ncargo-ai connection integration list --category enrichment\n\n# Search by name\ncargo-ai connection integration list --search \"hubspot\"\n\n# Find by exact slug(s)\ncargo-ai connection integration list --slugs clearbit\n\n# Only integrations that have actions (usable in workflow nodes)\ncargo-ai connection integration list --has-actions true\n\n# Only integrations that have extractors (can sync data into models)\ncargo-ai connection integration list --has-extractors true\n\n# Get built-in Cargo actions and extractors (NOT third-party connector actions)\ncargo-ai connection native-integration get"}],"parameters":null,"dependencies":[],"permissions":[],"extractedFiles":[{"path":"SKILL.md","content":"---\nname: cargo-connection\ndescription: \"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 connectors\\\". Integrations: amplemarket, amplitude, attio, bigQuery, calendly, closecom, contrast, csv, customerio, dbt, emailBison, expandi, googleAds, googleSheets, heyReach, http, hubspot, hubspotMcp, instantly, instantlyV2, intercom, jira, kitt, lemlist, lgm, linkedinAds, linkedinMatchedAudience, livestorm, manus, marketo, metabase, microsoftTeams, mixpanel, netsuite, netsuiteSoap, notionMcp, octave, onesignal, outreach, pipedrive, postgresql, redshift, resend, rift, salesforce, salesforceMcp, salesloft, Sendgrid, sillage, slack, smartlead, snowflake, sql, stripe, and 82 more. Skip when: choosing between enrichment providers for a GTM job — use cargo-gtm and its provider playbooks.\"\nversion: \"1.5.0\"\ncompatibility: Requires @cargo-ai/cli (npm). Sign in or create an account with `cargo-ai login --email` (emailed code, no browser), `--oauth`, or an API token\nhomepage: https://github.com/getcargohq/cargo-skills\nmetadata:\n  author: getcargo\n  openclaw:\n    requires:\n      bins:\n        - cargo-ai\n    install:\n      - kind: node\n        package: \"@cargo-ai/cli@latest\"\n        bins:\n          - cargo-ai\n    homepage: https://github.com/getcargohq/cargo-skills\n---\n\n# Cargo CLI — Connections\n\nConnector and integration management: listing connectors, discovering available integrations, and managing authenticated connector instances.\n\n> See `references/response-shapes.md` for full JSON response structures.\n> See `references/troubleshooting.md` for common errors and how to fix them.\n> See `references/examples/connectors.md` for connector CRUD and discovery examples.\n> See `references/examples/integrations.md` for listing available integrations and OAuth flows.\n> 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.\n\n## Bootstrap\n\nAlready signed in (`cargo-ai whoami` returns a workspace)? Skip to the next section.\n\n```bash\nnpm install -g @cargo-ai/cli            # no global install? prefix every command with `npx @cargo-ai/cli`\ncargo-ai login --email you@company.com  # emailed code, no browser; creates the account on first use\n                                        # alternatives: --oauth (browser) · --token <api-token> (CI)\ncargo-ai whoami                         # confirm the active workspace before any write\n```\n\nEvery command prints JSO"},{"path":"_meta.json","content":"{\n  \"ownerId\": \"kn7by8t6yt9yghbxtxz6hv0bts87k6bq\",\n  \"slug\": \"cargo-connection\",\n  \"version\": \"1.5.0\",\n  \"publishedAt\": 1789543565115\n}"},{"path":"references/examples/connectors.md","content":"# Connector examples\n\n## List all connectors\n\n```bash\ncargo-ai connection connector list\n```\n\n## Filter connectors by integration\n\n```bash\ncargo-ai connection connector list --integration-slug clearbit\n# → Returns only connectors for the Clearbit integration\n```\n\n## Get a single connector\n\n```bash\ncargo-ai connection connector get <connector-uuid>\n# → Returns the full connector object (same shape as an item from connector list)\n```\n\n## Find a connector UUID for use in a workflow\n\n```bash\n# 1. List connectors (optionally filter by integration)\ncargo-ai connection connector list --integration-slug clearbit\n# → Extract the \"uuid\" field from the right connector\n\n# 2. Use the UUID in your workflow node's connectorUuid config\n```\n\n## Create a connector\n\n```bash\ncargo-ai connection connector create \\\n  --integration-slug clearbit \\\n  --slug clearbit_production \\\n  --name \"Clearbit - Production\"\n```\n\n`--slug` is a unique identifier (no spaces), `--name` is the display name. For credit-based integrations (`useCredits: true`), this is all that's needed. For credential-based integrations, pass `--config` with the integration-specific credentials JSON.\n\n## Update a connector\n\n```bash\ncargo-ai connection connector update --uuid <connector-uuid> --name \"Clearbit - Staging\"\ncargo-ai connection connector update --uuid <connector-uuid> --config '{\"apiKey\":\"new-key\"}'\n```\n\n## Remove a connector\n\n```bash\n# Check usage first — list connectors and check playsCount and toolsCount\ncargo-ai connection connector list\n# → High counts mean the connector is heavily used — remove dependencies before deleting\n\ncargo-ai connection connector remove <connector-uuid>\n```\n\n## Check if a slug is available\n\n```bash\ncargo-ai connection connector exists-by-slug --slug clearbit_production\n# → { \"exists\": true }\n```\n\n## Connector usage audit\n\nFind all connectors and how many plays/tools use each:\n\n```bash\ncargo-ai connection connector list\n# → Check playsCount and toolsCount fields for each connector\n```\n\n## Autocomplete — fetch available values for an action field\n\nWhen an action's `uiSchema` marks a field with `\"ui:widget\": \"IntegrationAutocompleteWidget\"`, use `connector autocomplete` to get the allowed values.\n\n```bash\n# Basic autocomplete (no params needed)\ncargo-ai connection connector autocomplete \\\n  --connector-uuid <connector-uuid> \\\n  --slug listObjects \\\n  --params '{}'\n# → { \"results\": [{ \"label\": \"Contacts\", \"value\": \"contacts\" }, ...] }\n```\n\n## Autocomplete with dependent parameters\n\nSome fields depend on another field's value. Pass the dependency in `--params`:\n\n```bash\n# Get properties for a specific object type\ncargo-ai connection connector autocomplete \\\n  --connector-uuid <connector-uuid> \\\n  --slug listObjectProperties \\\n  --params '{\"objectType\": \"contacts\"}'\n# → { \"results\": [{ \"label\": \"Email\", \"value\": \"email\" }, ...] }\n```\n\n## Autocomplete with search filtering\n\nUse `--value` to filter results by a search string:\n\n```bash\ncargo-ai connection connector autocompl"},{"path":"references/examples/integrations.md","content":"# Integration examples\n\n## List all available integrations\n\n```bash\ncargo-ai connection integration list\n```\n\nResponse includes `slug`, `name`, `description`, and `category` for each available integration.\n\n## Filter integrations\n\n```bash\n# By category\ncargo-ai connection integration list --category enrichment\n\n# By name search\ncargo-ai connection integration list --search \"hubspot\"\n\n# By exact slug(s)\ncargo-ai connection integration list --slugs clearbit\n\n# Only those with actions (usable in workflow nodes)\ncargo-ai connection integration list --has-actions true\n\n# Only those with extractors (can sync data into models)\ncargo-ai connection integration list --has-extractors true\n```\n\n**Categories:** `engagement`, `marketing`, `sales`, `finance`, `analytics`, `freeform`, `success`, `support`, `enrichment`, `storage`, `custom`.\n\n## Find an integration slug\n\n```bash\ncargo-ai connection integration list --search \"hubspot\"\n# → Extract the \"slug\" value\n# → Use slug when creating connectors: --integration-slug <slug>\n```\n\n## Get full integration details\n\n```bash\ncargo-ai connection integration get clearbit\n# → Returns the full integration object with actions, extractors, and configuration schemas\n```\n\nUse this to discover all available actions and extractors for an integration, including their `config.jsonSchema` for building workflow nodes.\n\n## Get integration documentation\n\n```bash\ncargo-ai connection integration get-documentation clearbit\ncargo-ai connection integration get-documentation hubspot\n```\n\nReturns plain text documentation for the integration, including available actions and their configuration.\n\n## Discover actions for a specific integration (e.g. HubSpot)\n\n```bash\ncargo-ai connection integration get hubspot\n# → Returns HubSpot-specific actions (e.g. \"create_contact\", \"update_deal\") and extractors\n# → Each action includes its config.jsonSchema for building workflow nodes\n\ncargo-ai connection integration get-documentation hubspot\n# → Plain text overview of all HubSpot actions\n```\n\n**Use `integration get <slug>` when you need service-specific actions** — HubSpot, Salesforce, Clearbit, etc.\n\n## Discover native (built-in Cargo) actions and extractors\n\n```bash\ncargo-ai connection native-integration get\n# → Returns built-in Cargo actions ONLY — NOT HubSpot or other third-party actions\n# → actions: keyed by actionSlug (generic platform utilities)\n# → extractors: keyed by extractor slug\n```\n\n**Important:** `native-integration get` does **not** return HubSpot-specific or other third-party connector actions. To get those, use `integration get <slug>` instead.\n\nUse `actionSlug` values in workflow node configs (see `cargo-orchestration/references/nodes.md`).\n\n## Set up a connector for use in workflows (full flow)\n\n```bash\n# 1. Find the integration slug\ncargo-ai connection integration list --search \"hubspot\"\n# → Extract the \"slug\" value\n\n# 2. Create the connector\ncargo-ai connection connector create \\\n  --integration-slug hubspot \\\n  --slug hubspot_prod"},{"path":"references/response-shapes.md","content":"# Response shapes\n\nJSON response structures returned by Cargo CLI commands used in the `cargo-connection` skill.\n\n## cargo-ai connection connector list\n\n```json\n{\n  \"connectors\": [\n    {\n      \"uuid\": \"connector-uuid\",\n      \"workspaceUuid\": \"...\",\n      \"userUuid\": \"...\",\n      \"name\": \"Clearbit - Production\",\n      \"slug\": \"clearbit_production\",\n      \"integrationSlug\": \"clearbit\",\n      \"rateLimit\": { \"unit\": \"day\", \"max\": 1000 },\n      \"cacheTtlMilliseconds\": 86400000,\n      \"playsCount\": 2,\n      \"toolsCount\": 5,\n      \"modelsCount\": 0,\n      \"useCredits\": true,\n      \"config\": null,\n      \"createdAt\": \"2025-01-01T00:00:00Z\",\n      \"updatedAt\": \"2025-01-15T00:00:00Z\",\n      \"deletedAt\": null\n    }\n  ]\n}\n```\n\n**Key fields:** `uuid`, `name`, `integrationSlug`, `useCredits`, `playsCount`, `toolsCount`.\n\nWhen `useCredits` is `true`, actions on this connector consume Cargo credits. When `false`, `config` contains the integration-specific credentials.\n\n## cargo-ai connection connector get\n\n```json\n{\n  \"connector\": {\n    \"uuid\": \"connector-uuid\",\n    \"workspaceUuid\": \"...\",\n    \"userUuid\": \"...\",\n    \"name\": \"Clearbit - Production\",\n    \"slug\": \"clearbit_production\",\n    \"integrationSlug\": \"clearbit\",\n    \"rateLimit\": { \"unit\": \"day\", \"max\": 1000 },\n    \"cacheTtlMilliseconds\": 86400000,\n    \"playsCount\": 2,\n    \"toolsCount\": 5,\n    \"modelsCount\": 0,\n    \"useCredits\": true,\n    \"config\": null,\n    \"createdAt\": \"2025-01-01T00:00:00Z\",\n    \"updatedAt\": \"2025-01-15T00:00:00Z\",\n    \"deletedAt\": null\n  }\n}\n```\n\nSame shape as a single item from `connector list`.\n\n## cargo-ai connection integration list\n\nEach integration in the list is a full integration object (same shape as `integration get`).\n\n```json\n{\n  \"integrations\": [\n    {\n      \"slug\": \"clearbit\",\n      \"name\": \"Clearbit\",\n      \"description\": \"Company and person enrichment\",\n      \"category\": \"enrichment\",\n      \"icon\": \"https://...\",\n      \"color\": \"#...\",\n      \"url\": \"https://...\",\n      \"subCategories\": [],\n      \"documentationPath\": \"...\",\n      \"connector\": { \"config\": { \"jsonSchema\": { ... } } },\n      \"actions\": { \"enrichCompanyFromDomain\": { ... } },\n      \"extractors\": {},\n      \"dynamicSchemas\": {}\n    }\n  ]\n}\n```\n\n**Key fields:** `slug` (used when creating connectors and filtering), `name`, `category`, `actions`, `extractors`.\n\nSupports `--category`, `--slugs`, `--search`, `--has-actions`, `--has-extractors` to filter results.\n\n**Integration categories:** `engagement`, `marketing`, `sales`, `finance`, `analytics`, `freeform`, `success`, `support`, `enrichment`, `storage`, `custom`.\n\n## cargo-ai connection integration get\n\nReturns the full integration object, including all actions and extractors with their configuration schemas.\n\n```json\n{\n  \"integration\": {\n    \"slug\": \"clearbit\",\n    \"name\": \"Clearbit\",\n    \"description\": \"Company and person enrichment\",\n    \"category\": \"enrichment\",\n    \"icon\": \"https://...\",\n    \"color\": \"#...\",\n    \"url\": \"https://...\",\n    \"subCategories\": [],\n "}],"languages":[],"docsSourceLabel":"CLAWHUB","editorialOverview":null,"editorialQuality":{"score":100,"threshold":65,"status":"thin","wordCount":1784,"uniquenessScore":39,"reasons":["uniqueness-below-45"]}},"media":{"evidence":{"source":"no-media","verified":false,"confidence":"low","updatedAt":"2026-10-10T09:52:45.977Z","emptyReason":"No screenshots, media assets, or demo links are available."},"primaryImageUrl":null,"mediaAssetCount":0,"assets":[],"demoUrl":null},"ownerResources":{"evidence":{"source":"unclaimed","verified":false,"confidence":"low","updatedAt":"2026-10-10T09:52:45.977Z","emptyReason":"This page has not been claimed by the agent owner."},"hasCustomPage":false,"customPageUpdatedAt":null,"customLinks":[],"structuredLinks":{"docsUrl":null,"demoUrl":null,"supportUrl":null,"pricingUrl":null,"statusUrl":null},"customPage":null},"relatedAgents":{"evidence":{"source":"protocol-neighbors","verified":false,"confidence":"medium","updatedAt":"2026-10-10T13:31:59.240Z","emptyReason":null},"items":[{"id":"8ebccd8e-3863-4187-8355-c3f14e1f9edf","entityType":"agent","canonicalPath":"/agent/iofficeai-aionui","slug":"iofficeai-aionui","name":"AionUi","description":"Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!","url":"https://github.com/iOfficeAI/AionUi","homepage":"https://www.aionui.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-10-09T19:11:12.944Z","createdAt":"2026-02-25T03:38:16.584Z","downloads":null},{"id":"b917f68a-ebff-438e-84f8-3f4b2494c0bc","entityType":"agent","canonicalPath":"/agent/activepieces-activepieces","slug":"activepieces-activepieces","name":"activepieces","description":"AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents","url":"https://github.com/activepieces/activepieces","homepage":"https://www.activepieces.com","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-15T02:22:12.426Z","createdAt":"2026-02-25T03:38:12.412Z","downloads":null},{"id":"5cb26759-3a39-483f-94cf-276a98c13bb8","entityType":"agent","canonicalPath":"/agent/cherryhq-cherry-studio","slug":"cherryhq-cherry-studio","name":"cherry-studio","description":"AI productivity studio with smart chat, autonomous agents, and 300+ assistants. Unified access to frontier LLMs","url":"https://github.com/CherryHQ/cherry-studio","homepage":"https://cherry-ai.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-11T14:38:40.986Z","createdAt":"2026-02-25T03:38:19.379Z","downloads":null},{"id":"6f6582d0-5d76-4f0f-b81d-86520247950b","entityType":"agent","canonicalPath":"/agent/copilotkit-copilotkit","slug":"copilotkit-copilotkit","name":"CopilotKit","description":"The Frontend for Agents & Generative UI. React + Angular","url":"https://github.com/CopilotKit/CopilotKit","homepage":"https://docs.copilotkit.ai","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-03-25T09:50:57.846Z","createdAt":"2026-02-25T03:39:14.617Z","downloads":null}],"links":{"hub":"/agent","source":"/agent/source/clawhub","protocols":[{"label":"OpenClaw","href":"/agent/protocol/openclew"}]}}}