Outcome

Workday

Query Workday via WQL (Workday Query Language) for workforce domain data: headcount, job profiles, compensation structure, leave balances...

Workday logo

Workday

Query Workday via WQL (Workday Query Language) for workforce domain data: headcount, job profiles, compensation structure, leave balances...

OAuth2 Streaming + One-shot

Workday is the enterprise system of record for finance and HR. Delphi connects via OAuth2 and supports WQL (Workday Query Language) plus the REST API for scheduled polling. Results land in Kafka for downstream analytics. Sensitive fields are automatically classified confidential and filtered per user scope.

What you can ask Delphi

  • Show me total compensation by department for Q4
  • What's the current headcount vs plan variance by business unit?
  • List all job requisitions in the Pending Approval stage
  • Compare attrition rates across regions for the last 12 months

Technical details

Authentication
Method: OAuth2
Required scopes:
  • system
Ingestion
Mode: Streaming + One-shot
Cadence: On-demand WQL query or scheduled poll
Tools exposed (2)
enterprise/query_workday

Query Workday via WQL (Workday Query Language) for workforce domain data: headcount, job profiles, compensation structure, leave balances, org hierarchy, and open positions. Use for resource planning, org structure analysis, and leave constraint queries. Requires a Workday connector doc on the dashboard with OAuth2 client credentials stored as secretRefs. NEVER stores raw credentials — always use secretRef fields on the connector doc.

upsert_bento_stream_workday_workers

Create or update a recurring Workday worker connector that polls for changed workforce records and streams them to Kafka/Firestore for real-time workforce analytics. Use for continuous headcount monitoring, org change detection, or leave constraint updates. Requires a Workday connector doc with OAuth2 secretRefs on the dashboard.

Inputs

enterprise/query_workday

Name Type Required Description
dashboardId string no Target dashboard ID. Omit to use the current dashboard context.
resource string yes Which Workday resource to query via WQL. "workers" → active workforce with job profiles and org assignments. "organizations" → supervisory org hierarchy. "jobProfiles" → job profile catalog with families and levels. "timeOffBalances" → employee leave balances (use for resource availability/constraints). "positions" → open and filled positions for workforce planning.
workers organizations jobProfiles timeOffBalances positions
filters unknown no WQL filter conditions as {fieldName: value} combined with AND. Key is the WQL field name, value is the filter value (string, number, or boolean). Examples: { active: true }, { supervisoryOrganization: "ORG-001" }, { managementLevel: "Individual Contributor" }
fields string[] no Override which fields to SELECT. Defaults are chosen automatically per resource. Example: ["workerId", "fullName", "jobProfile", "supervisoryOrganization"]
pageToken string no Pagination offset token. Pass the `nextPageToken` from a previous response to fetch the next page.
maxResults number no Maximum records per page. Defaults to 100. Max 1000.

upsert_bento_stream_workday_workers

Name Type Required Description
dashboardId string no Target dashboard ID. Omit to use the current dashboard context.
connectorId string no If provided, updates an existing connector rather than creating a new one.
connectorName string no Display name for this connector in the UI.
description string no Human-readable description shown in the connector UI.
pollingFrequency string no How often to poll Workday for updated worker records. Use "5m" for near-realtime, "15m" for standard, "1h" for low-cost. Workday rate limits apply — avoid polling more than once every 5 minutes.
fields string[] no Worker fields to SELECT. Defaults to the standard workforce planning fields: workerId, fullName, jobProfile, managementLevel, supervisoryOrganization, hireDate, active.
filters unknown no WQL filter conditions as {fieldName: value} to narrow the worker set. Example: { active: "true" } to only stream active workers.
dedupKey string no Bloblang expression to generate a deduplication key per worker record. Default uses workerId. Override if your Workday uses a different primary key.

Built to deliver on better outcomes.

Schedule a demo or contact us to learn more.