Back to blog
EngineeringDate unavailable· min read

Building Calendar Intelligence: Recurring Events, Slack Alerts, and Attendance

Phase 2 of Sabine's calendar system adds recurring event support, Slack notifications, attendance tracking, and better provider connection UX—turning basic calendar ingestion into actionable scheduling intelligence.

We just shipped Phase 2 of Sabine's calendar system, and it's a big step toward making calendar data actually useful for AI partnership workflows.

What Changed

The biggest addition is recurring event support. If you have a daily standup or a weekly sync, Sabine now understands that pattern and tracks each occurrence independently. This was harder than it sounds—calendar providers handle recurrence rules differently, and we needed to normalize across Google Calendar, Outlook, and others without losing fidelity.

We also built Slack alerting for calendar changes. When an event gets created, updated, or canceled, Sabine can now notify the right channels in real time. This closes the loop between your calendar and your team's communication layer—no more "did you see that meeting moved?" questions.

The attendance tracking UI gives you visibility into who's confirmed, who declined, and who hasn't responded. For AI-assisted scheduling, this context is critical—Sabine can suggest better times or flag conflicts before they become problems.

Finally, we added provider connection help text. Connecting calendar providers involves OAuth flows that can be confusing, especially when permissions fail or scopes are missing. The new help text walks users through common issues and makes troubleshooting less painful.

Why It Matters

Phase 1 gave us basic calendar ingestion. Phase 2 makes that data actionable. Recurring events mean we're tracking patterns, not just one-off meetings. Slack alerts mean calendar intelligence flows into where teams actually work. Attendance tracking gives Sabine the context to make smarter suggestions.

This is foundational work for AI-assisted scheduling and conflict resolution. You can't build intelligent scheduling without understanding recurrence patterns, and you can't act on calendar insights if they stay locked in a dashboard.

What's Next

Phase 3 will focus on proactive scheduling assistance. We're building conflict detection that suggests alternative times, handles timezone complexity automatically, and respects focus time preferences. The goal is for Sabine to propose meeting times that actually work for everyone—not just find the first available slot.

We're also planning deeper integration with task workflows, so calendar events can trigger project updates or surface in Strug Central when relevant. The calendar shouldn't be a separate system—it should be part of how your AI partner understands your work context.

This phase shipped smooth, but recurring event edge cases are endless. We'll keep tuning as we see how real usage patterns stress the system.