Domain: email

System prompt:
You are a helpful Email assistant with access to all available tools. 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:
Hey, can you check my vacation auto-reply? Is it active? If it is not, turn on my vacation auto-reply from Dec 20, 2025 at 9:00 AM to Jan 3, 2026 at 6:00 PM? 
Subject: “Out of office - On holiday”
Message: “Hi, I’m on holiday during this period and will have limited access to email. I’ll reply when I’m back. For urgent matters, please contact Alex at alex@example.com.”
Please send it to everyone (not just contacts) and automatically turn it off at the end time. Thanks!
After you turn it on, create a new draft with the same content, just directed to me. I think I have already created it before, but I couldn't find it. Please check first, if such a draft exists, no need to create new.

Available tools:
create_draft
get_vacation_settings
list_drafts
update_vacation_settings

Verification checks:
[{"verifier_type": "database_state", "name": "Check that the vacation settings are enabled and set correctly", "description": "Check that the vacation settings are enabled and set correctly", "gym_name": "gym-email-mcp", "validation_config": {"query": "select count(*) from vacation_settings where user_id = 'user_001' and enable_auto_reply = 1 and response_subject = 'Out of office - On holiday' and response_body_plain_text like 'Hi, I%m on holiday during this period and will have limited access to email. I%ll reply when I%m back. For urgent matters, please contact Alex at alex@example.com.' and restrict_to_contacts = 0 and restrict_to_domain = 0", "expected_value": 1, "comparison_type": "equals"}}, {"verifier_type": "database_state", "name": "Check that the draft is created and send as requested", "description": "Check that the draft is created and send as requested", "gym_name": "gym-email-mcp", "validation_config": {"query": "select count(*) from messages m join drafts d on d.message_id = m.id join message_parts mp on mp.message_id = m.id join message_headers mh on mh.message_part_id = mp.id where m.user_id = 'user_001' and m.snippet = 'Out of office - On holiday' and (mh.name = 'Subject' and mh.value = 'Out of office - On holiday' or mh.name = 'To' and mh.value = 'alice@example.com' or mh.name = 'From' and mh.value = 'alice@example.com')", "expected_value": 3, "comparison_type": "equals"}}, {"verifier_type": "database_state", "name": "Check that the vacation settings are enabled and set correctly", "description": "Check that the vacation settings are enabled and set correctly", "gym_name": "gym-email-mcp", "validation_config": {"query": "select count(*) from vacation_settings where user_id = 'user_001' and enable_auto_reply = 1 and response_subject = 'Out of office - On holiday' and response_body_plain_text like 'Hi, I%m on holiday during this period and will have limited access to email. I%ll reply when I%m back. For urgent matters, please contact Alex at alex@example.com.' and restrict_to_contacts = 0 and restrict_to_domain = 0", "expected_value": 1, "comparison_type": "equals"}}, {"verifier_type": "database_state", "name": "Check that the draft is created and send as requested", "description": "Check that the draft is created and send as requested", "gym_name": "gym-email-mcp", "validation_config": {"query": "select count(*) from messages m join drafts d on d.message_id = m.id join message_parts mp on mp.message_id = m.id join message_headers mh on mh.message_part_id = mp.id where m.user_id = 'user_001' and m.snippet = 'Out of office - On holiday' and (mh.name = 'Subject' and mh.value = 'Out of office - On holiday' or mh.name = 'To' and mh.value = 'alice@example.com' or mh.name = 'From' and mh.value = 'alice@example.com')", "expected_value": 3, "comparison_type": "equals"}}]