Workday Bulk Attachment Extractor using Make.com Workday Modules

Hello Community,

Today I wanted to showcase/discuss how our team uses Make’s Workday Modules to bulk download attachments and store them in Google Drive.

The integration will make use of Workday’s API Client for Integrations OAuth connection, Workday Query Language (WQL), and a Workday Report as a Service (RAAS) to get the attachment data. At the end I will also provide a quick demo of how to use the Workday SOAP API to get the attachment data, but we have found the RAAS easier to work with.

See screenshot here for the make.com scenario with an overview of the automation/integrations. Next I will go into more detail on the steps to set up this kind of integration.

  1. In Workday, Register an API Client for Integrations, assign the relevant scopes (‘Tenant Non-Configurable’ is required for the API to use RAAS and ‘System’ is required for the API to use WQL), and assign an Integration System User (ISU) - the ISU will need view and modify access to Workday Query Language to make WQL calls.

See screenshot here for an example from Workday - please check with your internal Workday Security/Admin team.

  1. Configure the Workday connection in Make.
    Note: The easiest way to find your Workday Host URL and Tenant ID is on the ‘View API Clients’ report in Workday, at the top of the report it shows the Token Endpoint which contains the Host URL Address and the Tenant ID.

  2. The Key Variables in this scenario store the Workday ID (WID) of the Entity we are extracting supplier invoices attachments for, and some code to get the start and end date (which is configured to be the 1st of last month to the last day of last month).

  3. I will skip over the Create a Monthly Folder as it’s self explanatory, and next show the Workday Query Module. In the Workday Query Module the goal is to get the population of all the invoices for this company for the given date range. If you are new to WQL, Workday Community has some fantastic resources and in Workday there is a task called “Convert Report to WQL” which is great for getting started if you already have a report in Workday that has most of the data and filters you want. The Workday Query Module will output 1 bundle per ‘row’ which we can then use to get the attachments.

Example output from the Run a WQL Query module.

  1. In Workday we need to build our RAAS - which is just an Advanced Report that is Enabled As a Web Service so we can extract/run the data into Make. The screenshot below shows how our report is configured. To get the API URL, follow the related actions to ‘View URLs.’ On the View URLs page, copy the JSON URL and paste it into Make’s ‘Get a RAAS Report’ module (as shown in the 2nd screenshot below).


  2. The Get a RaaS Report module will return our data as shown in the screenshot below. The Attachments are returned as an array as there can be multiple attachments on each invoice. So the last step is to iterate through the array and save each attachment to our shared Google Drive folder for our team.

Note: When uploading the files to Google Drive, the Workday data must be converted to binary and decrypted from base64. See the code below.

Optional - Instead of using Workday RAAS to get the attachments, we can also use Workday SOAP API to get the attachments. The data is a bit more difficult to work with in Make, but it doesn’t require the creation of a RAAS in Workday. See screenshot below of the configuration of the Workday Make a SOAP API Call module and an example response. Note just as with the RAAS, the response will need to be iterated through to get all the attachments (if there are multiple attachments).


1 Like