Workday

The Workday Node connects your workflow to Workday, a popular platform for HR, finance, and planning data. This node allows you to run queries against your Workday data using Workday Query Language (WQL), which is similar to SQL but tailored for Workday’s data model.


What is it used for?

  • HR Data Retrieval: Get lists of employees, their statuses, contact info, and more.

  • Finance Data: Query cost centers, organizations, and financial structures.

  • Planning & Operations: Retrieve positions, organizational hierarchies, and other planning data.

  • Custom Reports: Build custom queries to extract exactly the data you need from Workday


Establish a Connection to Workday

To use this node, you must first establish a connection to your Workday account.

1. Obtain Workday API Credentials

To connect to Workday, you’ll need:

  • Workday REST API Endpoint (e.g., https://<your-tenant>.workday.com/ccx/api/v1/)

  • Client ID and Client Secret (for OAuth 2.0 authentication)

  • Workday Username and Password (if using basic authentication, but OAuth is recommended)

  • API Scopes/Permissions (ensure your integration system user has the right permissions for the data you want to access)

2. Register an Integration System User (ISU) in Workday

  • In Workday, create an Integration System User (ISU) with the necessary security group assignments.

  • Assign the ISU to a security group with access to the relevant Workday APIs and data domains.

  • In Workday, register an OAuth 2.0 client for your integration.

  • Note the Client ID and Client Secret.

  • Set the allowed scopes (e.g., WorkdayWebServices, WorkdayREST).

4. Get the API Endpoint

  • The base URL for the Workday REST API is typically:

    https://<your-tenant>.workday.com/ccx/api/v1/
  • Replace <your-tenant> with your Workday tenant name.

5. Authenticate and Obtain an Access Token

  • Use the OAuth 2.0 client credentials to request an access token.

  • Example token request (using curl):

    curl -X POST \
      -u "<client_id>:<client_secret>" \
      -d "grant_type=client_credentials" \
      "https://<your-tenant>.workday.com/ccx/oauth2/<client_id>/token"
  • The response will include an access_token to use in API requests.

6. Configure the Connection in Stack AI

  • In your Stack AI workflow, when adding a Workday action node, you’ll need to provide the connection details.

  • If Stack AI supports custom connections for Workday, you would enter:

    • The API endpoint

    • The OAuth 2.0 client ID and secret

    • The access token (or the credentials to obtain one)

  • If you have a connection ID for Workday, you can add it to the action_configurations of your Workday node:

    "action_configurations": {
      "connection_id": "<your-workday-connection-id>"
    }
  • (You do not currently have a Workday connection ID listed. You may need to create one in your Stack AI integrations dashboard.)

7. Test the Connection

  • Use a simple WQL query (e.g., SELECT workday_id FROM workers LIMIT 1) to verify that the connection works and returns data.

Official documentation: Workday REST API Guide


Available Actions

WQL Query

Inputs

  • wql_query (required): The Workday Query Language (WQL) query you want to run.

    • Example:

      • SELECT workday_id, first_name, last_name FROM workers WHERE worker_status = 'Active'

      • SELECT organization_name, organization_code FROM organizations

      • SELECT position_title, worker_id FROM positions WHERE filled = true

      • SELECT cost_center_name, cost_center_code FROM cost_centers

    • Note: WQL is similar to SQL, but you should refer to Workday’s documentation for exact syntax.

  • limit (optional, default 100): The maximum number of results to return.

Outputs

  • query: The WQL query that was executed.

  • results: An array of result objects, each representing a row from your query.

  • total_results: The total number of results returned.


Example Use Cases

  • Get all active employees: SELECT workday_id, first_name, last_name, email_address FROM workers WHERE worker_status = 'Active'

  • List all cost centers: SELECT cost_center_name, cost_center_code FROM cost_centers

  • Find filled positions: SELECT position_title, worker_id FROM positions WHERE filled = true


How to use in your workflow

  1. Add the Workday node.

  2. Enter your WQL query and (optionally) a result limit.

  3. Connect the output to a Template, Output, or LLM node for further processing or display.


Summary Table

Field
Description

wql_query

The WQL query to run (required)

limit

Max results to return (optional, default: 100)

query

The query that was executed

results

Array of result objects

total_results

Total number of results returned

Last updated

Was this helpful?