ChangelogBook a demoSign up

Salesforce Marketing Cloud integration with AI Decisioning

AudienceTechnical marketers, marketing and lifecycle teams
PrerequisitesPrepare data for AID →

Connect Salesforce Marketing Cloud to AI Decisioning so agents can deliver personalized emails, SMS, push notifications, and in-app messages through your existing SFMC Triggered Sends and Journeys.


What you'll learn

In this article, you'll learn how to:


Overview

Hightouch's AI Decisioning (AID) helps you deliver real-time, personalized messages based on live customer context and predictions. By connecting AID with Salesforce Marketing Cloud (SFMC), you can:

  • Automatically trigger messages from AID Agents via SFMC Triggered Sends or Journeys

  • Personalize SFMC templates using dynamic variables from Hightouch—no custom code required

  • Centralize targeting and decision logic in Hightouch, while using SFMC to handle message delivery

1. Set Up SFMC as a Destination

Already configured SFMC? Even if you've previously set SFMC up as a destination, you'll still need to apply the specific permissions and scopes outlined below.

Why these permissions matter

To send messages through SFMC using AID, Hightouch needs access to certain channels, content, and user data. These permissions allow Hightouch to:

  • Trigger messages via Triggered Send and Journey Builder

  • Read and update subscriber data

  • Access and personalize email, SMS, push, and in-app templates

Connect SFMC and grant permissions

In SFMC:

  1. Create an installed package in SFMC until you reach Set Server-to-Server Properties.

  2. Under Channels, enable the permissions for each message type you want Hightouch to use (read, write, send, publish, or post).

Add component

  1. Click Save.

In Hightouch:

  1. Continue setting up the SFMC destination until you reach the Custom Scopes step.

  2. Under Advanced permissions > Custom Scopes, paste in the following:

email_read email_write email_send accounts_read data_extensions_read data_extensions_write journeys_read journeys_write journeys_aspr journeys_execute list_and_subscribers_write list_and_subscribers_read push_read push_write push_send

  1. Click Test Connection to verify that setup is complete.

2. Add Channels in AI Decisioning

Once SFMC is set up as a destination, you can add channels. Channels define how Hightouch sends messages to SFMC—via Triggered Sends or Journeys.

Set up a channel

  1. Go to AI Decisioning → Configuration → Channels.
  2. Click Add channel.

Add channel button

  1. Choose a channel type: Email, SMS, Push, or In-App.
  2. Select Salesforce Marketing Cloud as the destination.
  3. Select a sync type:
    • Triggered Send – sends a 1:1 message in real time
    • Journey entry – sends as part of a journey workflow
    • Data Extension (advanced) – batch sends managed within SFMC
  4. Choose an Identifier that matches the Subscriber Key field in SFMC (for example, email or user ID).
  5. Click Add channel, then Save changes.

New channel modal

Sync type comparison

The Sync Type determines how Hightouch sends messages through SFMC:

ChannelTriggered SendJourneyData Extension
Email
SMS
Push
In-App
Sync typeBest forSetup notes
Triggered SendReal-time, event-based sends tied to a single user actionRequires send classification: use Commercial for marketing content (users can opt out) or Transactional for system notifications (users can't opt out).
Journey entryAutomated, multi-step campaigns (for example, onboarding, retargeting)Select the Synced user columns (for example, email, name, product interest) you want to sync. These fields are available inside the journey's Data Extension for personalization or decision splits.
Data Extension (advanced)Batch sends, scheduled campaigns, and advanced setups where you need full control over delivery logicA Data Extension is a table in SFMC that stores subscriber or message data. When you choose this sync type, Hightouch writes data directly to a Data Extension, and you manage the send logic (timing, audience filters, scheduling) within SFMC. This gives you the most flexibility but requires more setup on the SFMC side. Choose Insert to append new rows or Mirror to keep the Data Extension in sync with your warehouse.

3. Add Messages

After you add channels in AI Decisioning, you can add messages to your agents. Each message connects an agent's decision to a specific template in SFMC.

For full details on message configuration, variants, and tags, see Messages →.

Add a message from SFMC

  1. Go to AI Decisioning → Agents and select your agent.
  2. Open the Messages tab.
  3. Click Add messages, then select Add messages individually.
  4. Select your configured SFMC channel and destination tile (for example, Email - Salesforce Marketing Cloud).
  5. Select the appropriate template or event identifier from SFMC.
  6. Enter a message name and click Add messages.

Add message from SFMC

You can repeat this process for any channel and sync type. Continue the setup process in the channel-specific sections below:

Test a message

  1. Open the message and go to the Content tab.
  2. Under Optimized content, confirm your variants are configured. If your message uses dynamic variables, set values for testing.
  3. In the Preview panel, verify the rendered message looks correct.
  4. Click Send test to send the message to a test user.

Send test


4. Configure SFMC Triggered Sends and Journeys for AID

Before adding a message in Hightouch, you need to configure the corresponding Triggered Send or Journey in SFMC.

Send emails via Triggered Send

  1. Add a channel with the sync type set to Triggered Send.

Email channel - Triggered Send

  1. Add a message from your SFMC email template.

Add message

  1. Close the window that opens and return to the Messages tab.
  2. Click the link next to Base content to go to SFMC.

Base content link

  1. This will prompt you to log in to SFMC and should open the Email Studio > Interactions page.
  2. Click Triggered Sends.

Interactions

  1. Select the send name that corresponds with your newly created message.
  2. Click Start/Restart.

Start

  1. Return to Hightouch and open your message.
  2. In the Content tab, set the variables and click Send Test.

Send test

Send emails via Journey

  1. Add a channel with the sync type set to Journey entry.

Email channel - Journey entry

  1. Add a message from your SFMC email template.

Add message

  1. In the Content tab, set the variables and click Send Test.

Send test

Send emails via Data Extension

  1. Add a channel with the sync type set to Data Extension.

Email channel - Data Extension

  1. Choose Insert (append new rows) or Mirror (keep in sync with your warehouse).
  2. Add a message from your SFMC email template.

Add message

  1. In SFMC, configure your send logic (automation, query activity, or triggered automation) to read from the Data Extension that Hightouch populates.

Send SMS text messages via Journey

  1. Add a channel with the sync type set to Journey entry.

SMS channel - Journey entry

  1. Add a message from your SFMC SMS template.

Add message

  1. In the Content tab, set the variables and click Send Test.

Send test

Send SMS text messages via Data Extension

  1. Add a channel with the sync type set to Data Extension.

SMS channel - Data Extension

  1. Choose Insert or Mirror mode.
  2. Add a message from your SFMC SMS template.

Add message

  1. In SFMC, configure your send logic to read from the Data Extension that Hightouch populates.

Send push (outbound) notifications via Triggered Send

Enable the push channel

  1. Add a channel with the sync type set to Triggered Send.

Push channel - Triggered Send

Configure your push template in SFMC

In SFMC:

  1. Go to Mobile Studio > MobilePush.
  2. Click Create Message.

Mobile push

  1. Select the Outbound template and click Next.
  2. Name your message and select your app.
  3. Select API Triggered as the Send Method.
  4. Select Alert as the Push Method and click Next.

API Triggered

You can only trigger Alert Only or Inbox Only messages, not Alert + Inbox.
  1. Create the template for your push alert.
  2. Save your message.

Save alert

  1. Click Send in the top right-hand corner.
  2. An activation window should pop up with an API key. Copy this API key to make it easier to find the template in Hightouch in a later step.

Activate

Add a message in Hightouch

In Hightouch:

  1. Add a message from your SFMC push template.

Add message

Preview content

Hightouch automatically creates the variables for push notification title, subtitle, and body. The values you supply here are used directly in the push notification without any need for code snippets in the template. If these are left blank, Hightouch uses the default values in the template.

Hightouch uses the override capabilities in the API. If even one variable has a value supplied, the default values in the template for all variables get overridden. Make sure to supply at least the default value for all variables, even if you only want AID to vary one.

Send tests

  1. To test push notifications, paste the contact key you use in your SFMC contacts.

Send test

  1. Personalization strings can be supplied directly in the values for the variables without any need for code snippets in the template.

Personalization strings
Personalization strings demo

Send push (app inbox) notifications via Triggered Send

Enable the push channel

  1. Add a channel with the sync type set to Triggered Send.

Push channel - Triggered Send

Configure your push template in SFMC

In SFMC:

  1. Go to Mobile Studio > MobilePush.
  2. Click Create Message.

Mobile push

  1. Select the Inbox template and click Next.
  2. Name your message and select your app.
  3. Select API Triggered as the Send Method.
  4. Select Alert as the Push Method and click Next.

Define message

You can only trigger Alert Only or Inbox Only messages, not Alert + Inbox.
  1. Create the template for your push alert.
  2. Save your message.

Save alert

  1. Click Send in the top right-hand corner.
  2. An activation window should pop up with an API key. Copy this API key to make it easier to find the template in Hightouch in a later step.

Activate

Add a message in Hightouch

In Hightouch:

  1. Add a message from your SFMC push template.

Add message

Send push notifications via Journey

  1. Add a channel with the sync type set to Journey entry.

Push channel - Journey entry

  1. Add a message from your SFMC push template.

Add message

  1. In the Content tab, set the variables and click Send Test.

Send test

Send push notifications via Data Extension

  1. Add a channel with the sync type set to Data Extension.

Push channel - Data Extension

  1. Choose Insert or Mirror mode.
  2. Add a message from your SFMC push template.

Add message

  1. In SFMC, configure your send logic to read from the Data Extension that Hightouch populates.

Send in-app notifications via Journey

Enable the in-app channel and add a message

  1. Add a channel with the sync type set to Journey entry.

In-App channel - Journey entry

  1. Add a message from your SFMC in-app template.

Add message

In these next steps, you will link your newly created message to an associated Journey in SFMC.

In Hightouch:

  1. Go to the Content tab within your message to add the variables you would like Hightouch to control.

In SFMC:

  1. Go to Journey Builder > Journey Builder.
  2. Click Create New Journey.

Create journey

  1. Select Multi-Step Journey.
  2. Select API Event as the entry source. Drag it onto the Journey Builder.

API Event

  1. Click the grey API Event icon in the Journey Builder. This will open a list of API Events.
  2. Select the message name you chose when adding the message in Hightouch.
Hightouch automatically creates the required Data Extension with the event so you don't have to set that up.

Select

  1. Click Done.
  2. Next, drag In-App Message to the Journey Builder.

Drag message

  1. Click the grey In-App Message icon in the Journey Builder.
  2. Select (or create) your desired in-app message template.
  3. In the In-App Message Activity Summary, edit the required settings for Message Configuration and Display Trigger. Optionally, configure Display Options and Advanced Options as desired. See SFMC documentation for more details.

Activity summary

  1. Optional: If you would like Hightouch to control aspects of the In-App Message, follow the instructions for using variables in SFMC templates.

    • Paste the variable code snippets from Hightouch into SFMC:
      • Select a message in Message Definition
      • Click Edit Selected Message

Message definition

  1. Paste the copied code snippets from Hightouch into the Content tab that opens.

Code snippet

  1. Save your changes.
  2. Optional: To continuously test sends, click the Gear icon > Journey Settings and select re-entry any time.
  3. Activate your journey.

Activate

In Hightouch:

  1. Return to Hightouch and refresh the Content tab within your message.
  2. Preview your content to ensure everything is accurate.
  3. You can now Send test to subscribers.

Send test

Send in-app notifications via Data Extension

  1. Add a channel with the sync type set to Data Extension.

In-App channel - Data Extension

  1. Choose Insert or Mirror mode.
  2. Add a message from your SFMC in-app template.

Add message

  1. In SFMC, configure your send logic to read from the Data Extension that Hightouch populates.

Use Variables in SFMC

Hightouch variables allow you to personalize SFMC messages using live warehouse data, any variable you've defined within the message such as subject line variations, or different content blocks.

Access variables

  1. Open a message in Hightouch and go to the Content tab.
  2. Under Optimized content, expand a content type (for example, subject or body) and add your variants.
  3. Click the ... menu on a content type and select Copy code snippet to get the variable code.
  4. Paste the code into your SFMC template. These snippets render with real values for each user when the message is sent.

Copy code snippet

Important notes

  • Triggered Sends: Variables are fully supported.
  • Journeys: Variables are available via Data Extension fields synced by Hightouch.

Troubleshooting

IssueLikely causeResolution
Message fails to sendAPI errors or misconfigured destinationCheck Hightouch logs for API errors.
Test user not receiving messagesIdentifier mismatchVerify the identifier matches a valid Subscriber Key in SFMC.
Triggered Send not firingSend not startedConfirm the Triggered Send is in Running status in Email Studio.
Journey sends not triggeringJourney not activated or entry event misconfiguredConfirm the Journey is activated and the API entry event is configured.
Variables not renderingIncorrect syntax or missing field mappingDouble-check variable syntax from Copy code snippet and field mapping.

What's next

Ready to get started?

Jump right in or a book a demo. Your first destination is always free.

Book a demoSign upBook a demo

Need help?

Our team is relentlessly focused on your success. Don't hesitate to reach out!

Feature requests?

We'd love to hear your suggestions for integrations and other features.

Privacy PolicyTerms of Service

Last updated: Apr 6, 2026

On this page

Was this page helpful?