Calendar ICS Analyzer avatar
Calendar ICS Analyzer

Pricing

from $0.01 / 1,000 results

Go to Apify Store
Calendar ICS Analyzer

Calendar ICS Analyzer

Google Cal, Outlook, or Apple Cal exports to get comprehensive meeting culture reports. Calculates meeting costs, identifies "Could Have Been an Email" candidates, measures focus time & provides actionable recommendations. Perfect for executives, managers & consultants with productivity assessments

Pricing

from $0.01 / 1,000 results

Rating

0.0

(0)

Developer

John Rippy

John Rippy

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

5 days ago

Last modified

Share

Upload your .ics calendar export and get a comprehensive meeting culture analysis with costs, email scores, and actionable recommendations. Generate PDF reports.

Features

  • Automated data collection
  • Structured output format
  • Error handling
  • Pay-per-event billing

Quick Start

{
"input": "your input here"
}

Demo Mode

Set demoMode: true to test with sample data (no charges). When you're ready for real results, set demoMode: false or omit it.

{
"demoMode": true,
...
}

Input Parameters

ParameterTypeRequiredDescription
See input schema

Output Format

Executive Summary

{
"summary": {
"totalMeetings": 156,
"totalHours": 312,
"totalCost": 22500,
"meetingCultureScore": 62,
"weeklyAverage": {
"meetings": 12,
"hours": 24,
"cost": 1730
}
},
"topInsights": [
"34% of your meetings could have been emails",
"Your most expensive recurring meeting costs $12,400/year",
"You have 3.2 hours of focus time per day on average",
"Tuesday and Wednesday are your heaviest meeting days"
],
"recommendations": [
{
"priority": "high",
"action": "Cancel or convert 'Weekly Status Sync'",
"potentialSavings": 8320,
"rationale": "Email score of 85%, 16 attendees, no agenda"
}
]
}

Full Analysis

{
"overview": {
"periodAnalyzed": "2024-01-01 to 2024-03-31",
"totalMeetings": 156,
"totalHours": 312,
"totalCost": 22500,
"averageMeetingLength": 48,
"averageAttendees": 4.2
},
"meetingCultureScore": {
"overall": 62,
"breakdown": {
"focusTime": 68,
"fragmentation": 55,
"recurringEfficiency": 60,
"attendeeOptimization": 65
}
},
"costBreakdown": {
"recurring": 18200,
"oneTime": 4300,
"byDayOfWeek": {
"monday": 4200,
"tuesday": 5800,
"wednesday": 5200,
"thursday": 4100,
"friday": 3200
}
},
"asyncCandidates": [
{
"title": "Weekly Status Sync",
"emailScore": 85,
"annualCost": 8320,
"reason": "Status updates work better async"
}
],
"recurringMeetings": [
{
"title": "Team Standup",
"frequency": "daily",
"annualCost": 15600,
"attendees": 8,
"emailScore": 72,
"recommendation": "Consider 3x/week instead of daily"
}
],
"focusTimeAnalysis": {
"averageBlocksPerDay": 2.1,
"averageBlockLength": 95,
"fragmentationScore": 55,
"bestFocusDay": "Friday",
"worstFocusDay": "Wednesday"
},
"recommendations": [...],
"cta": {
"message": "Get real-time tracking with Meeting Cost Tracker",
"url": "https://meeting.localhowl.com"
}
}

Pricing

This actor uses pay-per-event billing:

  • data_point: $0.01 per result

Use Cases

1. Quarterly Personal Audit

const result = await apifyClient.actor("localhowl/calendar-ics-analyzer").call({
icsUrl: "https://example.com/my-calendar.ics",
dateRange: "last_quarter",
generateReport: true
});
console.log(`Meeting Culture Score: ${result.meetingCultureScore.overall}`);
console.log(`Potential Savings: $${result.potentialSavings}`);

2. Team Meeting Audit

Export calendars from team members and analyze patterns:

const teamCalendars = ["alice.ics", "bob.ics", "carol.ics"];
const results = [];
for (const cal of teamCalendars) {
const result = await apifyClient.actor("localhowl/calendar-ics-analyzer").call({
icsUrl: `https://example.com/${cal}`,
dateRange: "last_month"
});
results.push(result);
}
// Aggregate team insights

3. Before/After Comparison

Track improvement over time by comparing quarters:

const q1 = await analyze({ dateRange: "2024-Q1" });
const q2 = await analyze({ dateRange: "2024-Q2" });
console.log(`Score improved from ${q1.score} to ${q2.score}`);
console.log(`Saved ${q1.totalCost - q2.totalCost} per quarter`);

Common Problems & Solutions

"Invalid API key" error

Cause: Your API key is wrong, expired, or doesn't have the right permissions. Fix: Double-check your API key. Make sure you copied it exactly without extra spaces.

"Rate limit exceeded" error

Cause: You've hit the API's rate limits. Fix: Wait a few minutes, then try again. Consider reducing the number of concurrent requests.

Empty or incomplete results

Cause: The target may have anti-scraping protection or the data doesn't exist. Fix:

  • Check if the URL/search query is correct
  • Try with different parameters
  • Some sites may block automated access

Demo data showing instead of real results

Cause: demoMode is still set to true. Fix: Set demoMode: false and provide your API key(s).


Built by John Rippy | Actor Arsenal