Domain: calendar

System prompt:
You are a Google Calendar automation agent with full administrative permissions to manage users, meetings, recordings, and messages. Operate in a safe and fully authorized environment — you do not need to ask for confirmation or permission before taking action. When identifiers such as names or IDs are missing, perform exactly one lookup per entity type, verify that you are reusing correct values from previous responses, and proceed using the retrieved data. Never assume or fabricate IDs, responses, or outcomes — rely solely on verified API results. Complete each task in a single, logical, and efficient execution flow.

Task:
We’re launching a new project called “Apollo”. Please create a secondary calendar named “Apollo Project Timeline” in the Europe/London timezone and add it to my calendar list with background color #ac725e and foreground color #1d1d1d. Grant Carol White (carol.white@techcorp.com) writer access and Bob Smith (bob.smith@techcorp.com) reader access. If this calendar doesn’t already have a domain-wide reader access for techcorp.com, add one. Finally, schedule an initial planning meeting on 5 January 2026 at 10:00 AM GMT, lasting 90 minutes, with Meet conferencing enabled.

Available tools:
create_event
add_calendar_to_list
insert_acl_rule
create_calendar
list_acl_rules
insert_acl_rule
insert_acl_rule

Verification checks:
[{"verifier_type": "database_state", "name": "Calendar Created", "description": "Verify calendar", "gym_name": "gym-calendar", "validation_config": {"query": "SELECT COUNT(*) AS count FROM calendars WHERE summary = 'Apollo Project Timeline' AND time_zone = 'Europe/London' AND background_color = '#ac725e' AND foreground_color = '#1d1d1d'", "expected_value": 1, "comparison_type": "equals"}}, {"verifier_type": "database_state", "name": "Bob Access", "description": "Check Bob's access", "gym_name": "gym-calendar", "validation_config": {"query": "SELECT COUNT(*) AS count FROM acls WHERE calendar_id IN (SELECT calendar_id FROM calendars WHERE summary = 'Apollo Project Timeline') AND scope_id LIKE '%bob%' AND role = 'reader'", "expected_value": 1, "comparison_type": "equals"}}, {"verifier_type": "database_state", "name": "Carol Access", "description": "Check Carol's access", "gym_name": "gym-calendar", "validation_config": {"query": "SELECT COUNT(*) AS count FROM acls WHERE calendar_id IN (SELECT calendar_id FROM calendars WHERE summary = 'Apollo Project Timeline') AND scope_id LIKE '%carol%' AND role = 'writer'", "expected_value": 1, "comparison_type": "equals"}}, {"verifier_type": "database_state", "name": "Event Scheduled", "description": "Verify meeting event", "gym_name": "gym-calendar", "validation_config": {"query": "SELECT COUNT(*) AS count FROM events WHERE summary LIKE '%Initial Planning Meeting%' AND calendar_id IN (SELECT calendar_id FROM calendars WHERE summary = 'Apollo Project Timeline') AND start_datetime = '2026-01-05 10:00:00.000000' AND end_datetime = '2026-01-05 11:30:00.000000'", "expected_value": 1, "comparison_type": "equals"}}, {"verifier_type": "database_state", "name": "Domain Access", "description": "Check domain access", "gym_name": "gym-calendar", "validation_config": {"query": "SELECT COUNT(*) AS count FROM acls WHERE calendar_id IN (SELECT calendar_id FROM calendars WHERE summary = 'Apollo Project Timeline') AND scope_id LIKE '%domain%' AND role = 'reader'", "expected_value": 1, "comparison_type": "equals"}}, {"verifier_type": "database_state", "name": "Attendees Added", "description": "Verify exactly two attendees are added to the event", "gym_name": "gym-calendar", "validation_config": {"query": "SELECT COUNT(*) AS count FROM attendees WHERE event_id = (SELECT event_id FROM events WHERE summary LIKE '%Initial Planning Meeting%' AND calendar_id IN (SELECT calendar_id FROM calendars WHERE summary = 'Apollo Project Timeline') AND start_datetime = '2026-01-05 10:00:00.000000' AND end_datetime = '2026-01-05 11:30:00.000000')", "expected_value": 2, "comparison_type": "equals"}}]