Workday · Arazzo Workflow

Workday WQL Discover and Query

Version 1.0.0

Discover a WQL data source and its fields, then execute a WQL query against it.

1 workflow 2 source APIs 1 provider
View Spec View on GitHub Cloud ComputingEnterprise SoftwareFinancial ManagementHCMSoftware-as-a-ServiceArazzoWorkflows

Provider

workday

Workflows

wql-discover-and-query
Discover a data source and its fields, then run a WQL query.
Lists WQL data sources, then branches: if any exist it loads the first data source's fields and executes the supplied WQL query, otherwise it ends.
3 steps inputs: authorization, limit, query outputs: fields, firstDataSourceId, rows
1
listDataSources
List the available WQL data sources.
2
getFields
Load the fields of the first data source to validate query columns.
3
runQuery
Execute the supplied WQL query and return the result set.

Source API Descriptions

Arazzo Workflow Specification

Raw ↑
arazzo: 1.0.1
info:
  title: Workday WQL Discover and Query
  summary: Discover a WQL data source and its fields, then execute a WQL query against it.
  description: >-
    A WQL reporting flow. It lists the available WQL data sources, branches on
    whether any exist, loads the fields of the first data source so the query
    can reference valid columns, and then executes a supplied WQL query and
    returns the result set. Every step spells out its request inline so the flow
    can be read and executed without opening the underlying OpenAPI description.
  version: 1.0.0
sourceDescriptions:
- name: dataSourcesApi
  url: ../openapi/workday-data-sources-api-openapi.yml
  type: openapi
- name: queryApi
  url: ../openapi/workday-query-api-openapi.yml
  type: openapi
workflows:
- workflowId: wql-discover-and-query
  summary: Discover a data source and its fields, then run a WQL query.
  description: >-
    Lists WQL data sources, then branches: if any exist it loads the first data
    source's fields and executes the supplied WQL query, otherwise it ends.
  inputs:
    type: object
    required:
    - authorization
    - query
    properties:
      authorization:
        type: string
        description: OAuth2 bearer token, e.g. "Bearer eyJ...".
      query:
        type: string
        description: The WQL query string to execute.
      limit:
        type: integer
        description: Maximum number of result rows (default 20, max 100).
  steps:
  - stepId: listDataSources
    description: List the available WQL data sources.
    operationId: getDataSources
    parameters:
    - name: Authorization
      in: header
      value: $inputs.authorization
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      firstDataSourceId: $response.body#/data/0/id
    onSuccess:
    - name: hasDataSources
      type: goto
      stepId: getFields
      criteria:
      - context: $response.body
        condition: $.data.length > 0
        type: jsonpath
    - name: noDataSources
      type: end
      criteria:
      - context: $response.body
        condition: $.data.length == 0
        type: jsonpath
  - stepId: getFields
    description: Load the fields of the first data source to validate query columns.
    operationId: getDataSourceFields
    parameters:
    - name: Authorization
      in: header
      value: $inputs.authorization
    - name: ID
      in: path
      value: $steps.listDataSources.outputs.firstDataSourceId
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      fields: $response.body#/data
  - stepId: runQuery
    description: Execute the supplied WQL query and return the result set.
    operationId: executeWqlQuery
    parameters:
    - name: Authorization
      in: header
      value: $inputs.authorization
    - name: query
      in: query
      value: $inputs.query
    - name: limit
      in: query
      value: $inputs.limit
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      rows: $response.body#/data
      total: $response.body#/total
  outputs:
    firstDataSourceId: $steps.listDataSources.outputs.firstDataSourceId
    fields: $steps.getFields.outputs.fields
    rows: $steps.runQuery.outputs.rows

Work with this as data

Every workflow here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for arazzo workflows

4 MCP tools reach this
  • find_arazzoBrowse and filter every workflow in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This workflow
curl "https://apis.io/api/v1/arazzo/workday-wql-discover-and-query-workflow"
All arazzo workflows
curl "https://apis.io/api/v1/arazzo?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.