Skip to main content

Salesforce Marketing Cloud Data Source

The Salesforce Marketing Cloud connector enables you to ingest marketing assets, content categories, and campaign data from your Marketing Cloud account into Nexla for downstream analysis, reporting, or delivery to any destination. Follow the instructions below to create a new data flow that ingests data from a Salesforce Marketing Cloud source in Nexla.
sf_mktg_cloud_api.png

Salesforce Marketing Cloud

Create a New Data Flow

  1. To create a new data flow, navigate to the Integrate section, and click the New Data Flow button. Then, select the desired flow type from the list, and click the Create button.

  2. Select the Salesforce Marketing Cloud connector tile from the list of available connectors. Then, select the credential that will be used to connect to the Salesforce Marketing Cloud account, and click Next; or, create a new Salesforce Marketing Cloud credential for use in this flow.

  3. In Nexla, Salesforce Marketing Cloud data sources can be created using pre-built endpoint templates, which expedite source setup for common Salesforce Marketing Cloud endpoints. Each template is designed specifically for the corresponding Salesforce Marketing Cloud endpoint, making source configuration easy and efficient.
    • To configure this source using a template, follow the instructions in Configure Using a Template.

    Salesforce Marketing Cloud sources can also be configured manually, allowing you to ingest data from Salesforce Marketing Cloud endpoints not included in the pre-built templates or apply further customizations to exactly suit your needs.
    • To configure this source manually, follow the instructions in Configure Manually.

Configure Using a Template

Nexla provides pre-built templates that can be used to rapidly configure data sources to ingest data from common Salesforce Marketing Cloud endpoints. Each template is designed specifically for the corresponding Salesforce Marketing Cloud endpoint, making data source setup easy and efficient.

Endpoint Settings

  • 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. Click on an endpoint to see more information about it and how to configure your data source for this endpoint.

    Get Asset by ID

    Retrieve a single content asset from Salesforce Marketing Cloud Content Builder by its unique asset ID. Use this endpoint when you need to fetch the complete metadata and content of a specific asset, such as an email template, image, or document stored in Content Builder.

    • Enter the numeric ID of the asset you want to retrieve in the Asset ID field. Asset IDs are unique integer identifiers assigned by Marketing Cloud when assets are created in Content Builder. You can find an asset's ID in the Content Builder UI by selecting the asset and viewing its properties, or by first using the Marketing Cloud REST API to list assets and retrieve their IDs.

    The response includes the full asset object — including its name, asset type, content, customer key, and metadata. For a complete description of the asset response schema, see the Salesforce Marketing Cloud Asset by ID documentation.

    Get Binary Files for an Asset

    Retrieve the binary file content (such as images or documents) associated with a specific asset in Salesforce Marketing Cloud Content Builder. Use this endpoint when you need to extract the actual file data of a content asset for archiving, analysis, or redistribution.

    • Enter the numeric ID of the asset whose binary file content you want to retrieve in the Asset ID field. This is the same integer asset ID used in the Get Asset by ID endpoint — you can obtain it from the Content Builder UI or by querying the Assets API.

    This endpoint retrieves the raw binary file data associated with the asset. It is most applicable to assets that store file content, such as images, PDFs, or other binary documents uploaded to Content Builder. For detailed documentation, see the Salesforce Marketing Cloud Get Binary Files documentation.

    Get Campaign Collection

    Retrieve a paginated collection of campaigns from your Salesforce Marketing Cloud account. Use this endpoint to ingest campaign metadata — including campaign names, IDs, descriptions, and status — for reporting, auditing, or downstream analysis.

    • This endpoint requires no additional configuration parameters. It automatically retrieves all campaigns accessible to the authenticated Marketing Cloud account and handles pagination to return the complete collection.
    • Results are returned in pages of up to 50 campaigns. Nexla automatically fetches all pages to deliver the complete campaign collection.

    Campaign data returned by this endpoint includes campaign names, IDs, creation dates, and descriptions. For detailed information about the campaign object schema and filtering options, see the Salesforce Marketing Cloud Get Campaign Collection documentation.

Endpoint Testing

Once the selected endpoint template has been configured, Nexla can retrieve a sample of the data that will be fetched according to the current settings. This allows users to verify that the source is configured correctly before saving.

  • To test the current endpoint configuration, click the Test button to the right of the endpoint selection menu. Sample data will be fetched & displayed in the Endpoint Test Result panel on the right.

  • If the sample data is not as expected, review the selected endpoint and associated settings, and make any necessary adjustments. Then, click the Test button again, and check the sample data to ensure that the correct information is displayed.

Configure Manually

Salesforce Marketing Cloud data sources can be manually configured to ingest data from any valid Salesforce Marketing Cloud REST API endpoint. Manual configuration provides maximum flexibility for accessing endpoints not covered by pre-built templates or when you need custom API configurations.

With manual configuration, you can also create more complex Salesforce Marketing Cloud sources, such as sources that use chained API calls to fetch data from multiple endpoints or sources that require custom request parameters.

API Method

  1. To manually configure this source, select the Advanced tab at the top of the configuration screen.

  2. Select the API method that will be used for calls to the Salesforce Marketing Cloud API from the Method pulldown menu. The most common methods are:

    • GET: For retrieving data from the API
    • POST: For sending data to the API or triggering actions

API Endpoint URL

  1. Enter the URL of the Salesforce Marketing Cloud REST API endpoint from which this source will fetch data in the Set API URL field. Salesforce Marketing Cloud REST API endpoints use your tenant-specific subdomain and follow the pattern https://{subdomain}.rest.marketingcloudapis.com/{path}.

The subdomain portion of the URL is the 28-character string beginning with mc that was configured when creating your Marketing Cloud credential. Ensure the API endpoint URL is correct and accessible with your current credentials before testing.

Date/Time Macros (API URL)

Optional

Optionally, the API URL can be customized using macros—all macros added to the API URL will be converted into values when Nexla executes the API call. Macros are dynamic placeholders that allow you to create flexible API endpoints that can adapt to different time periods or data requirements.

Macros are particularly useful for Salesforce Marketing Cloud endpoints that support date range filters, such as retrieving campaigns or data extensions modified within a specific time window.

  1. To add a macro, type { at the appropriate position in the API URL (within the Set API URL field), and select the desired macro from the dropdown list.

    • {now} – The current datetime
    • {now-1} – The datetime one time unit before the current datetime
    • {now+1} – The datetime one time unit after the current datetime
    • custom – Datetime macros can reference any number of time units before or after the current datetime—for example, enter (now-4) to indicate the datetime four time units before the current datetime
  2. Select the format that will be applied to datetime macros from the Date Format for Date/Time Macro pulldown menu. This format will be applied to the base datetime value of the macro—i.e., the value of {now} in {now-1}.

  3. Select the datetime unit that will be used to perform mathematical operations in the included macro(s) from the Time Unit for Operations pulldown menu—for example, for the macro {now-1}, when Day is selected, {now-1} will be converted to the datetime one day before the current datetime.

Lookup-Based Macros (API URL)

Optional

Column values from existing lookups can also be included as macros in the API URL. Lookup-based macros allow you to reference data from previously configured data sources or lookups, enabling dynamic API endpoints that can adapt based on existing data.

Lookup-based macros are useful when you need to create Salesforce Marketing Cloud API endpoints that reference specific asset IDs, campaign IDs, or other values from other data sources in your Nexla environment.

  1. To include a lookup column value macro, select the relevant lookup from the Add Lookups to Supported Macros pulldown menu.

  2. Type { at the appropriate position in the API URL, and select the lookup column-based macro from the dropdown list. Lookup-based macros are automatically populated into the macro list when a lookup is selected in the Add Lookups to Supported Macros pulldown menu.

Path to Data

Optional

If only a subset of the data returned by the API endpoint is needed, you can designate the part(s) of the response that should be included in the Nexset(s) produced from this source by specifying the path to the relevant data within the response. Many Salesforce Marketing Cloud endpoints wrap their results in a top-level envelope object with pagination metadata alongside the actual data array.

For example, the Get Campaign Collection endpoint returns a JSON response where the campaign array is located at $.items[*]. By entering this path, Nexla treats each campaign record as a separate row rather than treating the entire response as a single record.

Path to Data is particularly important for Salesforce Marketing Cloud paginated endpoints, where the actual data records are nested inside an items or results array within the API response.

  • To specify which data should be treated as relevant in responses from this source, enter the path to the relevant data in the Set Path to Data in Response field.

    • For responses in JSON format, enter the JSON path that points to the object or array that should be treated as relevant data. JSON paths use dot notation (e.g., $.items[*] to access the items array within the response object).
    Path to Data Example:

    For the Salesforce Marketing Cloud Get Campaign Collection endpoint, the campaign records are located in the items array of the response. Enter $.items[*] as the path to data to treat each campaign as a separate record.

Autogenerate Path Suggestions

Nexla can also autogenerate data path suggestions based on the response from the API endpoint. These suggested paths can be used as-is or modified to exactly suit your needs.

  • To use this feature, click the Test button next to the Set API URL field to fetch a sample response from the API endpoint. Suggested data paths generated based on the content and format of the response will be displayed in the Suggestions box below the Set Path to Data in Response field.

  • Click on a suggestion to automatically populate the Set Path to Data in Response field with the corresponding path. The populated path can be modified directly within the field if further customization is needed.

    PathSuggestions.png

Metadata

If metadata is included in the response but is located outside of the defined path to relevant data, you can configure Nexla to include this data as common metadata in each record. For Salesforce Marketing Cloud endpoints, this is useful for preserving pagination context, total result counts, or request-level information alongside your marketing data records.

Metadata paths are useful for preserving API response context like total result counts or pagination tokens that apply to all records returned in a single API response.

  • To specify the location of metadata that should be included with each record, enter the path to the relevant metadata in the Path to Metadata in Response field.

    • For responses in JSON format, enter the JSON path to the object or array that contains the metadata.

Request Headers

Optional
  • If Nexla should include any additional request headers in API calls to this source, enter the headers & corresponding values as comma-separated pairs in the Request Headers field (e.g., header1:value1,header2:value2).

    You do not need to include the Authorization header — Nexla automatically handles OAuth2 token generation and renewal using the credentials configured in your Salesforce Marketing Cloud credential. Common headers like Authorization and Content-Type are handled automatically.

Endpoint Testing

After configuring all settings for the selected endpoint, Nexla can retrieve a sample of the data that will be fetched according to the current configuration. This allows users to verify that the source is configured correctly before saving.

  • To test the current endpoint configuration, click the Test button to the right of the endpoint selection menu. Sample data will be fetched & displayed in the Endpoint Test Result panel on the right.

  • If the sample data is not as expected, review the selected endpoint and associated settings, and make any necessary adjustments. Then, click the Test button again, and check the sample data to ensure that the correct information is displayed.

Save & Activate the Source

  1. Once all of the relevant steps in the above sections have been completed, 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.