Skip to main content

Overview

Gradial integrates with Salesforce Marketing Cloud to enable content synchronization with CloudPages, email templates, and content blocks. This integration allows you to push content updates directly to your Marketing Cloud assets and leverage your existing content infrastructure within Gradial workflows.

Authentication Method

Salesforce Marketing Cloud uses OAuth 2.0 with the Server-to-Server (Client Credentials) flow for API authentication. This method requires creating an Installed Package in Marketing Cloud with appropriate permissions.

OAuth 2.0 Server-to-Server

Required for all SFMC integrations. This authentication method uses a Client ID and Client Secret from an Installed Package to obtain access tokens. Gradial automatically handles token refresh as needed.

Prerequisites

Before starting the integration, ensure you have:
  • Admin access to your Salesforce Marketing Cloud account
  • Permission to create Installed Packages
  • Your Marketing Cloud subdomain (found in your account URL)
  • Knowledge of which Business Units you want to integrate

Integration Steps

Step 1: Create an Installed Package in Marketing Cloud

What this step does: Creates the OAuth application that generates the credentials Gradial will use to authenticate.
  1. Log in to Salesforce Marketing Cloud
  2. Navigate to Setup (gear icon) → Platform ToolsAppsInstalled Packages
  3. Click New to create a new package
  4. Enter the package details:
    • Name: Gradial
    • Description: Gradial CMS Integration
  5. Click Save

Step 2: Add a Server-to-Server API Component

What this step does: Configures the authentication component and assigns the necessary permissions.
  1. In the newly created package, click Add Component
  2. Select API Integration
  3. Choose Server-to-Server as the integration type
  4. Click Next
  5. Configure the required permissions (scopes):
CategoryPermissionRequired
Content BuilderRead, WriteYes
Saved ContentRead, WriteYes
Documents and ImagesRead, WriteYes
CloudPagesRead, WriteYes
Data ExtensionsReadOptional
Tracking EventsReadOptional
  1. Click Save
Note: Grant only the permissions required for your use case. You can modify permissions later if needed.

Step 3: Retrieve OAuth Credentials

What this step does: Obtains the Client ID, Client Secret, and authentication endpoints that Gradial needs.
  1. In the Installed Package details page, locate the Server-to-Server component
  2. Note the following values:
    • Client ID
    • Client Secret
    • Authentication Base URI (e.g., https://YOUR_SUBDOMAIN.auth.marketingcloudapis.com)
    • REST Base URI (e.g., https://YOUR_SUBDOMAIN.rest.marketingcloudapis.com)
    • SOAP Base URI (e.g., https://YOUR_SUBDOMAIN.soap.marketingcloudapis.com)
Important: Keep the Client Secret secure. If you navigate away from this page, the Client Secret will be hidden. You can regenerate it if needed, but this will invalidate any existing integrations using the old secret.

Step 4: Configure the Integration in Gradial

What this step does: Connects Gradial to your Salesforce Marketing Cloud instance using the credentials obtained in previous steps.
  1. In Gradial, navigate to SettingsIntegrations
  2. Click on Salesforce Marketing Cloud under Add Integration
  3. Fill in the integration form:
    • Integration Name: A friendly name to identify this connection (e.g., My SFMC Instance)
    • SFMC Auth Base URL: Enter your Authentication Base URI from Step 3 (e.g., https://mcXXXXXX.auth.marketingcloudapis.com)
    • Authentication Type: Select OAuth 2.0 Client Credentials
    • Client ID: Enter the Client ID from Step 3
    • Client Secret: Enter the Client Secret from Step 3
  4. Click Save

Testing the Integration

After saving the integration, Gradial will automatically attempt to authenticate with your Marketing Cloud instance. You can verify the connection status in the Integrations list.

Expected Behavior

  • Success: The integration shows a “Connected” status with a green indicator
  • Authentication Error: Verify your Client ID, Client Secret, and Subdomain are correct
  • Permission Error: Verify the Installed Package has the required scopes enabled

Common Issues

IssueCauseSolution
invalid_client errorIncorrect Client ID or SecretVerify credentials in the Installed Package
unauthorized errorPackage lacks required permissionsAdd missing scopes to the API component
invalid_request errorIncorrect subdomain or Auth URICheck the Authentication Base URI in your package
insufficient_privileges errorMID doesn’t match package assignmentVerify the MID and Business Unit access

API Permissions Reference

The following table details the SFMC API scopes and their use in Gradial:
ScopeRequiredPurpose
Content Builder - Read/WriteYesAccess and modify content blocks and assets
Saved Content - Read/WriteYesManage saved content items
Documents and Images - Read/WriteYesUpload and manage media assets
CloudPages - Read/WriteYesPublish content to CloudPages
Data Extensions - ReadOptionalAccess subscriber data for personalization
Tracking Events - ReadOptionalView engagement analytics

Multi-Business Unit Configuration

If your organization uses multiple Business Units, you have two options: Option 1: Parent-Level Access Create one Installed Package at the Parent Business Unit level with access to all child Business Units. Use the Parent MID when configuring Gradial. Option 2: Business Unit-Specific Access Create separate Installed Packages for each Business Unit that requires isolation. Configure multiple integrations in Gradial, one for each Business Unit.
Recommendation: For most organizations, Parent-Level Access provides the flexibility to manage content across all Business Units from a single integration.

Need Help?

Contact your Gradial representative for additional support with your Salesforce Marketing Cloud integration.