Deploy Data Kit Components by Using Deploy Data Kit Components Flow

Deploy all standard data kit components sequentially to a target org using the Deploy Data Kit Components flow. You provide the input for the flow: data kit name, data space name, and the component payload list and send the POST request to trigger the flow. Before moving to the next component, the flow waits for the deployment status of the previous component. The response body contains the Flow_InterviewGuid.

This flow is available by using the REST API version 61.0 and later.

Required Permissions

User Permission Set Needed
To deploy data kit components: Permission set: Data Cloud Architect

The basic workflow to deploy standard data kit components includes these steps.

  1. Install your package with a data kit and its components in a target org.
  2. Trigger the flow by using the REST API.
curl https://{MyDomainName}.my.salesforce.com/services/data/v{version}/actions/custom/flow/sfdatakit__DeployDataKitComponents

Request Payload Syntax

This is the syntax required for the request payload. The payload can be in either JSON or XML format.

HTTP Method

POST

Authentication

Authorization: Bearer token

Properties

Name Type Description
dataKitComponentsInput sfdatakit__DeployComponentInput Required. A collection of data kit components to deploy. The collection list contains the payload details about the components.
dataKitNameInput Text Required. The data kit name that contains the components.
dataKitDataSpaceInput Text Optional. The name of the data space to deploy the data kit. If a data space isn’t defined, the system deploys the components in the default data space.

Request Payload Examples

The example shows sample input payloads for different data kit components:

Data Stream Bundle

{
    "inputs": [
        {
            "dataKitComponentsInput": [
                {
                    "componentType": "DataStreamBundle",
                    "bundleConfig": {
                        "connectorType": "CRM",
                        "bundleName": "hello",
                        "forceNoRefresh": false,
                        "bundleCRMConfig": {
                            "orgId": "org123"
                        }
                    }
                }
            ],
            "dataKitNameInput": "datakit1",
            "dataKitDataSpaceInput" : "default"
        }
    ]
}

Connector Framework

{
    "inputs": [
        {
            "dataKitComponentsInput": [
                {
                    "componentType": "DataStreamBundle",
                    "bundleConfig": {
                        "connectorType": "MORECONNECTORS",
                        "bundleName": "hello",
                        "forceNoRefresh": false,
                        "bundleConnectorFrameworkConfig": {
                            "connectionName": "name"
                        }
                    }
                }
            ],
            "dataKitNameInput": "datakit1",
            "dataKitDataSpaceInput" : "default"
        }
    ]
}

Ingest API

{
    "inputs": [
        {
            "dataKitComponentsInput": [
                {
                    "componentType": "DataStreamBundle",
                    "bundleConfig": {
                        "connectorType": "INGESTAPI",
                        "bundleName": "hello",
                        "forceNoRefresh": false,
                        "bundleIngestApiConfig": {
                            "connectorName": "name"
                        }
                    }
                }
            ],
            "dataKitNameInput": "datakit1",
            "dataKitDataSpaceInput" : "default"
        }
    ]
}

Streaming App

{
    "inputs": [
        {
            "dataKitComponentsInput": [
                {
                    "componentType": "DataStreamBundle",
                    "bundleConfig": {
                        "connectorType": "STREAMINGAPP",
                        "bundleName": "hello",
                        "forceNoRefresh": false,
                        "bundleStreamingAppConfig": {
                            "connectorName": "name",
                            "streamingAppDataConnectorType": "MobileApp"
                        }
                    }
                }
            ],
            "dataKitNameInput": "datakit1",
            "dataKitDataSpaceInput" : "default"
        }
    ]
}

Calculated Insights

{
    "inputs": [
        {
            "dataKitComponentsInput": [
                {
                    "componentType": "CalculatedInsight",
                    "calculatedInsightsConfig": {
                        "apiName": "crm",
                        "apiNameOverride": "hello",
                        "label": "lab",
                        "publishInterval": "NotScheduled"
                    }
                }
            ],
            "dataKitNameInput": "datakit1",
            "dataKitDataSpaceInput" : "default"
        }
    ]
}

Data Lake Object

{
    "inputs": [
        {
            "dataKitComponentsInput": [
                {
                    "componentType": "DataLakeObject",
                    "dloConfig": {
                        "dataSourceObjectDevName": "crm",
                        "apiName": "hello",
                        "label": "lab"
                    }
                }
            ],
            "dataKitNameInput": "datakit1",
            "dataKitDataSpaceInput" : "default"
        }
    ]
}

Data Graph

{
  "inputs": [
    {
      "dataKitComponentsInput": [
        {
          "components": [
            {
              "type": "DataGraph",
              "config": {
                "templateDevName": "DG1",
                "name": "DG1",
                "label": "DG1"
              }
            }
          ]
        }
      ],
      "dataKitNameInput": "datakit1",
      "dataKitDataSpaceInput": "default"
    }
  ]
}

Data Transform

{
    "inputs": [
        {
            "dataKitComponentsInput": [
                {
                    "componentType": "DataTransform",
                    "dataTransformConfig": {
                        "dataTransformType": "BATCH",
                        "dataTransformDevName": "BatchTransformAccount",
                        "apiName": "BatchTransformAccount",
                        "label": "BatchTransformAccount"
                    }
                }
            ],
            "dataKitNameInput": "datakit1",
            "dataKitDataSpaceInput" : "default"
        }
    ]
}

DataStream B2C Commerce

{
    "inputs": [
        {
            "dataKitComponentsInput": [
                {
                    "components": [
                        {
                            "type": "DataStreamBundle",
                            "config": {
                                "connectorType": "COMMERCE",
                                "bundleName": "commercebundle1",
                                "bundleConfig": {
                                    "instanceId": "bjmp_prd"
                                }
                            }
                        }
                    ]
                }
            ],
            "dataKitNameInput": "datakit1",
            "dataKitDataSpaceInput" : "default"
        }
    ]
}

Identity Resolution

{
    "inputs": [
        {
            "dataKitComponentsInput": [
                {
   "components":[
      {
         "type":"IdentityResolution",
         "config":{
            "dataSpaceName":"default",
            "templateDevName":"Individual_1111",
            "dataKitDevName":"DK6"
         }
      }
   ]
}
            ],
            "dataKitNameInput": "datakit1",
            "dataKitDataSpaceInput" : "default"
        }
    ]
}

Segment

{
    "inputs": [
        {
            "dataKitComponentsInput": [
                {
  "components": [
    {
      "type": "MarketSegment",
      "config": {
        "name": "datakitSegment",
        "dataKitName": "kit01"
      }
    }
  ]
}
            ],
            "dataKitNameInput": "datakit1",
            "dataKitDataSpaceInput" : "default"
        }
    ]
}

To find out which Data 360 components are packageable, see Data 360 Extensibility Readiness Matrix. Deployment Example

This example request triggers the deploy data kit components flow to deploy the data stream bundle, data lake objects, and data transform components from the ** MyTestDatakit** data kit.

curl https://{MyDomainName}.my.salesforce.com/services/data/v{version}/actions/custom/flow/sfdatakit__DeployDataKitComponents

Data Kit Request Body

{
  "inputs": [
    {
      "dataKitComponentsInput": [
        {
          "componentType": "DataStreamBundle",
          "bundleConfig": {
            "connectorType": "CRM",
            "bundleName": "CRMBundleTest",
            "forceNoRefresh": false,
            "bundleCRMConfig": {
              "orgId": "00DU200000051Q5"
            }
          }
        },
        {
          "componentType": "DataLakeObject",
          "dloConfig": {
            "dataSourceObjectDevName": "Account_A_New_DLO",
            "apiName": "Account_A_New_DLO",
            "label": "Account A New DLO"
          }
        },
        {
          "componentType": "DataLakeObject",
          "dloConfig": {
            "dataSourceObjectDevName": "Account_P_New_DLO",
            "apiName": "Account_P_New_DLO",
            "label": "Account P New DLO"
          }
        },
        {
          "componentType": "DataTransform",
          "dataTransformConfig": {
            "dataTransformType": "BATCH",
            "dataTransformDevName": "BatchTransformAccount",
            "apiName": "BatchTransformAccount",
            "label": "BatchTransformAccount"
          }
        }
      ],
      "dataKitNameInput": "MyTestDatakit",
      "dataKitDataSpaceInput": "default"
    }
  ]
}

Data Kit Response Body

{
  "actionName": "sfdatakit__DeployDataKitComponents",
  "errors": null,
  "invocationId": null,
  "isSuccess": true,
  "outputValues": {
    "Flow__InterviewGuid": "43c0ccb801784ff02fa0c8a1919b1877f5-605b",
    "Flow__InterviewStatus": "Waiting"
  },
  "sortOrder": -1,
  "version": 1
}

See Also