What's new ⬇ Download Reportworq
⬇ Guide PDF

Connect Workday#

Reportworq reaches Workday itself (Financial Management or HCM) through the CData Workday driver. This is a different connector from Workday Adaptive Planning, which is the planning product on the Adaptive Planning API and refreshes OfficeConnect Excel reports; if you want that connector instead, see Connect Workday Adaptive Planning.

The Workday driver's Connection Type property selects which Workday surface it exposes as tables: WQL, Reports (Reports-as-a-Service, or RaaS), REST, or SOAP. This page covers Reports mode, the usual choice for financial and HCM reporting, and the setup step that trips up most first attempts: Custom Report URL must point at a catalog report you build in Workday, not at the data report you actually want.

How it works#

In Reports mode the driver does not read your target report directly. Instead:

  1. You build a small catalog report in Workday, an Advanced report over the Custom Report business object, that lists the web-service-enabled custom reports available to the integration user.
  2. Custom Report URL on the Reportworq connection points at that catalog report's own web-service URL.
  3. At connection time, the CData driver calls the catalog report to discover which reports it lists, and exposes each listed report as its own table.

That is why pointing Custom Report URL at the data report you want (the natural first guess) fails with "The CustomReportURL report does not list any valid RaaS reports." The URL is not the data; it is the catalog that tells the driver where the data reports are.

What you'll need#

Set it up#

1. Build the catalog report in Workday#

In Workday, create a new Custom Report:

  1. Report type: Advanced.
  2. Primary business object: Custom Report.
  3. Add these four columns, each with an empty Column XML Alias (leave the alias field blank on every one):
    • Report Name
    • Web Service Namespace
    • Report Owner
    • Brief Description
  4. On the Filter tab, filter to reports that are actually web-service-enabled: Web Service Namespace is not blank. Optionally add Current User as well, so the report only lists reports the requesting user owns.
  5. On the Advanced tab: check Enable As Web Service, and leave Optimized for Performance unchecked; Optimized for Performance suppresses the columns the driver needs to discover reports and breaks the catalog.
  6. Share the catalog report with the Reportworq integration user. That user must also be able to run the underlying data source the catalog report is built on, not just view the report definition; a user who can see the catalog but cannot run its data source still gets an empty or failing catalog.

2. Get the catalog report's web-service URL#

  1. Run the catalog report, or open it, and choose the related actions ("...") menu on the report.
  2. Go to Web Services > View URLs.
  3. Copy the Workday XML URL. This is the URL Reportworq needs, not the HTML, PDF, or other format links on the same page.

3. Enable each data report as a web service#

Each report you actually want to read as a table must itself be enabled as a web service (its own Advanced tab, Enable As Web Service checked) and shared with the integration user, the same as the catalog report. The catalog report only lists reports; Workday still enforces access and web-service exposure per report.

4. Add the connection in Reportworq#

  1. Sign in to Reportworq as an administrator and go to Settings > Integrations. Datasource connectors live under the DATASOURCES heading.
  2. Select Add integration, find Workday in the catalog, and add it. The connection editor opens.
  3. Select Enable datasource connection and give the connection a Datasource Name. This name is how parameters and formulas refer to the datasource, so it must be unique across the instance and is awkward to change later.
  4. Enter Tenant and Base URL for your Workday tenant.
  5. Set Connection Type to Reports.
  6. Set Custom Report URL to the catalog report's Workday XML URL from step 2 (the catalog report, not the data report).
  7. Choose an Auth Scheme (OAuth or Basic) and enter the integration user's credentials.
  8. Select Test connection. On success, each report the catalog lists appears as its own table.
  9. Select Save.

Query the data#

Once the connection tests, each report the catalog lists is available as a table in table or SQL mode, exactly as for the other CData connectors, see Query the source in a data model. If a report you expect is missing, confirm it is individually web-service-enabled and shared with the integration user (step 3); the catalog only lists what it can see.

Bring a WQL query in as a table#

Bring the result of a Workday Query Language (WQL) query in as a table you can use in any data model, for example a headcount-by-cost-center query or a list of open journal lines. You do not have to build and web-service-enable a custom report in Workday first: paste the query, and the result becomes a table on the connection that refreshes from Workday on every job run. Reportworq calls this an Import, and the action on a Workday connection is Import WQL report.

The connection's Connection Type must be WQL. Import WQL report is offered only while Connection Type is WQL, which is the driver's default when the property is left empty. On a connection set to Reports, REST, or SOAP, including the Reports mode setup described above, the action does not appear. To use both, add a second Workday connection with Connection Type set to WQL.

Only a system administrator can run an Import. For everyone else the button is shown but disabled.

  1. Get a starting query. In Workday, run the Convert Report to WQL task against the report you want; it produces WQL you can paste in and adjust.
  2. Open a data model that reads from the WQL-mode Workday connection, and open a view on its Design tab.
  3. In the toolbar above the canvas, select Import WQL report.
  4. Enter a Table name. It must not match a table the connection already has.
  5. Paste the query into WQL query.
  6. If the query takes parameters, list them in Parameters as a comma-separated list of name:Type. The types are Instance, Text, Boolean, Time, Date, DateTimeZone, and Numeric.
  7. Select Import. When it succeeds, select Close: the new table becomes the view's starting table on the canvas.

You can also run Import WQL report from the connection's own page (Settings > Integrations > the Workday connection), in its Imported objects section, which is also where you regenerate or remove an imported table. For how imported tables behave, and the read-only Tools a Workday connection carries, see Bring reports and saved searches in as tables.

If you later change the connection's Connection Type away from WQL, tables imported this way show as Not available in the current mode and can only be removed.

Behavior and limits#

Troubleshooting#

Symptom Likely cause What to do
METADATA The CustomReportURL report does not list any valid RaaS reports. Custom Report URL points at the data report you want, not a catalog report Build the catalog report described above (Advanced report on Custom Report, the four required columns with empty aliases, filtered to Web Service Namespace is not blank, Enable As Web Service checked, Optimized for Performance unchecked) and point Custom Report URL at its Workday XML URL instead.
The catalog report returns no reports, or fewer than expected The integration user cannot run the underlying data source of the catalog report, or a report you want is not itself web-service-enabled and shared Confirm the integration user can run the catalog report's data source, and that each target report has Enable As Web Service checked and is shared with the integration user.
A report you expect is missing from the tables the connection exposes That report is not individually web-service-enabled, or not shared with the integration user, or is filtered out by the catalog report's own filter Enable and share the report, and check the catalog report's filter (for example, a Current User filter hides reports owned by someone else).
The connection reaches Workday but returns only HR or only financial data The integration user's Workday security is scoped to one domain Widen the integration user's security in Workday; the driver returns only what the authenticating user is entitled to.
You added a connector that signs in to Workday but the data you expect (Adaptive plans) is not there You added Workday instead of Workday Adaptive Planning Add the Workday Adaptive Planning connector; see Connect Workday Adaptive Planning.

Feedback on this page

Comments, questions, requests, or something missing or unclear? Email us - the page you are on is filled in for you.

Email feedback on this page

Or write to support@reportworq.com directly.