Domain: calendar

System prompt:
You are a Google Calendar automation agent with full admin rights to manage users, calendars, and events. Work in a secure, trusted environment and execute actions without asking for confirmation. Always verify users or calendar details with a single lookup before acting. Use accurate data only, never make assumptions. Follow a logical flow: verify users, create calendars, manage sharing, check availability, and schedule or update events in line with the existing database structure.

Task:
Please clean up my calendars. On the Alice Johnson calendar, keep my owner access and share it with Bob Smith (bob.smith@techcorp.com) as a reader and Carol White (carol.white@techcorp.com) as a writer, sending them notifications, then hide that calendar from my list. Repurpose the current Team Coordination calendar into a new 'Project Q1' calendar by renaming it, switching its timezone to GMT, and applying background '#9fc6e7' with foreground '#1d1d1d'. Finally, add a 'Team Sync' meeting on Project Q1 for 12 December 2025 from 9:00 PM to 10:00 PM India Standard Time, invite Bob and Carol, match the event colors to the calendar palette, and add a 30-minute pop-up reminder.

Available tools:
create_event
list_acl_rules
update_calendar
update_calendar_in_list
get_colors
insert_acl_rule
get_user_by_email
get_calendar_list
get_calendar_from_list

Verification checks:
[{"verifier_type": "database_state", "name": "Alice calendar hidden", "description": "Verify Alice's calendar is hidden after sharing", "gym_name": "gym-calendar", "validation_config": {"query": "SELECT COUNT(*) FROM calendars WHERE calendar_id = 'alice-primary' AND hidden = 1;", "expected_value": 1, "comparison_type": "equals"}}, {"verifier_type": "database_state", "name": "Bob added as reader on Alice calendar", "description": "Ensure Bob Smith now has reader access on Alice's primary calendar", "gym_name": "gym-calendar", "validation_config": {"query": "SELECT COUNT(*) FROM acls WHERE calendar_id = 'alice-primary' AND scope_id = 'scope-bob' AND role = 'reader';", "expected_value": 1, "comparison_type": "equals"}}, {"verifier_type": "database_state", "name": "Carol added as writer on Alice calendar", "description": "Ensure Carol White now has writer access on Alice's primary calendar", "gym_name": "gym-calendar", "validation_config": {"query": "SELECT COUNT(*) FROM acls WHERE calendar_id = 'alice-primary' AND scope_id = 'scope-carol' AND role = 'writer';", "expected_value": 1, "comparison_type": "equals"}}, {"verifier_type": "database_state", "name": "Alice calendar ACL count", "description": "Confirm only three ACLs remain on Alice's calendar (owner + Bob + Carol)", "gym_name": "gym-calendar", "validation_config": {"query": "SELECT COUNT(*) FROM acls WHERE calendar_id = 'alice-primary';", "expected_value": 3, "comparison_type": "equals"}}, {"verifier_type": "database_state", "name": "Team Coordination renamed to Project Q1", "description": "Confirm the former Team Coordination calendar now matches the requested name, timezone, and colors", "gym_name": "gym-calendar", "validation_config": {"query": "SELECT COUNT(*) FROM calendars WHERE calendar_id = 'alice-team' AND summary = 'Project Q1' AND time_zone = 'GMT' AND background_color = '#9fc6e7' AND foreground_color = '#1d1d1d';", "expected_value": 1, "comparison_type": "equals"}}, {"verifier_type": "database_state", "name": "Team Sync event scheduled", "description": "Ensure the Team Sync meeting was created on the renamed calendar at the requested time", "gym_name": "gym-calendar", "validation_config": {"query": "SELECT COUNT(*) FROM events WHERE calendar_id = 'alice-team' AND summary = 'Team Sync' AND start_datetime = '2025-12-12T15:30:00+00:00' AND end_datetime = '2025-12-12T16:30:00+00:00' AND start_timezone = 'Asia/Kolkata' AND end_timezone = 'Asia/Kolkata';", "expected_value": 1, "comparison_type": "equals"}}, {"verifier_type": "database_state", "name": "Team Sync attendees", "description": "Verify Bob and Carol are invited to Team Sync", "gym_name": "gym-calendar", "validation_config": {"query": "SELECT COUNT(*) FROM attendees a JOIN events e ON a.event_id = e.event_id WHERE e.calendar_id = 'alice-team' AND e.summary = 'Team Sync' AND a.user_id IN ('bob_developer','carol_designer');", "expected_value": 2, "comparison_type": "equals"}}, {"verifier_type": "database_state", "name": "Team Sync reminder configured", "description": "Confirm the Team Sync event has a 30-minute pop-up reminder", "gym_name": "gym-calendar", "validation_config": {"query": "SELECT COUNT(*) FROM reminders r JOIN events e ON r.event_id = e.event_id WHERE e.calendar_id = 'alice-team' AND e.summary = 'Team Sync' AND r.method = 'popup' AND r.minutes = 30;", "expected_value": 1, "comparison_type": "equals"}}, {"verifier_type": "database_state", "name": "Team Sync colors match", "description": "Ensure the Team Sync event uses the requested color palette", "gym_name": "gym-calendar", "validation_config": {"query": "SELECT COUNT(*) FROM events e JOIN colors c ON e.color_id = c.id WHERE e.calendar_id = 'alice-team' AND e.summary = 'Team Sync' AND c.background = '#9fc6e7' AND c.foreground = '#1d1d1d';", "expected_value": 1, "comparison_type": "equals"}}]