> ## Documentation Index
> Fetch the complete documentation index at: https://docs.parable.work/llms.txt
> Use this file to discover all available pages before exploring further.

# Workday HRIS RaaS

> Extract employee and organization data from Workday Report-as-a-Service (RaaS) custom reports using a pre-encoded integration token

Extract employee and organization data from Workday Report-as-a-Service (RaaS) custom reports using a pre-encoded integration token.

<Tabs>
  <Tab title="Overview">
    The **Workday HRIS RaaS** Provider ingests a single Workday custom report (Report-as-a-Service). Use this when your organization already publishes employee or org data via a dedicated RaaS URL rather than the REST Staffing API.

    > **Warning:** This Plugin does **not** call the Workday REST Staffing, Payroll, or Absence APIs. For those, use the [**Workday Provider Plugin**](/plugins/provider-plugins/workday).

    ## Data streams

    This Provider Plugin defines 1 data stream.

    | Stream          | Description                                                                                                                                                      | Sync |
    | --------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---- |
    | `custom_report` | RaaS (Report as a Service) custom report. Uses Basic auth with a pre-encoded token. The full report URL is provided via customReportUrl in the ingestion config. | full |

    ## Row identity

    Workday RaaS rows carry no identifier of their own, and report columns are defined by your report. Parable therefore keys each row on a synthetic `_synthetic_primary_key` column computed at ingestion time:

    * By default the key is a SHA-256 hash of **every column** in the row. Any change to a row's values gives it a new identity, so the previous version is retired by absence on the next run.
    * Set **Report key columns** to the columns that uniquely identify a row (for example `Employee_ID`) to keep a stable identity across runs while the other columns change.
  </Tab>

  <Tab title="Setup Guide">
    ### Workday HRIS RaaS

    #### What You'll Need

    | Credential              | What it is                                                                                                                  |
    | ----------------------- | --------------------------------------------------------------------------------------------------------------------------- |
    | **Custom Report Token** | Pre-encoded Basic auth token for the RaaS report (from Workday)                                                             |
    | **Tenant Name**         | Workday tenant identifier                                                                                                   |
    | **Custom Report URL**   | Full HTTPS URL to the RaaS report with `format=json`                                                                        |
    | **Report key columns**  | *(Optional)* Report columns that together uniquely identify a row, such as `Employee_ID`. Leave empty to hash every column. |
    | **Base URL**            | *(Optional)* Workday services host override (e.g. `https://services1.wd501.myworkday.com`)                                  |

    > **Info:** **Setup access in Workday.** These steps require **Administrator**, or a colleague with equivalent permissions who can create credentials for you.
    >
    > If that is not you, ask your Workday administrator.

    * A published RaaS custom report with JSON output enabled
    * Integration token or ISU credentials encoded for Basic auth
    * Report URL copied from Workday (includes owner and report name)

    #### Step 1: Copy the custom report URL

    In Workday, open your custom report and copy the **Report URL** for JSON output. The URL typically looks like:

    ```
    https://services1.wd501.myworkday.com/ccx/service/customreport2/TENANT/owner/Report_Name?format=json
    ```

    #### Step 2: Obtain the integration token

    Workday provides a pre-encoded Basic auth token for the integration system user, or base64-encoded `username:password` for the report ISU. Store this as the **Custom Report Token**.

    #### Step 3: Enter values in Parable

    1. Select **Workday HRIS RaaS** in the Provider catalog.
    2. Enter **Tenant Name**, **Custom Report URL**, and **Custom Report Token**.
    3. Optionally set **Report key columns** to the report's unique key (see *Row identity* in the Overview tab).
    4. Optionally set **Base URL** if your tenant uses a non-default services host.
    5. Click **Save & test connection**.
  </Tab>

  <Tab title="Permissions">
    <AccordionGroup>
      <Accordion id="provider-permission-tap-workday-raas-custom-report-d674a67b03fd" title="Custom Report" icon="diagram-project" iconType="sharp-duotone-solid">
        Developer identifier: `custom_report`

        **Custom Report.** Rows and columns returned by a configured Workday Report-as-a-Service report.

        * **Enables:** Reconcile only the rows and columns selected by the configured Workday report; interpret each dynamic column according to that report's owner-defined contract.
        * **Scope:** Reads the records selected by Workday HRIS RaaS's `{customReportUrl}` operation as a snapshot stream using full synchronization. The report contains only columns and rows exposed by the configured Workday RaaS report and its integration user. The stream does not include records the credential, parent traversal, configured filters, or provider API omits. A later complete read can treat a previously seen record that is absent as removed.

        Provider-defined fields may also be returned for this data stream.

        <AccordionGroup>
          <Accordion id="provider-permission-field-workday-raas-custom-report-id-98b9d3234088" title="ID" icon="diagram-project" iconType="sharp-duotone-solid">
            Developer identifier: `custom_report.id`

            **ID.** Report row identifier. It provides the reference needed to connect the custom report to the corresponding provider object.

            * **Enables:** Match repeated custom report entries on ID in `custom_report.id`; collapse only entries that share this declared transform key.
            * **Interpretation:** Workday HRIS RaaS reports ID as an identifier in its custom report namespace; it is not a universal identity outside Workday HRIS RaaS. The connector explicitly marks this field as a transform deduplication key.
          </Accordion>
        </AccordionGroup>
      </Accordion>
    </AccordionGroup>
  </Tab>

  <Tab title="Troubleshooting">
    > **Success:** **Success!** If you received a `200 OK` response with valid data, your credentials are configured correctly. You can now configure this Provider in Parable.

    | Error                      | Meaning                                                                  | Solution                                                                                            |
    | -------------------------- | ------------------------------------------------------------------------ | --------------------------------------------------------------------------------------------------- |
    | `401 Unauthorized`         | Invalid or expired token                                                 | Regenerate the ISU password or integration token                                                    |
    | `404 Not Found`            | Wrong report URL                                                         | Verify owner, report name, and tenant in the URL                                                    |
    | Empty `Report_Entry`       | Report returned no rows                                                  | Confirm report criteria and security group access                                                   |
    | Run fails with `IN-CN-009` | **Report key columns** names a column the report does not emit           | Match the column names to the report's JSON keys exactly, or clear the setting to hash every column |
    | Run fails with `IN-CN-008` | **Report key columns** is not a list of distinct, non-blank column names | Enter one column name per entry; leave the setting empty to hash every column                       |

    **[Workday Provider Plugin](/plugins/provider-plugins/workday)** — OAuth-based Staffing, Payroll, and Absence APIs
  </Tab>
</Tabs>
