Workday MCP server

Prebuilt SnapLogic agentic-tool pipelines that let an LLM read from and act on Workday, callable as MCP tools via Pipeline Execute. Published in the SnapLogic pattern catalog.

Overview

This pack gives an agent access to a Workday tenant through WQL for ad-hoc reporting and the Workday SOAP Web Services layer for reads, writes, and business-process cancellation. The agent names the service and operation at call time, so four tools cover the full breadth of Workday objects; writes include a validate-only mode to dry-run a payload before committing.

For setup instructions, see SnapLogic MCP Server quickstart.

Example Prompts

  • Cancel the time off request I just submitted for employee 21001
  • Withdraw business process event EVT-001234 in Absence_Management
  • Undo that vacation entry — cancel the time off event
  • Cancel the pending process using the event reference from the last write
  • List the active workers in the London office with their work email addresses
  • Run this WQL for me: SELECT worker, fullName, primaryWorkEmail FROM allActiveWorkers LIMIT 25
  • How many active workers do we have per cost center?
  • Give me the first 50 active workers, then the next 50
  • Pull every active worker whose job family is Engineering
  • Read the Workers object from the Human_Resources service and show me the first 10

Tools

Tool Name Functions
WorkdayCancelProcess Cancel an in-flight Workday business process by event reference.
WorkdayCancelProcessChild Workday Cancel Process Child
WorkdayQuery Run a WQL query against the Workday tenant and return matching rows.
WorkdayReadService Read any Workday Web Service object, e.g. Human_Resources / Workers.
WorkdayWriteService Submit a write operation to any Workday Web Service, with an optional validate-only dry run.
WorkdayWriteServiceChild Workday Write Service Child

Set up the MCP Server tools

  1. Download workday_tools.zip.
  2. In SnapLogic Designer, open the target project space (or create one), then choose Import Project / Import Pipelines and select the downloaded workday_tools.zip. Designer unpacks each pipeline into the project.
  3. Attach the required account to the connectivity snaps (see Connection Setup).
  4. Expose the project as an MCP server — each pipeline becomes a tool named after its label. New to this? Start with the MCP quickstart, then use the MCP Server Pipeline Builder to generate the server from the imported pipelines.

Configure account

Attach a Workday account to the Workday snaps in Designer after import.

These pipelines ship without credentials by design — attach a valid account in Designer before the tools will execute.

See the SnapLogic account documentation for this connector: Workday Snap Pack.

Important: These pipelines ship without credentials by design — attach a valid account in Designer before the tools will execute. Credentials live in the SnapLogic account store, never in the pipeline JSON.

WorkdayCancelProcess

Cancels an in-flight Workday business process by naming the service and cancel operation, such as Absence_Management / Cancel_Time_Off. Confirm the event ID with the user before calling, as there is no validate-only mode and the cancel is immediate.

Parameter Type Default Description
service* string

Workday Web Service owning the business process, e.g. Absence_Management.

object* string

The cancel operation within that service, e.g. Cancel_Time_Off.

* Required parameter.

Try asking:

  • Cancel the time off request I just submitted for employee 21001
  • Withdraw business process event EVT-001234 in Absence_Management
  • Undo that vacation entry — cancel the time off event
  • Cancel the pending process using the event reference from the last write

WorkdayCancelProcessChild

Lets the LLM workday cancel process child, exposed as an MCP tool callable via Pipeline Execute.

Parameter Type Default Description
service string Absence_Management

object string Cancel_Time_Off

WorkdayQuery

Runs a WQL query against the Workday tenant and returns the matching rows. Use this for analytical and exploratory questions such as who, how many, or which workers match a condition; for the full structured record of a specific Workday object, use WorkdayReadService.

Parameter Type Default Description
wql_query* string

The WQL statement to execute, e.g. SELECT worker, fullName, primaryWorkEmail FROM allActiveWorkers.

limit string 100

Maximum number of rows to return (default 100).

offset string 0

Row offset into the result set, for paging through large queries (default 0).

* Required parameter.

Try asking:

  • List the active workers in the London office with their work email addresses
  • Run this WQL for me: SELECT worker, fullName, primaryWorkEmail FROM allActiveWorkers LIMIT 25
  • How many active workers do we have per cost center?
  • Give me the first 50 active workers, then the next 50
  • Pull every active worker whose job family is Engineering

WorkdayReadService

Reads any Workday Web Service object by naming the service and operation, such as Human_Resources / Workers. Use this when you need the full structured record of a Workday business object rather than a WQL row.

Parameter Type Default Description
service* string

Workday Web Service to read from, e.g. Human_Resources, Staffing, Absence_Management.

object* string

The object or read operation within that service, e.g. Workers, Organizations.

page_size string 100

Number of records in the returned page (default 100).

* Required parameter.

Try asking:

  • Read the Workers object from the Human_Resources service and show me the first 10
  • Pull organizations out of Workday so I can see the hierarchy
  • Fetch job profiles from the Staffing service
  • Get me a page of 25 workers with their full Workday detail, not just a WQL row
  • What does Absence_Management return for time off plans?

WorkdayWriteService

Submits a write operation to a Workday Web Service, such as Enter_Time_Off or Hire_Employee, by naming the service and operation. Use validate_only to dry-run the payload against Workday validation before committing.

Parameter Type Default Description
service* string

Workday Web Service to write to, e.g. Absence_Management, Staffing.

object* string

The write operation within that service, e.g. Enter_Time_Off.

validate_only string false

When true, Workday validates the payload without committing it (default false).

* Required parameter.

Try asking:

  • Book two days of vacation for employee 21001 starting 1 May
  • Validate this time-off request against Workday first, don't actually submit it
  • Enter a time off entry in Absence_Management for the worker we just looked up
  • Submit a job change for this employee through the Staffing service
  • Dry-run the hire payload and tell me if Workday rejects anything

WorkdayWriteServiceChild

Lets the LLM workday write service child, exposed as an MCP tool callable via Pipeline Execute.

Parameter Type Default Description
service string Absence_Management

object string Enter_Time_Off

validate_only string false