Sitecore and Salesforce logos on an Arcsen gradient

Connecting SitecoreAI and Salesforce: patterns for leads, service and data

Sitecore Symposium opens in Orlando on 10 November, and much of the agenda is about AI, data and personalization. For many Gulf brands, the more immediate question sits between two platforms: Sitecore runs the website, Salesforce runs sales and service, and the value lies in what passes between them. A lead that arrives in Salesforce with the page, the language and the campaign attached. A chat that starts on the website and reaches a service agent with context. A returning customer who sees the right content because the website knows what the CRM knows.

There is no single switch that connects SitecoreAI and Salesforce. Sitecore Connect, MuleSoft and plain APIs can all do the job, and the right choice depends on what you are moving and how fast. Here are the four patterns we see most, what each needs, and where each one breaks.

Pattern 1: website forms into Salesforce leads

Use it when enquiries, test drives, appointment requests or brochure downloads on the website should become Salesforce leads, contacts or cases.

How it works. SitecoreAI Forms sends each submission to a webhook. Sitecore describes Forms as a way to send data to third-party applications “without capturing user data”, so the webhook is the only copy. The webhook calls a small integration layer, which maps the fields and creates the records in Salesforce through the REST API. Salesforce’s Composite API takes up to 25 subrequests in one call and can roll back all of them if one fails, so a lead and its campaign membership can be created together or not at all.

What it needs.

  • A public HTTPS endpoint on port 443 or 8443, using TLS 1.2 or 1.3, with OAuth 2, Basic or API key authentication. Test submissions arrive flagged as tests, so filter them out.
  • Custom values on every option field, so the Arabic and English versions of a form send the same code, for example TEST_DRIVE.
  • A field that carries the page language, so Salesforce can route the lead to an Arabic-speaking team.
  • An integration layer that stores each payload before calling Salesforce and retries on failure, because a lost webhook is a lost lead.
  • Duplicate and matching rules in Salesforce that cope with Arabic and English spellings of the same name.

Watch for Web-to-Lead used as a shortcut. It is quick to set up, but Salesforce limits it to 500 leads per day, and it posts straight from the browser with no layer in between to retry, log or enrich.

Integration layer Good for Watch for
Sitecore Connect Teams already licensed for it. Low-code recipes, with a SitecoreAI connector that names Salesforce as an example app. Connect is licensed for Sitecore-to-third-party integrations only, and each recipe must include a Sitecore connector. Confirm that a webhook-triggered recipe qualifies.
MuleSoft Organizations already running Anypoint, with many systems to connect A significant platform to adopt for one flow
A serverless function or API gateway One or two simple flows You own monitoring, retries and security
Web-to-Lead Very low volumes and a quick start A limit of 500 leads a day, no retries and no enrichment

Pattern 2: from a web page to a service agent

Use it when customers should be able to ask a question on any page and reach an Agentforce service agent, then a person, without repeating themselves.

How it works. Salesforce’s Enhanced Chat (the Messaging for In-App and Web channel) is deployed from Setup, which generates a code snippet to add to your website. On SitecoreAI, it goes into the head application’s layout. Both versions of Enhanced Chat can connect Agentforce service agents to the web channel, and version 2 can render inline inside an element on the page, so the chat can live in a Sitecore component on a service page. The agent answers first and hands over to your service team through Service Cloud routing.

What it needs.

  • Context from the page. Hidden pre-chat fields can send the page, product, language and campaign to Salesforce before the conversation starts. In version 2, context events pass the current page and search to the agent, which reads them with each message. Context variables have to be created in Agentforce Builder first.
  • Identity for signed-in customers. The chat accepts a signed token from your site, so a logged-in customer is verified without a second sign-in.
  • The right language. The snippet sets the chat language through embeddedservice_bootstrap.settings.language (en_US in Salesforce’s sample). Set it from the page language, and test the Arabic interface and right-to-left layout in your own deployment before launch.
  • A republish after every change. Salesforce says to republish the deployment after testing new features.

Watch for an agent launched without the groundwork. Its answers depend on your Knowledge, sharing and data, which our article on fixing your org before AI covers, and its scope, handover and Arabic review belong in an agent charter.

Pattern 3: website behaviour into Data 360

Use it when sales and service teams, or Agentforce, should see what a customer did on the website: the products they compared, the forms they started, the pages they returned to.

How it works. There are two routes into Data 360, which Salesforce renamed from Data Cloud in October 2025. The first is client-side: the Salesforce Interactions SDK runs on the website and collects behaviour for known and pseudonymous visitors. Salesforce’s web connector collects engagement data every 15 minutes and profile data every hour. The second is server-side: your integration layer sends chosen events to the Ingestion API, whose streaming mode processes data roughly every three minutes, with a limit of 200 KB per request. Where minutes are too slow, use real-time ingestion, which works only for objects in a real-time data graph.

What it needs. A decision on identity, so that website behaviour attaches to the right lead or contact when a visitor signs in or submits a form. And one source of consent. SitecoreAI personalization uses cookies, which Content SDK 2.x plugins control through options such as enableCookie (older apps use Cloud SDK settings). If the Salesforce SDK also runs on the page, drive both from the same consent banner.

Watch for two trackers by accident. Sitecore’s and Salesforce’s scripts on the same page means two identity models and two consent integrations. The server-side route avoids that, at the cost of deciding up front which events matter.

Pattern 4: CRM context into personalization

Use it when the website should change for a customer based on what Salesforce knows: their tier, their products, an open case, their preferred language.

How it works. SitecoreAI’s embedded personalization builds audiences from time, date, device, geography, visit, user interaction and point-of-sale conditions, and custom conditions written in server-side JavaScript can evaluate the visitor profile. Getting Salesforce data onto that profile is the integration work:

  • Profile Import. SitecoreAI’s Profile Import API brings in data from an external CRM, in batches of up to 100 MB, one batch per environment at a time. Profile extensions let imported attributes such as tier work directly in audience conditions. Identity resolution is off by default: matching visitors to imported profiles needs identity events from the site and an identity rule, such as an email match. All three are in phased rollout, so check they are live in your tenant.
  • Sitecore CDP and Personalize. Where these are licensed, CRM attributes can be held in guest data extensions, up to six of them with up to 100 values each, and identity events can carry a Salesforce ID as an external identifier.
  • Events from Salesforce. Salesforce recommends the Pub/Sub API for new publish and subscribe integrations, and Data 360 can call a signed webhook when data changes. Salesforce does not retry platform events for external subscribers, so the integration layer must replay missed events within three days.

Watch for labels in place of codes. Store tier=GOLD and lang=ar, never the Arabic or English words for them, so one audience works across both language versions of the site.

Five rules for bilingual brands

  1. Send codes. Every option a customer chooses should reach Salesforce as the same value in either language.
  2. Carry the language everywhere. On the lead, the chat, the profile and the event.
  3. Agree one identifier strategy. Decide which field identifies a person across both platforms before you build anything.
  4. Keep one consent source. The website’s consent banner should control every script and every data flow.
  5. Put retries and logs in the middle. SitecoreAI Forms keeps no copy and Salesforce leaves platform-event replay to the subscriber, so the integration layer is where you find out what failed.

Still on Sitecore XP? Sitecore’s own connectors for Salesforce CRM and Salesforce Marketing Cloud lose support from XP 10.5, as our XP 10.5 guide explains, so these patterns apply to you too.

If the same images appear on your website and in Marketing Cloud emails, that is a DAM decision, and our guide to choosing a DAM covers what to check.

At Symposium this week? Our CEO, Mohamed Abdelsalam, is in Orlando. Arrange to meet him. Not there? The free Sitecore Health Check reviews how your site and Salesforce connect today, or talk to us about a specific pattern.

Frequently asked questions

Can SitecoreAI Forms send leads to Salesforce?

Yes. SitecoreAI Forms sends each submission to a webhook, and an integration layer such as Sitecore Connect, MuleSoft or a serverless function creates the lead, contact or case in Salesforce through its API. Forms keeps no copy of the submission, so the layer should store and retry.

Does Sitecore Connect work with Salesforce?

Sitecore Connect is built on Workato, and its SitecoreAI connector names Salesforce as an example of a third-party app. Connect is licensed for Sitecore-to-third-party integrations, and each recipe must include a Sitecore connector, so confirm your recipe design with Sitecore.

What is the Salesforce Web-to-Lead limit?

Salesforce Help says Web-to-Lead generates up to 500 leads per day. For higher volumes, retries or enrichment, send form data through an integration layer and the Salesforce API.

Can an Agentforce agent run on a Sitecore website?

Yes. Salesforce Enhanced Chat generates a code snippet for any website, and Agentforce service agents can be connected to that web channel. Hidden pre-chat fields and, in Enhanced Chat version 2, context events pass page information to the agent.

How do we send website behaviour to Data 360?

Either with the Salesforce Interactions SDK on the website, which collects behaviour for known and pseudonymous visitors, or server-side through the Data 360 Ingestion API, which accepts streaming and bulk data.

Can SitecoreAI personalize content using Salesforce data?

Yes. Salesforce attributes can reach SitecoreAI profiles through the Profile Import API, which is in phased rollout, or through Sitecore CDP where it is licensed, and custom conditions or audiences then use them.

Free Sitecore health check

A scored report on your whole Sitecore estate in ten working days, with no change to your live site. It is yours to keep, whichever partner you choose.

Request the health check →or talk to the team

Sources

Related articles
Topics