Lesson 4 of 4
Schedule Coordination
Estimated time: 5 minutes
Schedule Coordination
The hardest part of family logistics isn't any single event — it's the overlapping ones. Soccer practice at 4pm, piano at 4:30, and two parents who both have meetings until 4:15. In this lesson, you'll build the pickup coordination and reminder system that prevents the "I thought YOU were getting them" disaster.
Prerequisites
The Coordination Problem
Monday 4:00 PM
┌─────────────────────────────────┐
│ Emma: Soccer @ Westfield Park │
│ Jake: Math tutor @ Library │
│ Mom: Meeting until 4:15 │
│ Dad: Meeting until 4:30 │
│ │
│ Who picks up whom? │
│ Who leaves their meeting early?│
│ Does anyone carpool? │
└─────────────────────────────────┘
Add Recurring Activities
First, teach the bot your family's regular schedule. You can do this through config or chat.
You: Emma has soccer Monday and Wednesday 4-5:30pm at Westfield Park
FamilyBot: Added recurring activity:
Emma — Soccer
Mon & Wed, 4:00-5:30 PM
Location: Westfield Park
Needs pickup: Yes (5:30 PM)You: Jake has math tutoring Tuesday 4-5pm at the public library
FamilyBot: Added recurring activity:
Jake — Math Tutoring
Tue, 4:00-5:00 PM
Location: Public Library
Needs pickup: Yes (5:00 PM)One-Time Events Too
For one-off events, just say: "Emma has a birthday party Saturday 2-5pm at 123 Oak Street — needs drop-off and pickup." The bot adds it without making it recurring.
Configure Pickup Assignments
Set up default drivers and let the bot handle conflicts automatically.
coordination:
default_drivers: [Mom, Dad]
assignment_strategy: proximity # or: alternating, fixed
conflict_resolution: ask # or: auto
advance_notice: 60 # minutes before pickup
travel_buffer: 15 # minutes for drive timeOptional: carpools with other familiescarpools:
activity: "Soccer"
partner_family: "The Garcias"
contact: "+1234567800"
pattern: alternating_weeksThe bot assigns pickups based on who's closest to the pickup location at the right time. It checks parent calendar integrations (Google Calendar, Outlook) to estimate locations.
FamilyBot: [Monday 3:00 PM] Pickup assignments for today:4:00 PM — Jake from Library
→ Dad (your 3:30 meeting ends at office,
8 min from Library)5:30 PM — Emma from Soccer
→ Mom (home by then, 12 min from Westfield Park)Reply "swap" to switch, or "confirm" to lock in.Set Up Smart Reminders
Reminders go to the right person at the right time — not a blast to everyone.
reminders:
pickup:
trigger: 60_min_before # "Reminder: pick up Emma at 5:30"
target: assigned_driver
trigger: 15_min_before # "Leave now for Westfield Park"
target: assigned_driver
trigger: at_time # "Emma should be ready now"
target: child
homework:
trigger: "7:00 PM" # Daily homework reminder
target: children
days: [mon, tue, wed, thu]
message: "Homework check — anything due tomorrow?"
bedtime:
trigger: "8:30 PM"
target: [Emma, Jake]
message: "30 minutes to bedtime — start winding down!"[3:30 PM → Dad's DM]
FamilyBot: Heads up — you're picking up Jake from the Library
at 4:00 PM. Leave by 3:45 to arrive on time.[5:15 PM → Mom's DM]
FamilyBot: Time to head out! Emma's soccer ends at 5:30 PM
at Westfield Park. ~12 min drive.[5:30 PM → Family group]
FamilyBot: Emma, Mom's on her way! ETA 5:42 PM.Handle Schedule Conflicts
When things overlap, the bot flags it early so you can resolve it before it's a crisis.
[Sunday evening — weekly preview]
FamilyBot: Schedule preview for this week:⚠️ CONFLICT — Wednesday 4:00 PM
Emma: Soccer pickup at 5:30 PM (Westfield Park)
Jake: Dentist appointment at 4:00 PM (needs ride)
Mom: Client call 3:30-5:00 PM
Dad: AvailableSuggested plan:
→ Dad takes Jake to dentist at 3:45
→ Dad picks up Emma from soccer at 5:30Reply "approve" or suggest changes.Dad: Approve
FamilyBot: Wednesday plan locked in. Reminders set for Dad.Calendar Integration Required
Conflict detection works best when parent calendars are connected. Without calendar data, the bot can only check against activities you've explicitly added — it won't know about work meetings.
To give the bot visibility into parent schedules:
- In OpenClaw Dashboard > Integrations > Google Calendar
- Authenticate with each parent's Google account
- Select which calendars to share (work, personal, etc.)
- The bot reads events as "busy/free" — it does not see event details unless you grant full access
openclaw integrations add google-calendar --user Mom --read-onlyThe bot only needs free/busy data to make smart pickup assignments. It never modifies your calendar.
For urgent situations (like a flat tire on the way to pickup), configure a fallback chain:
emergency:
chain: [Mom, Dad, "Grandma (555-0123)", "Garcia family (555-0456)"]
trigger: "can't make pickup"
message_template: |
can't pick up from at .
Can you help? Reply YES to accept.When a parent texts "I can't make Emma's pickup," the bot works down the chain until someone confirms.
Calendar Integration Guide
Full setup guide for Google Calendar, Outlook, and Apple Calendar integrations with OpenClaw.
https://docs.openclaw.ai/integrations/calendars
When should the bot send the first pickup reminder to the assigned driver?
Advanced Message Routing Across Channels
# Routing Like a Pro with OpenClaw Multi-channel routing is the backbone of a sophisticated AI agent infrastructure. It allows you to direct information flow based on origin, sender, and content, ens...