SAP SuccessFactors logoSalesforce logo

Accounts in applications

SuccessFactors to Salesforce integration: Salesforce users from Employee Central, including assignments and transfers

With an integration between SAP SuccessFactors and Salesforce, every new sales or service employee in Employee Central automatically gets a Salesforce user with profile, role, manager, language and time zone, ready on the start date. An assignment or transfer to another country updates the existing user, and after the last working day it is deactivated.

What the integration does

Anyone using SAP SuccessFactors Employee Central for HR and one Salesforce org for all sales teams often creates a new Salesforce user on an assignment abroad or a transfer. Accounts and opportunities then stay behind with the old user.

  1. HR records the new employee in Employee Central, with a start date in the future.
  2. KoppelHet reads the data as it applies on the start date and decides whether a Salesforce user is needed.
  3. The user is created with the business email, profile, role, manager, language and time zone.
  4. On a global assignment or transfer KoppelHet updates role, company, language and time zone in the same user.
  5. After the last working day of the last employment the user is deactivated.
SAP SuccessFactors → KoppelHet → SalesforceSOURCESAP SuccessFactorsTARGETSalesforceKoppelHetmapping · logging · monitoringSAP SuccessFactors → KoppelHet → SalesforceSOURCESAP SuccessFactorsTARGETSalesforceKoppelHetmapping · logging · monitoring
Out: Salesforce user with name, business email and person ID · Language, locale and time zone · Profile, permission sets and role · Manager · Active, frozen or deactivated

What to watch for with SAP SuccessFactors and Salesforce

  • SuccessFactors stores a time zone and a default language per user in the same kind of codes as Salesforce, such as Europe/Amsterdam and nl_NL. They therefore carry over almost one to one. Only a language that is not enabled as a user language in Salesforce is replaced by an agreed default.
  • A global assignment creates an additional employment in SuccessFactors. A second Salesforce user would cost an extra licence and leave the accounts with the old user. KoppelHet recognises the assignment and updates the existing user with the role and time zone of the host country.
  • A transfer to a company in another country is a new job record in SuccessFactors. Because the Salesforce environment serves all countries, the user stays active and only company, role, language and time zone change, with the effective date from SuccessFactors.
  • For a new employee with a future start date, SuccessFactors shows today's data by default. KoppelHet requests it as it applies on the start date, so the user is ready with the right sales team as role.
  • SuccessFactors holds several email addresses per person, and for a new employee often only the private address is filled. Salesforce only accepts a changed email address after confirmation. KoppelHet therefore only uses the business type and creates the user once it exists.
  • If someone has two employments at once during an assignment, KoppelHet only deactivates the Salesforce user when the last one ends. The end of just the assignment changes role and time zone back to the home country.

This integration is also part of joiner, mover, leaver.

How we build and run it

  • The integration runs on the KoppelHet platform, hosted in a data centre in the EU.
  • Every sync and every error is visible in the functional log; on an error your administrator is notified.
  • A change that cannot go through is not half-applied but queued for another attempt.
  • KoppelHet is ISO 27001 certified. Data travels encrypted and stays on the platform no longer than needed.
  • After go-live we manage the integration and adjust it when your process changes.
  • The integration fits next to your existing integration layer. Only the fields in the design are transferred; the platform keeps no register of its own.

Implementation, architecture and compliance

Implementation and price

This is not an app you switch on. We build the integration for your organisation on our platform, with building blocks we reuse on every project. So it is custom work that does not start from scratch.

A consultant prepares the intake and analyses both systems. We then record the mapping and exceptions field by field, test in the test or acceptance environment and go live at a moment you choose. Costs are a one-off amount for the setup and a monthly amount for platform, monitoring and support.

Price indication · Basic

Leave your work email and you see the price indication right away.

We only use your address to follow up on your question about this integration.

Frequently asked questions

Can SAP not do this itself through Cloud Identity Services?

SAP Identity Provisioning reads SuccessFactors and mainly provisions SAP systems and some other targets. We have not found Salesforce as a target there. If you already use an identity provider that serves Salesforce, that link can stay.

What happens to the accounts of an account manager on assignment?

They stay with the same user. Whether they move to a colleague in the home country is decided by the sales organisation in Salesforce; the integration does not change ownership.

What permissions does the integration get in SuccessFactors?

Read only on person, employment, job, email and user settings. Compensation and payment data are outside it.

Technical details for IT

For those who want to know how it works under the hood: APIs, fields and sources used.

  • SuccessFactors Employee Central is read through the OData API with OAuth 2.0 (SAP is phasing out Basic Authentication), on lastModifiedDateTime per entity (PerPerson, PerPersonal, EmpEmployment, EmpJob, PerEmail, User) and with asOfDate on the start date. Global assignments have assignmentClass GA.
  • The User entity has timeZone (only time zones SuccessFactors supports) and defaultLocale (en_US by default if nothing is given).
  • Salesforce is written through the REST API on the User object with a connected app (OAuth 2.0) and an integration user with Manage Users. Required on create include Username (unique across all Salesforce environments), Alias (at most 8 characters), Email, LastName, ProfileId, TimeZoneSidKey, LocaleSidKey, LanguageLocaleKey and EmailEncodingKey. On departure IsActive = false, or UserLogin.IsFrozen = true when deactivation is refused.

Which fields are transferred

The key fields. The full mapping is agreed per customer.

Field in SAP SuccessFactorsField in SalesforceNotes
PerPerson.personIdExternalEmployeeNumber
PerPersonal.preferredName of firstNameFirstName
PerPersonal.lastNameLastName
PerEmail (zakelijk type)Email, Username en FederationIdentifier
Naam (ingekort)Alias
EmpJob.jobTitleTitle
EmpJob.department en jobCodeProfileId, permission sets en UserRoleIdThrough a lookup table
EmpJob.companyCompanyName
User.timeZone en User.defaultLocaleTimeZoneSidKey, LocaleSidKey en LanguageLocaleKey
EmpJob.managerIdManagerId
EmpEmployment.endDate en lastDateWorkedIsActive

Related

Which systems do you want to connect?

Tell us which systems you use and what should happen automatically. Together we define the smallest working solution, with a clear design and a quote before building.