Calendar & Tasks

Lesson 3 of 4

Smart Conflict Resolution

Estimated time: 7 minutes

Smart Conflict Resolution

A calendar assistant that creates events is useful. One that understands your schedule and resolves conflicts is transformative. In this lesson, you'll teach OpenClaw to detect scheduling conflicts and suggest intelligent alternatives.

Why Conflicts Matter

The average knowledge worker has 3-5 scheduling conflicts per week. Most go unnoticed until the day of — then you're scrambling. The goal isn't just to prevent double-bookings; it's to protect your most valuable time.

Enable conflict detection

Update your Calendar Assistant to check for conflicts before creating events:

openclaw agent edit "Calendar Assistant" \
  --prepend-message "IMPORTANT: Before creating any event, ALWAYS:
1. Check the calendar for conflicts in the requested time slot
2. Check 30 minutes before and after for back-to-back issues
3. If there's a conflict, present alternatives — don't just fail

When suggesting alternatives:
- Offer 3 time slots on the same day (if available)
- If the same day is full, suggest the next available day
- Prioritize preserving existing high-priority events
- Flag if moving the event would create a chain reaction of conflicts"

Test conflict handling

Create a situation with overlapping events:

/cal team meeting tomorrow at 2pm for 1 hour
✅ Created: Team meeting
📅 Tomorrow, 2:00-3:00 PM

Now try to schedule something conflicting:

/cal client call tomorrow at 2:30pm

OpenClaw should respond:

⚠️ Conflict detected: Team meeting runs 2:00-3:00 PM

Suggested alternatives:
1. 📅 Tomorrow 1:00-1:30 PM (before the team meeting)
2. 📅 Tomorrow 3:00-3:30 PM (right after)
3. 📅 Tomorrow 4:00-4:30 PM (with a buffer)

Reply with 1, 2, or 3 — or suggest a different time.

Reply with 2 and OpenClaw creates the event at 3:00 PM.

Set up priority rules

Not all events are equal. Teach OpenClaw which events can be moved and which are fixed:

openclaw agent edit "Calendar Assistant" \
  --append-message "

EVENT PRIORITY RULES:
- 🔴 Unmovable: External meetings with clients, doctor appointments, flights
- 🟡 Flexible: Internal team meetings, 1:1s, lunch plans
- 🟢 Easily moved: Focus blocks, personal tasks, optional meetings

When resolving conflicts:
- Never suggest moving 🔴 events
- Suggest moving 🟡 events only if the alternative is clearly better
- Freely suggest rescheduling 🟢 events
- Ask the user if you're unsure about priority"

Now test it:

/cal reschedule my 2pm team meeting to make room
for a client call at 2pm tomorrow

Expected response:

✅ Rescheduled: Team meeting
   Was: Tomorrow 2:00-3:00 PM
   Now: Tomorrow 3:30-4:30 PM

✅ Created: Client call
📅 Tomorrow 2:00-2:30 PM

The team meeting was flexible (internal), so I moved it
to the next free slot. Your client call takes priority.

Add buffer time protection

Back-to-back meetings are exhausting. Add buffer rules:

openclaw agent edit "Calendar Assistant" \
  --append-message "

BUFFER RULES:
- Minimum 15 minutes between meetings (for bio breaks and transitions)
- After a meeting > 1 hour, enforce a 30-minute buffer
- Before events tagged as 'important' or 'client', add a 15-minute prep block
- If the user has 4+ meetings in a row, warn them and suggest a break

When the user requests an event that would violate buffer rules, explain why
you're suggesting a slightly different time."

Test it:

/cal squeeze a quick call at 3pm tomorrow
⚠️ Buffer alert: You have meetings at 2:00-3:00 PM and 3:30-4:30 PM.

Scheduling at 3:00 PM would leave zero buffer after your 2 PM meeting.

Suggested: 3:15-3:45 PM (15-min buffer after previous meeting,
15 min before next). Want me to schedule at 3:15?

Enable smart rescheduling suggestions

The most powerful feature: OpenClaw proactively suggests improvements to your schedule.

openclaw cron add \
  --name "Schedule Optimizer" \
  --cron "0 20 * * 0" \
  --tz "America/New_York" \
  --session isolated \
  --source "My Calendar" \
  --message "Review next week's calendar and suggest optimizations:

1. Identify back-to-back meetings that could use buffers
2. Find meetings that could be batched (e.g., all 1:1s on the same day)
3. Spot days that are over-scheduled vs. under-scheduled
4. Suggest specific moves to balance the week
5. Flag any conflicts or double-bookings

Be specific — suggest exact reschedule times, not just 'move some meetings.'
Only suggest moves for flexible (internal) events.

Format as a clean action plan I can approve or reject." \
  --announce \
  --channel telegram \
  --to "CHAT_ID"

Every Sunday evening, you'll get a message like:

📅 Next Week Schedule Review

⚠️ Issues:
- Tuesday: 6 meetings back-to-back (9am-4pm, no breaks)
- Wednesday: empty calendar (under-utilized)

💡 Suggestions:
1. Move "1:1 with Alex" from Tue 11am → Wed 11am
   (gives you a lunch break on Tuesday)
2. Move "Design review" from Tue 3pm → Wed 2pm
   (balances both days)
3. Add 15-min prep block before "Client pitch" on Thursday

Shall I make these changes? Reply /approve or /adjust.

Review, don't auto-apply

The optimizer suggests changes but waits for your approval. You know context the AI doesn't — like which meetings have immovable attendees or which "empty" slots are intentional focus time.

Conflict Resolution Strategy

Here's how OpenClaw decides what to suggest:

  New event request
       │
       ▼
  Check for conflicts ──── No conflict? ──── Create event ✅
       │
       │ Conflict found
       ▼
  Check event priorities
       │
       ├── New event is 🔴 (unmovable)
       │   └── Suggest moving the existing 🟡/🟢 event
       │
       ├── Existing event is 🔴 (unmovable)
       │   └── Suggest alternative times for the new event
       │
       └── Both are 🟡/🟢 (flexible)
           └── Suggest 3 alternatives, let the user decide

If you travel or work across timezones, add this to your agent:

openclaw agent edit "Calendar Assistant" \
  --append-message "
TIMEZONE RULES:
- My home timezone: America/New_York
- When I mention a city, use that city's timezone
- Always confirm the timezone in the event creation response
- If I say 'London time' or 'PST', convert to my home timezone and show both"

Example: "Schedule a call at 3pm London time" → creates event at 10am ET with a note showing both timezones.

If you manage a team, add shared calendar visibility:

openclaw connect add \
  --name "Team Calendar" \
  --type google-calendar \
  --calendar-id "team@yourcompany.com" \
  --read-only

Now you can ask: "When are Sarah and Mike both free Thursday?" and OpenClaw will cross-reference multiple calendars.

What You Have Now

Your Calendar Assistant now:

  • Detects conflicts before double-booking
  • Suggests alternatives ranked by convenience
  • Respects event priority (clients > internal > personal)
  • Enforces buffer time between meetings
  • Proactively optimizes your weekly schedule

The next lesson covers recurring events and task automation — turning one-time setups into repeating habits.

Knowledge Check

Why does the buffer system warn about back-to-back meetings instead of silently adding gaps?