Knowledge BaseConnectorsWorkday RaaS Configuration
ImplementerUpdated 2026-04-12

Workday RaaS Configuration

Configure Report-as-a-Service reports in Workday for worker, position, and compensation data extraction.

Overview

Report-as-a-Service (RaaS) is the primary extraction mechanism for Workday HCM data. RaaS exposes custom Workday reports as REST endpoints, returning JSON (or CSV/XML) results that VersionForge consumes. You create a custom report in Workday, share it with your Integration System User, and VersionForge calls the report URL with optional filter parameters.

Which Reports to Expose

Most VersionForge implementations use a single comprehensive worker report that combines data from several Workday business objects. At minimum, you need these data points for headcount and compensation planning:

| Data Category | Key Fields | Workday Data Source | |---|---|---| | Worker identity | Employee ID, name, hire date, termination date, worker type | Worker business object | | Position | Position ID, job profile, job family, management level | Position business object | | Compensation | Base pay, total compensation, pay rate type, currency | Compensation Plan business object | | Organization | Supervisory org, cost center, company, location | Organization Assignment |

A single "All Workers" report with columns spanning these categories is easier to maintain than four separate reports. VersionForge handles the field mapping and dimensional splitting downstream.

Creating the RaaS Report

  1. Create a Custom Report

    In Workday, search for Create Custom Report. Choose report type Advanced, and set the data source to All Active and Terminated Workers. This ensures you capture the full workforce population, including recent terminations needed for attrition analysis.

    Name the report descriptively -- for example, "VersionForge Worker Extract".

  2. Add Report Columns

    Add columns for each field your planning model requires. Recommended columns:

    • Employee_ID (Worker reference)
    • Legal_Name_First_Name, Legal_Name_Last_Name
    • Hire_Date, Termination_Date
    • Worker_Type (Employee vs Contingent)
    • Position_ID, Job_Profile, Job_Family_Group, Management_Level
    • Supervisory_Organization (used for chunked extraction)
    • Cost_Center_ID, Company, Location
    • Base_Pay, Total_Compensation, Pay_Rate_Type, Compensation_Currency
  3. Add a Supervisory Organization Prompt

    Add a report prompt (filter) for Supervisory Organization. Make it optional. VersionForge passes this parameter during chunked extraction to request workers one org at a time. Without this prompt, the report returns all workers in a single response, which can time out for large tenants.

  4. Share the Report with Your ISU

    Under the report's Share settings, grant access to the Integration System Security Group you created during connector setup. The ISU must be able to both view the report definition and execute it via RaaS.

  5. Enable RaaS Delivery

    On the Advanced tab of the report, check Enable As Web Service. This generates the RaaS URL. The URL follows this pattern:

    https://{tenantUrl}/ccx/service/customreport2/{tenant}/{isuUsername}/{reportName}?format=json
    

    Copy this URL -- you will paste it into the VersionForge sync profile as raasReportUrl.

Output Format Settings

Configure the report to output JSON. VersionForge parses the JSON response and maps each row to a RawRecord with the employee ID as the sourceRecordId. The JSON response structure looks like:

{
  "rows": [
    {
      "employee_id": "100234",
      "legal_name_first_name": "Jane",
      "legal_name_last_name": "Doe",
      "supervisory_organization": "Finance - US",
      "base_pay": 120000,
      "compensation_currency": "USD"
    }
  ]
}

Incremental vs Full Extraction

Full extraction pulls all workers from the report. This is the default for initial loads and is recommended for monthly syncs where you want a complete workforce snapshot.

Incremental extraction uses the since filter on the sync profile to only extract workers whose records changed after a given timestamp. This is faster for daily or weekly syncs in large tenants, but requires that your RaaS report includes a Last_Modified column and that you add a corresponding date prompt.

Incremental extraction can miss workers who were transferred between supervisory orgs if the transfer does not update the worker's Last_Modified timestamp. For headcount accuracy, run a full extraction at least once per month.

Testing Your Report

Before configuring the sync profile in VersionForge, test the RaaS URL directly:

curl -H "Authorization: Bearer {access_token}" \
  "https://{tenantUrl}/ccx/service/customreport2/{tenant}/{isu}/{report}?format=json&supervisory_organization=Finance"

You should receive a JSON response with the rows array populated. If you get a 403, verify the ISU's security group has access to the report and the "Reports: Deliver Reports" domain permission.

Built by Vantage Advisory

VersionForge is built by the team at Vantage Advisory Group — consultants who have spent years implementing Workday, NetSuite, Stripe, Salesforce, Adaptive, and Pigment integrations for finance, RevOps, and workforce-planning teams. We built the product we kept wishing existed.

See It Running on Your Own Data in 30 Minutes

Book a walkthrough with the founding team. Bring your messiest data pipeline — GL close, MRR reconciliation, or headcount plan. We'll show you how VersionForge handles it.