Workday
Query Workday via WQL (Workday Query Language) for workforce domain data: headcount, job profiles, compensation structure, leave balances...
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 ▾
- system
Ingestion ▾
Tools exposed (2) ▾
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.
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. |