GithubHelp home page GithubHelp logo

0xholmes / meetingminer Goto Github PK

View Code? Open in Web Editor NEW

This project forked from infusedinnovations/meetingminer

1.0 0.0 0.0 1.9 MB

A GPT-based natural language cognitive assistant for extracting valuable information from Microsoft Teams meetings. MeetingMiner can write follow-up emails to operationalize information, identifying action items to be shared with teammates, and more.

Python 100.00%

meetingminer's Introduction

MeetingMiner

A GPT-based natural language cognitive assistant for extracting valuable information from Microsoft Teams meetings. MeetingMiner can write follow-up emails to operationalize information, identifying action items to be shared with teammates, and more.

Facing difficulties? Contact [email protected]! We are very responsive and open to helping you launch MeetingMiner at your organization.

Pre-requisites

  • Experience developing solutions with Power Platform including: Power Automate, Power Apps, and Dataverse.
  • Experience developing Azure solutions including Azure Functions and minimal experience with Azure AD for delegating MS Graph application permissions.
  • A global admin account
  • Power Platform administration/licensing knowledge. Licenses will need to be administered for Power Apps for your users to leverage the solution.

Solution demonstration

A demonstration of the MeetingMiner solution can be found here.

Repository contents

This repository will contain all of the components needed to launch MeetingMiner as a solution in your enterprise. Infused Innovations will not pay for the operating costs of this solution which include, but are not limited to, API interactions with GPT, hosting in Azure, and Power Platform licensing.

The components include:

  1. Power Platform solution (.zip)
    • Power Automate flows for the purpose of
      • Subscring to Microsoft Graph events to receive webhook events when a meeting ends or begins.
      • Handling Microsoft Graph events when meeting ends to process the meeting transcript and store its outputs.
      • Handling meeting start events to remind a meeting's organizer to start transcribing the meeting.
    • Power Apps app (user interface)
    • Custom Datverse tables for this solution
  2. Azure Function App code.
    • Hosts the OpenAI code for the A.I. to process meeting transcript data into more valuable outputs.
    • Contains a function which can be called to write a follow-up email based on a summary of the meeting and the action items from the meeting.
  3. Azure infrastructure resources.
    • Azure AD application which requests the necessary permissions.
    • Security group to allocate application permissions and licensing to the application users on the tenant.

Launching the solution

  1. Create an enterprise application in Azure. The following Microsoft Graph permissions must be granted.
    • User.Read
    • OnlineMeetings.Read.All
    • OnlineMeetings.ReadWrite.All
    • OnlineMeetingArtifact.Read.All
    • Calendars.Read
    • CallRecords.Read.All
    • OnlineMeetingTranscript.Read.All
    • Calendars.ReadWrite
  2. Create an Azure OpenAI resource and deploy a GPT-3 model instance.
  3. Download the code in the repository and use it to deploy the Azure functions to your Azure tenant. Fill in the following application settings under your Azure Function App > Configuration in the Azure Portal.
    • AZURE_OAI_API_KEY. The API key for the Azure OpenAI resource you just created.
    • AZURE_OAI_MODEL_DEPLOYMENT. The name of the GPT-3 model you just deployed.
    • PRODUCTION. Use the value of 1 in the Azure Portal (and 0 locally for development).
  4. Import the Power Platform solution (user interface, AI processing logic, reminders/notifications).
    • Fill in the following environment variables.
      • lead_mm_developer_email. The lead developer who wants to be notified about application usage and performance.
      • optedInUsers. A list of email addresses for the users in your tenant that want to use your application. Format should be, i.e., {"optedIn":["[email protected]", "[email protected]"]}.
      • production. Use the value "Yes" when your application is in production or "No" when you want to take different actions in your flows while under development.
      • production_application_id. The ID of the enterprise application you set up in the step above.
      • production_client_secret. The client secret of the enterprise application you set up in the step above.
      • production_tenant_id. The ID of your Azure tenant. Can be found in the Azure Portal by searching "tenant properties".
      • callRecordsNotificationURL. The URL available in the trigger of the "MeetingMiner Request-triggered flow - Mine Meeting" trigger.
      • meetingStartURL. The URL available in the trigger of the "MeetingMiner Send Reminder When Meeting Starts" trigger.
      • azureFnURLMMHTTP. The URL of the main Azure Function you launched above.
      • azureFnURLWriteFollowUp. The URL of the Azure Function for writing the follow-up email, which you launched above.
    • Create data connections when prompted.

Congratulations! You're ready to start using MeetingMiner to increase your team's productivity.

Disclaimers

  • Infused Innovations is not financially liable for the operating costs incurred while using this solution.
  • This solution is not for re-sale.

meetingminer's People

Contributors

brennan-infused avatar

Stargazers

Roman avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.