Accessing Workday ERP using bearer token

This showcase will probably have a very limited audience, but I wanted to share my experience accessing Workday (an ERP & HCM enterprise software suite) using the make a request HTTP module. Specifically I wanted to showcase how we use a bearer token + WQL (Workday Query Language) REST call to extract data out of Workday. This is probably the most advanced way to get data out of Workday, there are much simpler ways to make a RAAS (report as a service) call using basic authentication, and maybe I can make that showcase later in life if there is interest.


  1. In Workday, register (or use an existing) API Client for Integrations. The scopes will determine the access of the API Client (Note: Tenant Non-Configurable scope is what allows access to RAAS), and note down the Client ID & Client Secret.

  2. In Workday, navigate to the ‘view api clients’ - note down the endpoints (token end point we will use in the next step) and assign a workday account, typically an ISU (integration system user), and note down the refresh token id.

  3. In Make, use the ‘make a request’ HTTP module to get the access_token. Use the Token Endpoint from the previous step, ensure the method is ‘post’ and fill out the fields as shown in the screenshot here (note, I like to store my URLs and IDs in a variable, but you can also just copy and paste directly into the HTTP module).

  4. In Make, create another ‘make a request’ HTTP module, this time we will use the WQL URL (see workday community for syntax, but note that the WQL URL is different then the other REST API URLs), Get as the method, we will pass the access_token from the previous step as our authorization, and in the query string we can make our WQL call (again see Workday Community for more information on WQL call syntax, there is also some WQL reports in Workday).

If all went well, you now have a way to access Workday data in, and as we all know, that opens up a lot of possibilities. Typically from here I will use the iterator module and then do what I need to do with the data. One of my most common use cases for a WQL call is to extract some specific data and pass the WIDs (Workday IDs) to SOAP API calls to actually download files/pdfs out of workday (invoices/receipts) or to edit/update the record in question. If there is some traction to this post and people seem interested I can do a follow up around how I use the HTTP module in Make to do SOAP API calls to Workday.

Heya @Joseph_Accountant how thrilling to see a new post from you :blob_dance:

I just had to swing by and give you a big thumbs up for the great showcase of your HTTP module skills. Limited audience or not, this is awesome and deserves to be shared with everyone in here.

Your skill and expertise are truly inspiring. Can’t wait to see what you’ll bring next. :nerd_face:

Keep up the great work :clap:

1 Like

Great work @Joseph_Accountant!

One side note - the Make Enterprise plan has apps for both Workday Financial Management and Workday HCM with modules for the most common use cases (and the Make an API call module for others). These modules also avoid the need to make a separate call for the access token.

For Make customers who aren’t on the Enterprise plan though, your notes are a handy guide!

1 Like

Hi @DavidGurr_Make,

Agreed on the Make built in modules for Workday, I may post a showcase in the near future on how those modules are useful. They definitely have some built-in advantages like the ability to pull in Workday Reference IDs with a quick search (so you don’t have to navigate back to Workday to get those) and they are much more user friendly then a customized SOAP API call to Workday.

However, the Workday modules are limited to SOAP API calls and basic authentication, my showcase here is using a REST API call and bearer token authentication. As of right now Workday does not support WQL calls using SOAP, so I think my showcase is relevant to enterprise and non-enterprise customers!

Let me know if anyone else has any questions about my showcase, and happy Making out there!

1 Like