WorkUpwork
The chatbot integration behind a 58% resolution rate
Forethought on Zendesk, for Upwork's support operation

The problem
By 2021, Upwork's support chatbot had plateaued. Forethought's case study puts the previous bot at 25–30% containment. Zendesk's customer story puts the support operation behind it at 300+ agents and around 600,000 tickets a year.
Two problems sat under that number. The bot answered from general help articles, so any question that depended on the user's own account went to a human. And every team that wanted the bot on its pages had to read the vendor's documentation and repeat the same configuration, so the embed drifted from page to page and tracking was inconsistent.
What I built
Upwork moved to Forethought in December 2021, and I engineered the Zendesk integration, live by January 2022.
- One wrapper for every page. A shared script carried the configuration, so any team could add the bot without studying vendor docs or redoing setup, and every page stayed on the same version.
- Tracking the vendor didn't offer. Custom event hooks let us measure what the bot was actually doing, not just what the vendor dashboard reported.
- Live account context. Separately, I wired the bot into Upwork's GraphQL layer and Zendesk Guide, so it could answer with the user's account in view instead of falling back to generic articles.
After launch I owned the chatbot platform end to end through July 2024, leading a team of three.

What changed
Both vendors published where the switch landed. Zendesk's customer story reports a 58% chatbot resolution rate for the Forethought–Zendesk integration. Forethought's case study reports 52–65% self-serve, up from 25–30% containment on the previous bot.
Those are program results, quoted as published. My part was the integration and the platform underneath it.
"Asif’s contributions to our project redesigning the Customer Support experience at Upwork were invaluable. His engineering expertise and innovative thinking were instrumental in the implementation of Forethought's AI chatbot."
— Alix, Customer Experience Partner & Project Lead, Upwork

What I took from it
The switch brought a better model. The integration work decided whether that model could see the account, run the same way on every page, and be measured. That is most of what "AI in production" turns out to mean: the wiring around the model, not the model.