
Connecting Datacloud
- 519 installs
- 787 repo stars
- Updated August 5, 2026
- forcedotcom/afv-library
This is a copy of connecting-datacloud by forcedotcom - installs and ranking accrue to the original listing.
connecting-datacloud is a Salesforce Agentforce skill that manages Data Cloud source connections, tests connectors, browses schemas, and prepares ingestion payloads using the sf data360 CLI for developers who onboard new
About
connecting-datacloud is the Connect phase skill in forcedotcom/afv-library for Salesforce Data Cloud integration. It guides agents through sf data360 CLI workflows to create and test source connections, inspect connector metadata, browse source objects or databases, and stage ingestion payloads before harmonization or streaming steps. The skill requires the sf data360 CLI plugin and a Data Cloud-enabled Salesforce org, and it explicitly defers data streams and DLO work to preparing-datacloud, DMO and identity resolution to harmonizing-datacloud, retrieval to retrieving-datacloud, and STDM telemetry to observing-agentforce. Developers reach for connecting-datacloud when wiring CRM, warehouse, or SaaS sources into Data Cloud and validating connector health before downstream mapping, identity resolution, or agent retrieval pipelines run.
- Handles all sf data360 connection * commands
- Performs connector discovery, testing, and schema inspection
- Supports Snowflake, SharePoint Unstructured, and Ingestion API sources
- Manages connection metadata and source-object browsing
- Delegates data streams, DLOs, DMOs and retrieval tasks to sibling skills
Connecting Datacloud by the numbers
- 519 all-time installs (skills.sh)
- Data as of Aug 5, 2026 (Skillselion catalog sync)
npx skills add https://github.com/forcedotcom/afv-library --skill connecting-datacloudAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 519 |
|---|---|
| repo stars | ★ 787 |
| Last updated | August 5, 2026 |
| Repository | forcedotcom/afv-library ↗ |
How do you configure Salesforce Data Cloud source connectors?
Manage Salesforce Data Cloud source connections, test connectors, browse schemas, and prepare ingestion payloads using the sf data360 CLI.
Who is it for?
Salesforce developers and integration engineers setting up or troubleshooting Data Cloud source connections with the sf data360 CLI plugin.
Skip if: Developers working on DMO harmonization, data streams, identity resolution, or Agentforce STDM telemetry without new source connector setup.
When should I use this skill?
The user manages Data Cloud connections, tests connectors, browses source objects, or sets up a new source system with sf data360.
What you get
Tested Data Cloud connector configs, browsed source schemas, and prepared ingestion payload definitions via sf data360 CLI.
- validated connector configurations
- source schema inventories
- ingestion payload definitions
By the numbers
- Part of a multi-skill afv-library Data Cloud workflow spanning at least four related phases
Files
connecting-datacloud: 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 connecting-datacloud 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 → preparing-datacloud
- creating DMOs, mappings, IR rulesets, or data graphs → harmonizing-datacloud
- writing Data Cloud SQL or search-index workflows → retrieving-datacloud
---
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 ../orchestrating-datacloud/references/plugin-setup.md.
- Run the shared readiness classifier before mutating connections:
node ../orchestrating-datacloud/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 ../orchestrating-datacloud/scripts/diagnose-org.mjs -o <org> --phase connect --json2. Discover connector types
sf data360 connection connector-list -o <org> 2>/dev/null
sf data360 data-stream list -o <org> 2>/dev/null3. 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/null4. 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/null5. 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/null6. 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/null7. 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
- README.md
- 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
- ../orchestrating-datacloud/references/plugin-setup.md
- ../orchestrating-datacloud/references/feature-readiness.md
- ../orchestrating-datacloud/UPSTREAM.md
Credits & Acknowledgments
This skill is part of the *-datacloud family of skills covering the full Data Cloud workflow lifecycle. Shared upstream source mapping and maintenance notes live in:
- ../orchestrating-datacloud/CREDITS.md
- ../orchestrating-datacloud/UPSTREAM.md
{
"connectorType": "HerokuPostgres",
"label": "My Heroku DB",
"name": "My_Heroku_DB",
"method": "Ingress",
"credentials": [
{ "paramName": "credentialType", "value": "UsernamePasswordAuthentication" },
{ "paramName": "user", "value": "<HEROKU_DB_USER>" },
{ "paramName": "password", "value": "<HEROKU_DB_PASSWORD>" }
],
"parameters": [
{ "paramName": "jdbc_connection_url", "value": "<HOST>:<PORT>" },
{ "paramName": "DATABASE", "value": "<DATABASE_NAME>" }
]
}
{
"connectorType": "IngestApi",
"label": "<CONNECTOR_LABEL>",
"name": "<CONNECTOR_NAME>"
}
{
"schemas": [
{
"label": "<OBJECT_NAME>",
"name": "<OBJECT_NAME>",
"schemaType": "IngestApi",
"fields": [
{
"name": "Id",
"label": "Id",
"dataType": "Text"
},
{
"name": "Name",
"label": "Name",
"dataType": "Text"
},
{
"name": "Timestamp",
"label": "Timestamp",
"dataType": "DateTime"
},
{
"name": "Value",
"label": "Value",
"dataType": "Number"
}
]
}
]
}
{
"connectorType": "REDSHIFT",
"label": "My Redshift",
"name": "My_Redshift",
"method": "Ingress",
"credentials": [
{ "paramName": "authenticationOption", "value": "usernameAndPassword" },
{ "paramName": "username", "value": "<REDSHIFT_USER>" },
{ "paramName": "password", "value": "<REDSHIFT_PASSWORD>" }
],
"parameters": [
{ "paramName": "url", "value": "<HOST>:<PORT>" },
{ "paramName": "database", "value": "<DATABASE_NAME>" },
{ "paramName": "hasPrivateNetworkRoute", "value": "false" }
]
}
{
"connectorType": "SPUnstructuredDocument",
"label": "My SharePoint Docs",
"name": "My_SharePoint_Docs",
"method": "Ingress",
"credentials": [
{
"paramName": "clientId",
"value": "<AZURE_APP_CLIENT_ID>"
},
{
"paramName": "clientSecret",
"value": "<AZURE_APP_CLIENT_SECRET>"
},
{
"paramName": "tokenEndpoint",
"value": "https://login.microsoftonline.com/<AZURE_TENANT_ID>/oauth2/v2.0/token"
}
]
}
{
"connectorType": "SNOWFLAKE",
"label": "Snowflake Demo",
"name": "Snowflake_Demo",
"method": "Ingress",
"credentials": [
{
"paramName": "credentialType",
"value": "KeyPairAuthentication"
},
{
"paramName": "user",
"value": "<SNOWFLAKE_USERNAME>"
},
{
"paramName": "privateKey",
"value": "<YOUR_PRIVATE_KEY_WITHOUT_BEGIN_END_HEADERS>"
}
],
"parameters": [
{
"paramName": "accountUrl",
"value": "https://<ORG_ID>-<ACCOUNT_ID>.snowflakecomputing.com"
},
{
"paramName": "database",
"value": "<DATABASE_NAME>"
},
{
"paramName": "warehouse",
"value": "<WAREHOUSE_NAME>"
},
{
"paramName": "region",
"value": "<AWS_REGION>"
},
{
"paramName": "hasPrivateNetworkRoute",
"value": "false"
}
]
}
connecting-datacloud
Connection and connector workflows for Salesforce Data Cloud.
Use this skill for
- listing available connector types
- inspecting configured connections
- testing a connection
- browsing source objects, databases, fields, and uploaded schemas
- preparing connector JSON for Snowflake, SharePoint Unstructured, and Ingestion API sources
- preparing for stream creation
Key reminders
connection listrequires--connector-typeconnection testmay need--connector-typefor non-Salesforce name resolution- use
connection schema-upsertafter creating an Ingestion API connector - start with inspection before mutation
- use
2>/dev/nullto suppress linked-plugin warning noise - some connector types can be created by API while downstream stream creation still requires UI flow
Example requests
"Show me which Data Cloud connections already exist in this org"
"Test my Snowflake Data Cloud connection"
"What source objects are available on this Salesforce connector?"
"Help me create an Ingestion API connector and upload its schema"
"Set up a SharePoint Unstructured connection for document ingestion"Common commands
sf data360 connection connector-list -o myorg 2>/dev/null
sf data360 connection list -o myorg --connector-type SalesforceDotCom 2>/dev/null
sf data360 connection get -o myorg --name SalesforceDotCom_Home 2>/dev/null
sf data360 connection test -o myorg --name Snowflake_Demo --connector-type SNOWFLAKE 2>/dev/null
sf data360 connection schema-get -o myorg --name <connector-id> 2>/dev/null
sf data360 connection create -o myorg -f examples/connections/heroku-postgres.json 2>/dev/null
sf data360 connection schema-upsert -o myorg --name <connector-id> -f examples/connections/ingest-api-schema.json 2>/dev/nullExample payloads
- 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
References
- SKILL.md
- ../orchestrating-datacloud/references/plugin-setup.md
- ../orchestrating-datacloud/UPSTREAM.md
- CREDITS.md
Related skills
How it compares
Pick connecting-datacloud over harmonizing-datacloud when the task is wiring and validating source connectors, not mapping DMOs or resolving identities.
FAQ
What CLI does connecting-datacloud require?
connecting-datacloud requires the sf data360 CLI plugin installed locally and a Salesforce org with Data Cloud enabled. Agents use that CLI to manage source connections, test connectors, browse schemas, and prepare ingestion payloads during the Data Cloud Connect phase.
When should connecting-datacloud not be used?
connecting-datacloud should not be used for data streams or DLO setup, DMO harmonization, identity resolution, retrieval search, or STDM telemetry. Those tasks belong to preparing-datacloud, harmonizing-datacloud, retrieving-datacloud, and observing-agentforce respectively in the