01Context
Password resets are one of the most common reasons people call an IT helpdesk, and one of the easiest to automate badly. Our voice bot already handled them end to end for existing clients: verify the caller, reset the password in Azure AD, log the ticket in ServiceNow.
The new client used neither system. Okta held their identities and Zendesk held their tickets. They also wanted to see what the bot was doing, in numbers, not in a status update.
02My role
I was module lead and the client's main point of contact. I gathered their requirements, redesigned the architecture around their stack, ran the eight-person team in JIRA sprints, and deployed about 70% of the environment myself.
03Before and after
The caller's side stayed the same. What changed was everything the bot talked to, plus a reporting layer that didn't exist before.
04Decisions
D1Rebuild the edges, keep the conversation
The caller's experience already worked, so the voice flows stayed close to the original. The identity and ticketing calls underneath were rewritten for Okta and Zendesk.
Trade-offLess room to redesign the caller experience in this release.
D2Build the dashboard the client would actually read
Tickets counted at each stage, and one number above everything else: how many resets the bot finished compared with how many went to a person.
Trade-offIt took build time away from features. Without it, though, the client had no way to see how much of the work the bot was doing.
D3Deploy it myself where that was fastest
I took on about 70% of the environment deployment personally, which kept the rest of the team on integration work.
Trade-offIt put a lot of the environment knowledge in one head. That's a risk on any team, and one I'd plan around earlier next time.
05Results
06Under the hood
What I designed or built myself:
- identity Caller verification and the password reset, redesigned around Okta instead of Azure AD.
- tickets Ticket creation and updates moved from ServiceNow to Zendesk.
- voice IVR flows on Dialogflow CX, kept close to the caller experience that already worked.
- reporting The dashboard: tickets counted at each stage, bot versus human resolution on top.
- deploy About 70% of the client environment, deployed by me.
07Looking back
The dashboard should have been in the first sprint. Clients start asking "is it working?" long before the last integration lands, and the answer is much easier when they can see it for themselves.