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.

Run with Naftiko WorkdayReportingAPI

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

workday-reporting-capability.yaml Raw ↑
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