Josh on GitHub Josh on LinkedIn Josh on IG Josh on YT Josh on PDGA

Teams Bot for enterprise-wide searches and actions

purpose

design a chatgpt-like experience that employees could use but had data isolation and additional org-specific knowledge and functionality built-in.

the design

largely built on Azure cloud services, and the MS Teams SDK for the bot development. This was an early iteration on the design.

architecture

I had created a multi-tenant app registration as well within Azure to where a global admin could go consent to the app, and then tenant information was stored in a database. From there a Jenkins pipeline would kick off to check out the bot code repo, and then provision all the Terraform resources within the specified Azure subscription based on the tenant information in the SQL database. The idea was to enable folks in sales and other groups to be able to spin up demos and bots on-demand.

deployment overview

Media

here are just some examples of the planning and release visuals I put together as a part of the development process.

features

mvp

release

functionality

Use any device to access Microsoft Teams

Users could ask any question under the sun, or pick from a list of actions based on pre-defined Teams Commands

usage

I also built an interactive guide which users could reference and it was built into the Teams application as a tab at the top of the app under Guide. This doc site was built using MKDocs and I hosted it on a free Azure Web App.

tech used (including but not limited to...)

  • Azure Cognitive Search (vertex index)
  • Azure Language Understanding Service
  • Azure Bot Service
  • Azure Multi-Tenant App Registration
  • Azure Functions
  • Azure CosmoDB
  • Azure Entra
  • Azure Machine Learning Studio
  • Azure OpenAI
  • Azure Key Vault
  • Microsoft Graph
  • Microsoft Teams
  • Github
  • Jenkins
  • Terraform
  • Probably forgetting more ...