Connect your product to all the applications your customers use via Merge's Unified API to close more deals, retain customers, and expand to new markets








The Employment object is used to represent a job position at a company. If an integration supports historical tracking of employments, it will be reflected in the data. If not, a new Employment object will be created whenever there is a change in job title or pay. The effective_date field should be used to order Employment objects, with the most recent date corresponding to the latest employment record for an employee.
In addition to Factorial, Merge supports integrations with over 70 other HRIS platforms, including:
Moreover, with Merge's HRIS Unified API, you can build once and easily extend your integrations to any of these platforms.
For more details on the HRIS integrations Merge covers, visit this page.
Merge synchronizes data from Factorial at intervals determined by your selected sync plan.
For syncing outside of our normal sync intervals, you can use the Force Resync endpoint or Automatic Webhooks feature.
Learn more about Merge’s sync frequencies for Factorial.
Merge interacts with several Factorial API endpoints to access and manage various data types. Key endpoints include:
See all of the endpoints Merge can interact with.
A wide range of companies use it, including deskbird, Causal, Bonusly, and Ledgy.
Learn more about how these organizations use Merge’s Factorial integration—along with other HRIS integrations—here.
Merge supports features like:
Merge uses AES-256 encryption to secure all data both in transit and at rest. Data is stored in AWS data centers located in:
For enhanced security, single-tenant environments are available upon request, hosted in the AWS region of your choice.
Learn more about Merge’s approach to security.

Trusted to power integrations at
More sales, less code, fewer headaches
Stop diverting your engineers to yet another integration and let them get back to work.
Manage your simplified integration issues in a single pane. No therapist required.
Launch integrations in days, not quarters. Your sales team will thank you.
.png)

Merge seamlessly manages authentication and authorization on behalf of your customers.
Offer account linking and permission controls to your users with Link for a customizable frontend or with Magic Link for URL-based authorization
We make integrations painless with accessible API design, dead-simple SDKs, and beautiful documentation that we agonize over.
1from merge import Merge
2
3client = Merge(
4 account_token="YOUR_ACCOUNT_TOKEN",
5 api_key="YOUR_API_KEY",
6)
7client.hris.employees.list()import { MergeClient, Merge } from '@mergeapi/merge-node-client';
const merge = new MergeClient({
apiKey: 'YOUR_API_KEY',
accountToken: 'YOUR_ACCOUNT_TOKEN',
});
employee = await merge.hris.employees.list()
ApiClient.instance.authentications.tokenAuth = {
type: 'bearer',
accessToken: 'API_KEY',
};
new EmployeesApi().employeesList('ACCOUNT_TOKEN', {}, (data) => {
console.log(data);
});import (
"context"
"fmt"
merge "github.com/fern-api/merge-go"
mergeclient "github.com/fern-api/merge-go/client"
"github.com/fern-api/merge-go/hris"
)
client := mergeclient.NewClient(
mergeclient.ClientWithAuthApiKey("<YOUR_API_KEY>"),1ApiClient client = Configuration.getDefaultApiClient();
2client.setBasePath('https://api.merge.dev/api/ats/v1');
3ApiKeyAuth tokenAuth = client.getAuthentication('tokenAuth');
4tokenAuth.setApiKey('API_KEY');
5CandidatesApi apiInstance = new CandidatesApi(client);
6apiInstance.candidatesList('ACCOUNT_TOKEN');import com.merge.api.MergeApiClient;
import com.merge.api.resources.hris.employees.requests.EmployeesRetrieveRequest;
import com.merge.api.resources.hris.types.Employee;
MergeApiClient mergeClient = MergeApiClient.builder()
.accountToken("ACCOUNT_TOKEN")
.apiKey("API_KEY")
.build();
Employee employee = mergeClient.hris().employees().list(
EmployeesRetrieveRequest.builder()
.includeRemoteData(true)> {
"id": "0958cbc6-6040-430a-848e-aafacbadf4ae","remote_id": "19202938","employee_number": "2","company": "8d9fd929-436c-4fd4-a48b-0c61f68d6178","first_name": "Dirna","last_name": "Emanuel","display_full_name": "Dirna Emanuel",
"username": "dirnaemanuel",
"groups": [
Case study
%201%20(1).avif)
Working with Merge’s Unified API and beautiful React component took less than a sprint to integrate, test, and release.
Stay in touch to learn how Merge can unlock hundreds of integrations in days, not years