Deel logoSalesforce logo

Accounts in applications

Deel to Salesforce integration: Salesforce users for own staff, EOR and contractors from Deel

With an integration between Deel and Salesforce, every new sales or service colleague in Deel automatically gets a Salesforce user with profile, role, manager and the settings of their country, whether employed directly, through employer of record or as a contractor. On departure the user is switched off on the last day in Deel, and a move from EOR to your own entity keeps the same user.

What the integration does

Organisations building a sales team in other countries through Deel, with employer of record or contractors, only give new colleagues a Salesforce user when their manager asks. Contractors whose assignment ends sometimes occupy a licence for months.

  1. The team records the new colleague in Deel, as employee, EOR or contractor, with job title, department, country and manager.
  2. Deel reports the new person; KoppelHet checks the signature and retrieves the data.
  3. On the start date KoppelHet creates the Salesforce user with the profile that fits the hiring type and job.
  4. When an EOR colleague moves to your own entity, the same user is updated.
  5. On the last day in Deel the user is deactivated and the licence is released.
Deel → KoppelHet → SalesforceSOURCEDeelTARGETSalesforceKoppelHetmapping · logging · monitoringDeel → KoppelHet → SalesforceSOURCEDeelTARGETSalesforceKoppelHetmapping · logging · monitoring
Out: Salesforce user with name, work email and Deel ID · Profile based on hiring type and job · Language, locale and time zone per country · Manager · Active or deactivated

What to watch for with Deel and Salesforce

  • Deel itself writes that it does not push people to other systems; that needs a layer that reads Deel and updates the target. We also found no Deel app of its own for Salesforce. That layer is the KoppelHet integration here.
  • Employees, EOR colleagues and contractors sit side by side in Deel. Every Salesforce licence costs money and contractors often need less. The hiring type in Deel sets the profile; which types get a user, you decide up front.
  • When an EOR colleague moves to your own entity, Deel gives them a new employment. KoppelHet links the Salesforce user to the person in Deel and not to the contract, so accounts, opportunities and activities stay with the same user.
  • A sales team through Deel is spread across many countries. The country of the employment sets the time zone, language and locale in Salesforce, so an account manager in Lisbon sees their appointments in their own time.
  • Deel gives the direct manager's work email for each person. KoppelHet uses it to look up that manager's Salesforce user, even if they are in another country or employed outside Deel.
  • Someone who has not started in Deel shows as not started. KoppelHet only creates the Salesforce user on the start date, so no licence is taken for someone still at a previous employer.
  • Deel stops sending notifications to an address after ten failed attempts. KoppelHet monitors that and compares all active people in Deel with the active Salesforce users every day, so a contractor does not keep a licence for months.

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

Do contractors get a Salesforce user too?

If you want, with their own profile. Per hiring type and job we record who gets a user; everyone else stays outside Salesforce.

What if a contractor becomes an employee?

They stay the same person in Deel and the same user in Salesforce. Only the profile and company name change.

Does the integration see salaries or contractor invoices?

No. The integration only reads people, employments and organisation data. Payments, invoices and contract amounts stay in Deel.

Technical details for IT

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

  • Deel is read through the HRIS People API (worker_id, hiring_type, person_status ACTIVE, NOT_STARTED or INACTIVE, employments with client_legal_entity and termination_last_day, direct_manager.work_email) and webhooks such as Worker V2 Created, Updated and Deleted, signed with x-deel-signature (HMAC-SHA256), idempotent on event_id. After the tenth failed attempt a webhook is disabled.
  • 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 DeelField in SalesforceNotes
worker_idEmployeeNumber
preferred_first_name of first_nameFirstName
last_nameLastName
WerkadresEmail, Username en FederationIdentifier
Naam (ingekort)Alias
job_titleTitle
departmentDepartment en UserRoleId
hiring_typeProfileIdDifferent profile for contractors
country en client_legal_entityCompanyName, TimeZoneSidKey, LocaleSidKey en LanguageLocaleKey
direct_manager.work_emailManagerId
person_status en termination_last_dayIsActive

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.