Make the library promise true.
The September 23 repair made the prompt industry-neutral, turned the leave type into spoken choices and expanded the intake to ten questions. It left the submission as owner setup, so a confirmed request still reached nobody, and its read-back, field mappings and confirmations did not work in a live run. On September 24 the workflow was rebuilt around the library promise: collect, confirm, then submit to HR.
Every finding has a disposition.
Spoken leave choices with a controlled leave type; numbers one to five still map.
A read-back with correct and confirm routes; confirmed requests move to Leave Requests Submitted, HR is emailed and the employee gets a receipt.
Industry-neutral prompt with no company description.
The read-back used variables that do not resolve. The employee ID was mapped to a field that did not exist, the leave dates were not saved and the manager's name was mapped to a user-reference field; four fields were created. An employee without an ID was asked for it again and again. Per-answer confirmations on the dates stalled the intake, and a required last-name question after a full-name question never completed. Dates were read back as timestamps. In testing the agent told a joke on request; it now stays on the leave request. Stored model was GPT-4o Mini.
The same design, now able to run.
Text version of this diagram
The source workflow greeted the caller, asked five questions, asked whether there was anything else, said goodbye and hung up.
Text version of this diagram
Before: the request was stored on the contact and nobody in HR was told; the read-back used variables that do not resolve; there was only an everything-is-correct route; the employee ID was mapped to a field that did not exist and the leave dates were not saved; and the manager's name was mapped to a user-reference field. After: a confirmed request moves to Leave Requests Submitted and emails HR; the employee is emailed a receipt that is not an approval; the read-back uses the saved contact fields; the employee can correct anything and confirm again; and the employee ID, leave dates and manager are saved to their own fields.
Text version of this diagram
Morgan explains that the call records a leave request for HR review and does not approve or deny leave. The employee gives their name, employee ID if they have it, department, leave type (FMLA, military leave, jury duty, court appearance or short-term disability), start date, expected return date, manager, preferred follow-up method and any notes. Morgan reads the whole request back and asks whether it is correct. A change is updated and read back again. Once confirmed, the request moves to Submitted in the Leave Requests pipeline, HR is emailed the full request, the employee is emailed a receipt that is not an approval, and Morgan confirms it was submitted for review.
Checked in the editor and the simulator.
11 steps and 11 links survive an editor save with every link on a rendered handle and no dangling links.
With the two emails bypassed for the test and restored afterwards, the confirmed path completed end to end at 98: read back, confirmed and moved to Submitted. The correction path took the change route at 95. Other runs, at 94 to 97, paused when the scripted caller stopped answering; those runs exposed the ID loop, the stalled confirmations and the timestamp dates, all fixed.
No approvals, no medical questions, correct leave choices, corrections before submission, stays on task, full names and the five difficult callers. The two misses: a summary test ran out of turns while an email was spelled, and a leave-type test graded the choices as not presented.
Need a phone line, sender and account balance; test with a synthetic employee.
Remediation complete.
The rebuilt account is ready for final acceptance and master snapshot generation.
Open final audit →