Skip to content
This repository has been archived by the owner on Apr 5, 2023. It is now read-only.
/ summarize-email Public archive

Email Summarization Console App - Created for Microsoft Hack-together hackathon.

License

Notifications You must be signed in to change notification settings

jkher/summarize-email

Repository files navigation

Email Summarization Tool 📧 - A .NET v7.0 console app connected to Microsoft Graph

Hack Together: Microsoft Graph and .NET dotnet 7.0 Microsoft Graph Microsoft Graph Repo License Demonstration Video

  • With this console app, you can select any email message from latest 10 messages in your inbox and generate extractive summary of its contents using Azure Cognitive Service for Language.
  • You can send the generated extractive summary to your inbox for later use.
  • Or you can publish the summary instantly to any of your team channel on Teams. The app provides you the menu options to select a Team you joined and then a Channel under selected team.

Minimal Path to Awesome 🚀

Follow the instructions to successfully run your Email Summarization Tool with Microsoft Graph.

1. Register an Azure Active Directory app

Every app that uses Azure AD for authentication must be registered with Azure AD. You can register app through Azure Portal or by using Azure CLI. Please follow one of the options to register your app:

Option 1: Register an app by using Azure CLI
  • Install Azure CLI if you haven't already.
  • Register your app on Microsoft Azure, by creating a new Azure AD app registration:
    • On macOS/Linux/in Bash
      • Open terminal and change the working directory to the root of this project
      • To make the setup script executable, run chmod +x ./setup.sh
      • To register the app, run ./setup.sh
      • When prompted, sign in with your Microsoft 365 developer sandbox account
    • On Windows/in PowerShell
      • Open PowerShell and change the working directory to the root of this project
      • To register the app, run .\setup.ps1
      • When prompted, sign in with your Microsoft 365 developer sandbox account
Option 2: Register an app through Azure Portal
  • Go to Azure Portal and login with your testing account that has Application developer or administrator permissions.
  • Select Azure Active Directory, and select App Registrations from the left side bar. Then select + New registration.
  • Give any name to your app. For Supported account types, select Accounts in any organizational directory (Any Azure AD directory - Multitenant).
  • Set the Redirect URI drop down to Public client/native (mobile & desktop) and enter http://localhost. Then, select Register.
  • Navigate to Overview tab and make a note of the Application (client) ID.
  • Replace the CLIENT_ID in appsettings.json file with Application (client) ID noted above.

2. Register Azure Cognitive Service for Language resource

  • Azure subscription - Create one for free
  • Once you have your Azure subscription, create a Language resource in the Azure portal to get your key and endpoint.
  • You can use the free pricing tier (Free F0) to try the service, and upgrade later to a paid tier for production.
  • After it deploys, select Go to resource.
  • You will need the key and endpoint from the resource you create to connect your application to the API.
  • Replace the AZURE_LANGUAGE_ENDPOINT in appsettings.json file with language endpoint noted above.
  • Also, replace the AZURE_LANGUAGE_ENDPOINT_KEY in appsettings.json file with language endpoint key noted above.

3. Run your Console app

  • Clone the summerize-email repository to your local workspace or directly download the source code.
  • Open the project folder summarize-email with the editor of your choice. (Visual Studio Code is recommended.)
  • Open terminal in project folder and run the tool using dotnet run command. 🚀

Video Demonstration 🚀

Click badge below to watch video demonstration.

Demonstration Video