A company's greatest asset is its people. Companies offer employee benefits (such as dental, gym memberships, retirement plans, or student aid) to attract top talent. But navigating employee benefits is confusing, most people don’t even know what their company has to offer or how to choose. Our team felt this pain firsthand when we were working in tech. Friends shared the same frustration: “My HR rep sent me a 100-page PDF… who’s reading that?”

So we built BenefitsBot. It's a Microsoft Teams bot that lets employees ask questions about their benefits, and get instant answers based on their company’s actual plan docs and handbooks. It helps employees make sense of their benefits without needing to dig through long PDFs. Plus, HR teams get anonymized insights to improve plan design and reduce support burden.

We built it using Azure Document Intelligence to extract messy PDFs, parsed them into clean Markdown chunks. Then, we built a custom RAG pipeline powered by Gemini (huge context window). Next we used Microsoft Teams AI SDK for native chatbot integration, and finally, we secured access with Auth0 login (HIPAA compliance/privacy is a big deal).

We learned that, even if you build a great tool, employees don’t always know what to ask. So we added onboarding prompts and built an Employee Question Library to give them intuitive guidance. Also, employees didn’t want another app to burden them, so we integrated directly into Microsoft Teams, where they already work.

Our first challenge was building a retrieval-augmented generation (RAG) pipeline from scratch: LLMs couldn’t handle raw benefit PDFs with dense tables and images. So we used Azure Document Intelligence for parsing, then built a custom Markdown converter to create clean, queryable chunks.

The second challenge came from deploying on Microsoft Teams. Since Azure only supported OpenAI models at the time, we wrote a custom Gemini adapter for the Teams AI SDK, including our own memory handling and query optimization logic to ensure smooth, contextual conversations.

Built With

Share this project:

Updates