Section B · Deep dive — secondary

Workday Deep Dive

The HRIS at the center of everything. The vocabulary, the data model, the integration architecture, and why payroll dependencies dictate the design of every agent that touches it.

Why Workday fluency is the bar

The JD names Workday explicitly: "Deep working knowledge of Workday, including job change workflows, worker conversions, EIB data uploads, integration architecture, and payroll dependencies." If you've never administered a Workday tenant, this is your most asymmetric place to study. The interviewers can tell within five minutes whether you can carry a Workday conversation. They are looking for:

  • The right nouns (Position, Job Profile, Supervisory Organization, Business Process, EIB)
  • Familiarity with how a change actually moves through the system
  • Awareness of integration patterns (Studio, Core Connectors, RaaS, web services)
  • Respect for the payroll-calendar constraint that gates everything

This chapter is the survival kit. 14-domain-context has the glossary.

The worker model — the central object

Workday's Worker is the unified identity object. A Worker can be an Employee or a Contingent Worker. Key properties:

  • Worker ID — internal identifier (often W-12345 or similar in different tenants)
  • Employee ID — public-facing identifier; often the one referenced externally
  • Worker Type — Employee, Contingent Worker, etc.
  • Position — the slot they fill
  • Job Profile — what kind of job that position is
  • Supervisory Organization — who they report into (the org node)
  • Manager — derived from supervisory org
  • Location — physical / remote
  • Country — tax / legal jurisdiction
  • FTE — full-time equivalent fraction
  • Hire date, original hire date, continuous service date — distinct fields, all matter
  • Termination date — when relevant
  • Compensation plan — base, bonus, equity, allowances
The "rehire" subtlety

A rehired worker keeps their original Worker ID but gets a new hire-event. Original hire date stays, continuous service date resets (or doesn't, depending on policy). This matters enormously for agent design: a "hire" agent must check rehire status first, or it'll create duplicate workers.

Position vs Job vs Job Profile — the trio interviewers test

This is the most-failed quiz in Workday interviews. Get it cold:

ConceptWhat it isExample
Job ProfileA template describing a kind of job — title, comp grade, pay range, FLSA, family/group. Many workers can share one profile."Senior Software Engineer, P4"
PositionA specific slot in the org chart, tied to a supervisory org, with a position ID. One position is held by zero or one workers at a time."Position #P-7281 — Senior SWE on Wallet team"
JobThe instance — a particular worker filling a particular position with a particular job profile, effective some date."Jane Doe holds position P-7281 as a Senior SWE since 2024-03-01"

The headache: a tenant can be in Position Management, Job Management, or hybrid. Most Workday tenants of any maturity use Position Management. Don't assume — ask in interview ("is the tenant on position management?").

Supervisory organizations

The org chart is built from Supervisory Organizations ("sup orgs"). Each sup org:

  • Has a manager (a Worker)
  • Contains workers (and/or positions)
  • Has a parent sup org (the chain of command)
  • Has its own ID

Reorgs happen by moving sup orgs in the tree, or by moving positions between sup orgs. Both have implications: location may change, allocations may change, business process routing may change.

In agent terms: any "move team" request requires touching sup-org membership for the position, not the worker. A subtle point that signals fluency.

Effective dating — why it changes everything

Workday is fundamentally an effective-dated system. Every record has an effective date. A change to a worker on 2026-07-01 doesn't overwrite the prior record — it creates a new version with that effective date, and the prior version remains queryable.

Consequences for agents:

  • "What is Jane Doe's salary?" is incomplete. The right question is "what is Jane Doe's salary as of [date]?"
  • Future-dated changes exist — a comp change with effective date next month is already in the system, but not yet active.
  • Historical queries (headcount on 2024-12-31) require effective-dated reads, not "current" reads.
  • Retro changes are a thing — and they create the most subtle payroll issues.
The agent trap

An agent asked "what is Jane's manager?" that doesn't pass an effective date will get today's manager. If the question is for an event yesterday, that may be wrong. Always propagate effective dates through tool calls.

Business processes — Workday's workflow engine

A Business Process (BP) in Workday is a configurable workflow: a sequence of steps (some automated, some requiring action) with routing, approvals, and notifications. Hire, Terminate, Job Change, Compensation Change — each is a BP. BPs have:

  • Initiation — who can kick it off
  • Steps — actions, approvals, sub-processes, integrations
  • Routing — which security group / role handles each step
  • Conditions — rules that skip or branch
  • Notifications — what's sent on transitions

For an agent architect, BPs matter because:

  • Your "propose hire" tool actually initiates a Hire BP; it doesn't write the worker directly.
  • Approvals already exist inside Workday BPs — your HITL gate may align with a BP step, not replace it.
  • The audit trail of the BP is what regulators see, not just your agent's log.

Condition rules

Condition rules let a BP step skip, route differently, or fire based on data. Example: "if the new compensation is >10% above the band midpoint, route to VP for approval." Conditions are expressed in Workday's condition-rule syntax against the BP's source data.

Interview-relevant: an agent that proposes a comp change must understand that an aggressive proposal will trip a condition rule and route to a higher approver. Surface that in the HITL preview ("this change will route to VP because it's +12% over band midpoint"). That kind of foresight is senior signal.

Calculated fields

Calculated fields are Workday's way to derive values from existing data — e.g., "tenure in months," "FTE-adjusted base salary," "manager's manager." They are composable, evaluated at report-run time, and live within the tenant's metadata.

You won't be quizzed on exact function names (and you shouldn't pretend to remember them). You should know:

  • What a calc field is and when you'd use one (vs. a Prism transformation, vs. external SQL)
  • That they participate in reports, integrations (Core Connector, RaaS), and BP conditions
  • Performance cost — heavy calc-field chains slow reports

In interview: "For tenure-based logic in an agent, I'd prefer to consume a pre-computed calc field via RaaS rather than re-derive in Python. Single source of truth and the People team can adjust it without code changes."

Job change workflows

"Job Change" is the BP that handles promotions, lateral moves, transfers, reorgs, FTE changes, and comp changes (sometimes a separate BP). It's the most-touched BP after Hire and Terminate. The shape:

  1. Initiator (manager or HRBP) starts the BP for a specific worker
  2. Fields propose: new job profile, new position, new sup org, new location, new FTE, effective date, reason
  3. Routing: manager → HRBP → Comp partner → optional VP (condition rule) → automation hooks → BP completion
  4. Side effects: worker record updated effective-dated, downstream integrations fire (payroll, IT provisioning, equity)

The agent angle: an agent that drafts a job change must produce all the fields, respect the routing implications, and never bypass the BP. The EIB pattern is one way to feed proposed Job Changes in bulk; the web-service / Studio pattern is the other.

Worker conversions

Common conversion scenarios, each with its own headaches:

  • Contingent → Employee — new hire BP variant. Often retains tenure for some purposes (continuous service date), not others (vesting, bonus eligibility).
  • Employee → Contingent — rare, complex, sometimes a "terminate + new contingent" workflow.
  • EOR → Direct Employment — The company has employees in 70+ countries; many start under an EOR (Employer of Record) and convert when the company sets up a local entity. This is a coordinated termination from the EOR, hire into the company's local entity, and pay-history continuity that's manually preserved.
  • Internal Mobility (country change) — tax jurisdiction shifts, equity treatment may change, payroll system may change.
The conversion agent design

A worker-conversion agent rarely commits the conversion. It's the kind of workflow where the agent assembles the data, drafts the EIB, flags the regulatory considerations, and presents a comprehensive package to the HRBP and Payroll for approval. The complexity comes from cross-system data continuity, not from the BP itself.

EIB — Enterprise Interface Builder

EIB is Workday's bulk-data interface. Two flavors:

  • Inbound EIB — upload a spreadsheet (or web-service payload) to mass-update records. Run hires, terminations, comp changes, job changes in batches.
  • Outbound EIB — push data out on a schedule (e.g. nightly worker file to a downstream system).

Inbound EIB shape (you should be able to describe this in interview without notes):

  1. Build an EIB template in the tenant — a spreadsheet shape mapped to a Workday web service.
  2. The template has fixed columns matching the WS's expected fields (e.g. for Hire: applicant ID, hire date, position ID, job profile, sup org, location, comp data, etc.).
  3. Populate the spreadsheet from your source (your agent's proposed-actions queue).
  4. Upload to Workday. EIB runs the underlying BP once per row.
  5. EIB returns a run summary: successes and failures, with per-row error reasons.

Failure modes you should name unprompted:

  • Partial failure — 47 of 50 rows succeed, 3 fail. You must handle this: re-run only the failures with the same idempotency intent, never re-run the whole batch.
  • BP routing during EIB — EIB-initiated BPs still route. Approvals may queue up.
  • Effective-date conflicts — an EIB row for "comp change effective 2026-07-01" against a worker with a future-dated change beyond that date will conflict.
  • Calendar conflicts — running an EIB during payroll cutoff is the cardinal sin.

The agent angle: your "propose Workday change" tools should produce EIB-ready CSV rows, validated against the template shape before human approval. Validation in Python catches errors before they hit Workday.

import pandas as pd
from pydantic import BaseModel
from typing import Literal

class EIBJobChangeRow(BaseModel):
    employee_id: str
    effective_date: str           # YYYY-MM-DD
    new_position_id: str | None
    new_job_profile: str | None
    new_supervisor_id: str | None
    new_location: str | None
    new_fte: float | None
    reason_code: Literal["PROMOTION", "LATERAL", "FTE_CHANGE", "REORG"]
    business_process_comment: str

def build_eib(proposed_rows: list[dict]) -> pd.DataFrame:
    """Validate each row and emit the exact column shape Workday's EIB expects."""
    validated = [EIBJobChangeRow(**r).model_dump() for r in proposed_rows]
    df = pd.DataFrame(validated)
    # Workday's EIB template requires specific column order and headers
    return df[[
        "employee_id", "effective_date", "new_position_id",
        "new_job_profile", "new_supervisor_id", "new_location",
        "new_fte", "reason_code", "business_process_comment",
    ]]

Integration architecture — Studio, Core Connectors, RaaS, web services

Workday's integration toolkit, in plain language:

ToolWhat it isWhen to use
Web services (SOAP / REST)Workday's public APIs. Get_Workers, Hire_Employee, etc.Transactional reads/writes, low-latency, programmatic
RaaS (Reports as a Service)Expose a custom Workday report as a web service endpoint returning JSON/XMLCustom queries that calc-fields can express; consumed by external systems
Core ConnectorsPre-built outbound integrations — Benefits Provider, Compensation, Payroll, etc.Standardized outbound feeds to common downstream systems
EIBBulk file-based (or simple web-service) integration toolMass updates, scheduled extracts, lightweight one-shot integrations
StudioVisual ETL on top of Workday integration framework; transforms, branches, conditionalsComplex outbound integrations that need transformation, multi-step orchestration, error handling
Workday ExtendBuild apps inside Workday using its platformCustom UI inside the tenant; out of scope for most agent work

The agent architect's allocation:

  • RaaS for custom reads (e.g. "all engineering ICs in EMEA hired in last 30 days").
  • Web services (REST) for targeted reads when RaaS feels heavy.
  • EIB for bulk proposed writes (the agent assembles, human approves, EIB runs).
  • Studio usually owned by Integrations team, not the AI architect. Know it exists, don't claim to be a Studio developer unless you are.

Prism & reporting

Workday Prism Analytics is Workday's data lake / warehouse extension. It ingests external data, joins with Workday data, and serves analytics. Useful for People analytics that needs to blend Workday with external sources (Ashby, Qualtrics, Greenhouse).

Listed as a "nice to have." If you have Prism experience, lean in. If not: "I haven't built in Prism specifically; I've done equivalent work in a BigQuery / Snowflake / dbt warehouse. The model is similar — join Workday outbound feeds with external sources, build derived models, expose for reporting."

The payroll dependency constraint — the killer

Every Workday change has potential payroll implications. Payroll runs on a calendar with hard cutoffs. Within a few business days of cutoff, the payroll team locks down changes. Mid-payroll-run, no changes accepted. Post-run-but-pre-funding, changes route into the next cycle.

This dictates everything about agent design:

  • The payroll calendar must be a first-class input to any agent that proposes worker writes. get_payroll_calendar is one of the first tool calls.
  • Default refusal during lock windows — an agent that's asked to commit a comp change during payroll lock should refuse and escalate, not retry, not queue silently.
  • Retro changes increase scrutiny — a change with an effective date in the past triggers retro pay. Always flag retro changes as higher-tier HITL.
  • Cross-country payroll calendars differ — UK payroll cutoff is not US payroll cutoff. Multi-country workforces have multiple lock windows.
The interview-winning sentence

"My default agent behavior near a payroll cutoff is to halt and route to a human, not to try to squeeze the change in. The cost of a late change is paid in payroll exceptions, retro adjustments, and team trust — not in agent throughput."

Interview framings worth memorizing

  • "Workday is effective-dated — every tool call propagates an effective date or it's incomplete."
  • "EIB partial failures need per-row retry with stable idempotency keys. I never re-run the whole batch."
  • "My agent's writes always go through the Hire / Job Change BP, never around it. The BP's audit trail is what regulators and Payroll trust."
  • "Position vs Job vs Job Profile — Position is the slot, Profile is the template, Job is a worker filling a Position with a Profile from a date."
  • "Near a payroll cutoff, the agent's correct behavior is escalate, not commit."
  • "For custom reads I prefer RaaS to raw web services — it stays in Workday's reporting framework, the People team can change the report without my involvement."