Skip to main content

Salesforce Marketing Cloud

Salesforce Marketing Cloud is a comprehensive digital marketing platform that enables businesses to create, manage, and optimize customer journeys across email, social media, mobile, and web channels for personalized marketing experiences.

Salesforce Marketing Cloud icon

Power end-to-end data operations for your Salesforce Marketing Cloud API with Nexla. Our bi-directional Salesforce Marketing Cloud connector is purpose-built for Salesforce Marketing Cloud, making it simple to ingest data, sync it across systems, and deliver it anywhere — all with no coding required. Nexla turns API-sourced data into ready-to-use, reusable data products and makes it easy to send data to Salesforce Marketing Cloud or any other destination. With comprehensive monitoring, lineage tracking, and access controls, Nexla keeps your Salesforce Marketing Cloud workflows fast, secure, and fully governed.

Features

Type: API

SourceDestination

  • Seamless API Integration: Connect to any endpoint as source or destination without coding, with automatic data product creation
  • Visual Composition & Chaining: Build complex integrations using visual templates, chain API calls, and compose workflows with data validation and filtering
  • API Proxy: Expose curated slices of your data securely with a secure and customizable API proxy that validates and transforms data on the fly
  • Request optimization with intelligent batching, retry, and caching to minimize API calls and costs

Prerequisites

Before creating a Salesforce Marketing Cloud credential, you need to obtain your OAuth2 Client ID, Client Secret, and Marketing Cloud subdomain from your Salesforce Marketing Cloud account. Salesforce Marketing Cloud uses OAuth2 2-legged authentication (Server-to-Server OAuth), which allows Nexla to access your account using client credentials without user interaction.

To obtain your Salesforce Marketing Cloud OAuth2 credentials, follow these steps:

  1. Sign in to your Salesforce Marketing Cloud account using your administrator credentials.

  2. Navigate to Setup in your Marketing Cloud account by clicking the gear icon in the top right corner and selecting Setup.

  3. In the Setup menu, navigate to Platform Tools > Apps > Installed Packages or use the Quick Find box to search for Installed Packages.

  4. Click New to create a new installed package for API integration.

  5. Configure your installed package settings:

    • Enter a name for the package (e.g., "Nexla Integration")
    • Select Server-to-Server (Legacy) or Server-to-Server as the integration type
  6. Click Save to create the installed package.

  7. After saving, navigate to the Components tab of your installed package.

  8. Click Add Component and select API Integration.

  9. Configure your API integration settings:

    • Enter a name for the API integration (e.g., "Nexla API Integration")
    • Review and select the permissions or scopes for the integration (if applicable)
  10. Click Save to create the API integration.

  11. Your Client ID (App Key) will be displayed immediately after creation. Copy the Client ID.

  12. Your Client Secret (App Secret) will be displayed immediately after creation. Copy the Client Secret immediately, as it may not be accessible again after you navigate away from the page.

  13. Navigate to your Marketing Cloud account settings to find your Marketing Cloud subdomain. Your subdomain is represented by a 28-character string starting with the letters mc. You can locate your tenant endpoints which contain your subdomain, or find it in your account settings. Copy the subdomain.

  14. Store all credentials securely, as you will need them to configure your Nexla credential. The Client ID, Client Secret, and subdomain are sensitive information and should be kept confidential.

The Client ID and Client Secret are used to authenticate with the Salesforce Marketing Cloud API authentication endpoint (/v2/token) to obtain an access token. The access token is then sent in the Authorization header with the Bearer prefix for all subsequent API requests to the Salesforce Marketing Cloud API. The subdomain is used to construct the authentication and API URLs. The access token is automatically obtained and refreshed by Nexla as needed. If your credentials are compromised, you should immediately revoke them in your Salesforce Marketing Cloud account settings and generate new ones. For detailed information about Salesforce Marketing Cloud OAuth2 authentication, API access, and available endpoints, refer to the Salesforce Marketing Cloud API documentation.

Authenticate

Create a credential in Nexla

  1. After selecting the data source/destination type, click the Add Credential tile to open the Add New Credential overlay.

New Credential Overlay – Salesforce Marketing Cloud

SalesforceMCCred.png
  1. Enter a name for the credential in the Credential Name field and a short, meaningful description in the Credential Description field.

  2. Enter your Marketing Cloud subdomain in the Marketing Cloud Subdomain field. This should be your Marketing Cloud subdomain, which is represented by a 28-character string starting with the letters mc. Locate your tenant endpoints which contain your subdomain, or find it in your Marketing Cloud account settings. The subdomain is used to construct the authentication and API URLs.

  3. Enter your Salesforce Marketing Cloud Client ID in the Marketing Cloud Client ID field. This is the Client ID (first part of the Client Credentials App Key pair) you obtained from your Marketing Cloud account when creating an API Integration (Setup > Installed Packages > Your Package > Components > API Integration). The Client ID is used along with the Client Secret to authenticate with the Salesforce Marketing Cloud API authentication endpoint and obtain an access token.

  4. Enter your Salesforce Marketing Cloud Client Secret in the Client Secret field. This is the Client Secret (second part of the Client Credentials App Key pair) you obtained from your Marketing Cloud account. The Client Secret is used along with the Client ID to authenticate with the Salesforce Marketing Cloud API authentication endpoint and obtain an access token. The Client Secret is sensitive information and must be kept confidential.

    Your Salesforce Marketing Cloud OAuth2 credentials can be found in your Marketing Cloud account under Setup > Installed Packages > Your Package > Components > API Integration. The Client ID and Client Secret are used to authenticate with the Salesforce Marketing Cloud API authentication endpoint (/v2/token) to obtain an access token. The access token is then automatically sent in the Authorization: Bearer {token} header for all subsequent API requests to the Salesforce Marketing Cloud API.

    The access token is automatically obtained and refreshed by Nexla as needed. If your credentials are compromised, you should immediately revoke them in your Marketing Cloud account settings and generate new ones. The Client ID, Client Secret, and subdomain provide access to your Marketing Cloud account data and should be treated as sensitive information. Keep your credentials secure and do not share them publicly.

    For detailed information about Salesforce Marketing Cloud OAuth2 authentication, API access, and available endpoints, see the Salesforce Marketing Cloud API documentation and Request Token documentation.

  5. Click the Save button at the bottom of the overlay. The newly added credential will now appear in a tile on the Authenticate screen during data source/destination creation.

Use as a data source

To create a new data flow, navigate to the Integrate section, and click the New Data Flow button. Select the Salesforce Marketing Cloud connector tile, then select the credential that will be used to connect to your Salesforce Marketing Cloud account, and click Next; or, create a new Salesforce Marketing Cloud credential for use in this flow.

Endpoint templates

Nexla provides pre-built templates that can be used to rapidly configure data sources to ingest data from common Salesforce Marketing Cloud endpoints. Select the endpoint from which this source will fetch data from the Endpoint pulldown menu. Available endpoint templates are listed in the expandable boxes below.

Get Asset by ID

This endpoint template retrieves asset information by asset ID from your Salesforce Marketing Cloud account. Use this template when you need to retrieve detailed information about a specific asset, including asset metadata and properties.

  • Enter the asset ID in the Asset ID field. This should be the unique identifier of the asset you want to retrieve. The asset ID determines which asset's information will be retrieved.

This endpoint returns asset information by asset ID from your Salesforce Marketing Cloud account, including asset metadata and properties. Use this endpoint to retrieve detailed information about a specific asset.

For detailed information about assets, API response structures, and available asset data, see the Salesforce Marketing Cloud API documentation.

Get Binary Files for an Asset

This endpoint template retrieves binary files associated with an asset from your Salesforce Marketing Cloud account. Use this template when you need to retrieve binary file data for a specific asset.

  • Enter the asset ID in the Asset ID field. This should be the unique identifier of the asset for which you want to retrieve binary files. The asset ID determines which asset's binary files will be retrieved.

This endpoint returns binary files associated with an asset from your Salesforce Marketing Cloud account. Use this endpoint to retrieve binary file data for a specific asset.

For detailed information about asset files, API response structures, and available file data, see the Salesforce Marketing Cloud API documentation.

Get Campaign Collection

This endpoint template retrieves a collection of campaigns from your Salesforce Marketing Cloud account. Use this template when you need to retrieve information about marketing campaigns, including campaign IDs, names, and other campaign metadata.

  • This endpoint automatically retrieves all campaigns from your Salesforce Marketing Cloud account. The endpoint uses incrementing page-based pagination to handle large datasets efficiently, returning up to 50 records per page by default.

This endpoint returns a collection of campaigns from your Salesforce Marketing Cloud account, including campaign IDs, names, and other campaign metadata. The endpoint uses incrementing page-based pagination with page and pageSize parameters to handle large datasets efficiently. Nexla will automatically fetch subsequent pages of data by incrementing the page parameter.

For detailed information about campaigns, API response structures, pagination, and available campaign data, see the Salesforce Marketing Cloud API documentation.

Once the selected endpoint template has been configured, click the Test button to the right of the endpoint selection menu to retrieve a sample of the data that will be fetched. Sample data will be displayed in the Endpoint Test Result panel on the right, allowing you to verify that the source is configured correctly before saving.

Manual configuration

Salesforce Marketing Cloud data sources can also be manually configured to ingest data from any valid Salesforce Marketing Cloud API endpoint, including endpoints not covered by the pre-built templates, chained API calls, or custom request parameters. Select the Advanced tab at the top of the configuration screen, and follow the instructions in Connect to Any API to configure the API method, endpoint URL, date/time and lookup macros, path to data, metadata, and request headers.

Salesforce Marketing Cloud API typically uses the GET method for retrieving data. Endpoint URLs should include your subdomain (e.g., https://{subdomain}.rest.marketingcloudapis.com/asset/v1/content/assets/{asset_id}). For the Response Data Path, use $ to extract the entire response for single record endpoints, $.items[*] to extract all items from the items array, or $[*] to extract all items from the response array, depending on your endpoint. Endpoints that support pagination typically use incrementing page-based pagination with page and pageSize parameters.

Once all of the relevant settings have been configured, click the Create button in the upper right corner of the screen to save and create the new Salesforce Marketing Cloud data source. Nexla will now begin ingesting data from the configured endpoint and will organize any data that it finds into one or more Nexsets.

Use as a destination

Click the + icon on the Nexset that will be sent to the Salesforce Marketing Cloud destination, and select the Send to Destination option from the menu. Select the Salesforce Marketing Cloud connector from the list of available destination connectors, then select the credential that will be used to connect to your Salesforce Marketing Cloud account, and click Next; or, create a new Salesforce Marketing Cloud credential for use in this flow.

Endpoint templates

Nexla provides pre-built templates that can be used to rapidly configure destinations to send data to common Salesforce Marketing Cloud endpoints. Select the endpoint to which data will be sent from the Endpoint pulldown menu. Then, click on the template in the list below to expand it, and follow the instructions to configure additional endpoint settings.

Create Assets

This endpoint template creates assets in your Salesforce Marketing Cloud account using records from a Nexset. Use this template when you need to create new marketing assets, such as images, documents, or other content assets.

  • This endpoint sends data as JSON in the request body to create assets in your Salesforce Marketing Cloud account. Each record from your Nexset will be sent as a separate API request to create a new asset in Marketing Cloud. The request body should contain the asset data in the format required by the Salesforce Marketing Cloud API.

This endpoint sends data as JSON in the request body to create assets in your Salesforce Marketing Cloud account. Each record from your Nexset will be sent as a separate API request to create a new asset in Marketing Cloud. The request body should contain the asset data in the format required by the Salesforce Marketing Cloud API, including asset name, type, and other asset properties.

The asset structure must match the Salesforce Marketing Cloud API's expected format. For detailed information about asset creation, request body formats, and available asset properties, see the Salesforce Marketing Cloud API documentation.

Create Categories

This endpoint template creates categories in your Salesforce Marketing Cloud account using records from a Nexset. Use this template when you need to create new asset categories for organizing your marketing assets.

  • This endpoint sends data as JSON in the request body to create categories in your Salesforce Marketing Cloud account. Each record from your Nexset will be sent as a separate API request to create a new category in Marketing Cloud. The request body should contain the category data in the format required by the Salesforce Marketing Cloud API.

This endpoint sends data as JSON in the request body to create categories in your Salesforce Marketing Cloud account. Each record from your Nexset will be sent as a separate API request to create a new category in Marketing Cloud. The request body should contain the category data in the format required by the Salesforce Marketing Cloud API.

The category structure must match the Salesforce Marketing Cloud API's expected format. For detailed information about category creation, request body formats, and available category properties, see the Salesforce Marketing Cloud API documentation.

Manual configuration

Salesforce Marketing Cloud destinations can also be manually configured to send data to any valid Salesforce Marketing Cloud API endpoint. Select the Advanced tab at the top of the configuration screen, and follow the instructions in Connect to Any API to configure the API method, data format, endpoint URL, request headers, attribute exclusions, record batching, and response webhooks.

Salesforce Marketing Cloud API typically uses the POST method and expects JSON format for creating resources. Endpoint URLs should include your subdomain (e.g., https://{subdomain}.rest.marketingcloudapis.com/asset/v1/content/assets). Configure the request body as JSON with field names matching the Salesforce Marketing Cloud API's expected structure for the endpoint (assets, categories, etc.) — typically {message.json} to send the entire Nexset record, or a custom JSON structure with specific field mappings.

Save & activate

Once all endpoint settings have been configured, click the Done button in the upper right corner of the screen to save and create the destination. To send the data to the configured Salesforce Marketing Cloud endpoint, open the destination resource menu, and select Activate.

The Nexset data will not be sent to the Salesforce Marketing Cloud endpoint until the destination is activated. Destinations can be activated immediately or at a later time, providing full control over data movement.