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, advertising, and web channels. It provides tools for personalized marketing at scale, including email studio, journey builder, social studio, advertising studio, and analytics builder, making it one of the leading enterprise marketing automation solutions.

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 Server-to-Server (2-legged) authentication, which allows Nexla to access your account using client credentials without requiring user interaction at runtime.

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 by clicking the gear icon in the top-right corner and selecting Setup.

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

  4. Click New to create a new installed package.

  5. Enter a descriptive name for the package (for example, "Nexla Integration") and an optional description, then click Save.

  6. On the package detail page, click Add Component.

  7. Select API Integration as the component type and click Next.

  8. Select Server-to-Server as the integration type, then configure the required API permissions for your integration (for example, Data > Data Extensions > Read/Write or Assets > Read/Write depending on your use case).

  9. Click Save to create the API Integration component.

  10. Your Client ID (also called App Key) and Client Secret (also called App Secret) will be displayed on the component detail page. Copy both values and store them securely — the Client Secret may not be shown again after you navigate away.

  11. To locate your Marketing Cloud Subdomain, navigate to your Marketing Cloud account settings or look at the URL when logged into your Marketing Cloud account. Your subdomain is a 28-character string beginning with the letters mc (for example, mcXXXXXXXXXXXXXXXXXXXXXXXXXX). You can also find it in your tenant-specific endpoint URLs listed in the installed package settings.

  12. Store all three values — subdomain, Client ID, and Client Secret — securely. These credentials provide access to your Marketing Cloud account data and must be kept confidential.

The Client ID and Client Secret are used together to authenticate with the Salesforce Marketing Cloud OAuth2 token endpoint (/v2/token) to obtain a bearer access token. Nexla automatically obtains and refreshes this access token as needed, sending it in the Authorization: Bearer {token} header for all subsequent API requests. The subdomain is used to construct the correct authentication and API base URLs for your specific Marketing Cloud tenant.

For detailed information about Salesforce Marketing Cloud Server-to-Server OAuth2 authentication, see the Salesforce Marketing Cloud API documentation and the Request Token documentation.

Authenticate

Credentials required

FieldRequiredSecretDescription
Marketing Cloud SubdomainYesNoYour Marketing Cloud subdomain is represented by a 28-character string starting with the letters mc. Locate your tenant endpoints which contain your subdomain and enter the subdomain here.
Marketing loud Client IDYesNoFirst part of the Client Credentials App Key pair generated when creating an API Integration.
Client SecretYesYesSecond part of the Client Credentials App Key pair generated when creating an API Integration.

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 is the 28-character string beginning with mc that uniquely identifies your Marketing Cloud tenant. It is used to construct the authentication URL (https://{subdomain}.auth.marketingcloudapis.com) and the REST API base URL (https://{subdomain}.rest.marketingcloudapis.com) for your account.

  3. Enter your Salesforce Marketing Cloud Client ID in the Marketing Cloud Client ID field. This is the Client ID (App Key) you obtained from your Marketing Cloud installed package under Setup > Installed Packages > your package > Components > API Integration. The Client ID is used together with the Client Secret to request an OAuth2 access token from the Marketing Cloud token endpoint.

  4. Enter your Salesforce Marketing Cloud Client Secret in the Client Secret field. This is the Client Secret (App Secret) paired with your Client ID. It is used together with the Client ID to authenticate with the Salesforce Marketing Cloud token endpoint.

    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 obtain an access token from the token endpoint (/v2/token), which Nexla sends automatically in the Authorization: Bearer {token} header for all API requests.

    Nexla automatically refreshes the access token as needed. If your credentials are compromised, immediately revoke them in your Marketing Cloud account settings and generate new ones. The Client ID, Client Secret, and subdomain together provide access to your Marketing Cloud account data — treat them as sensitive information and do not share them publicly.

    For detailed information about Salesforce Marketing Cloud OAuth2 authentication, see the Salesforce Marketing Cloud API 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 and can be selected for use with a new data source or destination.

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 the 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

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.

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 REST 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 REST API endpoints use your tenant-specific subdomain and follow the pattern https://{subdomain}.rest.marketingcloudapis.com/{path}. Many endpoints wrap their results in a top-level envelope object with the data nested inside an items or results array — for example, the Get Campaign Collection endpoint returns campaigns at $.items[*]. 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.

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 the 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

Create new content assets in Salesforce Marketing Cloud Content Builder. Use this endpoint to programmatically provision marketing content — such as email templates, images, HTML blocks, or other digital assets — from Nexla into your Marketing Cloud account.

  • This endpoint sends a POST request to the Marketing Cloud Content Builder Assets API. Each record in the Nexset will be submitted as a separate asset creation request. The request body is derived from the Nexset data, which should conform to the Marketing Cloud asset object schema.
  • The asset object must include, at minimum, the following fields:

    • name — A unique name for the asset within its category (folder).
    • assetType — An object specifying the type of asset being created (e.g., {"id": 28, "name": "htmlblock"} for an HTML content block). Asset type IDs are defined by Salesforce Marketing Cloud.
  • Optional fields include content (the asset's text or HTML content), category (the Content Builder folder to place the asset in), customerKey (a user-defined unique identifier), and additional metadata fields.

For the complete list of asset fields and asset type IDs, see the Salesforce Marketing Cloud Create Asset documentation. Ensure that the Nexset data is transformed to match the expected asset schema before sending to this endpoint.

Create Categories

Create new content categories (folders) in Salesforce Marketing Cloud Content Builder. Use this endpoint to programmatically organize your Content Builder folder structure — for example, when onboarding new brands, campaigns, or content libraries that require a specific folder hierarchy.

  • This endpoint sends a POST request to the Marketing Cloud Content Builder Categories API. Each record in the Nexset will be submitted as a separate category creation request.
  • The category object must include, at minimum, the following fields:

    • name — A unique name for the category (folder) within its parent location.
    • parentId — The numeric ID of the parent category under which the new folder will be created. To create a top-level category, use the ID of the root Content Builder folder for your account.
  • Categories created through this endpoint appear as folders in the Content Builder navigation tree and can be used to organize assets created via the Create Assets endpoint.

For complete documentation on category object fields and available options, see the Salesforce Marketing Cloud Create Category documentation. Parent category IDs can be retrieved from the Marketing Cloud Content Builder UI or via the Categories API.

Manual configuration

Salesforce Marketing Cloud destinations can also be manually configured to send data to any valid Salesforce Marketing Cloud REST 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 REST API endpoints expect JSON format for most operations and use your tenant-specific subdomain, following the pattern https://{subdomain}.rest.marketingcloudapis.com/{path}. For update operations, include the ID of the object to be updated at the end of the URL. 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.

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 begin sending data to the configured Salesforce Marketing Cloud endpoint, open the destination resource menu, and select Activate.

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