jsn / ServiceNow, simplified.
AustraliaREFERENCE GUIDE

Obtaining data from Workday using RaaS reports

On this page

Obtaining data from Workday using RaaS reports

Workday Reports as a Service (RaaS) exposes a Workday custom report as a callable endpoint, so you can obtain report data that no standard Workday API returns.

What RaaS reports provide

Workday Reports as a Service (RaaS) exposes a Workday custom report as an endpoint that returns the report output as data. Where a standard Workday REST API returns records from a defined business object, a RaaS endpoint returns whatever columns the report author configured.

Use RaaS when the data you need is already assembled in a Workday custom report and no equivalent standard API exists.

For standard Workday REST connectivity, see Obtaining data from Workday using REST APIs.

Using a RaaS report

When adding a RaaS report to a read model operation, supply the following:

  • The report request URL, including its query parameters. Each query parameter in the URL becomes an input field.

  • A sample JSON response from that request. The fields found across the rows in the sample become the output fields.

For the steps, see Add a Workday RaaS entity to a model operation.

Reviewing the inputs and outputs

After the service is added, you choose which of the derived fields the operation uses. The output fields include only the fields that appear in the sample response that you supply.

Review and adjust the inputs and outputs before you use the model. For the steps, see Manage input parameters for RaaS and Manage model output parameters for RaaS.

Running a RaaS model from a script

After the model is configured, you can run the report from a server-side script through the scriptable API. Because the input variable names are generated from the report’s query parameters, look them up with getAvailableInputs() before you pass values with withJSON(). Pass date values in the format that the report expects.

// Look up the generated input variable names for the report
const inputs = new API()
  .system('workday')
  .model('workday_raas_report')
  .operation('read')
  .getAvailableInputs();

// Run the report with values for its query-parameter inputs
const rows = new API()
  .system('workday')
  .model('workday_raas_report')
  .operation('read')
  .withJSON({
    start_date_input: '2026-01-01',
    end_date_input: '2026-03-31'
  })
  .execute();

For the full method reference, see .

Keep exploring.

Find another answer, or bring this documentation into your own tools.