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:
I don't want to read any of the messages coming from manager@company.com. Could you please create a label "Black List" colored black, if it does not exist. Apply this label to all messages from manager@company.com. And make a rule, so that any future message from manager@company.com without attachments, chat excluded, size 0, size comparison unspecified, with no negated query specified by '-', and all other required criteria specified by '*' should be labeled as "Black List". Thank you!

Available tools:
create_filter
batch_modify_messages
create_label
list_messages
list_labels

Verification checks:
[{"verifier_type": "database_state", "name": "Check that old message have a new label Black List", "description": "Check that old message have a new label Black List", "gym_name": "gym-email-mcp", "validation_config": {"query": "select count(*) from labels l join message_labels ml on l.id = ml.label_id where ml.message_id = 'msg_001' and l.name = 'Black List' and l.user_id = 'user_001'", "expected_value": 1, "comparison_type": "equals"}}, {"verifier_type": "database_state", "name": "Check that a new label is created with correct name and color", "description": "Check that a new label is created with correct name and color", "gym_name": "gym-email-mcp", "validation_config": {"query": "select count(*) from labels where user_id = 'user_001' and name = 'Black List' and color_json->>'backgroundColor' = '#000000'", "expected_value": 1, "comparison_type": "equals"}}, {"verifier_type": "database_state", "name": "Check taht a new filter is created with correct rules", "description": "Check taht a new filter is created with correct rules", "gym_name": "gym-email-mcp", "validation_config": {"query": "SELECT COUNT(*) AS cnt\nFROM filters f\nWHERE json_extract(f.criteria_json, '$.from') = 'manager@company.com'\n  AND EXISTS (\n      SELECT 1\n      FROM json_each(f.action_json, '$.addLabelIds') AS j\n      JOIN labels l\n        ON l.id = j.value\n      WHERE l.name = 'Black List'\n  )", "expected_value": 1, "comparison_type": "equals"}}]