Using Salesforce Marketing Cloud with IBM App Connect Enterprise
Salesforce Marketing Cloud is a customer relationship management platform that provides digital marketing automation and analytics software and services. IBM® App Connect Enterprise provides a Salesforce Marketing Cloud Request node, which enables you to connect to Salesforce Marketing Cloud and issue requests to perform actions on objects such as assets, campaigns, contacts, event definitions, journeys, and locations.
About this task
IBM App Connect Enterprise communicates synchronously with Salesforce Marketing Cloud through the Salesforce Marketing Cloud Request node, which is available on Windows, AIX, and Linux® systems.
- Assets
- Retrieve assets
- Campaigns
- Create campaigns
- Retrieve campaigns
- Delete campaigns
- Associate asset with campaign
- Disassociate asset from campaign
- Categories
- Create category
- Retrieve category
- Update category
- Delete category
- Contacts
- Create contact
- Retrieve contact
- Update contact
- Check deleted contact status
- Data extension values
- Create data extension value
- Retrieve data extension value
- Update data extension value
- Delete data extension value
- Data extension
- Create data extension
- Retrieve data extension
- Update data extension
- Delete data extension
- Event definitions
- Create event definition
- Retrieve event definition
- Update event definition
- Delete event definition
- Journeys
- Create journey
- Retrieve journeys
- Delete journey
- Stop journey
- Publish journey
- Get publish journey status
- Pause journey
- Resume journey
- Locations
- Create location
- Retrieve location
- Update location
- Delete location
For more information about configuring the Salesforce Marketing Cloud Request node, see Salesforce Marketing Cloud Request node.
Procedure
- In the IBM App Connect Enterprise Toolkit, create a flow that contains a Salesforce Marketing Cloud Request node.
- Select the Salesforce Marketing Cloud Request node in the flow to show the node properties in the editor.
- On the Basic tab, click Launch Connector
Discovery. A panel is displayed in which you specify the name of the policy project and vault details to be used during connector discovery.
- Specify the details of the policy project and vault to be
used during connector discovery:
- In the Policy Project field, specify the policy project that is
used to store the policies that are created during connector discovery. Alternatively, you can create a new policy project by clicking New and then specifying the name of the new policy project. Then click Finish.
- Specify the vault to be used during connector discovery. By default, credentials that
are used during connector discovery are stored in an external directory vault, which is
an App Connect Enterprise vault that can be used by any integration server.
Alternatively, you can store the credentials in an integration server vault, which is created in the
integration server's work directory and can be used only by that specific integration server. To specify the vault to be used for storing the credentials, complete the steps in the Using the Connector Discovery wizard section of one of the following topics:
- In the Vault key field, enter the vault key that is used to access the credentials stored in the vault. The vault key must be at least 8 characters in length.
- Optional: By default, the specified vault location and vault key are saved as preferences in the Toolkit so that the values are preset when you launch Connector Discovery. If you do not want the preferences to be saved, deselect Save in vault preferences.
- In the Policy Project field, specify the policy project that is
used to store the policies that are created during connector discovery.
- Click Launch Discovery to start the Connector Discovery wizard for
the Salesforce Marketing Cloud connector. The Connector Discovery window is displayed. If existing Salesforce Marketing Cloud connections (accounts) are available, a list of those connections is displayed. If there are no existing connections, the status of the Salesforce Marketing Cloud connector is shown as
Not connected
.- If one or more Salesforce Marketing Cloud
connections (accounts) are available, complete the following steps:
- Select the connection (account) that you want to use by clicking it.
- Click the required object type and then select the action that you want to perform on the object. For example, to retrieve assets from Salesforce Marketing Cloud, click Assets and then Retrieve assets.
- If there are no existing connections (accounts), complete the following steps:
- Click the down-arrow to display the list of available object types.
- Click the required object type and then select the action that you want to perform on that object. For example, to retrieve assets from Salesforce Marketing Cloud, click Assets and then Retrieve assets.
- Click Connect to display a menu from which you must select one of the
following Authorization types:
- Salesforce Marketing Cloud - Legacy package
- Salesforce Marketing Cloud - Enhanced package
- Select an authorization type and click Continue. A window is displayed in which you enter the details of your account.
- If you selected Salesforce Marketing Cloud - Legacy package as the
authorization type, enter the following details:
- In the Tenant subdomain field, specify the subdomain of your tenant in
the Salesforce Marketing Cloud instance.
The subdomain is a 28-character string that starts with the letters 'mc
'.
For example,mc563885gzs27c5t9-63k636ttgm
', which is part of your endpoint API URL,https//mc563885gzs27c5t9-63k636ttgm.rest.marketingcloudapis.com
.
Contact your Salesforce Marketing Cloud admin to know more about the tenant subdomain name. - In the Client ID field, specify the unique client identifier for the Salesforce Marketing Cloud client application.
- In the Client secret field, specify the client secret for the Salesforce Marketing Cloud application.
- In the Tenant subdomain field, specify the subdomain of your tenant in
the Salesforce Marketing Cloud instance.
- If you selected Salesforce Marketing Cloud - Enhanced package as the
authorization type, enter the following details:
- In the Tenant subdomain field, specify the subdomain of your tenant in
the Salesforce Marketing Cloud instance.
The subdomain is a 28-character string that starts with the letters 'mc
'.
For example,mc563885gzs27c5t9-63k636ttgm
', which is part of your endpoint API URL,https//mc563885gzs27c5t9-63k636ttgm.rest.marketingcloudapis.com
.
Contact your Salesforce Marketing Cloud admin to know more about the tenant subdomain name. - In the Client ID field, specify the unique client identifier for the Salesforce Marketing Cloud client application.
- In the Client secret field, specify the client secret for the Salesforce Marketing Cloud application.
- In the Access token field, specify the access token that is generated from the application client ID and the client secret.
- In the Refresh token field, specify the refresh token that is generated from the application client ID and the client secret
- In the Tenant subdomain field, specify the subdomain of your tenant in
the Salesforce Marketing Cloud instance.
- Click Connect.
- If one or more Salesforce Marketing Cloud
connections (accounts) are available, complete the following steps:
- Set the required connector properties in the wizard.
You can add conditions for the retrieval of the data, by clicking Add condition and then selecting the property that you want to filter on. For example, you can retrieve assets with a specified ID. You can also set properties that specify the maximum number of records to retrieve and the action to be taken if that limit is exceeded.
- When you have finished specifying the properties in the Connector Discovery wizard, click
Save. The credential that is used for connecting to Salesforce Marketing Cloud is stored in the vault, and the other connection details are saved in the Salesforce Marketing Cloud policy. The values of the properties that you set in the wizard are returned to the Salesforce Marketing Cloud Request node in the IBM App Connect Enterprise Toolkit.
- When you have finished discovery and saved the property values, exit the Connector Discovery wizard by clicking the X in the upper-right corner of the window or by pressing Alt+F4.
- Return to editing the Salesforce Marketing Cloud Request node in the IBM App Connect
Enterprise Toolkit. The connector properties that were set in the Connector Discovery wizard (in step 6) are now visible on the Salesforce Marketing Cloud Request node in the property editor. The Basic tab shows the values of the Action and Object properties that you set in the wizard. For example, if you selected Assets > Retrieve assets in the wizard, the following properties are visible on the Basic tab of the node:
- Action -
RETRIEVEALL
- Object -
Asset
The values of the Action and Object properties are displayed in read-only format. If you want to change these values, you can do so by clicking Launch Connector Discovery again and setting new values in the Connector Discovery wizard.
The Schema base name property specifies the base name of the schema files that describe the format of the request and response messages that are sent and received from the Salesforce Marketing Cloud connector. The schema base name is set automatically the first time that you run discovery for the node, and it is based on the current flow name and node name. If you set this property manually before running discovery for the first time, the value that you set is used. If you rename the schemas after discovery, you must edit this property so that it matches the schema base name that is used by the renamed schemas in the project. If you change this property after discovery, you must either rename the schema names to match or run discovery again.
Depending on the action that was selected during discovery, the Connector Discovery wizard generates either a request schema and a response schema, or a response schema only. A request schema is generated only if the selected action and object require a request message. The generated request schema is used for validation of the request message. If the action was
RETRIEVE
orDELETE
, only the response schema is returned by the connector.The generated schema files are added to the project and can be used by a Mapping node for transforming input or output data. The full filename of the schema is derived from the schema base name (such as
gen/MyMessageFlow.Salesforce_Marketing_Cloud_Request
), suffixed with either response.schema.json or request.schema.json. You can open the schema by clicking Open request schema or Open response schema. - Action -
- Check that the property settings on the Salesforce Marketing Cloud Request node are correct and then save the message flow.
- On the Connection tab of the Salesforce Marketing Cloud Request node, the
Policy property shows the name of the policy that contains the details of the
security identity to be used for the connection. The policy has a type of
Salesforce Marketing Cloud
.For more information, see Salesforce Marketing Cloud policy. - Optional: Set the Timeout property on the Connection tab to specify the time (in seconds) that the node waits for Salesforce Marketing Cloud to process the operation.
- The Filter tab of the Salesforce Marketing Cloud Request node contains properties that
control the way in which the message flow selects data. The initial values of these properties are
taken from the property values that were set for the Salesforce Marketing Cloud connector in the Connector
Discovery wizard, including the filter options properties and any conditions that were specified (as
described in step 6). If you subsequently return to the Connector Discovery wizard and change the values of any
properties (by adding new conditions, for example) those updates are reflected in the properties set
on the node.
The Filter Options properties control which objects are to be operated upon when the Salesforce Marketing Cloud Request node executes. The Filter Limit properties control the maximum number of items to be retrieved and the action to be taken if the limit is exceeded.
You can modify the values by clicking Edit next to the value that you want to modify in the Filter Options section, and by changing the property values that have been set in the Filter Limit section.
The property values can be either text values or ESQL or XPATH expressions that are resolved from the contents of the message that is passed to the Salesforce Marketing Cloud Request node as it executes.
- On the Request tab, set the Data location property to specify the location in the incoming message tree that contains the object data to be created in Salesforce Marketing Cloud. This data forms the request that is sent from the Salesforce Marketing Cloud Request node to the Salesforce Marketing Cloud system.
- On the Result tab, set the Output data location property to specify the location in the output message tree to contain the data of the record that is created in Salesforce Marketing Cloud.
- By default, request messages are validated against the request schema that was generated during connector discovery. You can turn off request validation or change the validation settings by using the Validation properties of the Salesforce Marketing Cloud Request node.
- Save the message flow.