Microsoft Teams Meeting Cost Tracker
Pricing
from $0.01 / 1,000 results
Microsoft Teams Meeting Cost Tracker
Calculate real-time meeting costs in Microsoft Teams. Analyze Teams calendar meetings, get "Could Have Been an Email" scores, and generate cost reports w/Adaptive Cards.This actor connects to Microsoft Graph API to analyze your Teams calendar "Could Have Been an Email" Score Meeting Culture Score
Pricing
from $0.01 / 1,000 results
Rating
0.0
(0)
Developer

John Rippy
Actor stats
0
Bookmarked
2
Total users
1
Monthly active users
4 days ago
Last modified
Categories
Share
"Real-Time Meeting Costs in Microsoft Teams" by John Rippy | johnrippy.link
๐ 2025 Zapier Automation Hero of the Year โ Project Phoenix: A 95-step AI sales pipeline cutting development time by 50%. Read more โ
Calculate real-time meeting costs in Microsoft Teams. Analyze Teams calendar meetings, get "Could Have Been an Email" scores, and generate cost reports with Adaptive Cards.
What This Actor Does
This actor connects to Microsoft Graph API to analyze your Teams calendar and provides:
- Meeting Cost Analysis: Calculate the true cost of each meeting based on attendees and duration
- "Could Have Been an Email" Score: AI-powered analysis of meeting necessity (0-100)
- Meeting Culture Score: Overall assessment of your Teams meeting health
- Adaptive Card Output: Native Teams-formatted cards for easy sharing
- Recommendations: Actionable insights to reduce meeting waste
Perfect For
- Microsoft 365 Organizations: Analyze your Teams meeting culture
- IT Administrators: Audit organization-wide meeting costs
- Team Leads: Identify opportunities to reduce meeting overhead
- HR Teams: Track meeting trends across departments
- Productivity Consultants: Deliver Teams-specific meeting reports
Features
- Microsoft Graph Integration: Secure OAuth connection to Teams/Outlook calendars
- Demo Mode: Test the actor without Azure credentials
- Multiple Output Formats: Full analysis, summary, or Teams Adaptive Card
- Multi-Currency Support: USD, EUR, GBP, CAD, AUD
- Recurring Meeting Detection: Identify high-cost recurring meetings
- Focus Time Analysis: Measure meeting fragmentation impact
Input Examples
Demo Mode (No Credentials Required)
{"demoMode": true,"dateRange": "last_week","averageSalary": 100000}
Real Mode with Azure AD Credentials
{"demoMode": false,"tenantId": "your-azure-tenant-id","clientId": "your-app-client-id","clientSecret": "your-app-client-secret","userEmail": "user@company.com","dateRange": "last_week","averageSalary": 120000}
Output as Teams Adaptive Card
{"tenantId": "...","clientId": "...","clientSecret": "...","userEmail": "user@company.com","outputFormat": "teams_card"}
Azure AD Setup
To use this actor with real Teams data, you need to register an app in Azure AD:
1. Register Application
- Go to Azure Portal > Azure Active Directory
- App registrations > New registration
- Name: "Meeting Cost Tracker"
- Supported account types: Single tenant or Multitenant
- Register
2. Configure API Permissions
Add these Microsoft Graph permissions (Application type):
Calendars.Read- Read calendars in all mailboxesUser.Read.All- Read all users' full profiles
Grant admin consent for these permissions.
3. Create Client Secret
- Certificates & secrets > New client secret
- Copy the secret value (you won't see it again!)
4. Get Your Credentials
- Tenant ID: Azure AD > Overview > Tenant ID
- Client ID: App registration > Overview > Application (client) ID
- Client Secret: The secret you just created
Output
Full Analysis
{"overview": {"platform": "Microsoft Teams","totalMeetings": 24,"totalHours": 42,"totalCost": 8400,"averageMeetingLength": 52,"averageAttendees": 4.2,"currency": "USD"},"meetingCultureScore": {"overall": 58,"breakdown": {"focusTime": 45,"asyncSuitability": 62}},"asyncCandidates": [{"subject": "Weekly Status Update","duration": 60,"attendees": 8,"cost": 384,"emailScore": 82,"recommendation": "Consider replacing with Teams chat, Loop component, or email"}],"recommendations": [{"priority": "high","action": "Convert \"Weekly Status Update\" to async","potentialSavings": 268,"rationale": "Email score of 82%, 8 attendees"}],"potentialSavings": 2100}
Teams Adaptive Card
Perfect for posting to Teams channels:
{"type": "AdaptiveCard","version": "1.4","body": [{"type": "TextBlock","text": "๐ Meeting Cost Report","weight": "bolder","size": "large"},...],"actions": [{"type": "Action.OpenUrl","title": "View Full Report","url": "https://meeting.localhowl.com"}]}
Use Cases
1. Weekly Team Reports
Post meeting cost summaries to a Teams channel:
const result = await apifyClient.actor("localhowl/teams-meeting-cost-tracker").call({tenantId: process.env.AZURE_TENANT_ID,clientId: process.env.AZURE_CLIENT_ID,clientSecret: process.env.AZURE_CLIENT_SECRET,userEmail: "team-lead@company.com",dateRange: "last_week",outputFormat: "teams_card"});// Post to Teams webhookawait fetch(TEAMS_WEBHOOK_URL, {method: 'POST',headers: { 'Content-Type': 'application/json' },body: JSON.stringify(result.adaptiveCard)});
2. Organization-Wide Audit
Analyze multiple users' calendars:
const users = ["alice@co.com", "bob@co.com", "carol@co.com"];const results = [];for (const user of users) {const result = await apifyClient.actor("localhowl/teams-meeting-cost-tracker").call({tenantId: "...",clientId: "...",clientSecret: "...",userEmail: user,dateRange: "last_month"});results.push({ user, ...result });}// Aggregate insights across the organization
3. Power Automate Integration
Trigger weekly reports via Power Automate:
- Create a scheduled flow (weekly)
- Add HTTP action to call Apify API
- Post Adaptive Card to Teams channel
"Could Have Been an Email" Score for Teams
The Email Score (0-100) predicts how likely a meeting could be handled via Teams chat, Loop, or email:
| Score | Meaning | Recommendation |
|---|---|---|
| 0-30 | Necessary | Meeting is likely needed |
| 31-50 | Borderline | Could be shorter or fewer attendees |
| 51-70 | Questionable | Consider Teams chat thread |
| 71-100 | Likely Unnecessary | Use Loop component or email |
Factors That Increase Score:
- Title contains "sync", "update", "status", "check-in"
- Short duration (< 30 minutes)
- Only 2 attendees
- Recurring meeting
Factors That Decrease Score:
- Title contains "brainstorm", "planning", "workshop"
- External attendees
- Structured agenda (from description)
- Longer, focused sessions
Privacy & Security
- Uses Microsoft Graph API with OAuth 2.0
- Client credentials flow (no user interaction required)
- No calendar data stored beyond analysis
- Supports single-tenant or multi-tenant apps
- Admin consent required for organization-wide access
Related Tools
- Meeting ROI Calculator: Calculate individual meeting costs
- Calendar ICS Analyzer: Analyze exported calendar files
- Meeting Culture Score Checker: Analyze any company's culture
- Meeting Cost Tracker Chrome Extension: Real-time tracking in Google Meet
Support
- Documentation: https://meeting.localhowl.com/docs
- Email: support@localhowl.com
- Issues: Report bugs or request features
Author
Built by John Rippy | johnrippy.link
๐ 2025 Zapier Automation Hero of the Year โ Project Phoenix: A 95-step AI sales pipeline cutting development time by 50%. Read more โ
Part of the Meeting Cost Tracker productivity suite by LocalHowl
