Skip to main content
The Workday Custom Reports component uses the Workday RaaS (Reporting as a Service) API to retrieve and store data—such as employee, financial, and business-related data—from Workday, to be loaded into a table. You can then use transformation components to enrich and manage the data in permanent tables. You do not need to set up a Create Table component when using this component. To extract data via Workday Web Services, use the Workday component instead. Using this component may return structured data that requires flattening. For help with flattening such data, we recommend using the Extract Nested Data component. If the component requires access to a cloud provider (AWS, Azure, or GCP), it will use the cloud credentials associated with your environment to access resources. To stage data to Azure Blob Storage, the Azure credentials associated with your environment must be assigned the Storage Blob Data Contributor role. For more information, read User assigned with the Storage Blob Data Contributor role.
Matillion has resolved an issue with Workday Custom Reports that was causing this component to time out on long requests. As a result, these requests will no longer time out; however, larger requests may take a long time and lead to “Out of memory” errors.

Properties

Reference material is provided below for the Connect, Configure, and Destination properties.
Name
string
required
A human-readable name for the component.

Connect

Host
string
required
Your Workday host name. Read Workday authentication guide to learn how to acquire this credential.
Tenant
string
required
Your Workday Tenant ID. Read Workday authentication guide to learn how to acquire this credential.
Authentication Type
drop-down
required
The authentication method to authorize access to your Workday data. Choose OAuth 2.0 Authorization Code to use an OAuth connection, or Username & password to use a username and password.
Authentication
drop-down
required
(OAuth 2.0 Authorization Code only)Choose your OAuth connection from the drop-down menu.Click Manage to navigate to the OAuth connections list to review OAuth connections and to add new connections. Read OAuth to learn how to create an OAuth connection.Additionally, read Workday authentication guide, which explains how to create an OAuth connection for Workday Custom Reports.
Username
string
required
(Username & password only) Your Workday username.
Password
drop-down
required
(Username & password only)Choose the secret definition that represents your credentials for this connector.If you have not already saved your credentials for this connector as a secret definition, click Add secret to create a secret definition representing these credentials. Read Secrets and secret definitions for details about creating a secret definition.

Configure

API
drop-down
required
Select REST API or SOAP API.
  • The REST API does not return object IDs unless explicitly included in the report by the report creator. Data is formatted in JSON.
  • The SOAP API returns all object IDs with the objects as standard. Data is formatted in XML.
Data Format
drop-down
required
Select the format of the data, JSON or CSV. Property only available when using the REST API.
Report Owner
drop-down
required
Select the Workday user who owns the report you want to extract data from. The default is All, meaning all reports created by all users will be available to the component.
Report Name
drop-down
required
Select the report you want to extract data from.
Report Parameters
column editor
Certain custom reports require information to be passed to the Workday API in the form of parameters, which Workday refers to as prompts. You should define as many parameters (prompts) as are needed for the report you are querying. For details of report parameters, read the Workday documentation.Enter parameters in the dialog as follows:
  • Parameter: The name of the prompt to pass to the Workday API.
  • Object-WID: The value of the prompt to pass to the Workday API, specified as a WID value.

Destination

Select your cloud data warehouse.
Destination
drop-down
required
Select the destination for your data. This is either in Snowflake as a table or as files in cloud storage.
  • Snowflake: Load your data into a table in Snowflake. The data must first be staged via Snowflake or a cloud storage solution.
  • Cloud Storage: Load your data directly into files in your preferred cloud storage location. The format of these files can differ between source systems and will not have a file extension so we suggest inspecting the output to determine the format of the data.
Warehouse
drop-down
required
The Snowflake warehouse used to run the queries. The special value [Environment Default] uses the warehouse defined in the environment. Read Overview of Warehouses to learn more.
Database
drop-down
required
The Snowflake database to access. The special value [Environment Default] uses the database defined in the environment. Read Databases, Tables and Views - Overview to learn more.
Schema
drop-down
required
The Snowflake schema. The special value [Environment Default] uses the schema defined in the environment. Read Database, Schema, and Share DDL to learn more.
Table Name
string
required
The name of the table to be created in your Snowflake database. You can use a Table Input component in a transformation pipeline to access and transform this data after it has been loaded.
Load Strategy
drop-down
required
Define what happens if the table name already exists in the specified Snowflake database and schema.
  • Replace: If the specified table name already exists, that table will be destroyed and replaced by the table created during this pipeline run.
  • Truncate and Insert: If the specified table name already exists, all rows within the table will be removed and new rows will be inserted per the next run of this pipeline.
  • Fail if Exists: If the specified table name already exists, this pipeline will fail to run.
  • Append: If the specified table name already exists, then the data is inserted without altering or deleting the existing data in the table. It’s appended onto the end of the existing data in the table. If the specified table name doesn’t exist, then the table will be created, and your data will be inserted into the table.
Clean Staged files
boolean
required
  • Yes: Staged files will be destroyed after data is loaded. This is the default setting.
  • No: Staged files are retained in the staging area after data is loaded.
Stage Access Strategy
drop-down
Select the stage access strategy. The strategies available depend on the cloud platform you select in Stage Platform.
  • Credentials: Connects to the external stage (AWS, Azure) using your configured cloud provider credentials. Not available for Google Cloud Storage.
  • Storage Integration: Use a Snowflake storage integration to grant access to Snowflake to read data from and write to a cloud storage location. This will reveal the Storage Integration property, through which you can select any of your existing Snowflake storage integrations.
Stage Platform
drop-down
required
Use the drop-down menu to choose where the data is staged before being loaded into your Snowflake table.
  • Amazon S3: Stage your data on an AWS S3 bucket.
  • Snowflake: Stage your data on a Snowflake internal stage.
  • Azure Storage: Stage your data in an Azure Blob Storage container.
  • Google Cloud Storage: Stage your data in a Google Cloud Storage bucket.

Deactivate soft delete for Azure blobs (Databricks)

If you intend to set your destination as Databricks and your stage platform as Azure Storage, you must turn off the “Enable soft delete for blobs” setting in your Azure account for your pipeline to run successfully. To do this:
  1. In the Azure portal, navigate to your storage account.
  2. In the menu, under Data management, click Data protection.
  3. Clear the Enable soft delete for blobs checkbox. For more information, read Soft delete for blobs.