Skip to content

[ESS DA GA] Connect Workday Skill - #290

Open
Surendra Goutham (is-goutham) wants to merge 9 commits into
mainfrom
users/gouthams/connect-isv-skill-workday
Open

Surendra Goutham (is-goutham) wants to merge 9 commits into
mainfrom
users/gouthams/connect-isv-skill-workday

Conversation

@is-goutham

@is-goutham Surendra Goutham (is-goutham) commented Sep 17, 2026

Copy link
Copy Markdown
Contributor

Description

Adds  /connect workday  support for ESS DA agents, including architecture-aware routing, Workday extension package installation for HR and IT, Entra and Workday tenant configuration guidance, resumable validation, and honest configuration status reporting.

Also introduces safer per-agent lifecycle handling for existing CEA Workday integrations, including scoped validation, explicit publish approval, and rollback support.

Related issue

  • N/A

Type of change

• Bug fix (non-breaking change which fixes an issue)
✓ New feature (non-breaking change which adds functionality)
• Breaking change (fix or feature that would cause existing functionality to not work as expected)
✓ Documentation update
✓ Refactor / cleanup

Testing

• Focused Connect Workday and FlightCheck tests: 96 passed
• Full test suite: 2,344 passed, 14 skipped
• The remaining 11 installer-related failures are pre-existing and reproducible on  main .

Checklist

✓ My code follows the existing style
✓ I have added/updated tests where applicable
✓ I have updated documentation as needed

Static validation (samples/ only)

Validation
• YAML parse: N/A
• AdaptiveDialog kind: N/A
• XML parse: N/A
• Filename convention (new): N/A
• Folder convention (new, incl. README.md): N/A
• Diff scope (samples/ only): N/A
• Secrets / internal URLs: N/A

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Changes recommended

Lifecycle regression handling, routing, readiness persistence, and Dataverse authorization contain blocking correctness and security issues.

Get a fresh assessment by requesting another Copilot review.

Pull request overview

Adds architecture-aware /connect workday support for ESS Declarative Agents and safer per-agent CEA lifecycle handling.

Changes:

  • Adds DA HR Workday setup, validation, installation, and authorization workflows.
  • Introduces resumable CEA lifecycle state, scoped validation, rollback, and publishing approval.
  • Expands FlightCheck and automated tests for DA packages and active-agent scoping.
File summaries
File Description
tests/setup/test_setup_router.py Tests architecture-aware routing.
tests/scripts/test_install_workday_da_extension.py Tests DA package installation.
tests/scripts/test_checkpoint.py Tests named scoped rollback.
tests/flightcheck/test_cli.py Tests DA scope isolation.
tests/flightcheck/test_cli_single_checkpoint.py Tests config overlays and agent scoping.
tests/flightcheck/checks/test_workday_extension.py Tests active-agent validation.
tests/flightcheck/checks/test_workday_da.py Tests DA package checks.
tests/flightcheck/checks/test_entra_app.py Tests architecture-specific Entra hints.
solutions/ess-maker-skills/src/skills/setup/workday-da/verify-connection.md Defines final runtime validation.
solutions/ess-maker-skills/src/skills/setup/workday-da/tasks.md Defines the DA checklist.
solutions/ess-maker-skills/src/skills/setup/workday-da/SKILL.md Orchestrates DA Workday setup.
solutions/ess-maker-skills/src/skills/setup/workday-da/shared/permission-gate.md Defines shared role gates.
solutions/ess-maker-skills/src/skills/setup/workday-da/shared/connection-fields.md Defines connection-field validation.
solutions/ess-maker-skills/src/skills/setup/workday-da/shared/config-schema.md Documents DA state schema.
solutions/ess-maker-skills/src/skills/setup/workday-da/shared/checklist-updater.md Persists checklist progress.
solutions/ess-maker-skills/src/skills/setup/workday-da/provision-entra-app.md Guides Entra provisioning.
solutions/ess-maker-skills/src/skills/setup/workday-da/install-extension.md Guides DA package installation.
solutions/ess-maker-skills/src/skills/setup/workday-da/configure-tenant.md Guides Workday tenant setup.
solutions/ess-maker-skills/src/skills/setup/workday-da/configure-power-platform.md Guides Power Platform integration.
solutions/ess-maker-skills/src/skills/connect/workday/SKILL.md Starts installed CEA lifecycle.
solutions/ess-maker-skills/src/skills/connect/workday/contract.json Defines Workday lifecycle phases.
solutions/ess-maker-skills/src/skills/connect/workday/actions/wire-user-context-redirect.md Wires and publishes user context.
solutions/ess-maker-skills/src/skills/connect/steps.md Documents architecture routing.
solutions/ess-maker-skills/src/skills/connect/step1.md Implements integration routing.
solutions/ess-maker-skills/src/skills/connect/SKILL.md Documents connect dispatch.
solutions/ess-maker-skills/src/skills/connect/shared/lifecycle-runner.md Implements resumable lifecycles.
solutions/ess-maker-skills/src/skills/connect/shared/lifecycle-contract-schema.md Documents lifecycle contracts.
solutions/ess-maker-skills/scripts/install_workday_da_extension.py Installs the DA extension package.
solutions/ess-maker-skills/scripts/flightcheck/registry.py Registers the DA checkpoint.
solutions/ess-maker-skills/scripts/flightcheck/cli.py Adds config and agent arguments.
solutions/ess-maker-skills/scripts/flightcheck/checks/workday_tenant.py Generalizes provider config messaging.
solutions/ess-maker-skills/scripts/flightcheck/checks/workday_extension.py Scopes checks to one agent.
solutions/ess-maker-skills/scripts/flightcheck/checks/workday_da.py Validates DA package presence.
solutions/ess-maker-skills/scripts/flightcheck/checks/_workday_app_assignment.py Isolates explicit provider overlays.
solutions/ess-maker-skills/scripts/checkpoint.py Adds named, path-scoped restoration.
solutions/ess-maker-skills/scripts/alm/README.md Documents target-environment authorization.
solutions/ess-maker-skills/scripts/alm/Enable-CosmosDAFlowAuthorization.ps1 Provisions Dataverse flow authorization.
solutions/ess-maker-skills/README.md Documents DA Workday support.
Review details

Suppressed comments (1)

solutions/ess-maker-skills/scripts/alm/Enable-CosmosDAFlowAuthorization.ps1:278

  • When the lookup returns multiple teams, this prints [FAIL] but leaves $ok true. If the first team has the requested shares, the script exits 0 even though the documented success condition requires exactly one team and Flow-RP will choose ambiguously. Mark every count other than one as a failed verification.
} else {
    Write-Fail "GetTeamsForBotId returned $($teamCheck.Count) teams; Flow-RP takes the first and expects exactly one"
    if ($teamCheck.Count -eq 0) { $ok = $false }
  • Files reviewed: 38/38 changed files
  • Comments generated: 10
  • Review effort level: Balanced

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment on lines +109 to +110
if ($null -ne $Body) {
$json = if ($Body -is [string]) { $Body } else { $Body | ConvertTo-Json -Depth 10 }

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Kept the Microsoft PowerShell file unchanged; setup now blocks missing authorization/team creation until a corrected script is available.

Comment thread solutions/ess-maker-skills/src/skills/connect/shared/lifecycle-runner.md Outdated
Comment thread solutions/ess-maker-skills/src/skills/connect/step1.md Outdated
Comment thread solutions/ess-maker-skills/src/skills/connect/step1.md Outdated
Comment thread solutions/ess-maker-skills/src/skills/connect/step1.md Outdated
Comment thread solutions/ess-maker-skills/src/skills/setup/workday-da/SKILL.md Outdated
Comment thread solutions/ess-maker-skills/src/skills/setup/workday-da/SKILL.md Outdated
Comment thread solutions/ess-maker-skills/src/skills/setup/workday-da/provision-entra-app.md Outdated
Goutham Surendra Ichapuram and others added 9 commits September 21, 2026 11:07
…rkday as reference provider

- src/skills/connect/shared/lifecycle-contract-schema.md: canonical JSON
  contract shape a provider supplies (phases, checkpoint gates, role gates,
  action fragments for mutating steps, pending-scoped-profile annotations).
- src/skills/connect/shared/lifecycle-runner.md: the single provider-agnostic
  routine that shows the plan, collects attestation, live-re-verifies any
  previously-done phase before trusting it, runs each phase's FlightCheck
  checkpoints, renders results via the existing checklist-updater.md U.0/U.0a
  routine, and gates mutating phases through the existing permission-gate.md.
  Contains zero Workday-specific (or any provider-specific) logic.
- src/skills/connect/workday/contract.json: Workday's contract - discovery
  (WD-PKG-001, DV-CONN-001, WD-CONN-012), agent-wiring (WD-REST-002, a
  programmatic Environment Maker gate reusing the exact Dataverse
  security-role query already proven in
  setup/workday/install-workday-extension-pack.md P5.0), validation
  (WD-RUN-001). Not-yet-available FlightCheck scoped connect profiles
  (ADO 7865450) are recorded as a pending annotation only - never fabricated
  as a passing result.
- src/skills/connect/workday/actions/wire-user-context-redirect.md: the one
  bespoke mutation this provider needs - wiring the agent's User Context
  topic redirect, with checkpoint/scan/dry-run/push discipline.
- src/skills/connect/workday/SKILL.md: thin entry point that hands off to the
  generic runner.
- src/skills/connect/step1.md + SKILL.md: Workday routing now checks whether
  an extension is already installed anywhere in the environment (live
  WD-PKG-001 check) before deciding between this lightweight lifecycle and
  the full setup orchestrator; an already-completed lifecycle resumes
  through the same live re-verification path rather than a separate
  fast-path check.

A future ISV (ServiceNow, SuccessFactors, ...) reuses this same runner by
authoring its own contract.json + action fragments - no changes to the
runner itself.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
pendingScopedProfile.tracking referenced an internal Azure DevOps work item
ID inside contract.json / the schema reference doc - meaningless to anyone
outside this team and unrelated to how the runner behaves. Dropped the whole
unused pendingScopedProfile field (the runner never read it); kept the
substantive engineering point - that a contract lists individual checkpoints
today until FlightCheck ships a consolidated profile - as plain prose in the
schema doc, with no internal ID.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Adds  /connect workday  support for ESS DA agents, including Workday extension package detection and installation, Entra and tenant configuration guidance, resumable validation, and HR/IT multi-vertical support. It also introduces architecture-aware routing and safer per-agent lifecycle handling for existing CEA Workday integrations.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@is-goutham
Surendra Goutham (is-goutham) force-pushed the users/gouthams/connect-isv-skill-workday branch from 011c29b to e126ce5 Compare September 21, 2026 18:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants