Workday Reporting · Capability
Workday Reporting Workday Report-as-a-Service (RaaS) API
REST API for accessing Workday custom and standard reports as RESTful web services. Enables external systems to consume report data in JSON, CSV, or XML formats. Reports must be configured as Advanced type reports with web service enabled in Workday before they can be accessed through this API. Supports prompt-based filtering through query parameters matching report prompt names configured in the report definition.
What You Can Do
GET
Getreport
— Workday Reporting Get report data
/{reportOwner}/{reportName}
GET
Getreportmetadata
— Workday Reporting Get report field metadata
/{reportOwner}/{reportName}/fields
MCP Tools
getreport
Workday Reporting Get report data
read-only
idempotent
getreportmetadata
Workday Reporting Get report field metadata
read-only
idempotent
Capability Spec
naftiko: 1.0.0-alpha2
info:
label: Workday Reporting Workday Report-as-a-Service (RaaS) API
description: REST API for accessing Workday custom and standard reports as RESTful web services. Enables external systems
to consume report data in JSON, CSV, or XML formats. Reports must be configured as Advanced type reports with web service
enabled in Workday before they can be accessed through this API. Supports prompt-based filtering through query parameters
matching report prompt names configured in the report definition.
tags:
- Workday
- Reporting
- API
created: '2026-05-06'
modified: '2026-05-06'
capability:
consumes:
- type: http
namespace: workday-reporting
baseUri: https://wd2-impl-services1.workday.com/ccx/service/customreport2/mycompany
description: Workday Reporting Workday Report-as-a-Service (RaaS) API HTTP API.
authentication:
type: basic
username: '{{WORKDAY_REPORTING_USERNAME}}'
password: '{{WORKDAY_REPORTING_PASSWORD}}'
resources:
- name: reportowner-reportname
path: /{reportOwner}/{reportName}
operations:
- name: getreport
method: GET
description: Workday Reporting Get report data
inputParameters:
- name: reportOwner
in: path
type: string
required: true
description: Username of the report owner in Workday, typically the integration system user (ISU) account that owns
the report
- name: reportName
in: path
type: string
required: true
description: Name of the custom report as defined in Workday. Must match the report name exactly, using underscores
in place of spaces.
- name: format
in: query
type: string
description: Response format for the report data. Determines the Content-Type of the response body.
- name: Employee_ID
in: query
type: string
description: Example prompt parameter for filtering by Employee ID. Actual parameters depend on the prompts configured
in the report definition.
- name: Effective_Date
in: query
type: string
description: Example prompt parameter for filtering by effective date in YYYY-MM-DD format. Actual parameters depend
on the prompts configured in the report definition.
- name: Organization
in: query
type: string
description: Example prompt parameter for filtering by organization WID or reference ID. Actual parameters depend
on the prompts configured in the report definition.
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: reportowner-reportname-fields
path: /{reportOwner}/{reportName}/fields
operations:
- name: getreportmetadata
method: GET
description: Workday Reporting Get report field metadata
inputParameters:
- name: reportOwner
in: path
type: string
required: true
description: Username of the report owner
- name: reportName
in: path
type: string
required: true
description: Name of the custom report
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
exposes:
- type: rest
port: 8080
namespace: workday-reporting-rest
description: REST adapter for Workday Reporting Workday Report-as-a-Service (RaaS) API.
resources:
- path: /{reportOwner}/{reportName}
name: getreport
operations:
- method: GET
name: getreport
description: Workday Reporting Get report data
call: workday-reporting.getreport
with:
reportOwner: rest.reportOwner
reportName: rest.reportName
outputParameters:
- type: object
mapping: $.
- path: /{reportOwner}/{reportName}/fields
name: getreportmetadata
operations:
- method: GET
name: getreportmetadata
description: Workday Reporting Get report field metadata
call: workday-reporting.getreportmetadata
with:
reportOwner: rest.reportOwner
reportName: rest.reportName
outputParameters:
- type: object
mapping: $.
- type: mcp
port: 9090
namespace: workday-reporting-mcp
transport: http
description: MCP adapter for Workday Reporting Workday Report-as-a-Service (RaaS) API for AI agent use.
tools:
- name: getreport
description: Workday Reporting Get report data
hints:
readOnly: true
destructive: false
idempotent: true
call: workday-reporting.getreport
with:
reportOwner: tools.reportOwner
reportName: tools.reportName
format: tools.format
Employee_ID: tools.Employee_ID
Effective_Date: tools.Effective_Date
Organization: tools.Organization
inputParameters:
- name: reportOwner
type: string
description: Username of the report owner in Workday, typically the integration system user (ISU) account that owns
the report
required: true
- name: reportName
type: string
description: Name of the custom report as defined in Workday. Must match the report name exactly, using underscores
in place of spaces.
required: true
- name: format
type: string
description: Response format for the report data. Determines the Content-Type of the response body.
- name: Employee_ID
type: string
description: Example prompt parameter for filtering by Employee ID. Actual parameters depend on the prompts configured
in the report definition.
- name: Effective_Date
type: string
description: Example prompt parameter for filtering by effective date in YYYY-MM-DD format. Actual parameters depend
on the prompts configured in the report definition.
- name: Organization
type: string
description: Example prompt parameter for filtering by organization WID or reference ID. Actual parameters depend
on the prompts configured in the report definition.
outputParameters:
- type: object
mapping: $.
- name: getreportmetadata
description: Workday Reporting Get report field metadata
hints:
readOnly: true
destructive: false
idempotent: true
call: workday-reporting.getreportmetadata
with:
reportOwner: tools.reportOwner
reportName: tools.reportName
inputParameters:
- name: reportOwner
type: string
description: Username of the report owner
required: true
- name: reportName
type: string
description: Name of the custom report
required: true
outputParameters:
- type: object
mapping: $.
binds:
- namespace: env
keys:
WORKDAY_REPORTING_USERNAME: WORKDAY_REPORTING_USERNAME
WORKDAY_REPORTING_PASSWORD: WORKDAY_REPORTING_PASSWORD