Mail Summarizer is a web application that helps you manage your emails more efficiently by generating brief summaries of their contents. Save yourself time by getting a consise and organized overview of all the mails you might have missed while you were away!
Using the application is easy. Simple connect to your email account you want summarized. Select the start and end date to filter a date range and let the app analyze your mailbox. Within a moment you'll receive a summary that captures the key information and main ideas in your inbox.
Untitled.1.mp4
The application features a single page application (SPA) that makes a request to a backend api. The api is setup as durable function app that leverages the jwt token retrieved in the request to retrieve your mails using the Azure on-behalf-of authentication flow.
The mails are individually fed to OpenAi to create detailed summaries and a summary of all summeries combined. The result is then converted into a html template that is send as mail to requesters mail address obtained from the jwt token.
- Create a new App Registration
- Create a Client Secret (used for backend)
- Add the delegated permissions
Mail.Read
andMail.Send
under Graph - Expose the Api using the default url
- Create a new scope
access_as_user
for users and admins - Add the access tokens
email
andupn
(with permissions) - Under
Authentication
add the endpoint of your static website (after creating it)
- Create a
Storage Account
in Azure - Add a static website using the
index.html
as entrypoint - Substitute the settings of
.env-cmdrc
with your own - Build the web app in
.\spa
usingnpm run build
- Upload the contents of
.\build
to the$web
container of theStorage Account
- Create a
Function App
in Azure (for .NET 7) - Publish the app to the function app (possibly with Visual Studio)
- Add CORS rule for the endpoint of your static website
- In the App Settings add settings for Graph and OpenAi connections (e.g.
Graph:TenantId
)