Skip to main content

Celonis Product Documentation

Workday Report Extraction

To extract data from the available APIs, you can also ingest data from custom Workday reports in json format. Below is a step-by-step guide to grant integration access to custom Workday reports.

Step 1:

Create a custom report in Workday that includes the filters for Transaction_Entry_Before and Transaction_Entry_After and save it in json format.

As an outcome, a typical report URL looks like this:

https://wd3-services1.myworkday.com/ccx/service/customreport2/celonis/f.sonneck%40celonis.com/Celonis_REST_Process_Extract?Transaction_Entry_After=2021-01-01-00:00&Transaction_Entry_Before=2021-01-02-00:00&Business_Process_Name%21WID=d5ddd2195a6c4f60b63077c26ae2950b!50862dc434f241c3978c87423a859d04!48b49c6d25a74247b7b9d0d6f6593d72!56cd8fae34ad49ee94acae3d3873ea64!1afb78c169254c73a18e7f5f8d246a22&format=json

Step 2:

Create a custom Extractor using the Extractor Builder

  1. Go to the Extractor Builder in Data Integration.

  2. Build a new Extractor and define a name, e.g. Workday Custom Report.

  3. Select Basic Authentication in the Authentication Methods section.

  4. No Additional Connection Parameters need to be defined.

  5. Create a first endpoint which is used for the connection test with the following configurations:

    1. Configure Endpoint: make sure to toggle the "Use this endpoint for Connection Test" option.

    2. Configure Request: add the {Connection.API_URL} parameter followed by the custom report URL.

      For this endpoint, which is purely used for the connection setup, make sure that the Transaction_Entry_Before and Transaction_Entry_After parameters are only covering a one-day difference (as shown in the example). The original report URL can easily be adjusted accordingly. The reason for doing that is that the response can be quite large depending on the time frame and lead to timeouts.

      Example: {Connection.API_URL}/ccx/service/customreport2/celonis/f.sonneck%40celonis.com/Celonis_REST_Process_Extract?Transaction_Entry_After=2021-01-01-00:00&Transaction_Entry_Before=2021-01-02-00:00&Business_Process_Name%21WID=d5ddd2195a6c4f60b63077c26ae2950b!50862dc434f241c3978c87423a859d04!48b49c6d25a74247b7b9d0d6f6593d72!56cd8fae34ad49ee94acae3d3873ea64!1afb78c169254c73a18e7f5f8d246a22&format=json

    3. Configure Response: Define the target table name and add a response sample from the report.

    4. Deactivate this endpoint.

  6. Create a second endpoint that is used for the actual data extraction:

    1. Configure Endpoint: make sure to untoggle the "Use this endpoint for Connection Test" option.

    2. Configure Request: add the {Connection.API_URL} parameter followed by the custom report URL.

      For this endpoint make sure to remove the Transaction_Entry_Before and Transaction_Entry_After parameters from the URL, these will be added automatically.

      Example:

      {Connection.API_URL}/ccx/service/customreport2/celonis/f.sonneckt%40celonis.com/Celonis_REST_Process_Extract?Business_Process_Name%21WID=d5ddd2195a6c4f60b63077c26ae2950b!50862dc434f241c3978c87423a859d04!48b49c6d25a74247b7b9d0d6f6593d72!56cd8fae34ad49ee94acae3d3873ea64!1afb78c169254c73a18e7f5f8d246a22&format=json

    3. Add the following Request Parameter:

      50746360.png
    4. No request header needs to be specified.

    5. Define the Pagination Method accordingly:

      50746361.png
    6. Configure Response: Define the target table name and add a response sample from the report.

  7. Create a data job targeting that data connection and set up the additional filter in the extraction configuration as follows, where the DATE can be either a specific hard coded date or a parameter as in every other extraction:

    57541176.png