Beta

Integrate Workday with your product—along with any other
HR & payroll
 application

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

Get a demo
Payment Terms
Payment Methods
Viewers
General Ledger Transactions
Async Tasks
Employees
Bank Feed Transactions
Bank Feed Accounts
Job Postings
Scopes
Field Mappings

Sync Workday data

Accounts

An Account represents a category in a company’s ledger in which a financial transaction is recorded against. The aggregation of each Account object is often referred to as the Chart of Accounts. An Account can be classified into one of the following categories, determined through the classification field: Asset:__ Accounts Receivable and Bank Accounts Liability:__ Accounts Payable and Credit Card Accounts Equity:__ Treasury Accounts and Retained Earnings Revenue:__ Income and Other Income Expense:__ Cost of Goods Sold and Office Expenses

No items found.

Company Info

The CompanyInfo object contains information about the company of the linked account. If the company has multiple entities (also known as subsidiaries), each entity may show up as a single CompanyInfo record.

No items found.

Contacts

A Contact is an individual or business entity to which products and services are sold to or purchased from. The Contact model contains both Customers, in which products and services are sold to, and Vendors (or Suppliers), in which products and services are purchased from. A Contact is a Vendor/Supplier if the is_supplier property is true. A Contact is a customer if the is_customer property is true.

No items found.

Invoices

The Invoice object represents an itemized record of goods and/or services sold to a customer or bought from a vendor. Represents a Bill when the Invoice type is ACCOUNTS_PAYABLE. References an Invoice when the Invoice type is ACCOUNTS_RECEIVABLE.

No items found.

Items

The Item object refers to the goods involved in a transaction.

No items found.

Journal Entries

A JournalEntry is a record of a transaction or event that is entered into a company's accounting system. The JournalEntry common model contains records that are automatically created as a result of a certain type of transaction, like an Invoice, and records that are manually created against a company’s ledger. The lines of a given JournalEntry object should always sum to 0. A positive net_amount means the line represents a debit and a negative net_amount represents a credit.

No items found.

Tracking Categories

A TrackingCategory object represents a categorization method used to classify transactions within an accounting platform. They are often used to group records for reporting and analysis purposes. The most common types of TrackingCategories are Classes and Departments.

No items found.

Applications

The Application Object is used to represent a candidate's journey through a particular Job's recruiting process. If a Candidate applies for multiple Jobs, there will be a separate Application for each Job if the third-party integration allows it.

No items found.

Attachments

The Attachment object is used to represent a file attached to a candidate.

No items found.

Candidates

The Candidate object is used to represent profile information about a given Candidate. Because it is specific to a Candidate, this information stays constant across applications.

No items found.

Departments

The Department object is used to represent a department within a company.

No items found.

Eeocs

The EEOC object is used to represent the Equal Employment Opportunity Commission information for a candidate (race, gender, veteran status, disability status).

No items found.

Jobs

The Job object can be used to track any jobs that are currently or will be open/closed for applications.

No items found.

Job Interview Stages

The JobInterviewStage object is used to represent a particular recruiting stage for an Application. A given Application typically has the JobInterviewStage object represented in the current_stage field.

No items found.

Job Postings

The JobPosting object represents an external announcement on a job board created by an organization to attract qualified candidates to apply for a specific Job opening

No items found.

Offers

The Offer object is used to represent an offer for a candidate's application specific to a job.

No items found.

Offices

The Office object is used to represent an office within a company. A given Job has the Office ID in its offices field.

No items found.

Reject Reasons

The RejectReason object is used to represent a reason for rejecting an application. These can typically be configured within an ATS system.

No items found.

Users

The RemoteUser object is used to represent a user with a login to the ATS system.

No items found.

Interviews

The ScheduledInterview object is used to represent a scheduled interview for a given candidate’s application to a job. An Application can have multiple ScheduledInterviews depending on the particular hiring process.

No items found.

Scorecards

The Scorecard object is used to represent an interviewer's candidate recommendation based on a particular interview.

No items found.

Screening Questions

The ScreeningQuestion object is used to represent questions asked to screen candidates for a job.

No items found.

Tags

The Tag object is used to represent a tag for a candidate.

No items found.

Bank Info

The BankInfo object is used to represent the Bank Account information for an Employee.

No items found.

Companies

The Company object is used to represent a company within the HRIS / Payroll system.

No items found.

Employees

The Employee object is used to represent any person who has been employed by a company. By default, it returns all employees. To filter for only active employees, set the employment_status query parameter to ACTIVE.

No items found.

Employee Payroll Runs

The EmployeePayrollRun object is used to represent an employee's pay statement for a specific payroll run.

No items found.

Employments

The Employment object is used to represent a job position at a company. If an integration supports historical tracking of employments, it will be reflected in the data. If not, a new Employment object will be created whenever there is a change in job title or pay. The effective_date field should be used to order Employment objects, with the most recent date corresponding to the latest employment record for an employee.

No items found.

Groups

The Group object is used to represent any subset of employees across, for example, DEPARTMENT or TEAM. Employees can be in multiple Groups.

No items found.

Locations

The Location object is used to represent an address that can be associated with an employee.

No items found.

Pay Groups

The PayGroup object is used to represent a subset of employees that are put together for payroll processing purposes.

No items found.

Payroll Runs

The PayrollRun object is used to represent a group of pay statements for a specific pay schedule.

No items found.

Teams

The Team object is used to represent a subdivision of the company, usually a department. Each employee will be grouped into one specific Team.

No items found.

Time Off

The TimeOff object is used to represent all employees' Time Off entries.

No items found.

Time Off Balances

The TimeOffBalance object is used to represent current balances for an employee's Time Off plan.

No items found.

FAQ on integrating with Workday API

Can I control what Workday data is synced using Merge?

Yes, Merge allows you to customize which fields and records from Workday are synced into your application with Selective Sync, giving you greater control over the data flow and ensuring compliance with your data minimization policies​​.

What type of logging and issue detection does Merge offer for Workday integrations?

Merge provides real-time issue detection—along with suggested remediation steps—and logging. 

Through the logs, you can access all of the pertinent details on requests and responses (e.g., query parameters, response bodies, etc.). You can also filter these logs by dates, response codes, directions, integrations (assuming you offer more integrations than Workday), customers, and more.

Using Merge’s automated issue detection functionality, you can diagnose issues like invalid credentials, expired API keys, and missing permissions with ease. And for any issue, Merge will also provide the steps necessary to resolve it, which your customer success team can pass along to the affect customer(s).

Does Merge support single sign-on (SSO) with Workday?

While Merge supports integrations with several SSO platforms, such as Okta, OneLogin, and PingOne, it also enables authentication with Workday via OAuth through the Merge Link flow, ensuring a seamless and secure integration process​​.

What are some common use cases for integrating Workday with my product?

The use cases can vary widely and naturally depend on the type of platform you offer. That said, some common use cases for a Workday integration include the following:

  • Automated provisioning: add or remove users in your product as soon as they’re added or removed in customers' instances of Workday
  • Streamlined employee gifting: Help your customers determine which gifts to send to their employees on time by syncing fields like start date, job title, and more between your gifting platform and your customers' instances of Workday
  • Compensation analysis: Enable your customers to pinpoint trends, issues, opportunities, and more in your product by syncing employee data, like salaries, job titles, and departments from their instances of Workday

Does Merge support other HRIS platforms?

Yes, Merge supports over 60 HRIS platforms in addition to Workday. You can also easily integrate with any of these platforms once you’ve built to Merge's HRIS Unified API.

Other commonly-used integrations include BambooHR, ADP Workforce Now, UKG Pro, and SAP SuccessFactors. To see all of the integrations Merge currently supports, you can visit this page.

Is Merge SOC 2 Type 2, HIPAA, GDPR, CCPA, and ISO 27001 compliant?

Yes, Merge is compliant with SOC 2 Type II, GDPR, CCPA, and ISO 27001 standards. These certifications ensure that data security and privacy are handled at the highest industry standards. Merge also follows HIPAA guidelines, ensuring the secure handling of sensitive information​​.

What sync frequencies are available for Workday integrations through Merge? 

Merge supports various sync frequency options, depending on the frequency you set (Daily, Standard, High, and Highest) and the Common Model you’re using (e.g., Application, Attachment, Candidate, etc.). 

Generally speaking, you can sync Workday data every 30 minutes, 3 hours, 6 hours, and 24 hours. But you can also sync data outside of these time intervals via Merge’s Force Resync endpoint, and you can sync data in real-time with Merge’s Automatic Webhooks feature.

Learn more about Merge’s sync frequencies for Workday.

What types of data can Merge access from Workday’s endpoints? 

Merge can access critical HR information, including employee profiles, payroll, benefits, time-off balances, employment records, and much more.

See the full list of Workday data that Merge can access.

Which organizations use Merge’s Workday integration?

Companies across regions, industries, and sizes use the integration. This includes BILL, Ramp, Navan, Snappy, Ledgy, and Team Ohana.

What are some use cases for Merge’s Workday integration?

Companies will adopt different use cases, depending on their platform and their customers’ needs. That said, common use cases include:

  • Automatically adding, updating, and removing users in your platform
  • Analyzing employee costs in your financial modeling platform to better determine future hiring decisions—among other types of business decisions
  • Feeding HRIS data to your machine learning model to powerful AI features in your product

Discover additional use cases in Merge’s Docs.

What other HRIS integrations does Merge support? 

Beyond Workday, Merge offers 70+ HR and payroll integrations through its HRIS Unified API, such as SAP SuccessFactors, ADP, BambooHR, Gusto, and UKG Pro.

The integrations cover popular software solutions across company sizes, industries, and regions, all but ensuring you can offer the HRIS integrations that prospects and customers need.

How long does it take developers to set up a Workday integration? 

Most setups take anywhere from a few hours to a couple of days. In addition, once you’ve built to Merge’s HRIS Unified API, you can access all of the other HRIS integrations Merge supports. This significantly reduces the total time and effort​​ dedicated to adding integrations and lets you support customers’ integration needs faster.

Are there any days you’ll be closed for the holidays in 2024?

Trusted to power integrations at

Logotype of HandshakeLogotype of RampLogotype of BrexLogotype of NavanLogotype of TaxBit
Logotype of HandshakeLogotype of RampLogotype of BrexLogotype of NavanLogotype of TaxBit
Logotype of HandshakeLogotype of RampLogotype of BrexLogotype of NavanLogotype of TaxBit
Logotype of HandshakeLogotype of RampLogotype of BrexLogotype of NavanLogotype of TaxBit

Make integrations your competitive advantage

More sales, less code, fewer headaches

Focus on your core product

Stop diverting your engineers to yet another integration and let them get back to work.

Give customer success a break

Manage your simplified integration issues in a single pane. No therapist required.

Stop losing sales due to integrations

Launch integrations in days, not quarters. Your sales team will thank you.

Seamless account linking

Integration authentication that feels like magic

Merge seamlessly manages authentication and authorization on behalf of your customers.
Offer account linking and permission controls to your users with Link for a customizable frontend or with Magic Link for URL-based authorization

View Docs
APIs made simple

The toolkit for all your integration needs

We make integrations painless with accessible API design, dead-simple SDKs, and beautiful documentation that we agonize over.

View Docs
Get Employee Data
1from merge import Merge
2
3client = Merge(
4    account_token="YOUR_ACCOUNT_TOKEN",
5    api_key="YOUR_API_KEY",
6)
7client.hris.employees.list()
import { MergeClient, Merge } from '@mergeapi/merge-node-client';
const merge = new MergeClient({
  apiKey: 'YOUR_API_KEY',
  accountToken: 'YOUR_ACCOUNT_TOKEN',
});
employee = await merge.hris.employees.list()
ApiClient.instance.authentications.tokenAuth = {
  type: 'bearer',
  accessToken: 'API_KEY',
};
new EmployeesApi().employeesList('ACCOUNT_TOKEN', {}, (data) => {
  console.log(data);
});
import (
  "context"
  "fmt"
  merge "github.com/fern-api/merge-go"
  mergeclient "github.com/fern-api/merge-go/client"
  "github.com/fern-api/merge-go/hris"
)

client := mergeclient.NewClient(
  mergeclient.ClientWithAuthApiKey("<YOUR_API_KEY>"),
1ApiClient client = Configuration.getDefaultApiClient();
2client.setBasePath('https://api.merge.dev/api/ats/v1');
3ApiKeyAuth tokenAuth = client.getAuthentication('tokenAuth');
4tokenAuth.setApiKey('API_KEY');
5CandidatesApi apiInstance = new CandidatesApi(client);
6apiInstance.candidatesList('ACCOUNT_TOKEN');
import com.merge.api.MergeApiClient;
import com.merge.api.resources.hris.employees.requests.EmployeesRetrieveRequest;
import com.merge.api.resources.hris.types.Employee;
MergeApiClient mergeClient = MergeApiClient.builder()
    .accountToken("ACCOUNT_TOKEN")
    .apiKey("API_KEY")
    .build();
Employee employee = mergeClient.hris().employees().list(
    EmployeesRetrieveRequest.builder()
        .includeRemoteData(true)

> {  

"id": "0958cbc6-6040-430a-848e-aafacbadf4ae",
"remote_id": "19202938",
"employee_number": "2",
"company": "8d9fd929-436c-4fd4-a48b-0c61f68d6178",
"first_name": "Dirna",
"last_name": "Emanuel",
"display_full_name": "Dirna Emanuel",
    "username": "dirnaemanuel",
    "groups": [

Meta endpoint

Programmatically access required schemas

Third-party providers require specific (and often different) fields to write data to their APIs, making your code a mess.

Dynamically fetch required data schemas from Merge’s /meta endpoint to make POST or PATCH requests that just work.

View Docs
Beyond building

Rely on the best integration observability system

Let our logs, issue detection, and automated alerts save your customer success team time, money, and headaches.

Forget maintenance - let your developers focus on building!

Start for free

Case study

How Drata increases customer value and spends 80% less time managing integrations

View case study

​​Working with Merge’s Unified API and beautiful React component took less than a sprint to integrate, test, and release.

Daniel Marashlian
Co-Founder & CTO, Drata

Read more about building and maintaining multiple integrations

A guide to maintaining your product integrations

Blog

A guide to integrating multiple APIs

Blog

The top challenges of normalizing multiple API integrations

Blog

Make integrations your competitive advantage

Stay in touch to learn how Merge can unlock hundreds of integrations in days, not years

Get a demo