A FastAPI application that generates executive meeting briefs for both internal meetings and external business development opportunities. Combines Slack conversation context with HubSpot contact information for internal meetings, and web research intelligence for BD meetings, using OpenAI's o3 model for intelligent analysis.
- Slack Integration: Fetches recent messages from specified channels with thread expansion
- HubSpot Integration: Enriches attendee information with CRM data
- AI-Powered Analysis: Uses OpenAI's o3 model to generate comprehensive meeting briefs
- Tactical Focus: Optimized for internal team coordination and account management
- Web Research: Automated company and executive research using web search
- Competitive Analysis: Industry landscape and competitor intelligence gathering
- Executive Profiling: Background research on key decision makers
- Strategic Intelligence: Comprehensive reports for external business development meetings
- Document Analysis: Support for parsing company reports and financial documents
- Responsive Web Interface: Clean, modern UI following CroMetrics design standards
- Flexible AI Reasoning: Configurable effort levels for different meeting importance
- Export-Ready Reports: Markdown-formatted outputs for easy sharing
-
Install Dependencies:
pip install -r requirements.txt
-
Environment Variables: Create a
.envfile with the following variables:OPENAI_API_KEY=your_openai_api_key SLACK_TOKEN=your_slack_token # Can be SLACK_USER_TOKEN, SLACK_BOT_TOKEN, or SLACK_TOKEN HUBSPOT_TOKEN=your_hubspot_private_app_token # Optional, for internal meeting attendee enrichment SERPER_API_KEY=your_serper_api_key # Optional, for BD meeting web research capabilities PORT=3000 # Optional, defaults to 3000 -
Run the Application:
python app.py
Or with uvicorn directly:
uvicorn app:app --host 0.0.0.0 --port 3000 --reload
- Open your browser to
http://localhost:3000 - Select a Slack channel from the dropdown
- Configure message limits, lookback days, and reasoning effort
- Optionally add attendee emails for HubSpot enrichment
- Specify the meeting purpose
- Click "Run" to generate your executive brief
- Navigate to
http://localhost:3000/bd - Enter target company name and key executive details
- Optionally specify industry context
- Describe meeting objectives and context
- Select research depth (Quick/Standard/Comprehensive)
- Click "Generate Intelligence Report" for strategic analysis
Note: BD functionality requires SERPER_API_KEY for web research. Without it, reports will indicate research is unavailable.
GET /- Internal meeting web interfaceGET /api/channels- List available Slack channelsPOST /api/run- Generate internal meeting brief
GET /bd- BD meeting intelligence web interfacePOST /api/bd/generate- Generate BD intelligence report
This application is deployed on Render at: https://mtgprep-executive-brief.onrender.com/
- Internal Meeting Prep: https://mtgprep-executive-brief.onrender.com/
- BD Meeting Intelligence: https://mtgprep-executive-brief.onrender.com/bd
- Connect your GitHub repository to Render
- Create a new Web Service
- Set build command:
pip install -r requirements.txt - Set start command:
python app.py - Add environment variables in Render's dashboard
- Render automatically redeploys when changes are pushed to the main branch
OPENAI_API_KEY- Required for AI analysisSLACK_TOKEN- Required for internal meeting Slack integrationHUBSPOT_TOKEN- Optional, for internal meeting attendee enrichmentSERPER_API_KEY- Optional, for BD meeting web research capabilities
- Python 3.8+
- OpenAI API key with o3 model access
- Slack workspace with appropriate bot/user token (for internal meetings)
- HubSpot Private App token (optional, for internal meeting attendee enrichment)
- Serper API key (optional, for BD meeting web research capabilities)