Everything you need to know about HRIS API Integration
mins
mins
As organizations grow in revenue and people strength, a lot of data comes into existence that needs to be managed well for business success. With more people being onboarded, most HR teams struggle to manage all processes, especially where employee data is concerned.
Invariably, different HR tools and software or HRIS (Human Resources Information Software) get adopted to automate certain parts of the workflow.
Research shows that larger companies with over 500 employees often choose HRIS to consolidate systems.
With the increasing number of HR tools and overall use cases, organizations need to integrate these software with one another and their core application to ensure seamless flow of information. Here, HRIS integration plays a major role.
This article seeks to provide a complete understanding on HRIS API integration, focusing on different concepts, data models, use cases and how to achieve it in the most efficient and effective way.
Here are some of the key concepts or terminologies you should understand before moving onto more details on the applications, use cases, etc.
Directory platforms essentially are the single source of truth for all employees, especially the new joiners. It ensures that when an employee joins, they have access to all the resources, tools and software they need. Employees can leverage the Directory to familiarize themselves with different aspects of the organization.
Payroll refers to everything related to the compensation aspect for employees. It helps companies calculate the salary due to employees at the end of every month, taxes, benefits, etc. It ensures that employees are accurately compensated based on their agreements, while also complying with statutory laws and policies.
In most structured organizations, employees are entitled to additional benefits beyond the compensation. This includes health insurance, accidental insurance, retirement plans, provident fund (India), paid time off, etc. All these come under the benefits section of an employment contract and need to be carefully monitored.
Any HRIS API that you come across will address all or some aspects of the employee lifecycle. Here, you should understand the basics of recruitment, which involves attracting and hiring the best talent for your open roles, retention, which focuses on ensuring that you are able to prevent attrition and turnover for your employees by facilitating the right culture, fair pay, etc. and finally, retirement or exit, either due to completion of tenure, age or any other reason.
Another concept that requires attention is learning and development. It caters to understanding the learning and training needs for your employees, both hard and soft skills and adequately providing the right upskilling opportunities for professional success.
Let’s quickly understand how HRIS integration across HR software and tools leads to an exemplary employee experience as well as facilitates operational efficiency for HR teams. Most of the use cases of HRIS integration follow the read and write HRIS APIs which ensure automatic syncing of data between the HRIS platforms and allied applications. Put simply, manually entry of data across applications and updates can be prone to human errors. However, even a single inaccuracy in updating data can lead to serious consequences, including faulty payroll creation, absence tracking, etc. Furthermore, manual data entry might lead to unauthorized data access, especially for sensitive employee information. Here’s a quick snapshot of how HRIS integration can be used across different scenarios.
ATS or applicant tracking system can leverage HRIS integration to ensure that all important and relevant details about new employees, including name, contact information, demographic and educational backgrounds, etc. are automatically updated into the customer’s preferred HRIS tool without the need to manually entering data, which can lead to inaccuracies and is operationally taxing. ATS tools leverage the write HRIS API and provide data to the HR tools in use.
Examples: Greenhouse Software, Workable, BambooHR, Lever, Zoho
Payroll software plays an integral role in any company’s HR processes. It focuses on ensuring that everything related to payroll and compensation for employees is accurate and up to date. HRIS integration with payroll software enables the latter to get automated and real time access to employee data including time off, work schedule, shifts undertaken, payments made on behalf of the company, etc.
At the same time, it gets access to employee data on bank details, tax slabs, etc. Together, this enables the payroll software to deliver accurate payslips to its customers, regarding the latter’s employees. With automated integration, data sync can be prone to errors, which can lead to faulty compensation disbursal and many compliance challenges. HRIS integration, when done right, can alert the payroll software with any new addition to the employee database in real time to ensure setting up of their payroll immediately. At the same time, once payslips are made and salaries are disbursed, payroll software can leverage HRIS integration to write back this data into the HR software for records.
Examples: Gusto, RUN Powered by ADP, Paylocity, Rippling
Employee onboarding software uses HRIS integration to ensure a smooth onboarding process, free of administrative challenges. Onboarding tools leverage the read HRIS APIs to get access to all the data for new employees to set up their accounts across different platforms, set up payroll, get access to bank details, benefits, etc. With HRIS integrations, employee onboarding software can provide their clients with automated onboarding support without the need to manually retrieve data for each new joiner to set up their systems and accounts. Furthermore, HRIS integration also ensures that when an employee leaves an organization, the update is automatically communicated to the onboarding software to push deprovisioning of the systems, and services. This also ensures that access to any tools, files, or any other confidential access is terminated. Manually deprovisioning access can lead to some manual errors, and even cause delays in exit formalities.
Examples: Deel, Savvy, Sappling
With the right HRIS integration, HR teams can integrate all relevant data and send out communication and key announcements in a centralized manner. HRIS integrations ensure that the announcements reach all employees on the correct contact information without the need for HR teams to individually communicate the needful.
LMS tools leverage both the read and write HRIS APIs. On the one hand, they read or get access to all relevant employee data including roles, organizational structure, skills demand, competencies, etc. from the HRIS tool being used. Based on this data, they curate personalized learning and training modules for employees for effective upskilling. Once the training is administered, the LMS tools again leverage HRIS integrations to write data back into the HRIS platform with the status of the training, including whether or not the employee has completed the same, how did they perform, updating new certifications, etc. Such integration ensures that all learning modules align well with employee data and profiles, as well as all training are captured to enhance the employee’s portfolio.
Example: TalentLMS, 360Learning, Docebo, Google Classroom
Similar to LMS, workforce management and scheduling tools utilize both read and write HRIS APIs. The consolidated data and employee profile, detailing their competencies and training undertaken can help workforce management tools suggest the best delegation of work for companies, leading to resource optimization. On the other hand, scheduling tools can feed data automatically with HRIS integration into HR tools about the number of hours employees have worked, their time off, free bandwidth for allocation, shift schedules etc. HRIS integration can help easily sync employee work schedules and roster data to get a clear picture of each employee’s schedule and contribution.
Examples: QuickBooks Time, When I Work
HRIS integration for benefits administration tools ensures that employees are provided with the benefits accurately, customized to their contribution and set parameters in the organization. Benefits administration tools can automatically connect with the employee data and records of their customers to understand the benefits they are eligible for based on the organizational structure, employment type, etc. They can read employee data to determine the benefits that employees are entitled to. Furthermore, based on employee data, they feed relevant information back into the HR software, which can further be leveraged by payroll software used by the customers to ensure accurate payslip creation.
Examples: TriNet Zenefits, Rippling, PeopleKeep, Ceridian Dayforce
Workforce planning tools essentially help companies identify the gap in their talent pipeline to create strategic recruitment plans. They help understand the current capabilities to determine future hiring needs. HRIS integration with such tools can help automatically sync the current employee data, with a focus on organizational structure, key competencies, training offered, etc. Such insights can help workforce planning tools accurately manage talent demands for any organization. At the same time, real time sync with data from HR tools ensures that workforce planning can be updated in real time.
Examples: ClearCompany, Deel, ActivTrak
The different HRIS tools you use are bound to come with different data models or fields which will capture data for exchange between applications. It is important for HR professionals and those building and managing these integrations to understand these data models, especially to ensure normalization and transformation of data when it moves from one application to another.
This includes details of all employees whether full time or contractual, including first and last name, contact details, date of birth, email ID, etc. At the same time, it covers other details on demographics and employment history including status, start date, marital status, gender, etc. In case of a former employee, this field also captures termination date.
This includes personal details of the employee, including personal phone number, address, etc. which can be used to contact employees beyond work contact information.
Employee profile picture object or data model captures the profile picture of the employees that can be used across employee records and purposes.
The next data model in discussion focuses on the type or the nature of employment. An organization can hire full time employees, contractual workers, gig workers, volunteers, etc. This distinction in employment type helps differentiate between payroll specifications, taxation rules, benefits, etc.
Location object or data model refers to the geographical area for the employee. Here, both the work location as well as the residential or native/ home location of the employee is captured. This field captures address, country, zip code, etc.
Leave request data model focuses on capturing all the time off or leave of absence entries made by the employee. It includes detailing the nature of leave, time period, status, reason, etc.
Each employee, based on their nature of employment, is entitled to certain time off in a year. The leave balance object helps organizations keep a track of the remaining balance of leave of absence left with the employee. With this, organizations can ensure accurate payroll, benefits and compensation.
This data model captures the attendance of employees, including fields like time in, time out, number of working hours, shift timing, status, break time, etc.
Each organization has a hierarchical structure or layers which depict an employee’s position in the whole scheme of things. The organizational structure object helps understand an employee’s designation, department, manager (s), direct reportees, etc.
This data model focuses on capturing the bank details of the employee, along with other financial details like a linked account for transfer of salary and other benefits that the employee is entitled to. In addition, it captures routing information like Swift Code, IFSC Code, Branch Code, etc.
Dependents object focuses on the family members of an employee or individuals who the employee has confirmed as dependents for purposes of insurance, family details, etc. This also includes details of employees’ dependents including their date of birth, relation to the employee, among others.
This includes the background verification and other details about an employee with some identification proof and KYC (know your customer) documents. This is essential for companies to ensure their employees are well meaning citizens of the country meeting all compliances to work in that location. It captures details like Aadhar Number, PAN Number or unique identification number for the KYC document.
This data model captures all details related to compensation for an employee, including total compensation/ cost to company, compensation split, salary in hand, etc. It also includes details on fixed compensation, variable pay as well as stock options. Compensation object also captures the frequency of salary payment, pay period, etc.
By now, it would be clear to you that there are several HRIS tools in the market today that companies use and need to integrate with one another to ensure smooth exchange of data and consistency in records across platforms. However, manually implementing integrations between APIs of individual platforms can be extremely time consuming and resource intensive. In such a case, you can rely on a unified API like Knit, which gives you a single HRIS API to integrate with. Once you integrate with the HRIS API, you automatically get integrated with all the HR platforms you use.
Before moving on to the best practices to choose the right Unified HRIS API integration platform, here are some quick reasons why you should choose one:
Here are some points that you should always consider while choosing the right unified HRIS API for your company:
Start by gauging whether or not the unified API provides comprehensive and easy to understand documentation for integration. One of the key reasons to choose a unified API is to prevent the effort of navigating through individual documentation for each integration you need. Therefore, getting the right documentation, which covers everything you need is important. The documentation will also help you understand the integration logic being followed, including REST vs SOAP, and end points like GET, POST, and PATCH, provision of free sandbox, etc.
Next, understand the authentication model that the unified API provides. Essentially, there are a few major types of authentication, including,
The right authentication and authorization is important since it will directly impact the privacy and security of the data you exchange between integrations.
Rate limits are simply the number of API requests that can be made in a defined period of time. They are generally set to prevent cyber attacks like DDoS attacks which come in the form of exponential unleashing of API requests. Having a lower threshold of rate limit, but with expected high rate of requests can lead to unexpected unified API behavior. Ensure that your unified API provider can customize rate limits to address your and your customer needs.
HRIS API integration doesn’t end with building the integrations. There is a lot which goes on once the integrations are under use. There can be errors in data transformation, zombie APIs, API keys breaking or expiring, bad data being returned, long running syncs, troubleshooting challenges, and more. Your unified API needs to provide you with exceptional maintenance and management support, taking care of any challenge that comes along. At the same time, the error messages should be easy to decipher for your customer success team to ultimately address the queries.
Undoubtedly, security of your HRIS API integration is critical to your business operations. Thus, choose a unified API provider which is security-first. Gauge the level of encryption it offers, We have already talked about authentication. Don’t forget to check for security protocols, certifications and compliances which are adhered by the unified API for maximum resilience.
Knit is a unified HRIS API provider that enables companies to implement native HRIS integrations to streamline and optimize HR processes. When you integrate with Knit, you get:
Knit, as a unified HRIS API ensures a high ROI for companies which seek to integrate their diverse HRIS applications to make their HR processes effective, without sinking their organizational budgets.
To conclude, it is quite evident that HRIS integration is a must have for any growing HR team which is looking to work with several HR tools to manage different parts of the process. However, building and managing integrations in-house can be quite intensive in terms of investments and engineering team involvement. Fortunately, with a unified HRIS API, companies only need to integrate once with a unified API key and connect with all HRIS applications, with high levels of security, guaranteed scalability, seamless data normalization, integration management and real time sync.
mins
If you are looking to integrate multiple HRIS, payroll and ATS apps with a single API key, check out Knit API. If you are looking to learn more about key payroll API concepts, data models and use cases, keep reading
As the nature of employment is constantly changing with dynamic employee benefit expectations, organizational payroll is seeing constant transformation. At the same time, payroll data is no longer used only for paying employees, but is increasingly being employed for a variety of other purposes.
This diversification and added complexities of payroll has given rise to payroll APIs which are integral in bringing together the employment ecosystem for businesses to facilitate smooth transactions.
Like all other APIs or application programming interfaces, payroll APIs help companies integrate their different applications or platforms that they use to manage employee payment details together for a robust payroll system.
Essentially, it enables organizations to bring together details related to salary, benefits, payment schedule etc. and run this data seamlessly to ensure that all employees are compensated correctly and on time, facilitating greater satisfaction and motivation, while preventing any financial challenges for the company.
To build or use any payroll API or HRIS integration, it is important that you understand the key payroll concepts and the information you will need to collect for effective execution. Since payroll APIs are domain specific, lack of knowledge of these concepts will make the process of integration complicated and slow. Thus, here is a quick list of concepts to get started.
The first concept you should start with focuses on understanding the frequency and repetition of payments. There are multiple layers to understand here.
First, understand the frequency. In technical terms, it is called pay period. This refers to the number of times a payment is made within a specific period. For instance, it could be monthly, twice in a month, four times a month, etc. Essentially, it is how many times a payment is made within a particular period.
Second, is the repetition, also known as payroll runs. Within an organization, some employees are paid on a regular basis, while others might receive a one-time payment for specific projects. A payroll run defines whether or not the payment is recurring. Your payroll run will also constitute a status to help understand whether or not the payment has been made. In case the payment is being calculated, the status will likely be unprocessed. However, once it is complete, the status will change to paid or whatever nomenclature you use.
As a part of the payroll concepts, it is extremely important for you to understand terms like pay scale, in-hand pay, compensation, pay rate, deduction, reimbursements, etc. We’ll take them one at a time.
A pay scale or pay rate determines the amount of salary that is due to an employee based on their level of experience, job role, title, tenure with the organization, etc.
A pay scale or a pay rate can be in the form of an hourly or weekly or even a monthly figure, say INR xx per week or INR yy per hour. It may differ for people with similar experience at the same level, based on their tenure with the company, skills and competencies, etc.
Based on the pay scale or pay rate, a company can calculate the compensation due to any employee. Generally, the math for compensation isn’t linear. Compensation is also referred to as the gross pay which includes the pay rate multiplied by the time period that the employee has worked for along with other benefits like bonuses and commissions that might be due to the employee, based on their terms of employment.
For instance, some organizations provide a one-time joining bonus, while others have sales incentives for their employees. All of these form a part of the compensation or gross pay.
In addition to the benefits mentioned above, an employee might be eligible for others including a health cover, leave-travel allowance, mental wellness allowance etc. These all together add up to benefits that an employee receives over and above the pay rate.
Within the compensation or the gross pay are parts of deductions, which are not directly paid to the employees. These deductions differ across countries and regions and even based on the size of the company.
For instance, in India, companies have to deduct PF from the employee’s gross pay which is given to them at the time of retirement. However, if an organization is smaller than 20 people, this compliance doesn’t come into existence. At the same time, based on the pay scale and pay rate, there are tax deductions which are due.
The in-hand pay is essentially the amount an employee receives after addition of all due payment and subtraction of the aforementioned deductions. This is the payment that the employee receives in his/ her bank account.
Another concept within the payroll is reimbursements. There might be some expenses that an employee undertakes based on the requirements of the job, which are not a part of the gross pay. For instance, an employee takes out a client for dinner or is traveling for company work. In such cases, the expenses borne by the employee are compensated to the employee. Reimbursements are generally direct and don’t incur any tax deductions.
The above concepts together add up to the cost to the employer. This refers to how much an employee essentially costs to a company, including all the direct and indirect payments made to them. The calculation starts with the pay scale or pay rate to which other aspects like contribution to benefits and em
Now that you have an understanding of the major payroll concepts, you also need to be aware about the key data or information that you will need to comprehend to work on payroll APIs.
Essentially, there are two types of data models that are most used in payroll APIs. One focuses on the employees and the other on the overall organization or company.
From an employee standpoint, any payroll API will need to have the following details:
The part of the world where the employee resides. You need to capture not only the present but also the permanent address of the employee.
Employee profile refers to a basic biography of the concerned person which includes their educational backgrounds, qualifications, experience, areas of expertise, etc. These will help you understand which pay scale they will fit into and define the compensation in a better way. It is equally important to get their personal details like date of birth, medical history, etc.
An employee ID will help you give a unique identifier to each employee and ensure all payments are made correctly. There might be instances where two or more employees share the same name or other details. An employee ID will help differentiate the two and process their payrolls correctly.
Information on dependents like elderly parents, spouses and children will help you get a better picture of the employee’s family. This is important from a social security and medicare perspective that is often extended to dependents of employees.
When it comes to company details, working with a payroll API, you need to have a fair understanding of the organizational structure. The idea is to understand the hierarchy within the organization, the different teams as well as to get manager details for each employee.
A simple use case includes reimbursements. Generally, reimbursements require an approval from the direct reporting manager. Having this information can make your payroll API work effectively.
Invariably, a payroll API can help you integrate different information related to an employee’s payroll and ensure a smooth payment process. However, it is interesting to note that many SaaS companies are now utilizing this payroll data collected from payroll APIs with HRIS integration to power their operations. Some of the top payroll API use cases include:
Often, information about payroll and income for individuals is siloed and insurance and lending companies have to navigate through dozens of documents to determine whether or not the individual is eligible for any kind of insurance or loans. Fortunately, with payroll APIs, this becomes easy by enabling several benefits.
Accounting and tax management companies have for long struggled with manual paperwork to file company taxes which comply with the national and regional norms. With payroll API, SaaS based accounting firms find it extremely easy to access all employee related tax information at one place. They can see the benefits offered to different employees, overall compensation, reimbursements and all other payroll related technicalities which were earlier siloed.
Armed with this data, courtesy payroll APIs, accounting firms find their work has been highly streamlined as they no longer have to manually document all information and then work to verify its accuracy and compliance.
There are several SaaS companies today that are helping businesses set up their benefits plans and services for high levels of employee satisfaction. These employee benefits companies can take help of data from payroll APIs to help businesses customize their benefits packages to best suit employee expectations and trends.
For instance, you might want to have different benefits for full-time versus contractual employees. With payroll API data, employee benefit companies can help businesses make financially prudent decisions for employee benefits.
The recent years have seen a rise in the adoption of performance management systems which can help businesses adopt practices for better employee performance. Armed with HRIS and payroll API data from different companies, these companies can identify motivators in payroll for better performance and even help identify rate of absenteeism and causes of poor performance.
Such SaaS based companies use payroll APIs to understand which pay scale employees take more time off, what their benefits look like and how this gap can be bridge to facilitate better performance. Invariably, here, payroll data can help streamline performance management from a benefits, incentives and compensation standpoint.As well as, it makes HRIS data makes it a one click process to gather all relevant employee information.
Consumer fintech companies, like those in direct deposit switching, are increasingly leveraging payroll APIs to facilitate their operations. Payroll API integrations allow consumers to directly route their deposits through their payroll with direct deposit switching. The account receiving the deposit is directly linked to the employee’s payroll account, making it easy for consumer fintech companies to increase their transactions, without manual intervention which increases friction and reduces overall value.
Finally, there are SaaS companies that deal with commercial insurance for companies for different purposes. Be it health or any other, payroll API data can help them get a realistic picture of the company’s people posture and their payroll information which can help these commercial insurance companies suggest the best plans for them as well as ensure that the employees are able to make the payments. They can achieve all of this without having to manually process data for all employees across the organization.
Research shows that the payroll market is poised to grow at a CAGR of 9.2% between 2022 and 2031, reaching $55.69 billion by 2031.
While the growth is promising, the payroll market is extremely fragmented. Undoubtedly, there are a few players like ADP RUN, Workday, etc. which have a significant market share. However, the top 10 players in the space constitute only about 55%-60% share, which clearly illustrates the presence of multiple other smaller companies. In fact, as you go down from the top 2-3 to the top 10, the market share for individual applications dwindles down to 1% each.
Here is a quick snapshot of the payroll market segmentation to help understand its fragmented nature and the need for a unified solution to make sense of payroll APIs.
Before moving on to how payroll fragmentation can be addressed with a unified solution, it is important to understand why this fragmentation exists. The top reasons include:
First, different businesses have different demographics and industries that they cater to. Irrespective of the features, each business is looking for a payroll solution that provides them with the best pricing based on their number of employees and employment terms. While some might have a large number of full time salaried employees, others might have a large number of contractual workers, while the third kind might have a balanced mix of both. These diverse demographic requirements have given birth to different payroll applications, fragmenting the market.
Next, it is important to understand that market conditions and employment terms are constantly in flux.
Therefore, as businesses need new and fresh approaches to deal with their payroll requirements, a consequent rise of fragmentation can be observed.
Finally, organizations are increasingly adopting white labeled or embedded payroll solutions which enable them to either brand the solutions with their name or embed the API into their existing product. This is enabling market players in other verticals to also enter the payroll market, which further adds to the fragmentation.
With so many payroll applications in the market for HRMS integration, it can be extremely daunting for businesses to make sense of all payroll related data. At the same time, it is difficult to manage data exchange between different payroll applications you might be using. Therefore, a unified payroll API can help make the process easy.
First, the data needs to be normalized. This means that your unified payroll API will normalize and funnel data from all payroll providers about each employee into a consistent, predictable and easy to understand data format or syntax, which can be used.
Second, a unified API will help you manage all employee payroll data in the form of unified logs with an API key to ensure that you can easily retrieve the data as and when needed.
Finally, a unified payroll API can help ensure that you are able to make sense of the payroll data and make informed decisions during financial planning and analysis on factors like pay equity, financial prudence, etc.
As a unified payroll API, Knit can help you easily get access to the following payroll data from different payroll applications that you might be using to facilitate seamless payment processing and payroll planning for the next financial year.
Seamlessly retrieve all employee data like first name, last name, unique ID, date of birth, work email, start date, termination data in case of former employees, marital data and employment type.
Hierarchical data for the employee, including information on the employee’s title and designation, department, manager details, subordinates or those who report to the employee, etc.
Details about the family members of the employees including children, spouse and parents. The information includes name, relation, date of birth and other specific data points which can be useful when you are negotiating insurance and other benefits with third party companies.
Information on where the employee currently resides, specific address as well as the permanent address for the employee.
All kinds of details about the compensation for the employee, including gross pay, net pay, benefits and other earnings like commissions, bonuses, employee contributions to benefits, employer contributions, taxes and other deductions, reimbursements, etc.
Overall, if you observe it is very clear that increasingly, the payroll market is becoming more and more fragmented. Invariably, it is becoming extremely difficult for businesses using multiple payroll applications to normalize all data to facilitate understanding and exchange. To make sense of payroll APIs, you need to first acquaint yourself with the key payroll concepts like pay period, payroll run, compensation, in-hand pay, gross pay, reimbursements, benefits and deductions, etc.
Once you understand these, you will agree that a payroll API can make the payment process seamless by helping in employee onboarding and payroll integration, management of reimbursements, administration of benefits and easy deductions, tax and net pay management, accounting and financial planning, among others.
Increasingly, data from payroll APIs is also enabling other SaaS companies to power their operations, especially in the finance and fintech space. If you look closely, lending, insurance, portfolio management, etc. have become very streamlined, automated with a reduced reliance on manual process. At the same time, HR management has also become simplified, especially across performance management. Payroll data can help performance management companies help businesses identify the right incentive structure to motivate high performance.
However, with increasing fragmentation, a unified payroll API can help businesses easily extract salary information, data on benefits and deductions and records about how and when the employees have been paid along with tax related information from a single source. Thus, if you are adopting payroll API, look out for data normalization and data management for maximum business effectiveness.
As organizations grow in revenue and people strength, a lot of data comes into existence that needs to be managed well for business success. With more people being onboarded, most HR teams struggle to manage all processes, especially where employee data is concerned.
Invariably, different HR tools and software or HRIS (Human Resources Information Software) get adopted to automate certain parts of the workflow.
Research shows that larger companies with over 500 employees often choose HRIS to consolidate systems.
With the increasing number of HR tools and overall use cases, organizations need to integrate these software with one another and their core application to ensure seamless flow of information. Here, HRIS integration plays a major role.
This article seeks to provide a complete understanding on HRIS API integration, focusing on different concepts, data models, use cases and how to achieve it in the most efficient and effective way.
Here are some of the key concepts or terminologies you should understand before moving onto more details on the applications, use cases, etc.
Directory platforms essentially are the single source of truth for all employees, especially the new joiners. It ensures that when an employee joins, they have access to all the resources, tools and software they need. Employees can leverage the Directory to familiarize themselves with different aspects of the organization.
Payroll refers to everything related to the compensation aspect for employees. It helps companies calculate the salary due to employees at the end of every month, taxes, benefits, etc. It ensures that employees are accurately compensated based on their agreements, while also complying with statutory laws and policies.
In most structured organizations, employees are entitled to additional benefits beyond the compensation. This includes health insurance, accidental insurance, retirement plans, provident fund (India), paid time off, etc. All these come under the benefits section of an employment contract and need to be carefully monitored.
Any HRIS API that you come across will address all or some aspects of the employee lifecycle. Here, you should understand the basics of recruitment, which involves attracting and hiring the best talent for your open roles, retention, which focuses on ensuring that you are able to prevent attrition and turnover for your employees by facilitating the right culture, fair pay, etc. and finally, retirement or exit, either due to completion of tenure, age or any other reason.
Another concept that requires attention is learning and development. It caters to understanding the learning and training needs for your employees, both hard and soft skills and adequately providing the right upskilling opportunities for professional success.
Let’s quickly understand how HRIS integration across HR software and tools leads to an exemplary employee experience as well as facilitates operational efficiency for HR teams. Most of the use cases of HRIS integration follow the read and write HRIS APIs which ensure automatic syncing of data between the HRIS platforms and allied applications. Put simply, manually entry of data across applications and updates can be prone to human errors. However, even a single inaccuracy in updating data can lead to serious consequences, including faulty payroll creation, absence tracking, etc. Furthermore, manual data entry might lead to unauthorized data access, especially for sensitive employee information. Here’s a quick snapshot of how HRIS integration can be used across different scenarios.
ATS or applicant tracking system can leverage HRIS integration to ensure that all important and relevant details about new employees, including name, contact information, demographic and educational backgrounds, etc. are automatically updated into the customer’s preferred HRIS tool without the need to manually entering data, which can lead to inaccuracies and is operationally taxing. ATS tools leverage the write HRIS API and provide data to the HR tools in use.
Examples: Greenhouse Software, Workable, BambooHR, Lever, Zoho
Payroll software plays an integral role in any company’s HR processes. It focuses on ensuring that everything related to payroll and compensation for employees is accurate and up to date. HRIS integration with payroll software enables the latter to get automated and real time access to employee data including time off, work schedule, shifts undertaken, payments made on behalf of the company, etc.
At the same time, it gets access to employee data on bank details, tax slabs, etc. Together, this enables the payroll software to deliver accurate payslips to its customers, regarding the latter’s employees. With automated integration, data sync can be prone to errors, which can lead to faulty compensation disbursal and many compliance challenges. HRIS integration, when done right, can alert the payroll software with any new addition to the employee database in real time to ensure setting up of their payroll immediately. At the same time, once payslips are made and salaries are disbursed, payroll software can leverage HRIS integration to write back this data into the HR software for records.
Examples: Gusto, RUN Powered by ADP, Paylocity, Rippling
Employee onboarding software uses HRIS integration to ensure a smooth onboarding process, free of administrative challenges. Onboarding tools leverage the read HRIS APIs to get access to all the data for new employees to set up their accounts across different platforms, set up payroll, get access to bank details, benefits, etc. With HRIS integrations, employee onboarding software can provide their clients with automated onboarding support without the need to manually retrieve data for each new joiner to set up their systems and accounts. Furthermore, HRIS integration also ensures that when an employee leaves an organization, the update is automatically communicated to the onboarding software to push deprovisioning of the systems, and services. This also ensures that access to any tools, files, or any other confidential access is terminated. Manually deprovisioning access can lead to some manual errors, and even cause delays in exit formalities.
Examples: Deel, Savvy, Sappling
With the right HRIS integration, HR teams can integrate all relevant data and send out communication and key announcements in a centralized manner. HRIS integrations ensure that the announcements reach all employees on the correct contact information without the need for HR teams to individually communicate the needful.
LMS tools leverage both the read and write HRIS APIs. On the one hand, they read or get access to all relevant employee data including roles, organizational structure, skills demand, competencies, etc. from the HRIS tool being used. Based on this data, they curate personalized learning and training modules for employees for effective upskilling. Once the training is administered, the LMS tools again leverage HRIS integrations to write data back into the HRIS platform with the status of the training, including whether or not the employee has completed the same, how did they perform, updating new certifications, etc. Such integration ensures that all learning modules align well with employee data and profiles, as well as all training are captured to enhance the employee’s portfolio.
Example: TalentLMS, 360Learning, Docebo, Google Classroom
Similar to LMS, workforce management and scheduling tools utilize both read and write HRIS APIs. The consolidated data and employee profile, detailing their competencies and training undertaken can help workforce management tools suggest the best delegation of work for companies, leading to resource optimization. On the other hand, scheduling tools can feed data automatically with HRIS integration into HR tools about the number of hours employees have worked, their time off, free bandwidth for allocation, shift schedules etc. HRIS integration can help easily sync employee work schedules and roster data to get a clear picture of each employee’s schedule and contribution.
Examples: QuickBooks Time, When I Work
HRIS integration for benefits administration tools ensures that employees are provided with the benefits accurately, customized to their contribution and set parameters in the organization. Benefits administration tools can automatically connect with the employee data and records of their customers to understand the benefits they are eligible for based on the organizational structure, employment type, etc. They can read employee data to determine the benefits that employees are entitled to. Furthermore, based on employee data, they feed relevant information back into the HR software, which can further be leveraged by payroll software used by the customers to ensure accurate payslip creation.
Examples: TriNet Zenefits, Rippling, PeopleKeep, Ceridian Dayforce
Workforce planning tools essentially help companies identify the gap in their talent pipeline to create strategic recruitment plans. They help understand the current capabilities to determine future hiring needs. HRIS integration with such tools can help automatically sync the current employee data, with a focus on organizational structure, key competencies, training offered, etc. Such insights can help workforce planning tools accurately manage talent demands for any organization. At the same time, real time sync with data from HR tools ensures that workforce planning can be updated in real time.
Examples: ClearCompany, Deel, ActivTrak
The different HRIS tools you use are bound to come with different data models or fields which will capture data for exchange between applications. It is important for HR professionals and those building and managing these integrations to understand these data models, especially to ensure normalization and transformation of data when it moves from one application to another.
This includes details of all employees whether full time or contractual, including first and last name, contact details, date of birth, email ID, etc. At the same time, it covers other details on demographics and employment history including status, start date, marital status, gender, etc. In case of a former employee, this field also captures termination date.
This includes personal details of the employee, including personal phone number, address, etc. which can be used to contact employees beyond work contact information.
Employee profile picture object or data model captures the profile picture of the employees that can be used across employee records and purposes.
The next data model in discussion focuses on the type or the nature of employment. An organization can hire full time employees, contractual workers, gig workers, volunteers, etc. This distinction in employment type helps differentiate between payroll specifications, taxation rules, benefits, etc.
Location object or data model refers to the geographical area for the employee. Here, both the work location as well as the residential or native/ home location of the employee is captured. This field captures address, country, zip code, etc.
Leave request data model focuses on capturing all the time off or leave of absence entries made by the employee. It includes detailing the nature of leave, time period, status, reason, etc.
Each employee, based on their nature of employment, is entitled to certain time off in a year. The leave balance object helps organizations keep a track of the remaining balance of leave of absence left with the employee. With this, organizations can ensure accurate payroll, benefits and compensation.
This data model captures the attendance of employees, including fields like time in, time out, number of working hours, shift timing, status, break time, etc.
Each organization has a hierarchical structure or layers which depict an employee’s position in the whole scheme of things. The organizational structure object helps understand an employee’s designation, department, manager (s), direct reportees, etc.
This data model focuses on capturing the bank details of the employee, along with other financial details like a linked account for transfer of salary and other benefits that the employee is entitled to. In addition, it captures routing information like Swift Code, IFSC Code, Branch Code, etc.
Dependents object focuses on the family members of an employee or individuals who the employee has confirmed as dependents for purposes of insurance, family details, etc. This also includes details of employees’ dependents including their date of birth, relation to the employee, among others.
This includes the background verification and other details about an employee with some identification proof and KYC (know your customer) documents. This is essential for companies to ensure their employees are well meaning citizens of the country meeting all compliances to work in that location. It captures details like Aadhar Number, PAN Number or unique identification number for the KYC document.
This data model captures all details related to compensation for an employee, including total compensation/ cost to company, compensation split, salary in hand, etc. It also includes details on fixed compensation, variable pay as well as stock options. Compensation object also captures the frequency of salary payment, pay period, etc.
By now, it would be clear to you that there are several HRIS tools in the market today that companies use and need to integrate with one another to ensure smooth exchange of data and consistency in records across platforms. However, manually implementing integrations between APIs of individual platforms can be extremely time consuming and resource intensive. In such a case, you can rely on a unified API like Knit, which gives you a single HRIS API to integrate with. Once you integrate with the HRIS API, you automatically get integrated with all the HR platforms you use.
Before moving on to the best practices to choose the right Unified HRIS API integration platform, here are some quick reasons why you should choose one:
Here are some points that you should always consider while choosing the right unified HRIS API for your company:
Start by gauging whether or not the unified API provides comprehensive and easy to understand documentation for integration. One of the key reasons to choose a unified API is to prevent the effort of navigating through individual documentation for each integration you need. Therefore, getting the right documentation, which covers everything you need is important. The documentation will also help you understand the integration logic being followed, including REST vs SOAP, and end points like GET, POST, and PATCH, provision of free sandbox, etc.
Next, understand the authentication model that the unified API provides. Essentially, there are a few major types of authentication, including,
The right authentication and authorization is important since it will directly impact the privacy and security of the data you exchange between integrations.
Rate limits are simply the number of API requests that can be made in a defined period of time. They are generally set to prevent cyber attacks like DDoS attacks which come in the form of exponential unleashing of API requests. Having a lower threshold of rate limit, but with expected high rate of requests can lead to unexpected unified API behavior. Ensure that your unified API provider can customize rate limits to address your and your customer needs.
HRIS API integration doesn’t end with building the integrations. There is a lot which goes on once the integrations are under use. There can be errors in data transformation, zombie APIs, API keys breaking or expiring, bad data being returned, long running syncs, troubleshooting challenges, and more. Your unified API needs to provide you with exceptional maintenance and management support, taking care of any challenge that comes along. At the same time, the error messages should be easy to decipher for your customer success team to ultimately address the queries.
Undoubtedly, security of your HRIS API integration is critical to your business operations. Thus, choose a unified API provider which is security-first. Gauge the level of encryption it offers, We have already talked about authentication. Don’t forget to check for security protocols, certifications and compliances which are adhered by the unified API for maximum resilience.
Knit is a unified HRIS API provider that enables companies to implement native HRIS integrations to streamline and optimize HR processes. When you integrate with Knit, you get:
Knit, as a unified HRIS API ensures a high ROI for companies which seek to integrate their diverse HRIS applications to make their HR processes effective, without sinking their organizational budgets.
To conclude, it is quite evident that HRIS integration is a must have for any growing HR team which is looking to work with several HR tools to manage different parts of the process. However, building and managing integrations in-house can be quite intensive in terms of investments and engineering team involvement. Fortunately, with a unified HRIS API, companies only need to integrate once with a unified API key and connect with all HRIS applications, with high levels of security, guaranteed scalability, seamless data normalization, integration management and real time sync.
If you are looking to integrate multiple HRIS, payroll and ATS apps with a single API key, check out Knit API. If you are looking to learn more about key payroll API concepts, data models and use cases, keep reading
As the nature of employment is constantly changing with dynamic employee benefit expectations, organizational payroll is seeing constant transformation. At the same time, payroll data is no longer used only for paying employees, but is increasingly being employed for a variety of other purposes.
This diversification and added complexities of payroll has given rise to payroll APIs which are integral in bringing together the employment ecosystem for businesses to facilitate smooth transactions.
Like all other APIs or application programming interfaces, payroll APIs help companies integrate their different applications or platforms that they use to manage employee payment details together for a robust payroll system.
Essentially, it enables organizations to bring together details related to salary, benefits, payment schedule etc. and run this data seamlessly to ensure that all employees are compensated correctly and on time, facilitating greater satisfaction and motivation, while preventing any financial challenges for the company.
To build or use any payroll API or HRIS integration, it is important that you understand the key payroll concepts and the information you will need to collect for effective execution. Since payroll APIs are domain specific, lack of knowledge of these concepts will make the process of integration complicated and slow. Thus, here is a quick list of concepts to get started.
The first concept you should start with focuses on understanding the frequency and repetition of payments. There are multiple layers to understand here.
First, understand the frequency. In technical terms, it is called pay period. This refers to the number of times a payment is made within a specific period. For instance, it could be monthly, twice in a month, four times a month, etc. Essentially, it is how many times a payment is made within a particular period.
Second, is the repetition, also known as payroll runs. Within an organization, some employees are paid on a regular basis, while others might receive a one-time payment for specific projects. A payroll run defines whether or not the payment is recurring. Your payroll run will also constitute a status to help understand whether or not the payment has been made. In case the payment is being calculated, the status will likely be unprocessed. However, once it is complete, the status will change to paid or whatever nomenclature you use.
As a part of the payroll concepts, it is extremely important for you to understand terms like pay scale, in-hand pay, compensation, pay rate, deduction, reimbursements, etc. We’ll take them one at a time.
A pay scale or pay rate determines the amount of salary that is due to an employee based on their level of experience, job role, title, tenure with the organization, etc.
A pay scale or a pay rate can be in the form of an hourly or weekly or even a monthly figure, say INR xx per week or INR yy per hour. It may differ for people with similar experience at the same level, based on their tenure with the company, skills and competencies, etc.
Based on the pay scale or pay rate, a company can calculate the compensation due to any employee. Generally, the math for compensation isn’t linear. Compensation is also referred to as the gross pay which includes the pay rate multiplied by the time period that the employee has worked for along with other benefits like bonuses and commissions that might be due to the employee, based on their terms of employment.
For instance, some organizations provide a one-time joining bonus, while others have sales incentives for their employees. All of these form a part of the compensation or gross pay.
In addition to the benefits mentioned above, an employee might be eligible for others including a health cover, leave-travel allowance, mental wellness allowance etc. These all together add up to benefits that an employee receives over and above the pay rate.
Within the compensation or the gross pay are parts of deductions, which are not directly paid to the employees. These deductions differ across countries and regions and even based on the size of the company.
For instance, in India, companies have to deduct PF from the employee’s gross pay which is given to them at the time of retirement. However, if an organization is smaller than 20 people, this compliance doesn’t come into existence. At the same time, based on the pay scale and pay rate, there are tax deductions which are due.
The in-hand pay is essentially the amount an employee receives after addition of all due payment and subtraction of the aforementioned deductions. This is the payment that the employee receives in his/ her bank account.
Another concept within the payroll is reimbursements. There might be some expenses that an employee undertakes based on the requirements of the job, which are not a part of the gross pay. For instance, an employee takes out a client for dinner or is traveling for company work. In such cases, the expenses borne by the employee are compensated to the employee. Reimbursements are generally direct and don’t incur any tax deductions.
The above concepts together add up to the cost to the employer. This refers to how much an employee essentially costs to a company, including all the direct and indirect payments made to them. The calculation starts with the pay scale or pay rate to which other aspects like contribution to benefits and em
Now that you have an understanding of the major payroll concepts, you also need to be aware about the key data or information that you will need to comprehend to work on payroll APIs.
Essentially, there are two types of data models that are most used in payroll APIs. One focuses on the employees and the other on the overall organization or company.
From an employee standpoint, any payroll API will need to have the following details:
The part of the world where the employee resides. You need to capture not only the present but also the permanent address of the employee.
Employee profile refers to a basic biography of the concerned person which includes their educational backgrounds, qualifications, experience, areas of expertise, etc. These will help you understand which pay scale they will fit into and define the compensation in a better way. It is equally important to get their personal details like date of birth, medical history, etc.
An employee ID will help you give a unique identifier to each employee and ensure all payments are made correctly. There might be instances where two or more employees share the same name or other details. An employee ID will help differentiate the two and process their payrolls correctly.
Information on dependents like elderly parents, spouses and children will help you get a better picture of the employee’s family. This is important from a social security and medicare perspective that is often extended to dependents of employees.
When it comes to company details, working with a payroll API, you need to have a fair understanding of the organizational structure. The idea is to understand the hierarchy within the organization, the different teams as well as to get manager details for each employee.
A simple use case includes reimbursements. Generally, reimbursements require an approval from the direct reporting manager. Having this information can make your payroll API work effectively.
Invariably, a payroll API can help you integrate different information related to an employee’s payroll and ensure a smooth payment process. However, it is interesting to note that many SaaS companies are now utilizing this payroll data collected from payroll APIs with HRIS integration to power their operations. Some of the top payroll API use cases include:
Often, information about payroll and income for individuals is siloed and insurance and lending companies have to navigate through dozens of documents to determine whether or not the individual is eligible for any kind of insurance or loans. Fortunately, with payroll APIs, this becomes easy by enabling several benefits.
Accounting and tax management companies have for long struggled with manual paperwork to file company taxes which comply with the national and regional norms. With payroll API, SaaS based accounting firms find it extremely easy to access all employee related tax information at one place. They can see the benefits offered to different employees, overall compensation, reimbursements and all other payroll related technicalities which were earlier siloed.
Armed with this data, courtesy payroll APIs, accounting firms find their work has been highly streamlined as they no longer have to manually document all information and then work to verify its accuracy and compliance.
There are several SaaS companies today that are helping businesses set up their benefits plans and services for high levels of employee satisfaction. These employee benefits companies can take help of data from payroll APIs to help businesses customize their benefits packages to best suit employee expectations and trends.
For instance, you might want to have different benefits for full-time versus contractual employees. With payroll API data, employee benefit companies can help businesses make financially prudent decisions for employee benefits.
The recent years have seen a rise in the adoption of performance management systems which can help businesses adopt practices for better employee performance. Armed with HRIS and payroll API data from different companies, these companies can identify motivators in payroll for better performance and even help identify rate of absenteeism and causes of poor performance.
Such SaaS based companies use payroll APIs to understand which pay scale employees take more time off, what their benefits look like and how this gap can be bridge to facilitate better performance. Invariably, here, payroll data can help streamline performance management from a benefits, incentives and compensation standpoint.As well as, it makes HRIS data makes it a one click process to gather all relevant employee information.
Consumer fintech companies, like those in direct deposit switching, are increasingly leveraging payroll APIs to facilitate their operations. Payroll API integrations allow consumers to directly route their deposits through their payroll with direct deposit switching. The account receiving the deposit is directly linked to the employee’s payroll account, making it easy for consumer fintech companies to increase their transactions, without manual intervention which increases friction and reduces overall value.
Finally, there are SaaS companies that deal with commercial insurance for companies for different purposes. Be it health or any other, payroll API data can help them get a realistic picture of the company’s people posture and their payroll information which can help these commercial insurance companies suggest the best plans for them as well as ensure that the employees are able to make the payments. They can achieve all of this without having to manually process data for all employees across the organization.
Research shows that the payroll market is poised to grow at a CAGR of 9.2% between 2022 and 2031, reaching $55.69 billion by 2031.
While the growth is promising, the payroll market is extremely fragmented. Undoubtedly, there are a few players like ADP RUN, Workday, etc. which have a significant market share. However, the top 10 players in the space constitute only about 55%-60% share, which clearly illustrates the presence of multiple other smaller companies. In fact, as you go down from the top 2-3 to the top 10, the market share for individual applications dwindles down to 1% each.
Here is a quick snapshot of the payroll market segmentation to help understand its fragmented nature and the need for a unified solution to make sense of payroll APIs.
Before moving on to how payroll fragmentation can be addressed with a unified solution, it is important to understand why this fragmentation exists. The top reasons include:
First, different businesses have different demographics and industries that they cater to. Irrespective of the features, each business is looking for a payroll solution that provides them with the best pricing based on their number of employees and employment terms. While some might have a large number of full time salaried employees, others might have a large number of contractual workers, while the third kind might have a balanced mix of both. These diverse demographic requirements have given birth to different payroll applications, fragmenting the market.
Next, it is important to understand that market conditions and employment terms are constantly in flux.
Therefore, as businesses need new and fresh approaches to deal with their payroll requirements, a consequent rise of fragmentation can be observed.
Finally, organizations are increasingly adopting white labeled or embedded payroll solutions which enable them to either brand the solutions with their name or embed the API into their existing product. This is enabling market players in other verticals to also enter the payroll market, which further adds to the fragmentation.
With so many payroll applications in the market for HRMS integration, it can be extremely daunting for businesses to make sense of all payroll related data. At the same time, it is difficult to manage data exchange between different payroll applications you might be using. Therefore, a unified payroll API can help make the process easy.
First, the data needs to be normalized. This means that your unified payroll API will normalize and funnel data from all payroll providers about each employee into a consistent, predictable and easy to understand data format or syntax, which can be used.
Second, a unified API will help you manage all employee payroll data in the form of unified logs with an API key to ensure that you can easily retrieve the data as and when needed.
Finally, a unified payroll API can help ensure that you are able to make sense of the payroll data and make informed decisions during financial planning and analysis on factors like pay equity, financial prudence, etc.
As a unified payroll API, Knit can help you easily get access to the following payroll data from different payroll applications that you might be using to facilitate seamless payment processing and payroll planning for the next financial year.
Seamlessly retrieve all employee data like first name, last name, unique ID, date of birth, work email, start date, termination data in case of former employees, marital data and employment type.
Hierarchical data for the employee, including information on the employee’s title and designation, department, manager details, subordinates or those who report to the employee, etc.
Details about the family members of the employees including children, spouse and parents. The information includes name, relation, date of birth and other specific data points which can be useful when you are negotiating insurance and other benefits with third party companies.
Information on where the employee currently resides, specific address as well as the permanent address for the employee.
All kinds of details about the compensation for the employee, including gross pay, net pay, benefits and other earnings like commissions, bonuses, employee contributions to benefits, employer contributions, taxes and other deductions, reimbursements, etc.
Overall, if you observe it is very clear that increasingly, the payroll market is becoming more and more fragmented. Invariably, it is becoming extremely difficult for businesses using multiple payroll applications to normalize all data to facilitate understanding and exchange. To make sense of payroll APIs, you need to first acquaint yourself with the key payroll concepts like pay period, payroll run, compensation, in-hand pay, gross pay, reimbursements, benefits and deductions, etc.
Once you understand these, you will agree that a payroll API can make the payment process seamless by helping in employee onboarding and payroll integration, management of reimbursements, administration of benefits and easy deductions, tax and net pay management, accounting and financial planning, among others.
Increasingly, data from payroll APIs is also enabling other SaaS companies to power their operations, especially in the finance and fintech space. If you look closely, lending, insurance, portfolio management, etc. have become very streamlined, automated with a reduced reliance on manual process. At the same time, HR management has also become simplified, especially across performance management. Payroll data can help performance management companies help businesses identify the right incentive structure to motivate high performance.
However, with increasing fragmentation, a unified payroll API can help businesses easily extract salary information, data on benefits and deductions and records about how and when the employees have been paid along with tax related information from a single source. Thus, if you are adopting payroll API, look out for data normalization and data management for maximum business effectiveness.
In this article we will learn about Merge API, a unified API solution to help developers build native integrations with multiple 3rd party end systems in one go using the 1:many connectors provided by Merge.
We will also learn about what happens post integration - how data syncs happen on Merge API predominantly via a pull based model where Merge stores a copy of the end customer data in their servers, which could lead to end customer anxiety around security and compliance.
Finally, we will talk about how Knit API is solving for this by working on a push based model which does not require any customer data storage - helping you reduce friction with your customers and alleviate their concerns on how their data is being handled.
Let’s dive in.
Essentially, a unified is a 1:Many API which helps developers go-live with multiple integrations within a category of SaaS with a one time effort of integrating with the unified API provided by the platform. For example, let's say an Employee Benefits platform wishes to integrate with multiple HRMS systems which its existing or potential customers use. In the absence of a unified API, the developers at the benefits platform will have to read API documentation of each HRMS, understand its data model and build the connectors 1:1. This wastes massive dev effort on a repetitive task which essentially serves the same basic purpose of syncing employee data from the customers HRMS to the benefits platform. Unified APIs save all of this effort by normalizing the data models of all the HRMS tools out there in to one common data model so the developers at the benefits platform have to work with just one connector rather than building a connector for each different HRMS tool in a 1:1 manner.
Other than building the integrations faster, unified APIs also help you maintain them in a low effort way by providing DIY integration management dashboards which your front line customer success teams can use to diagnose and fix any issues with live integrations so that your engineering team does not need to get involved every time there is a break or question around data syncs from your customers.
If you are wondering whether a unified API is a right solution for you or not, read this
Now, let us look at the components of a unified API solution.
Any unified API solution has four basic components -
Users of your APP use the auth component, embedded in your APP, to authenticate and authorize access to their enterprise app to your SaaS application.
1:many connectors are simply put, a common data model which abstracts the data models of all the existing applications in a category of apps so that your engineering team can work with just the one connector provided by the unified API platform rather than individually integrating with all the connectors within that category of apps. This saves massive time as your dev team does not need to understand the nuances of each and instead build your product logic on the common data model of the unified API provider.
Often the most neglected piece when teams build integrations in-house, integration management dashboards are one of the key value propositions of Unified API platforms since they help your frontline teams diagnose and fix any integration or sync issues without having to involve the engineering team each time. Think about the massive amount of time it can save in maintaining the integrations which are already built and live.
This is probably the core of the product - getting data in from the source app to your app and writing back from your app to the source is why we build integrations. Because this is important, we will talk about this in more detail below, and along the way of understanding Merge's data sync model.
To understand how data syncs happen via unified APIs, we first need to understand that there are two parts to the process -
1. Data syncs between the source app and the unified API provider
2. Data syncs between the unified API provider and your app
The first part of the data sync is to read data from the source APP and do something. Now, here again, there are two phases:
The initial data sync happens when your app’s user has authenticated and authorized the unified API platform to access data from the source app for the first time. This is when Merge API accesses and stores a copy of the data in its own database. This is the copy of the data that Merge API uses to serve your app, i.e., the consumer app.
Post the initial syncs, the delta syncs come into the picture. The purpose of the delta syncs is to inform the consumer app of any changes in the data, for example title, manager, or location changes for any employee if you are syncing with a source HRMS system.
Now here, depending on the source system, delta syncs could be handled via webhooks OR by periodic polling of the source app.
The thing to note is that in both scenarios, whether or not the source app supports Webhooks, Merge API serves the consumer app via its stored copy of the data.
A data storage based model brings with it multiple challenges. First and foremost the end customers who are authorizing your app to access their data via Merge API might not be comfortable with a third party having a copy of their data stored somewhere. Even when Merge API is SOC2 compliant, as ex-users of Merge APIs HRMS integrations for our HRTech venture, we had a segment of customers who had concerns about the handling of the data, employee data being PII, and there were also concerns about where the data is being stored (in some cases outside the customers geography).
This added unnecessary friction between us and our customers, requiring additional infosec questions and paperwork which delayed deal closures or in some cases led to deals not closing at all.
Now that the unified API provider has the data, your app must consume the data for your business logic to work. There are two main philosophies or approaches here - pull vs push.
In a pull model, your servers are busy making calls to the data providers like HRIS, Payroll systems etc. to get data. In order to do so, you will need to create a polling infra.
If you're doing so for 10-15 batch jobs, perhaps it is manageable. But imagine doing this for hundreds, even thousands, of jobs. The problem gets harder. Further, if there is no new data to report, you just wasted your compute resources on an empty call.
Now compare this with the push model. Typically, you will be required to subscribe to certain events by registering a webhook. When the event happens, the data providers would notify you with appropriate payload on the registered destination URL.
You don't have to manage any polling infra, nor would you waste compute resources on inconsequential calls. With event driven microservices architectures on the rise, the push model is definitely easier to work with and scale vs a pull model.
Here, the Merge API relies heavily on a pull-based approach (though it does provide delta webhooks, which we will talk about below). Let’s look at the three options Merge API provides to consumer apps-
Here, your app is expected to periodically poll the Merge copy of the data, such as every 24 hours. What this means is that you will have to build and maintain a polling infrastructure at your end for each connected customer. This is ok if you have a small number of customers, but quickly gets difficult to maintain if you have lots of connected customers.
If your app wants to sync data frequently, Merge API provides an option for you to write sync functions which can pull only data which has changed since last sync using its modified_after timestamp. While this reduces the data load, it still requires the polling infrastructure we talked about in point 1.
Merge’s webhooks are again of two types - sync notifications and changed data webhooks.
Sync notification events are simply notifications to your app that something in the data has changed and expects you to start the ad-hoc sync once you receive the notification - so essentially pull. On the other hand, while it does offer the changed data webhooks, it does not guarantee scale and data delivery via these webhooks.
From Merge’s doc:
So you see the problem? You will not be able to work around the need for building and maintaining a separate polling infrastructure.
While everyone talks about security, at Knit, we actually have walked the talk by embedding security in our platform architecture.
We do NOT store a copy of the source data with us. And we have built a completely events driven architecture from the ground up, so we work only with Webhooks and deliver both the initial and delta syncs to your app via events.
So you have less compliance and convincing to do with your customers, and do not have to waste engineering resources on polling while at the same time get guaranteed scalability and delivery irrespective of the data load.
Another advantage of a true events driven architecture is that it supports real time use cases (where the source APP supports real time webhook pushes) which a polling based architecture does not.
While we will soon be covering our architecture that guarantees security, scale and resilience for event driven stream processing in more detail in a follow up post, you could read more about the basics of how Knit API functions here: Knit API Documentation
Knit’s auth component offers a lot of flexibility in terms of design and styling vs what Merge API offers.
It is a Javascript SDK which is far more customizable as compared to iframe which is Merge’s choice for the frontend auth component.
So if you want to make sure that the auth component which your customers are interacting with, looks and feels similar to your own APP, Knit API might just be the right solution for you.
Knit provides deep RCA and resolution including ability to identify which records were synced, ability to rerun syncs etc. It also proactively identifies and fixes any integration issues itself.
While Merge also offers customer success dashboards, they are not as deep, so your frontline folks will have to reach out to your engineering teams more frequently. And we all know how much engineering teams enjoy maintaining integrations and going through logs to check for data sync issues rather than building cool new core product features ;)
Knit is the only unified API solution which does not store customer data, and offers a scalable, and reliable push driven data sync model for large data loads.
This has several benefits:
Curious to learn more about Knit? Get started today
TriNet Zenefits is a leading provider of full service HR solutions. It enables small and medium sized companies to administer and manage benefits, HR offerings, including time tracking, onboarding, employee engagement, employee record keeping; payroll; performance and well-being. As a highly sought after HRIS platform, companies have been increasingly integrating with TriNet Zenefits to facilitate seamless exchange of HRIS data, captured by Zenefits, with their own apps to drive diverse use cases.
Owing to the sensitive nature of information held by the HRIS application, including personal identifiable information (PII), Zenefits API ensures that all data scopes are accessed at a granular level. The Zenefits API uses OAuth2 to authenticate and authorize access to information stored in the application. OAuth2 authorizes third party applications to request private details from Zenefits accounts, without passwords. It is limited only to admins and developers receive unique Client ID and Client Secret to access data with integration.
Zenefits API pagination helps developers define the records needed per page. The developers can use the limit parameter to specify the number of records in a response. The maximum limit can be 100, however, in case the limit is not defined, the default limit is 20. In case the total number of records do not fit into a single page, the next_url field will have a link to the next page with the remaining records. In case the next_url field displays null, then no records exist for subsequent pages. Developers can also use the starting_after or ending_before query parameter to specify pagination based on object ids. The ending_before query parameter is useful for backwards pagination.
It is extremely important for developers to understand the objects, data models and endpoints when it comes to integrating with Zenefits API. While the overall scope might be large, here are a few which can be considered as a starting point for Zenefits API integration.
GET https://api.zenefits.com/platform/applications
GET https://api.zenefits.com/core/companies
Fields include: ‘legal_name', 'ein','departments', 'locations'
GET https://api.zenefits.com/core/companies/{:company_id}/people
GET http://api.zenefits.com/core/people/{:id} (For information about a single employee)
GET http://api.zenefits.com/core/people (For information for all employees across the company)
Fields include: 'work_email', 'date_of_birth', 'manager', 'department', 'location', 'work_phone', 'status', 'subordinates', 'banks','company', 'employments', 'department', 'location', 'manager', 'banks'
GET https://api.zenefits.com/core/people/{:person_id}/employments
GET https://api.zenefits.com/core/employments/{:employment_id} (For information on a specific employment
GET https://api.zenefits.com/core/employments (For information on all employments across all people)
Fields include: 'termination_type', 'employment_type', 'comp_type', 'annual_salary', 'pay_rate', 'working_hours_per_week','person'
GET https://api.zenefits.com/core/people/{:person_id}/banks
GET http://api.zenefits.com/core/banks/{:bank_id} (For information for a specific bank)
GET http://api.zenefits.com/core/banks (For information for all banks across all people)
GET https://api.zenefits.com/core/companies/{:id}/departments
GET http://api.zenefits.com/core/departments/{:department_id} (For information regarding a single department:
GET http://api.zenefits.com/core/departments (For information relating to all departments across all companies)
GET https://api.zenefits.com/core/companies/{:company_id}/locations
GET http://api.zenefits.com/core/locations/{:location_id} (For information relating to a single location)
GET http://api.zenefits.com/core/locations (For information relating to all locations across all companies)
GET https://api.zenefits.com/time_off/vacation_requests
GET http://api.zenefits.com/time_off/vacation_requests/{:id} (For information relating to a single vacation request)
GET http://api.zenefits.com/time_off/vacation_types/{:vacation_type_id}/vacation_requests/ (For all vacation requests for a single vacation type)
Fields include:
GET https://api.zenefits.com/time_off/vacation_types
GET http://api.zenefits.com/time_off/vacation_types/{:id} (For information relating to a single vacation type)
Fields include:
GET https://api.zenefits.com/time_attendance/time_durations
GET http://api.zenefits.com/time_attendance/time_durations/{:id} (For information relating to a single time duration object)
Fields include:
Here is a list of FAQs about TriNet Zenefits API which can help commence and accelerate your integration:
Several businesses are increasingly building integrations with Zenefits API to power operations for the end customers, facilitated by seamless data exchange, including:
To get started with the Zenefit API integration journey, a developer account needs to be created. To create the same, developers can reach out to Zenefits team by dropping an email on this email address. Reaching out on this email ID will take the developers to the next step to get access to a sandboxed Zenefits test company and credentials to start using the API. Once the Zenefits developer account is active, developers can leverage this getting started guide for a detailed overview on REST API, Modules, Webhooks, Authentication and much more. It is important to read through and understand the App Acceptance Criteria well. The same can be accessed here. At the same time, knowledge of the Zenefits Developer Policy is critical to understand the technical, brand and general requirements and restrictions.
Integrating with Zenefits API is beneficial for businesses looking to seamlessly exchange data with this leading HRIS provider with bi-directional sync. However, building a custom 1:1 integration can be a complex, time and resource intensive process. The above mentioned steps, restrictions and requirements can all choke up developer bandwidth. Invariably, SaaS businesses today are moving away from building integrations to partnering with unified APIs like Knit. A unified API, in this case for HRIS integrations, enables companies to integrate once and seamlessly connect with multiple HRIS applications, including Zenefits API, without any additional requirements. With a unified HRIS API, maintenance and management of integration with Zenefits and other applications also becomes quite easy. Book a discovery call today to learn how a unified API can help you ship and scale integrations fast.
A cloud based HR software, Freshteam enables organizations with managing employee details, recruitment, on-boarding, time-off, off-boarding, and organization details, among other aspects of their HR processes and practices. With Freshteam API integration, organizations can seamlessly synchronize data between their application and Freshteam to ensure real time updation of employee information across both platforms. It helps capture any changes in employee status, designation, HR policies, etc. across different applications a business uses.
To ensure utmost security and prevent unauthorized access, Freshteam API uses Oauth2.0 for authentication and authorization. Developers can use the Freshteam UI to make calls to the Freshteam authentication server to obtain an access token. This access token can be used to make valid API calls thereon. The access token identifies the requester and the requester’s permission. In the Freshteam domain, the access token is present under Your API Key, which can be copied and used to make API calls.
Rate limits i.e. the number of API calls that can be made in a minute for Fresteam API are determined by the plan selected by the organization. The rate limit variation for each plan is dependent on the number of subscribed employees for the organization. The trial account has a limit of 10 API calls per minute, which goes on to as high as (100, 2 * number of subscribed employees) API calls per minute for the enterprise plan. Developers or admins can also keep a track of the API calls to understand their usage patterns via:
There are several endpoints in Freshteam API which retrieve bulk data, especially the ones which are required to List a certain object. In such a case, developers can use pagination parameters to filter data and limit the responses for a streamlined understanding. Developers can select the page value (from which page number they want responses), as well as the number of responses required for each page (default is set at 50). They can also sort the values as ascending or descending or select some other attribute for sorting as well.
Common attributes: id, created at, updated at, workstation number, date of birth, gender, address, communication address, designation, phone number, joining date, termination date, first name, last name, status, official email, personal email, employee type, team id, department id, reporting to id, time off, hire reason, marital status, etc.
(Used to configure different geographical locations for an organization and associate employees to a branch)
Common attributes: id, created at, updated at, name, street, state, country code, zip, time zone, currency, language, main office, date format
Common attributes: id, created at, updated at, name, description
Common attributes: id, created at, updated at, start date, end date, status, leave units, leave type id, status comments, comments, attachment, applied by, approved by, rejected by, canceled by, notify to, description, add to calendar, canceled at, optional leave days, applicable for, auto approve, status
Common attributes: id, created at, updated at, deleted, title, description, status, show_pursue_as_career, closing date, experience, remote, type, salary, branch, department, title, location, skills, requisitions, label, field type, position, candidate, candidate id, first name, last name, date of birth, mobile, phone number, source id, resume, cover letter, portfolio, skype id, content file name, url, gender, profile link, rejected at, archived at, on hold at, on hold till
Common attributes: id, created at, updated at, deleted, label, default, leads count
Common attributes: id, created at, updated at, deleted, first name, middle name, last name, official email, employee id, status, workstation number, designation, joining date, probation start date, probation end date, branch id, team id, department id, sub department id, termination date, termination reason, notice period, notice start date, notice end date, employee type, hired on, no show, no show reason, date of birth, marital status, gender, blood group, emergency contacts, social profiles, address, communication address, phone numbers, job codes, job exempt, scheduled weekly hours, retirement eligibility date, rehire eligibility, rehire status, confirmed, language, branch, team
50,000+ companies from across 120+ countries use Freshteam to power their HR operations and streamline processes to make them efficient, robust and optimized. Here are some of the top customers that are leveraging Freshteam:
Here is a list of Freshteam API FAQs that developers must understand to make their integration journey more effective and robust:
Businesses, especially those engaged in the employee side of work, are increasingly seeking integration with Freshteam API to streamline data exchange between this HRIS platform and their application. Some of the top use cases and common integrations with Freshteam API include:
To kickstart the integration journey with Freshteam API, developers can go through this quick start guide. The first step is to create a developer account and join the Freshteam developer community. Next developers need to follow the installation instructions to install the API SDK. Following this it is important to get acquainted with the authorization and authentication protocols to access data and make API calls. Learn about the terms of use for accessing or using the Freshteam developer portal and understand the different terminology used. For more support and information, businesses can scroll through the Freshteam support page and get answers to their queries.
Companies that integrate with Freshteam API benefit from the seamless exchange of information between this HRIS platform and their application and have been able to explore multiple use cases for their end customers. However, manually building and maintaining integration with Freshteam API can be a daunting task for developers. Building the integration alone can take 4 weeks on an average and cost USD 10K (considering the cost of software developers, QA engineers, etc.). Further, the cost associated with maintaining the Freshteam API adds another burden on the bottom line, while diverting resources away from core product functionalities and enhancements. And, this is for a single HRIS integration in question here (Freshteam API). Businesses generally need to integrate with multiple HRIS APIs, meeting the demands of their end customers. Here, a unified HRIS API like Knit can enable businesses to easily integrate with multiple HRIS applications with a single connector. By incorporating an additional layer of abstraction, a unified API allows businesses to ship and scale integrations faster and in an efficient manner. Book a discovery call today to learn how developers can integrate with Freshteam API and other HRIS applications within hours and not weeks.
Gusto is an online payroll and HR solutions company. Backed by global expertise Gusto provides companies with one easy, integrated platform, to automate and simplify payroll, benefits, and HR processes. From time tracking, to performance management, analytics and even benefits administration, Gusto application enables businesses to make HR management seamless and streamlined, while saving hours and reducing human errors considerably.
As a security first application, Gusto leverages OAuth2 for authentication. Gusto API integration uses two types of tokens for security and authentication. On the one side are organization level API tokens which can be accessed through the Developer Portal. Additionally, there are company level tokens (generally access tokens or refresh tokens), which are provided via the OAuth2 process. It is very important for developers building integrations with Gusto API to manage, store and maintain all tokens securely to prevent unauthorized authentication and access.
Essentially, API tokens are used specifically for organization level endpoints, like creating a company, and cannot be used for company or employee level endpoints. For the latter, developers must focus on access tokens via OAuth2. To facilitate higher levels of security, Gusto API ensures that all endpoints which are authenticated via access tokens require a strict access token, which is reserved for access only to a single company.
Gusto API endpoints support pagination. To use pagination, developers can add a page and a per parameter to their URL’s query string. The page can define the page number from where records are sought, and the per parameter dictates the number of records per page. In case the per parameter is left blank, by default 25 records will be returned. Each endpoint’s documentation reflects on whether or not it supports pagination.
To ensure high performance throughput, Gusto API maintains an API rate limit of 200 requests per minute. This suggests that 200 API calls can be made within the 60 second time window, beyond which a violation will be evaluated. A 429 error, highlighting too many requests will be displayed if the rate limit is hit for an active integration and the request will be subsequently rejected.
An understanding of the Gusto API objects, data models and endpoints is extremely important for developers seeking to build integrations with Gusto API. Some of the key endpoints include:
POST https://api.gusto-demo.com/v1/provision
GET https://api.gusto-demo.com/v1/companies/{company_id}
GET https://api.gusto-demo.com/v1/companies/{company_id}/custom_fields
POST https://api.gusto-demo.com/v1/companies/{company_id}/locations
GET https://api.gusto-demo.com/v1/companies/{company_id}/locations
GET https://api.gusto-demo.com/v1/locations/{location_id}
PUT https://api.gusto-demo.com/v1/locations/{location_id}
GET https://api.gusto-demo.com/v1/locations/{location_uuid}/minimum_wages
GET https://api.gusto-demo.com/v1/companies/{company_id}/pay_schedules
GET https://api.gusto-demo.com/v1/companies/{company_id}/pay_schedules/{pay_schedule_id}
GET https://api.gusto-demo.com/v1/companies/{company_id}/pay_periods
GET https://api.gusto-demo.com/v1/companies/{company_id}/pay_schedules/assignments
POST https://api.gusto-demo.com/v1/companies/{company_uuid}/departments
GET https://api.gusto-demo.com/v1/companies/{company_uuid}/departments
GET https://api.gusto-demo.com/v1/departments/{department_uuid}
PUT https://api.gusto-demo.com/v1/departments/{department_uuid}
DELETE https://api.gusto-demo.com/v1/departments/{department_uuid}
PUT https://api.gusto-demo.com/v1/departments/{department_uuid}/add
PUT https://api.gusto-demo.com/v1/departments/{department_uuid}/remove
POST https://api.gusto-demo.com/v1/companies/{company_id}/earning_types
GET https://api.gusto-demo.com/v1/companies/{company_id}/earning_types
PUT https://api.gusto-demo.com/v1/companies/{company_id}/earning_types/{earning_type_uuid}
DELETE https://api.gusto-demo.com/v1/companies/{company_id}/earning_types/{earning_type_uuid}
GET https://api.gusto-demo.com/v1/companies/{company_id}/payrolls
GET https://api.gusto-demo.com/v1/companies/{company_id}/payrolls/{payroll_id}
PUT https://api.gusto-demo.com/v1/companies/{company_id}/payrolls/{payroll_id}
PUT https://api.gusto-demo.com/v1/companies/{company_id}/payrolls/{payroll_id}/prepare
GET https://api.gusto-demo.com/v1/companies/{company_id}/contractor_payments
GET https://api.gusto-demo.com/v1/companies/{company_id}/contractor_payments/{contractor_payment_id}
POST https://api.gusto-demo.com/v1/companies/{company_id}/company_benefits
GET https://api.gusto-demo.com/v1/companies/{company_id}/company_benefits
GET https://api.gusto-demo.com/v1/company_benefits/{company_benefit_id}
PUT https://api.gusto-demo.com/v1/company_benefits/{company_benefit_id}
DELETE https://api.gusto-demo.com/v1/company_benefits/{company_benefit_id}
GET https://api.gusto-demo.com/v1/benefits
GET https://api.gusto-demo.com/v1/benefits/{benefit_id}
GET https://api.gusto-demo.com/v1/company_benefits/{company_benefit_id}/summary
GET https://api.gusto-demo.com/v1/benefits/{benefit_id}/requirements
POST https://api.gusto-demo.com/v1/companies/{company_id}/employees
GET https://api.gusto-demo.com/v1/companies/{company_id}/employees
GET https://api.gusto-demo.com/v1/employees/{employee_id}
PUT https://api.gusto-demo.com/v1/employees/{employee_id}
DELETE https://api.gusto-demo.com/v1/employees/{employee_id}
GET https://api.gusto-demo.com/v1/employees/{employee_id}/custom_fields
GET https://api.gusto-demo.com/v1/employees/{employee_uuid}/time_off_activities
GET https://api.gusto-demo.com/v1/employees/{employee_id}/terminations
GET https://api.gusto-demo.com/v1/employees/{employee_id}/rehire
GET https://api.gusto-demo.com/v1/employees/{employee_id}/employment_history
GET https://api.gusto-demo.com/v1/employees/{employee_id}/home_addresses
POST https://api.gusto-demo.com/v1/employees/{employee_id}/home_addresses
GET https://api.gusto-demo.com/v1/home_addresses/{home_address_uuid}
PUT https://api.gusto-demo.com/v1/home_addresses/{home_address_uuid}
DELETE https://api.gusto-demo.com/v1/home_addresses/{home_address_uuid}
GET https://api.gusto-demo.com/v1/employees/{employee_id}/work_addresses
POST https://api.gusto-demo.com/v1/employees/{employee_id}/work_addresses
GET https://api.gusto-demo.com/v1/work_addresses/{work_address_uuid}
PUT https://api.gusto-demo.com/v1/work_addresses/{work_address_uuid}
DELETE https://api.gusto-demo.com/v1/work_addresses/{work_address_uuid}
POST https://api.gusto-demo.com/v1/employees/{employee_id}/jobs
GET https://api.gusto-demo.com/v1/employees/{employee_id}/jobs
GET https://api.gusto-demo.com/v1/jobs/{job_id}
PUT https://api.gusto-demo.com/v1/jobs/{job_id}
DELETE https://api.gusto-demo.com/v1/jobs/{job_id}
GET https://api.gusto-demo.com/v1/jobs/{job_id}/compensations
POST https://api.gusto-demo.com/v1/jobs/{job_id}/compensations
GET https://api.gusto-demo.com/v1/compensations/{compensation_id}
PUT https://api.gusto-demo.com/v1/compensations/{compensation_id}
DELETE https://api.gusto-demo.com/v1/compensations/{compensation_id}
POST https://api.gusto-demo.com/v1/employees/{employee_id}/employee_benefits
GET https://api.gusto-demo.com/v1/employees/{employee_id}/employee_benefits
GET https://api.gusto-demo.com/v1/employee_benefits/{employee_benefit_id}
PUT https://api.gusto-demo.com/v1/employee_benefits/{employee_benefit_id}
DELETE https://api.gusto-demo.com/v1/employee_benefits/{employee_benefit_id}
POST https://api.gusto-demo.com/v1/employees/{employee_id}/ytd_benefit_amounts_from_different_company
POST https://api.gusto-demo.com/v1/employees/{employee_id}/garnishments
GET https://api.gusto-demo.com/v1/employees/{employee_id}/garnishments
GET https://api.gusto-demo.com/v1/garnishments/{garnishment_id}
PUT https://api.gusto-demo.com/v1/garnishments/{garnishment_id}
Serving 300,000+ businesses, Gusto API is the preferred HR and payroll solutions provider for many global names, including:
Following is a list of FAQs that can help guide your Gusto API integration journey:
Undoubtedly, there are several categories of applications which can benefit from integrating with Gusto API. Listing a few for developers to get an idea:
To commence your integration journey with Gusto API, it is important to create a developer account. You can sign up for an account here. Once you sign up for a developer account, the next steps are quite streamlined. It involves accepting the terms of service, setting up the account, creating the application to get access to your unique Gusto API keys. As a best practice, it is ideal to go through the detailed documentation and guides offered by Gusto API to understand the diverse aspects of integration. You can check out the documentation resource to answer all questions you may have, here. Gusto API also offers a sandbox functionality to test and demo your work, before making a firm commitment.
Developers can build Gusto API integration for their applications following the steps mentioned in the section above and by leveraging the documentation shared. However, building one integration can take up to 4-6 weeks on an average, utilizing a lot of developer bandwidth, becoming a cost intensive project. In case you need to build more than one HRMS integration, leveraging a unified API like Knit is ideal. A unified API adds an additional layer of abstraction on top of the API, ensuring that developers only have to integrate with one unified API to connect with several HRMS applications supported by the unified API. To understand how a unified API like Knit can help your integration journey, book a demo today.
Paylocity is a market leader in providing cloud-based payroll and human capital management software. It provides intuitive and easy to use products that enable businesses to automate and streamline their HR and payroll processes, facilitate better hiring practices and build a culture of retention and engagement. To facilitate connections with different applications, Paylocity offers open, developer-friendly APIs. With automation at the core, Paylocity API ensures that updates, i.e. when payroll is processed or when there is any change in the employee base (hire, transfer, termination) webhooks are pushed to reflect the changes.
This article will help you understand how Paylocity API functions, how developers can authenticate and access the same. Furthermore, it will highlight the different endpoints, use cases and FAQs that are integral to a smooth integration journey. Finally, it will discuss the common integration use cases for Paylocity API, focusing on the category of applications that can seamlessly integrate with Paylocity for business impact.
To ensure safe and limited access, Paylocity API leverages OAuth2 for authentication using Client Credentials. In this form of authentication, each API call to Paylocity API is accompanied by a HTTP Header named Authorization, along with a bearer token (with limited time validity), from the Paylocity Identity Provider. The token for authentication only has a life of 60 minutes and expires post that. Using an expired token will lead to a failed response. To receive the token, you must have client_id and secret.
API filtering is quite an important attribute when it comes to ensuring that only relevant data is exchanged and also increases the speed of exchange. Paylocity API filtering works on the principle of request-response communication. Whenever an API request is made to the server, the filter criteria must be specified. Subsequently, once the server processes this request, the filter is applied and only relevant data, which meets the criteria is sent back.
To prevent overuse or overconsumption of resources, Paylocity API has set rate limits, permitting up to 40,000 calls per hour. If more requests are made than the set limit, a 403 forbidden error message appears, indicating overuse. To prevent overuse of API calls and to stay within the rate limit, developers can optimize their code to minimize the API calls made per minute, by caching data, removing redundant requests and making API calls only when necessary. Implementing rate limiting logic, and retry mechanism can also help in error handling.
To integrate with Paylocity API, it is important to have an understanding of the objects, data models and endpoints you will be working with. Here’s a quick starting point:
POST https://apisandbox.paylocity.com/api/v1/deduction
DELETE https://apisandbox.paylocity.com/api/v1/companies/{companyId}/employees/{employeeId}/deductions/{deductionCode}/{startDate}
GET https://apisandbox.paylocity.com/api/v1/companies/{companyId}/employees/{employeeId}/deductions
GET https://apisandbox.paylocity.com/api/v1/companies/{companyId}/employees/{employeeId}/deductions/{deductionCode}
POST https://apisandbox.paylocity.com/api/v1/companies/{companyId}/onboarding/employees
GET https://apisandbox.paylocity.com/api/v1/companies/{companyId}/employees/{employeeId}/localTaxes/{taxCode}
PUT https://apisandbox.paylocity.com/api/v1/companies/{companyId}/employees/{employeeId}/localTaxes/{taxCode}
DELETE https://apisandbox.paylocity.com/api/v1/companies/{companyId}/employees/{employeeId}/localTaxes/{taxCode}
GET https://apisandbox.paylocity.com/api/v1/companies/{companyId}/employees/{employeeId}/localTaxes
POST https://apisandbox.paylocity.com/api/v1/companies/{companyId}/employees/{employeeId}/localTaxes
PUT https://apisandbox.paylocity.com/api/v2/companies/{companyId}/employees/{employeeId}/additionalRates
GET https://apisandbox.paylocity.com/api/v2/companies/{companyId}/codes/{codeResource}
GET https://apisandbox.paylocity.com/api/v2/companies/{companyId}/customfields/{category}
GET https://apisandbox.paylocity.com/api/v2/companies/{companyId}/employees/{employeeId}/directDeposit
GET https://apisandbox.paylocity.com/api/v2/companies/{companyId}/employees/{employeeId}/earnings
PUT https://apisandbox.paylocity.com/api/v2/companies/{companyId}/employees/{employeeId}/earnings
GET https://apisandbox.paylocity.com/api/v2/companies/{companyId}/employees/{employeeId}/earnings/{earningCode}/{startDate}
DELETE https://apisandbox.paylocity.com/api/v2/companies/{companyId}/employees/{employeeId}/earnings/{earningCode}/{startDate}
GET
https://apisandbox.paylocity.com/api/v2/companies/{companyId}/employees/{employeeId}/earnings/{earningCode}
PUT https://apisandbox.paylocity.com/api/v2/companies/{companyId}/employees/{employeeId}/emergencyContacts
PUT https://apisandbox.paylocity.com/api/v2/companies/{companyId}/employees/{employeeId}/benefitSetup
GET https://apisandbox.paylocity.com/api/v2/companies/{companyId}/employees
POST https://apisandbox.paylocity.com/api/v2/companies/{companyId}/employees
GET https://apisandbox.paylocity.com/api/v2/companies/{companyId}/employees/{employeeId}
PATCH https://apisandbox.paylocity.com/api/v2/companies/{companyId}/employees/{employeeId}
GET https://apisandbox.paylocity.com/api/v2/companies/{companyId}/employees/{employeeId}/sensitivedata
PUT https://apisandbox.paylocity.com/api/v2/companies/{companyId}/employees/{employeeId}/sensitivedata
GET https://dc1demogwext.paylocity.com/apiHub/benefits/v1/companies/{companyId}/retirementPlans/{planId}/checks/{checkDate}
36,000+ customers use Paylocity for the HR and payroll needs, including:
A quick glance on the common FAQs that developers have about Paylocity API can help you accelerate your integration journey:
Here’s a non-exhaustive list of applications (categories), which can easily integrate with Paylocity API to facilitate easy exchange of employee relevant information and further their impact, without the need to duplicate information upload:
Paylocity offers several APIs for different use cases. Therefore, as the first step, you need to understand your integration needs and then identify the right API and endpoints to connect with. The next step is to get the access token to access the sandbox or the demo environment (oAuth credentials). Once you get the access, leverage guides like this one to build, test and go-live with your Paylocity API integration.
As visible from the section above, integration with Paylocity API involves several steps and knowledge transfer across several documentation guides. Fortunately, unified API providers like Knit, make it very easy for developers to integrate with Paylocity and multiple other HRIS applications in a very short time. Adding an additional abstraction layer to the API infrastructure, Knit’s unified HRIS API ensures that customers only have to integrate once and they can then connect with all other HRIS applications from there. To understand more about how a unified HRIS API can help you significantly optimize your integration building and management process, book a discovery call today.
Keka is a leading human resources management system that enables organizations to seamlessly manage diverse aspects of their human resource processes, including recruitment and onboarding, attendance and time management, payroll, expense and performance management. With OAuth authentication, rate limiting, pagination, and adherence to industry standards, Keka provides developers with everything they need to build robust integrations with their software/ platform and facilitate data exchange between their application and this leading HRMS portal.
To ensure safe and secure access, Keka API uses OAuth for authentication. This suggests that for successful integration, developers need an access token which can be generated with specific details. This includes client id (identifier for the client), client secret (for secure authentication), api key (unique API key for accessing the system), scope (requires passing kekaapi for this key). To facilitate integration testing for applications, developers can also leverage the Sandbox Environment which is offered by Keka. This allows developers to ensure robust functionality, before integration production begins. Keka APIs already come with pagination implemented to ensure response time optimization. The standard or the default page size in Keka is 100 with 1 being the default page number.
API limit is a critical element of any API and so is the case with Keka, which helps define the number of requests that can be made to Keka within a limited time period. Keka has a rate limit of 50 API requests/ minute. This suggests that once 50 requests are made in a minute, the user needs to wait for the quote to be refilled before any other request is made. The rate limits are enforced and automatically reset after 60 seconds. In case a request is made before the quota is refilled, a 429 error with the reason rateLimitExceeded will be sent.
As a developer or the representative of an organization seeking to integrate with Keka API, it is important to understand the endpoints that you will be using eventually for data exchange, both when it comes to read APIs (getting data from Keka) as well as write APIs (providing data to Keka).
GET https://{company}.{environment}.com/api/v1/hris/employees
POST https://{company}.{environment}.com/api/v1/hris/employees
GET https://{company}.{environment}.com/api/v1/hris/employees/{id}
GET https://{company}.{environment}.com/api/v1/hris/employees/updatefields
PUT https://{company}.{environment}.com/api/v1/hris/employees/{id}/personaldetails
PUT https://{company}.{environment}.com/api/v1/hris/employees/{id}/jobdetails
GET https://{company}.{environment}.com/api/v1/hris/groups
GET https://{company}.{environment}.com/api/v1/hris/grouptypes
GET https://{company}.{environment}.com/api/v1/hris/departments
GET https://{company}.{environment}.com/api/v1/hris/locations
GET https://{company}.{environment}.com/api/v1/hris/jobtitles
GET https://{company}.{environment}.com/api/v1/hris/currencies
GET https://{company}.{environment}.com/api/v1/hris/noticeperiods
GET https://{company}.{environment}.com/api/v1/time/leavetypes
GET https://{company}.{environment}.com/api/v1/time/leavebalance
GET https://{company}.{environment}.com/api/v1/time/leaverequests
POST https://{company}.{environment}.com/api/v1/time/leaverequests
GET https://{company}.{environment}.com/api/v1/time/attendance
GET https://{company}.{environment}.com/api/v1/time/capturescheme
GET https://{company}.{environment}.com/api/v1/time/holidayscalendar
GET https://{company}.{environment}.com/api/v1/payroll/salarycomponents
GET https://{company}.{environment}.com/api/v1/payroll/paygroups
GET https://{company}.{environment}.com/api/v1/payroll/paygroups/{payGroupId}/paycycles
GET https://{company}.{environment}.com/api/v1/payroll/paygroups/{payGroupId}/paycycles/{payCycleId}/payregister
GET https://{company}.{environment}.com/api/v1/payroll/paygroups/{payGroupId}/paycycles/{payCycleId}/paybatches
GET https://{company}.{environment}.com/api/v1/payroll/paygroups/{payGroupId}/paycycles/{payCycleId}/paybatches/{payBatchId}/payments
PUT https://{company}.{environment}.com/api/v1/payroll/paygroups/{payGroupId}/paycycles/{payCycleId}/paybatches/{payBatchId}/payments
GET https://{company}.{environment}.com/api/v1/payroll/paygrades
GET https://{company}.{environment}.com/api/v1/payroll/paybands
GET https://{company}.{environment}.com/api/v1/psa/clients
POST https://{company}.{environment}.com/api/v1/psa/clients
GET https://{company}.{environment}.com/api/v1/psa/clients/{id}
PUT https://{company}.{environment}.com/api/v1/psa/clients/{id}
GET https://{company}.{environment}.com/api/v1/psa/projects/{projectId}/phases
POST https://{company}.{environment}.com/api/v1/psa/projects/{projectId}/phases
GET https://{company}.{environment}.com/api/v1/psa/projects
POST https://{company}.{environment}.com/api/v1/psa/projects
GET https://{company}.{environment}.com/api/v1/psa/projects/{id}
PUT https://{company}.{environment}.com/api/v1/psa/projects/{id}
GET https://{company}.{environment}.com/api/v1/psa/projects/{id}/allocations
GET https://{company}.{environment}.com/api/v1/psa/projects/{id}/timeentries
GET https://{company}.{environment}.com/api/v1/psa/projects/{projectId}/tasks
POST https://{company}.{environment}.com/api/v1/psa/projects/{projectId}/tasks
PUT https://{company}.{environment}.com/api/v1/psa/projects/{projectId}/tasks/{taskId}
GET https://{company}.{environment}.com/api/v1/psa/projects/{projectId}/tasks/{taskId}/timeentries
GET https://{company}.{environment}.com/api/v1/pms/timeframes
GET https://{company}.{environment}.com/api/v1/pms/goals
PUT https://{company}.{environment}.com/api/v1/pms/goals/{goalId}/progress
GET https://{company}.{environment}.com/api/v1/pms/badges
POST https://{company}.{environment}.com/api/v1/pms/praise
GET https://{company}.{environment}.com/api/v1/expense/categories
GET https://{company}.{environment}.com/api/v1/expense/claims
GET https://{company}.{environment}.com/api/v1/expensepolicies
GET https://{company}.{environment}.com/api/v1/assets
GET https://{company}.{environment}.com/api/v1/assets/types
GET https://{company}.{environment}.com/api/v1/assets/categories
GET https://{company}.{environment}.com/api/v1/assets/conditions
Keka, as an HRMS tool, is widely used with 5000+ customers, including:
Here’s a list of quick FAQs which will help answer any thoughts that you might have during your journey of integrating your application with Keka API
If you are just getting started, it might be a good idea to go through this documentation to understand how you can initiate the integration process. The detailed documentation contains everything you need to know about the overview, endpoints and much more. Leverage this to learn about the different data models scope and other details which will come in handy to get started. At the same time, this link will help you generate the access token for seamless authentication.
While the guide shared above will serve as a comprehensive starting point for you to integrate your application with Keka API, it is important to understand that the entire process can be engineering heavy, time consuming and resource intensive. Put simply, it’s not just about building an integration, but also about managing and maintaining it over time. At the same time, if you want to connect with other HRMS APIs, the process becomes multifold. In such a situation, leveraging a unified HRMS API like Knit can come in handy. Knit enables SaaS businesses to easily connect with multiple HRMS applications by integrating once with its unified API, eliminating the need to connect with each application separately.
Book a demo call today to learn how you can accelerate your integration journey with Keka and other HRMS applications using Knit.
Oracle Fusion Cloud HCM is a cloud-based human resource solution provider which seeks to connect every aspect of the human resources process. It seeks to help enterprises with critical HR functions including, recruiting, training, payroll, compensation, and performance management to drive engagement, productivity, and business value. As a market leader, it allows developers to use Oracle REST APIs to access, view and manage data stored in Oracle Fusion Cloud HCM
Oracle Fusion Cloud HCM API uses authorization to define which users can access the API and relevant information. To get this access, users need to have predefined roles and the necessary security privileges. Oracle’s REST APIs are secured by function and aggregate security privileges, delivered through job roles which are predefined. However, users can also create custom roles to provide access. Authorization and access to Oracle Fusion Cloud HCM API depends on the role of a person and the level of access offered.
To get started with Oracle Fusion Cloud HCM API, it is important to understand the end points, data models and objects and make them a part of your vocabulary for seamless access and data management.
POST/hcmRestApi/resources/11.13.18.05/absences
DELETE/hcmRestApi/resources/11.13.18.05/absences/{absencesUniqID}
POST/hcmRestApi/resources/11.13.18.05/absences/action/loadProjectedBalance
POST/hcmRestApi/resources/11.13.18.05/absences/action/absenceDailyDetailsBreakdown
GET/hcmRestApi/resources/11.13.18.05/absences
GET/hcmRestApi/resources/11.13.18.05/absences/{absencesUniqID}
POST/hcmRestApi/resources/11.13.18.05/absences/action/getAbsenceTypeBalance
POST/hcmRestApi/resources/11.13.18.05/absences/action/findByAdvancedSearchQuery
PATCH/hcmRestApi/resources/11.13.18.05/absences/{absencesUniqID}
POST/hcmRestApi/resources/11.13.18.05/absences/{absencesUniqID}/child/absenceAttachments
DELETE/hcmRestApi/resources/11.13.18.05/absences/{absencesUniqID}/child/absenceAttachments/{absenceAttachmentsUniqID}
GET/hcmRestApi/resources/11.13.18.05/absences/{absencesUniqID}/child/absenceAttachments
GET/hcmRestApi/resources/11.13.18.05/absences/{absencesUniqID}/child/absenceAttachments/{absenceAttachmentsUniqID}
PATCH/hcmRestApi/resources/11.13.18.05/absences/{absencesUniqID}/child/absenceAttachments/{absenceAttachmentsUniqID}
GET/hcmRestApi/resources/11.13.18.05/absences/{absencesUniqID}/child/absenceEntitlements
GET/hcmRestApi/resources/11.13.18.05/absences/{absencesUniqID}/child/absenceEntitlements/{absenceEntitlementsUniqID}
POST/hcmRestApi/resources/11.13.18.05/absences/{absencesUniqID}/child/absenceEntryDetails
DELETE/hcmRestApi/resources/11.13.18.05/absences/{absencesUniqID}/child/absenceEntryDetails/{PersonAbsenceEntryDetailId}
GET/hcmRestApi/resources/11.13.18.05/absences/{absencesUniqID}/child/absenceEntryDetails
GET/hcmRestApi/resources/11.13.18.05/absences/{absencesUniqID}/child/absenceEntryDetails/{PersonAbsenceEntryDetailId}
PATCH/hcmRestApi/resources/11.13.18.05/absences/{absencesUniqID}/child/absenceEntryDetails/{PersonAbsenceEntryDetailId}
GET/hcmRestApi/resources/11.13.18.05/talentFeedbackSuggestions
POST/hcmRestApi/resources/11.13.18.05/talentFeedbackSuggestions
DELETE/hcmRestApi/resources/11.13.18.05/talentFeedbackSuggestions/{talentFeedbackSuggestionsUniqID}
GET/hcmRestApi/resources/11.13.18.05/talentFeedbackSuggestions/{talentFeedbackSuggestionsUniqID}
PATCH/hcmRestApi/resources/11.13.18.05/talentFeedbackSuggestions/{talentFeedbackSuggestionsUniqID}
POST/hcmRestApi/resources/11.13.18.05/recruitingOppMktActions
GET/hcmRestApi/resources/11.13.18.05/recruitingOppMktActions
GET/hcmRestApi/resources/11.13.18.05/recruitingOppMktActions/{ActionType}
POST/hcmRestApi/resources/11.13.18.05/allocatedChecklists/action/allocateChecklist
POST/hcmRestApi/resources/11.13.18.05/allocatedChecklists/{allocatedChecklistsUniqID}/action/allocateNewTask
POST/hcmRestApi/resources/11.13.18.05/allocatedChecklists/{allocatedChecklistsUniqID}/action/allocateTaskFromTaskLibrary
DELETE/hcmRestApi/resources/11.13.18.05/allocatedChecklists/{allocatedChecklistsUniqID}
POST/hcmRestApi/resources/11.13.18.05/allocatedChecklists/{allocatedChecklistsUniqID}/action/forceCloseChecklist
GET/hcmRestApi/resources/11.13.18.05/allocatedChecklists
GET/hcmRestApi/resources/11.13.18.05/allocatedChecklists/{allocatedChecklistsUniqID}
PATCH/hcmRestApi/resources/11.13.18.05/allocatedChecklists/{allocatedChecklistsUniqID}
DELETE/hcmRestApi/resources/11.13.18.05/allocatedChecklists/{allocatedChecklistsUniqID}/child/allocatedTasks/{AllocatedTaskId}
GET/hcmRestApi/resources/11.13.18.05/allocatedChecklists/{allocatedChecklistsUniqID}/child/allocatedTasks
GET/hcmRestApi/resources/11.13.18.05/allocatedChecklists/{allocatedChecklistsUniqID}/child/allocatedTasks/{AllocatedTaskId}
POST/hcmRestApi/resources/11.13.18.05/allocatedChecklists/{allocatedChecklistsUniqID}/child/allocatedTasks/{AllocatedTaskId}/action/reopenTask
PATCH/hcmRestApi/resources/11.13.18.05/allocatedChecklists/{allocatedChecklistsUniqID}/child/allocatedTasks/{AllocatedTaskId}
POST/hcmRestApi/resources/11.13.18.05/allocatedChecklists/{allocatedChecklistsUniqID}/child/allocatedTasks/{AllocatedTaskId}/action/updateTaskStatus
POST/hcmRestApi/resources/11.13.18.05/availabilityPatterns
DELETE/hcmRestApi/resources/11.13.18.05/availabilityPatterns/{availabilityPatternsUniqID}
GET/hcmRestApi/resources/11.13.18.05/availabilityPatterns
GET/hcmRestApi/resources/11.13.18.05/availabilityPatterns/{availabilityPatternsUniqID}
PATCH/hcmRestApi/resources/11.13.18.05/availabilityPatterns/{availabilityPatternsUniqID}
GET/hcmRestApi/resources/11.13.18.05/benefitEnrollmentOpportunities
GET/hcmRestApi/resources/11.13.18.05/benefitEnrollmentOpportunities/{PersonNumber}
Check out this detailed guide for all endpoints and data models
12,000+ companies use Oracle Fusion Cloud HCM as their preferred HR tool, including:
To better prepare for your integration journey with Oracle Fusion Cloud HCM API, here is a list of FAQs you should go through:
To integrate with Oracle Fusion Cloud HCM API, ensure that you review the basics and have an understanding of REST APIs. Then get your Fusion Applications Account Info, including username and password. Configure your client, authorize and authenticate and then send an HTTP request and you’re all set to go. For a more detailed understanding of the best practices and a step-by-step guide to integrate with Oracle Fusion Cloud HCM API, check out this comprehensive guide.
While integrating with Oracle Fusion Cloud HCM API can help businesses seamlessly view, access and manage all HR data, the process of integration can be tricky. Right from building the integration in-house which requires API knowledge, developer bandwidth and much more to managing the integrations, there are several steps in the way. Naturally, the entire integration lifecycle can turn out to be quite expensive as well. Fortunately, companies today can leverage and integrate with a unified HRIS API like Knit, which allows them to connect with multiple HRIS applications, without the need to integrate with each one individually. Connect for a discovery call today to understand how you can connect with Oracle Fusion Cloud HCM API and several other HRIS applications faster and in a cost-effective manner.
To get started with Knit for Oracle HCM or any other integrations setup a demo here