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:
Hi, I was drunk yesterday, but I had to send a new message to carol@university.edu with the subject "My university trip". Please check if I have sent it or not. If I didn't send this message for me. The text body should be "Hi, forgot to message you yesterday, please call me" with a subject "My university trip". Then label this new message with label "University Staff" colored white. If I don't have this label create it first. Thank you!

Available tools:
list_labels
create_label
send_message
list_messages

Verification checks:
[{"verifier_type": "database_state", "name": "Check that new label is created correctly", "description": "Check that new label is created correctly", "gym_name": "gym-email-mcp", "validation_config": {"query": "select count(*) from labels where user_id = 'user_001' and name = 'University Staff' and color_json->>'backgroundColor' = '#ffffff'", "expected_value": 1, "comparison_type": "equals"}}, {"verifier_type": "database_state", "name": "Check that the new message is sent and has a new label", "description": "Check that the new message is sent and has a new label", "gym_name": "gym-email-mcp", "validation_config": {"query": "select count(*) from messages m join message_labels ml on ml.message_id = m.id join labels l on l.id = ml.label_id where m.snippet = 'My university trip' and m.user_id =  'user_001' and l.name = 'University Staff'", "expected_value": 1, "comparison_type": "equals"}}, {"verifier_type": "database_state", "name": "Check that the message is sent to the carol@university.edu with the subject \"My university trip\"", "description": "Check that the message is sent to the carol@university.edu with the subject \"My university trip\"", "gym_name": "gym-email-mcp", "validation_config": {"query": "select count(*) from messages m join message_parts mp on m.id = mp.message_id join message_headers mh on mh.message_part_id = mp.id where mh.name = 'To' and mh.value = 'carol@university.edu' or mh.name = 'Subject' and mh.value = 'My university trip'", "expected_value": 2, "comparison_type": "equals"}}]