Integrations

Connect SAP Sales Cloud

Connect SAP Sales Cloud V2 with a technical user — there is no OAuth for third-party apps. Turn leads, opportunities and customers into attributed conversions, and write LeadJourney leads back into SAP.

Connecting SAP Sales Cloud turns record events – new leads, opportunities, accounts and individual customers – into LeadJourney conversions, automatically attributed to the campaign, ad set and ad that earned them. Mapped events flow through the same postback pipeline as your offline conversions, so they pick up every ad postback you've already configured.

What the connection covers

  • 14 triggers across Leads, Opportunities, Accounts, Individual Customers and Contact Persons.
  • Won opportunities arrive with their expected revenue.
  • Send back: LeadJourney clicks, leads and conversions written into SAP as a Lead, Individual Customer (B2C), Contact Person, Account or Opportunity.

Before you start

  • An SAP administrator – creating a technical user and an outbound Communication System both need admin rights.
  • Your tenant URL – the address you log in at, e.g. https://my123456.de1.crm.cloud.sap.
  • Tracking is live – see Install the tracking script.
  • At least one conversion type to map onto – see Events & the Events Manager.

No OAuth — this one needs a technical user

SAP Sales Cloud V2 offers no OAuth for third-party apps, and every tenant is its own host. So instead of signing in, you paste your tenant URL and the credentials of a technical (API) user you create. Plan for an SAP administrator to be involved; this is not self-service like the other CRMs.

Where to find it

Open Settings → Apps, or go to app.leadjourney.io/settings?slug=apps, and click the SAP Sales Cloud card (or use ?slug=apps&app=sap).

The SAP Sales Cloud connect screen under Settings → Apps

Step by step

Create the technical user in SAP

In SAP Sales Cloud, open Settings → All Settings → Users and Control → Users, switch the list to Technical Users and click Add. Give it a user name (e.g. LEADJOURNEY_API) and a password.

On the user's Assigned Technical Roles tab, add a role that can read – and, if you want to send data back, create and change – Leads, Opportunities, Accounts, Individual Customers and Contact Persons.

LeadJourney can only see what the role allows

The integration inherits the technical user's permissions exactly. If a record type never shows up later, the role is almost always the reason.

Under Extensibility Administration, add a text custom field labelled LJ Click ID to Lead (and to Individual Customer, if you track B2C). Have your website form fill it.

With that field in place, conversions attribute to the exact ad click. Without it, LeadJourney falls back to matching on email – see Read and store the click ID.

Connect from LeadJourney

On the Connect your SAP Sales Cloud tenant card, fill in:

  • Tenant URL – the address you log in at. Pasting the whole browser URL is fine; LeadJourney keeps only the host.
  • Technical user and Password – the ones you just created.

LeadJourney checks the credentials against your tenant before saving, so a typo fails here rather than silently later.

Point SAP's event notifications at LeadJourney

Once connected, LeadJourney shows a webhook host, path and password. In SAP, point an outbound Communication System at those values, then send Autoflow → Send Event Notification (or Standard Events) for the objects your triggers use.

Without this step nothing arrives

The connection will look healthy – LeadJourney can read your tenant – but no record events reach your conversions until SAP is actually sending notifications.

Add a trigger

In the Triggers panel, click Add trigger, pick the LeadJourney Event this SAP record should record (e.g. WonClient), then choose the SAP event that fires it. Search triggers… narrows the list of 14.

“Changed to” triggers fire on the change itself

SAP sends the record before and after each change, so a trigger waiting for a field to change to a value fires on that change – and not again on every later save.

Receive data and confirm the mapping

The dialog opens the usual three-tab flow:

  • Receive Data – click Find latest data to load the most recent records for that event, pick one and continue. Nothing there? Create a matching record in SAP and check again.
  • Configure Mapping – map the SAP record onto LeadJourney's columns: Email, Name, First name, Last name, Phone, click_id, Revenue and Currency, plus any of your custom fields. Point click_id at the LJ Click ID field from step 2.
  • Filtering (optional) – add conditions so the trigger only fires on matching records.

Click Save & Continue.

Send data back to SAP

The Send to SAP panel writes LeadJourney clicks, leads and conversions into SAP as records. Click + Add destination, then choose:

  1. The SAP record to create: Lead, Individual Customer (B2C), Contact Person, Account or Opportunity.
  2. When this happens: the LeadJourney event, optionally narrowed to one conversion type.
  3. Write mode: Create always creates, Update only updates an existing match and skips if there is none, Upsert updates the match or creates it.
  4. Map fields: the SAP field and the LeadJourney value to send.

Each destination row has Pause / Resume, Edit and Delete, and the Sync history table lists every delivery with its status and a Retry button.

Send-back needs write permissions

The technical user's Assigned Technical Roles need create and change rights on whatever object you're writing – read access alone is not enough (see step 1).

Troubleshooting

The credentials are rejected when saving

LeadJourney validates against your tenant before saving. Check the tenant URL (the host alone is enough), the technical user name and the password. A locked or expired technical user fails here too.

A record type never appears

The technical user's roles don't cover it. Add a role with read access to that object in SAP, then reconnect.

No records when you click “Find latest data”

Either SAP isn't sending event notifications yet (step 4), or nothing recent exists for that event. Create a matching record in SAP and check again.

Records arrive but aren't attributed to a campaign

Check that the tracking script is live, that your records carry the click ID in the LJ Click ID field and the trigger maps click_id to it, and that the trigger is Active. Email is the fallback – see Missing leads.

Common questions