Requests getting lost in the inbox
Sage People is a cloud HCM platform built on Salesforce, used by global HR teams to manage complex people operations across regions.
Time off was handled through email and manual follow-ups:
Managers missed approval emails, or had to stop work and log into Sage People just to click “approve.”
Employees didn’t know if their request had been seen, so they chased it.
Nobody had a clear view of who was out, so planning coverage was guesswork.
This was part of a wider pattern. Workers receive around 117 emails and 153 Teams messages a day and are interrupted roughly every two minutes (Microsoft Work Trend Index, 2025). A time-off request was one more email in the pile, and approving it meant switching apps, which HBR research says costs workers about 9% of their working year.
The opportunity: our users already spent their day in Microsoft Teams. Instead of pulling them into Sage People, we brought Sage People to them.

Three teams, one board, one picture
Who I worked with
🇬🇧 Reading, UK: Integration | 🇪🇸 Barcelona, Spain: Teams experience | Microsoft: Platform partner |
|---|---|---|
Built the Sage People ↔ Teams integration for booked and approved absences | Built the Teams feature: the conversational bot and in-Teams experience | Owned the Teams platform and its design standards |
PO, BA, Eng Team Lead, QA, 5 Engineers, Senior Designer, UX Researcher, Content Writer, me | PO, 3 Developers | Product Owner, Principal Designer |
Three teams in different locations, building on a platform none of us owned. The biggest risk was misalignment, not design quality.
How I brought everyone together
Design thinking before sprint one. I prototyped the full end-to-end journey in Figma. Both scrum teams reviewed it together before any engineering started, and we worked through the integration, connection and Teams technical challenges on the board instead of in QA.
Inclusive sessions I led. Every role was in the room, not only design and product. I prepared a board for every session and captured the discussion on it, and it became the team’s shared source of truth:
Developers mapped their technical flows against it and marked where they were stuck
The Content Writer saw exactly which conversations he needed to write
The UX Researcher knew what to test
Everyone could go back and see what was decided and why
A weekly partnership with Microsoft. I met Microsoft’s Design Lead every week to validate patterns, work through platform constraints, and make sure the experience felt native to Teams.
A delivery rhythm built around design. Before every sprint we reviewed the design, planned the next feature, and wrote clear stories scoped to two weeks, so each sprint was a predictable step toward the quarterly delivery.


Managing time off without leaving Teams
The end-to-end flow
Employee: asks the Sage People bot in Teams → sees their leave balance → requests time off conversationally → inputs are validated in real time → gets notified when the request is approved or declined.
Manager: gets an actionable card in Teams → sees team availability → approves in one step, with no login → the absence syncs to Outlook automatically.

Design decisions grounded in usability heuristics
NN/g heuristic | How it shows up |
|---|---|
Visibility of system status | Instant notifications, so nobody chases a request |
Match with the real world | Plain conversational language in place of HR jargon |
Error prevention | Dates and balances validated before submission |
Recognition over recall | Leave balance shown while you request |
Consistency and standards | Native Teams patterns, validated weekly with Microsoft |
Efficiency of use | One-step approval with no Sage People login |
Pivot points
Challenge | Why it mattered | What we did |
|---|---|---|
Different absence rules in each country. Research found that US short-term leave goes to short-term disability insurance, and UK leave needs a doctor’s note. | A simple “request → approve” flow wouldn’t work. US requests needed an extra step after approval, and UK requests needed evidence | Pending insurance approval” status so the employee and manager could see the request was approved but not yet complete? |
Adaptive Cards can’t hold attachments. Found when we reviewed the design with Microsoft and the Barcelona team. | UK managers couldn’t see the doctor’s note on the approval card | We caught it in the review, before anything was built. |
Designing on a platform we didn’t own | The experience had to feel native to Teams, not like Sage People added on | CWeekly design reviews with Microsoft’s Design Lead to check patterns early |
Integration across two scrum teams | The Barcelona Teams experience depended on the UK integration | Raised in the end-to-end review; stories sequenced each sprint so neither team blocked the other |
Complex HR policies in a chat interface | Errors in a conversation are easy to make and hard to undo | Conversational guidance and real-time validation before submission |
Built to scale: the conversational patterns were designed to extend to other HR tasks while keeping enterprise security, governance and data integrity.
My design is live in Microsoft Teams, worldwide. The Sage People app for Microsoft Teams launched in release Y23.3. It was improved in Y23.4 and made available to Sage People customers worldwide in 2024. It’s now listed as a core feature on Sage’s leave management page.
What it changed: Managers approve time off in Teams without logging into Sage People. Employees check balances, book leave and get instant updates instead of chasing. Approved absences sync to Outlook so teams can plan coverage. Industry research suggests automating time-off requests saves each manager nearly a workweek a year (Forrester).
What I learned: On a project spanning three teams and a platform we didn’t own, my most valuable design artifact wasn’t a screen. It was the shared board that kept everyone working from the same picture







