Has anyone created a custom connector to the Workday API? Wanted to check with the Community prior to building one out.
Thanks!
Posting in case anyone is having difficulty in the same way I did.
I had a Workday report created. Pasting the URL in my browser prompted me for a username and password and could successfully download the report as a csv. However, when I tried to download in Alteryx, I wasn't able to get the data.
The issue was actually with a default setting in the download tool - Encode URL Text. Unchecking this box fixed the issue and my data is now being downloaded.
Hope this helps anyone else out there who may be struggling with the same issue.
@DataPrepChad here is one from a partner: https://apiant.com/connect/Workday-to-Alteryx
@DataPrepChad Turns out this connector is not actually the best - but all you have to do is make the workday report web-enabled witch generates a URL we can then connect to via the download tool. This is how Tableau is using it.
Good to know, thank you @DanielS!
Hey Chad,
I've built out a connector for the Workday API. Let me know if you still have any questions.
Thanks
Are there any specific requirements for the Download too in Alteryx when configuring to download a report from the Workday site? We've generated an Excel report and copied the report URL, specified the file name as the download file (Filename from Field), and entered the credentials in the Connections tab. Does the download tool need to be configured for SOAP API call?
Cady
Mind sharing how you built out the connector?
Hello,
May you please share how you built out a connector?
Bump for answer on this thread
To start, I am a complete Alteryx newcomer, literally 2nd day using/testing the tool. However I am an experienced Workday Admin so naturally this thread was one of the first places I came to.
Let me share my solution in hopes it inspires/helps those in the future. Big FYI, for my use case I wanted to see if I could make a WQL call (which is a REST API call to Workday) using a Bearer token as my method of authentication. I understand that may be a lot more complex then your standard RAAS (report as a service), but note that Workday Community already has a nice guide on how to authenticate using basic auth and call a RAAS.
1. In Workday, create an API Client for Integrations and assigned the scopes/areas you want to allow your API Client to access. The remainder of the steps are in Alteryx.
2. Create a 'text input' module (see screenshot for the 3 data points entered - note for WQL call, the heading must be 'query' as shown)
3. Create a 'download' module, and uncheck the DCM, and for the field use the token URL from the text input module. Nothing needed on the headers or connection tabs, but on the payload tab see screenshot below for how to pass your client id, client secret, refresh token, and grant type (as we are getting an access token we need to use the 'post' http method).
4. I then used a select module to filter out the data I didn't need, and I used a parse JSON module to parse the 'downloaddata' to extract the access token from the download step.
5. Next is the filter, to single out the access_token from the rest of the downloaddata that was parsed.
6. Next is a formula module. It is very important to call the output column 'authorization' - see screenshot below
7. The final step is another download module, similar to the last one, uncheck DCM, and this time use the WQL URL from the text input step. The only Header needed is the 'authorization' value. The payload tab is a 'get' call this time, and here I just pass along the 'query' from the text input at the beginning of the flow.
8. That should be it, after you run the flow, you should be getting a JSON 'downloaddata' from the 2nd download module, you can then parse it and transform it however you need the data.
I hope this guide helps someone else out or at least gives some ideas on how to connect Alteryx to Workday using an API Client. As I am new to the Alteryx community, I would appreciate a thumbs up if you do find this guide helpful.
Hey Joseph,
Thank you so much for that, I was able to authenticate into the tenant after following these steps. At this moment I am trying to query something from the tenant, but even though the WQL works in the tenant, when I use it in the Alteryx flow it keeps returning a S21 error (not found: null).
Is it possible that you could share a sample WQL to bring, for example, the workers data from the GMS demo tenant?
This is the query I've tried:
SELECT firstName, location FROM allWorkers
Thanks in advance
https://stackoverflow.com/questions/77449676/workday-rest-api-wql
does that help?
It does, thank you! besides adding the wql btw api and version, the URL was also missing the /data at the end.
Joseph, could you provide any more guidance on the workday set up side? trying to figure out getting the credentials. we just implemented and im working with my admin on how to get this running, but your method of requesting the token in the first call and then requesting the data in the next is what i have always used for oauth in alteryx.
@megaron --- try setting up
https://services1.myworkday.com/ccx/service/customreport2 -- as your base URL
and then include:
/sie/1001006802/CR_People_Analytics_-_End_of_Month_FX_Rates?format=csv -- as a field.
pass that in and append it. looks like this newfangled Download tool wants too parts for a DCM managed API --- one a connection part - two a specific endpoint.