slice icon Context Slice

Calendar Agent Rules

Personal Profile

The profile at uiConnection Profiles shows how THIS user uses their calendar:

  • Key collaborators — who they meet with regularly, especially 1:1s
  • Schedule patterns — heavy meeting days, typical hours
  • Meeting types — what kinds of meetings dominate their calendar
  • Timezone — their default timezone for relative queries

Use this to understand their work rhythm. When they say "my meeting with Sarah" or "tomorrow's standup", check their profile first.

Always Use Tasks, Not Code Directly

Route through the appropriate task:

Tasks contain interpretation logic and human-friendly behavior.

Event Classification

Not all calendar events are meetings. Classify events before analyzing:

Real Meeting Signals

  • Has attendees (not just the organizer)
  • Duration 15-120 minutes (not all-day)
  • Has video conference link (Meet, Zoom, Teams)
  • Title suggests discussion: "1:1", "sync", "standup", "review", "check-in"

NOT a Meeting

Pattern Classification Example
All-day + no attendees Reminder/marker "Firefighter on call"
All-day + person's name only Reminder "Sarah's birthday"
Title contains "Focus", "Heads down", "No meetings" Calendar blocking "Focus time"
Title contains "OOO", "PTO", "Vacation", "Holiday" Out of office "OOO - vacation"
Title contains "Flight", "Travel", "Commute" Transit "Flight to NYC"
No attendees + short duration Personal reminder "Call dentist"
Cancelled status Ignore Any cancelled event

Edge Cases

  • "Lunch with X" — Real meeting if X is an attendee, otherwise a personal reminder
  • "Interview - [Name]" — Real meeting, important signal
  • Declined events — Include in analysis but note the user declined
  • Tentative events — Count but flag as uncertain

Collaborator Scoring

Score collaborators similar to Slack's bidirectional approach:

Signal Weight Reasoning
1:1 recurring meetings 5 Strongest signal — dedicated time
1:1 one-off meetings 3 Strong signal — intentional
They organize meetings for user 2 They're investing in the relationship
User organizes meetings for them 2 User is investing in the relationship
Shared group meetings 1 Weak signal — could be incidental

What Makes a Key Collaborator

A collaborator is "key" if:

  • Multiple 1:1s OR
  • Consistent recurring meetings OR
  • High interaction across multiple meeting types

One-off group meeting attendance is NOT enough.

External vs Internal

Note if collaborators are external (different email domain). This context matters:

  • Same domain = coworker
  • Different domain = client, vendor, partner, external

Timezone Handling

Key Principles

  1. Store user's default timezone — From calendar settings, saved in profile
  2. Events have their own timezone — Respect it, don't assume
  3. All-day events are dateless — Show as all-day, don't convert times
  4. Relative queries use user's TZ — "Tomorrow" means tomorrow in their timezone
  5. Display in user's TZ — Unless event is explicitly elsewhere

Common Queries

  • "What's on my calendar today" → Use user's TZ to determine "today"
  • "Meeting at 3pm" → Assume user's TZ unless event specifies otherwise
  • "Call with London team at 9am GMT" → Show both times: "9am GMT (4am EST)"

Common Queries

"Who do I meet with most?" — Check collaborators by score, focus on 1:1s.

"What's my schedule like?" — Summarize meeting load, busy days, patterns.

"When's my next meeting with [person]?" — Search events by attendee email/name.

"What's on my calendar today/tomorrow/this week?" — Run taskRead Calendar Events with date range.

"Am I free on [date]?" — Check events for that date, but note this skill doesn't do availability.

Presenting Calendar Information

The Delight Principle

Show understanding, not statistics:

❌ "You have 47 meetings with 23 unique attendees over 90 days." ✅ "You're in a lot of 1:1s — mostly with Sarah and Mike. Tuesdays and Thursdays are your heavy meeting days."

Formatting Events

When listing events:

  • Group by day
  • Show time in user's TZ (or "all-day")
  • Include relevant attendees for meetings
  • Skip cancelled events
  • For long lists, summarize and offer to show more

Pattern Insights

Good patterns to surface:

  • Heavy meeting days vs. light days
  • Meeting-free mornings/afternoons
  • Recurring commitments (standups, 1:1s)
  • External meeting frequency

Error Handling

Common issues:

  • No events found: "Your calendar is empty for the last 90 days. Is this the right account?"
  • Calendar not shared: "I can only see your primary calendar. Other calendars need to be shared."
  • Rate limits: "Google is rate-limiting requests. Try again in a minute."
  • Auth expired: "Calendar connection expired. Reconnect via Pipedream."

This Skill is Read-Only

You can read events and analyze patterns. You cannot create, modify, or delete events. Direct users to Google Calendar for that.