
Accounts in applications
HR2day to Salesforce integration: from the HR org to the CRM org, both on Salesforce
With an integration between HR2day and Salesforce, every employee with a customer contact or service job in HR2day automatically gets a user in your own Salesforce environment, with profile, role and manager. HR2day itself also runs on Salesforce, but in a separate environment; the integration connects the two and deactivates the CRM user when the last employment relationship ends.
What the integration does
Organisations that use HR2day for HR and payroll and their own Salesforce environment for client contact often assume internally that the two are already connected, because both run on Salesforce. In practice the application manager creates every new CRM user by hand, and relief workers on short contracts stay active between contracts.
- HR records the new employee and their employment relationship in HR2day.
- KoppelHet reads the changed employees and employment relationships from the HR2day environment with its own integration user.
- If the job belongs in the CRM, KoppelHet creates a user in the CRM environment with profile, role and manager.
- A new contract for relief staff switches the existing user back on instead of creating a new one.
- When the last employment relationship ends, the user is deactivated and the licence is released.
What to watch for with HR2day and Salesforce
- HR2day runs on Salesforce, but in a different environment from your CRM. Data does not flow from one environment to the other by itself. KoppelHet reads from the HR2day environment and writes to the CRM environment, with its own integration user in each holding only the rights needed there.
- A Salesforce username must be unique across all Salesforce environments together. If an employee also signs in to HR2day with a Salesforce user, their work address may already be taken as a username. KoppelHet therefore gives the CRM user its own username, for example with a suffix, and keeps the work address as email.
- Both sides have a daily maximum of API requests per environment. Reads count in the HR2day environment, where other integrations also run; writes count in the CRM environment. KoppelHet only requests changes since the previous run and only writes what has actually changed.
- Relief staff in care often get a series of short contracts. A Salesforce user cannot be deleted, and each new user would lose the history of the previous one. KoppelHet switches the existing user off between two contracts and back on with a new contract.
- An employee can have several employment relationships at once in HR2day, for example in the intake team and at a location. They get one CRM user; the main contract determines profile and role, and the user stays active as long as one employment relationship runs.
- In care only a small share of staff works in the CRM. Only jobs in the lookup table produce a user, so carers and nurses do not take up a licence they do not use.
- In both environments KoppelHet works with the technical field names instead of the labels users see. A renamed field in HR2day or a translated label in the CRM therefore does not break the integration.
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 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.
Frequently asked questions
HR2day and our CRM both run on Salesforce. Are they not already connected?
No. They are two separate environments with their own users and data. Both do speak the same API language, which makes the integration simpler.
Can employees use the same sign-in for HR2day and the CRM?
Yes, if both environments use single sign-on through the same identity provider. The usernames then differ, but the employee does not notice.
What does the integration see in HR2day?
Only employees, employment relationships and departments. Salary, citizen service number and absence are outside the integration user's rights.
Technical details for IT
For those who want to know how it works under the hood: APIs, fields and sources used.
- HR2day is read through the Salesforce REST API on the HR2day objects (custom objects with a namespace), filtered on modification date, through a connected app with a read-only integration user. API requests count towards the daily limit of the HR2day environment.
- In the CRM environment we write through the REST API on the User object with a second 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.
- Off and on again with IsActive; if Salesforce refuses deactivation, UserLogin.IsFrozen = true and an alert to the administrator.
Which fields are transferred
The key fields. The full mapping is agreed per customer.
| Field in HR2day | Field in Salesforce | Notes |
|---|---|---|
Personeelsnummer | EmployeeNumber | |
Roepnaam of voornaam | FirstName | |
Achternaam met tussenvoegsel | LastName | |
Zakelijk e-mailadres | Email en FederationIdentifier | |
Naamgevingsregel voor de CRM-omgeving | Username | Different from any username in HR2day |
Naam (ingekort) | Alias | |
Functie van het hoofdcontract | Title en ProfileId | |
Afdeling | Department en UserRoleId | |
Leidinggevende | ManagerId | |
Einddatum laatste arbeidsrelatie | IsActive |
Related
Exact Online → HR2day
Exact Online to HR2day integration: cost centres and cost units to HR2day, payroll journal per division
HR2day → Active Directory
HR2day to Active Directory integration: accounts per school or location from HR
HR2day → Microsoft Entra ID
HR2day to Entra ID integration: Microsoft 365 accounts for care, education and childcare
HR2day → Google Workspace
HR2day to Google Workspace integration: one Google account per employee, also with several employment relationships