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.
Supported deployment models
We support the SaaS and Hybrid deployment models for the connector.
NOTE: You must have an Enterprise or Business Critical plan to use the Hybrid Deployment model.
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
For connections created before 12th March, 2025:
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.
For connections created after 12th March, 2025:
By default, we do complete re-syncs of reports to sync their data. We also allow you to use the following two dynamic sync strategies to sync the report data from each report to your destination table:
Sync updates from last sync: This strategy syncs the report incrementally. First, we sync the data from given start date till current date then subsequent syncs are from the last synced date till current date.
Sync updates from report start: This strategy will sync the report from the given start date to current date during each sync.
NOTE: You must enable dynamic report parameters in the connector setup form to use dynamic sync strategies.
Workday conducts scheduled maintenance every Friday night (PST). To avoid sync failures, we reschedule your sync by 6 hours during this time. 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. But we can sync large reports if you enable dynamic parameters for the report.
Dynamic query parameters
For connections created before 12th March, 2025:
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.
For connections created before 12th March, 2025:
The connector cannot incrementally sync a report if you specify both the query parameters as static values. For example, we cannot incrementally sync the report for which, the URL is https://hostname/custom_report?Start_Date=2001-10-10-07%3A00&End_Date=2024-01-01
, and the query parameters, Start_Date
and End_Date
. are static values. In this case, 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.
To incrementally sync reports, following are the query parameters in the report you specify in the connector setup form.
- Enable Dynamic Parameters: Set this toggle to ON to use dynamic parameters in the report URL.
- Enter Report Start Date Field: This field determines which date we start the sync from. Enter the query parameter field from your report which will be either set to the value of Select report start date or last synced date based on the selected sync strategy.
- Enter Dynamic Parameter Field: Enter the query parameter field from your report which will be updated dynamically to the current date.
- Select report start date: The date from which you want to sync the report data.
- Choose sync strategy for your connector: The sync strategy you want to use for the connector.
- Sync updates from last sync: This strategy syncs the report incrementally. In the first sync, we sync the report from the Select report start date to the current date. Then for subsequent syncs, the Enter Report Start Date Field value is set to the last synced date and Enter Dynamic Parameter Field value is set to the current date.
- Sync updates from report start: This strategy will sync the report from you selected report start date to the current date during each sync. Enter Report Start Date Field value is set to Select report start date and Enter Dynamic Parameter Field value will be set to current date.
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 following parameters for report in the setup form:
- Enter Report Start Date Field:
Start_Date
- Enter Dynamic Parameter Field:
End_Date
- Select report start date:
2015-01-01
- Choose sync strategy for your connector: Sync updates from report start
NOTE: You need to replace the
Start_Date
andEnd_Date
fields with the fields according to your report.
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 following parameters for report in the setup form:
- Enter Report Start Date Field:
Start_Date
- Enter Dynamic Parameter Field:
End_Date
- Select report start date: 2015-01-01
- Choose sync strategy for your connector: Sync updates from last sync
NOTE: You need to replace the
Start_Date
andEnd_Date
fields with the fields according to your report.
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 following parameters for report in the setup form:
- Enter Report Start Date Field:
Start_Date
- Enter Dynamic Parameter Field:
End_Date
- Select report start date: ( Select the date when the report was created or any earlier date )
- Choose sync strategy for your connector: Sync updates from last sync
NOTE: Replace the
Start_Date
andEnd_Date
fields with the fields according to your report.
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:
- Dynamic query parameter fields can only contain alphabets and underscores (
_
), and must not contain any special characters.- 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.