Workday RaaS
Workday is a cloud ERP system for finance, HR, and planning.
Fivetran syncs Workday Report-as-a-Service (RaaS) reports to the destination on regular basis. In Workday RaaS, you can create as many custom reports as you need.
NOTE: To sync data from your Workday Human Capital Management (HCM) application, see our Workday HCM connector documentation.
Features
Feature Name | Supported | Notes |
---|---|---|
Capture deletes | check | |
History mode | ||
Custom data | check | |
Data blocking | check | |
Column hashing | check | |
Re-sync | check | |
API configurable | check | API configuration |
Priority-first sync | ||
Fivetran data models | ||
Private networking | ||
Authorization via API | check |
NOTE: You may see duplicate data when you change the primary key(s) after one or more syncs. We recommend that you truncate the destination table and resume the sync.
Setup guide
Follow our step-by-step Workday RaaS setup guide to connect Workday with your destination using Fivetran connectors.
Schema information
We support Workday reports in JSON format. We give you the option to select the primary keys because the reports are dynamically generated. After you select the primary keys, we sync the entire report.
Sync strategy
We use the report URL that you specify to sync the report data to your destination table.
NOTE: If you want to sync multiple Workday reports, you must add a separate Workday RaaS connector in your Fivetran dashboard for each report.
Because Workday conducts scheduled maintenance every Friday night (PST), we reschedule your sync by 6 hours to ensure your connectors don't fail repeatedly. After maintenance is over, syncs return to the normal schedule.
NOTE: Workday does not allow us to sync the reports whose size exceed 2 GB.
Dynamic query parameters
The query parameters in the report URL that you specify in the connector setup form determine the sync strategy we use for your connector. Whether we can incrementally sync your report data or not depends on these query parameters.
The Workday RaaS connector cannot incrementally sync a report if you specify both the query parameters as static values. For example, we cannot incrementally sync the report whose URL is https://hostname/custom_report?Start_Date=2001-10-10-07%3A00&End_Date=2024-01-01
, where the query parameters (Start_Date
and End_Date
) are static values. In this scenario, we re-sync the connector during each sync to fetch the complete report and overwrite the data in your destination table with the new report data.
However, we can incrementally sync the report if you specify at least one of its query parameters as a dynamic value. The following examples show how you can specify dynamic parameters and how we parse them to perform incremental syncs:
Example 1:
Let's assume you want to incrementally sync your report and capture all the changes made to the report between January 1, 2015 and the current date in each incremental sync.
You can achieve this by specifying the report URL in the following format: https://hostname/custom_report?Start_Date=2015-01-01&End_Date={any_text_without_special_characters}
In this scenario, we do the following:
- During the initial sync, we sync all the records that were created on or after January 1, 2015.
- During every incremental sync, we sync all the changes made to the report data between January 1, 2015 and the current date on which we perform the incremental sync.
Example 2:
Let's assume you want:
- the initial sync to capture all the records created on or after January 1, 2015, and
- the subsequent incremental syncs to capture only the changes made to the report between the last sync date and the current date
You can achieve this by specifying the report URL in the following format: https://hostname/custom_report?Start_Date={2015-01-01}&End_Date={any_text_without_special_characters}
In this scenario, we do the following:
- During the initial sync, we sync all the records that were created on or after January 1, 2015.
- During every incremental sync, we sync all the changes made to the report between the date on which we performed the last sync and the current date on which we perform the incremental sync.
Example 3:
Let's assume you want the incremental syncs to capture only the changes made to the report between the last sync date and the current date.
You can achieve this by specifying the report URL in the following format: https://hostname/custom_report?Start_Date={any_text_without_special_characters}&End_Date={any_text_without_special_characters}
In this scenario, we do the following:
- During the initial sync, we sync all the records that were created since the report creation date.
- During every incremental sync, we sync all the changes made to the report between the date on which we performed the last sync and the current date on which we perform the incremental sync.
IMPORTANT:
- You must specify the dynamic query parameter values within braces or curly brackets (
{}
).- Dynamic query parameter values can only contain alphabets and underscores (
_
), and must not contain any special characters.- You can use a dynamic value even in the report URLs that contain only a single query parameter. For example,
https://hostname/customreport2/Budget_Lines_Report?Report_Effective_Date={effective_date}
.- If you want to use two dynamic query parameters, you must specify the start parameter first, followed by the end parameter.
- You must specify the dynamic query parameter values within brackets (
{}
).- Dynamic query parameter values can only contain alphabets and underscores (
_
) and must not contain any special characters.- The dates that you specify as query parameters must be in the
YYYY-MM-DD
format.- If the start and end query parameters are same (for example, 2024-01-02), we capture the changes made between the previous day and the current date (i.e., the changes made during 2024-01-01 and 2024-01-02) during the incremental sync.
UTC conversion
We don't convert source timestamps to Universal Time Coordinated (UTC) but use Pacific Standard Time (PST) to store the data in your destination.