data360-connect
forcedotcom/sf-skills
Manage Salesforce Data Cloud connections, connectors, and source system setup.
What is data360-connect?
This skill handles the connection phase of Data Cloud work: creating, testing, and inspecting connectors to external sources like Snowflake, Redshift, SharePoint, and Ingestion APIs. Use it when setting up new source connections, managing connector metadata, or browsing source objects and schemas.
- Discover and list available connector types and existing connections
- Create, test, update, and delete Data Cloud connections
- Inspect source objects, fields, databases, and schemas from connected sources
- Browse connector catalogs and connection metadata
- Set up connector definitions for Snowflake, SharePoint Unstructured, Heroku Postgres, Redshift, and Ingestion API sources
- Validate connections before downstream data stream or harmonization work
How to install data360-connect
npx skills add https://github.com/forcedotcom/sf-skills --skill data360-connect- Salesforce CLI (sf) version 2.0.0 or later
- Node.js version 18.0.0 or later
- Access to target Salesforce org with Data Cloud enabled
- External source system credentials (if creating new connections)
- Data360 Orchestrate plugin installed and configured
How to use data360-connect
- 1.Run the readiness classifier: node ../data360-orchestrate/scripts/diagnose-org.mjs -o <org> --phase connect --json
- 2.Discover available connector types: sf data360 connection connector-list -o <org>
- 3.List existing connections by type: sf data360 connection list -o <org> --connector-type <type>
- 4.Inspect a specific connection: sf data360 connection get -o <org> --name <connection>
- 5.Browse source objects and fields: sf data360 connection objects -o <org> --name <connection>
- 6.Test a connection: sf data360 connection test -o <org> --name <connection> --connector-type <type>
- 7.Create a new connection from curated example: sf data360 connection create -o <org> -f examples/connections/<connector-type>.json
- 8.For Ingestion API, upload schema after creation: sf data360 connection schema-upsert -o <org> --name <connector-id> -f examples/connections/ingest-api-schema.json
Use cases
- Setting up a new Snowflake or Redshift connection to ingest data into Data Cloud
- Testing an existing connection to verify credentials and source accessibility
- Discovering available objects and fields from a connected database or API
- Inspecting connector types already in use across the org
- Uploading schema definitions for Ingestion API connectors
- Data Cloud administrators managing source connections
- Data engineers setting up new connector integrations
- Salesforce architects designing data ingestion pipelines
- Developers automating connector discovery and validation
data360-connect FAQ
Use data360-connect for managing connections, connectors, and source discovery. Use data360-prepare when creating data streams or DLOs (Data Lake Objects) after the connection is ready.
Run sf data360 connection connector-list -o <org> to see the catalog, or inspect existing streams with sf data360 data-stream list -o <org> to see which connectors are already in use.
An empty list usually means the feature is enabled but no connections are configured yet, not that the feature is disabled. Try querying by a specific connector type: sf data360 connection list -o <org> --connector-type SNOWFLAKE.
Most external connectors (Snowflake, Redshift, SharePoint Unstructured, Ingestion API) can be created via API using curated example payloads. Some may still require external system permissions or UI-side credential setup.
Create the connection with ingest-api-connection.json, then upload the schema with schema-upsert using ingest-api-schema.json, then verify with schema-get.
Full instructions (SKILL.md)
Source of truth, from forcedotcom/sf-skills.
name: data360-connect description: "Salesforce Data Cloud Connect phase. Use this skill when the user manages Data Cloud connections, connectors, or sets up a new source system. TRIGGER when: user manages Data Cloud connections, connectors, connector metadata, tests a connection, browses source objects or databases, or sets up a new source system. DO NOT TRIGGER when: the task is about data streams or DLOs (use data360-prepare), DMOs or identity resolution (use data360-harmonize), retrieval/search (use data360-query), or STDM telemetry (use agentforce-observe)." metadata: cliTools: - tool: ["node"] semver: ">=18.0.0" - tool: ["sf"] semver: ">=2.0.0" relatedSkills: - "agentforce-observe" - "data360-harmonize" - "data360-orchestrate" - "data360-prepare" - "data360-query" version: "1.0" domains: ["Data 360"]
data360-connect: Data Cloud Connect Phase
Use this skill when the user needs source connection work: connector discovery, connection metadata, connection testing, source-object browsing, connector schema inspection, or connector-specific setup payloads for external sources.
When This Skill Owns the Task
Use data360-connect when the work involves:
sf data360 connection *- connector catalog inspection
- connection creation, update, test, or delete
- browsing source objects, fields, databases, or schemas
- identifying connector types already in use
- preparing connector definitions for Snowflake, SharePoint Unstructured, or Ingestion API sources
Delegate elsewhere when the user is:
- creating data streams or DLOs → data360-prepare
- creating DMOs, mappings, IR rulesets, or data graphs → data360-harmonize
- writing Data Cloud SQL or search-index workflows → data360-query
Required Context to Gather First
Ask for or infer:
- target org alias
- connector type or source system
- whether the user wants inspection only or live mutation
- connection name or ID if one already exists
- whether credentials are already configured outside the CLI
- whether the user also expects stream creation right after connection setup
- whether the source is a database, an unstructured document source, or an Ingestion API feed
Core Operating Rules
- Verify the plugin runtime first; see ../data360-orchestrate/references/plugin-setup.md.
- Run the shared readiness classifier before mutating connections:
node ../data360-orchestrate/scripts/diagnose-org.mjs -o <org> --phase connect --json. - Prefer read-only discovery before connection creation.
- Suppress linked-plugin warning noise with
2>/dev/nullfor standard usage. - Remember that
connection listrequires--connector-type. - For
connection test, pass--connector-typewhen resolving a non-Salesforce connection by name. - Discover existing connector types from streams first when the org is unfamiliar.
- Use curated example payloads before inventing connector-specific credentials or parameters.
- For connector types outside the curated examples, inspect a known-good UI-created connection via REST before building JSON.
- Do not promise API-based stream creation for every connector type just because connection creation succeeds.
Recommended Workflow
1. Classify readiness for connect work
node ../data360-orchestrate/scripts/diagnose-org.mjs -o <org> --phase connect --json
2. Discover connector types
sf data360 connection connector-list -o <org> 2>/dev/null
sf data360 data-stream list -o <org> 2>/dev/null
3. Inspect connections by type
sf data360 connection list -o <org> --connector-type SalesforceDotCom 2>/dev/null
sf data360 connection list -o <org> --connector-type REDSHIFT 2>/dev/null
sf data360 connection list -o <org> --connector-type SNOWFLAKE 2>/dev/null
4. Inspect a specific connection or uploaded schema
sf data360 connection get -o <org> --name <connection> 2>/dev/null
sf data360 connection objects -o <org> --name <connection> 2>/dev/null
sf data360 connection fields -o <org> --name <connection> 2>/dev/null
sf data360 connection schema-get -o <org> --name <connection-id> 2>/dev/null
5. Test or create only after discovery
sf data360 connection test -o <org> --name <connection> --connector-type <type> 2>/dev/null
sf data360 connection create -o <org> -f connection.json 2>/dev/null
6. Start from curated example payloads for external connectors
Use the phase-owned examples before inventing a payload from scratch:
examples/connections/heroku-postgres.jsonexamples/connections/redshift.jsonexamples/connections/sharepoint-unstructured.jsonexamples/connections/snowflake-connection.jsonexamples/connections/ingest-api-connection.jsonexamples/connections/ingest-api-schema.json
Typical Ingestion API setup flow:
sf data360 connection create -o <org> -f examples/connections/ingest-api-connection.json 2>/dev/null
sf data360 connection schema-upsert -o <org> --name <connector-id> -f examples/connections/ingest-api-schema.json 2>/dev/null
sf data360 connection schema-get -o <org> --name <connector-id> 2>/dev/null
7. Discover payload fields for unknown connector types
Create one in the UI, then inspect it directly:
sf api request rest "/services/data/v66.0/ssot/connections/<id>" -o <org>
High-Signal Gotchas
connection listhas no true global "list all" mode; query by connector type.- The connector catalog name and connection connector type are not always the same label.
connection testmay need--connector-typefor name resolution when the source is not a default Salesforce connector.- An empty connection list usually means "enabled but not configured yet", not "feature disabled".
- Heroku Postgres, Redshift, Snowflake, SharePoint Unstructured, and Ingestion API all use different credential and parameter shapes; reuse the curated examples instead of guessing.
- SharePoint Unstructured uses
clientId,clientSecret, andtokenEndpointin thecredentialsarray and does not require aparametersarray. - Snowflake uses key-pair auth and can often be created through the API, but downstream stream creation can still remain UI-only.
- Ingestion API connector setup is incomplete until
connection schema-upserthas uploaded the object schema. - Some external connector credential setup still depends on UI-side configuration or external-system permissions.
Output Format
Connect task: <inspect / create / test / update>
Connector type: <SalesforceDotCom / REDSHIFT / SNOWFLAKE / SPUnstructuredDocument / IngestApi / ...>
Target org: <alias>
Commands: <key commands run>
Verification: <passed / partial / blocked>
Next step: <prepare phase or connector follow-up>
References
- examples/connections/heroku-postgres.json
- examples/connections/redshift.json
- examples/connections/sharepoint-unstructured.json
- examples/connections/snowflake-connection.json
- examples/connections/ingest-api-connection.json
- examples/connections/ingest-api-schema.json
- ../data360-orchestrate/references/plugin-setup.md
- ../data360-orchestrate/references/feature-readiness.md
Related skills
More from forcedotcom/sf-skills and the wider catalog.

data360-harmonize
Harmonize and unify data in Salesforce Data Cloud with DMOs, mappings, identity resolution, and unified profiles.

data360-orchestrate
Multi-phase Salesforce Data Cloud orchestrator for connect→prepare→harmonize→segment→act pipelines.

data360-prepare
Manage Salesforce Data Cloud data streams, DLOs, transforms, and Document AI ingestion.

data360-query
Query, search, and inspect Salesforce Data Cloud objects with SQL, vector search, and metadata introspection.

data360-schema-get
Retrieve Data Lake Object and Data Model Object schema from Salesforce Data Cloud

data360-segment
Create, publish, and troubleshoot Salesforce Data Cloud segments and calculated insights.