Unwrapped

Legacy SaaS dossier · workday

Workday

Workday

CategoryHRIS / HCM1,200-employee HCM rollout (license + SI partner)Site ↗

An employee table, payroll exports, and PTO requests, wrapped in a six-figure implementation and a UI even HR admins refuse to defend.

01 · Data

Data the SaaS sits on

Payroll provider
Payroll providerAPI
Okta SSO
Okta SSOYours
Slack (PTO bot)
Slack (PTO bot)Yours
People table
People tableYours

Internal Build Score

0.57

Feasibility of a useful internal substitute for the actually-used 20% of this SaaS, built with Claude and your own data layer.

IBS = 0.25·U + 0.25·C + 0.20·D + 0.15·I + 0.15·Mthis record · 57%
  • U

    User adoption gap

    weight 0.250.78

    How much licensed surface area sits idle.

  • C

    Core simplicity

    weight 0.250.65

    How small the actually-used 20% is when re-implemented honestly.

  • D

    Data portability

    weight 0.200.30

    How clean the exit is, exports, formats, audit lock.

  • I

    Integration burden (inverse)

    weight 0.150.55

    How few external systems must keep working through the SaaS.

  • M

    Moat erosion

    weight 0.150.50

    How much the original differentiator has been commoditised by LLMs + cheap infra.

Editorial heuristic. Not investment advice, not a procurement recommendation.

03 · Feature usage

Commonly used vs. rarely touched

Commonly used

05

  • Employee directory with managers + cost centres
  • PTO request + approval workflow
  • Payroll provider integration / export
  • Performance review cycles
  • Headcount + org chart reporting

Rarely touched

08

  • Business process framework, every form is its own BPMN graph
  • Workday Studio + integrations (XSLT + EIBs)
  • Adaptive Planning bolt-on sold as a separate product
  • Calculated fields language nobody outside the partner pool reads
  • Tenant-locked test environments refreshed on Workday's schedule
  • 'Drive' / 'Help' / 'Journeys' modules layered over time
  • Mandatory R1/R2 yearly upgrade windows
  • $400/hr Workday-certified consultant gating every change

Internal build

Build it yourself

01 · Stack & flow

Postgres
Postgres
Rails
Rails
Slack
Slack
Gusto / Deel
Gusto / Deel
Claude API
Claude API

Internal build map

Data in

People table
Payroll provider
Slack PTO requests

Agent layer

Review synthesiser
PTO classifier

Logic

route to manager
monthly payroll export
append audit log
HR-flag intake

Outputs

Org chart view
PTO decision
Payroll file
Build time
10 weeks
Run cost
$4/seat·mo
vs. SaaS
$750K all-in

Build outline

  1. Source-of-truth people schema in Postgres
  2. Slack bot for PTO request + manager approval
  3. Payroll provider SFTP export job
  4. Quarterly review form + Claude summariser
  5. Read replicas + audit log for SOC 2 evidence

02 · Claude prompt

First, map what you actually use (optional)
Step 1 · usage audit prompt

// Workday usage audit, scope the rebuild Input: the configured business processes with run counts, the report catalog with last-run dates, the integration (EIB / Studio) list, and active module SKUs. ## Do 1. Keep business processes that actually run monthly; flag the rest. 2. Keep reports run in the last 90 days; the catalog tail is dead. 3. Separate integrations feeding payroll / benefits (regulated, keep the provider) from Workday-internal ones. ## Output JSON: { keep_processes[], keep_reports[], regulated_integrations[], drop[] }.

Step 2 · rebuild the core

// Perf review synthesiser, internal HR sandbox You receive (a) one employee, (b) the reviewer narratives written during the current cycle (manager + peers + self), and (c) the role's stated ladder expectations for the next level. ## What you must do 1. Produce a one-page synthesis with three sections: - Strengths, bullets quoting the supporting reviewer. - Growth areas, bullets quoting the supporting reviewer. - Promotion read, "ready / not yet / nope", one sentence of reasoning. 2. Tag any flags that need HR review (compensation grievances, legal risk, harassment language) in `hr_flags[]`, do not paraphrase. ## What you do not do - Do not invent quotes; every bullet is grounded in submitted text. - Do not assign a numeric score. - Do not name peer reviewers in the synthesis, keep narratives attributable only to "peer". ## Output JSON: { strengths[], growth_areas[], promotion_read, hr_flags[] }.

03 · Result

Synthesise cycle for Dana K. (Senior PM, L5)
cycle:2025-Q3#dana-k

Strengths: 4 · Growth areas: 2 · Promotion read: ready · hr_flags: none