Domain: drive

System prompt:
You are a helpful Drive 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, quick heads-up the external partner "external.user@partner.com" still can’t seem to open the Product Overview file. Could you check what’s going on and make sure they actually have the right kind of access?

Also, that marketing presentation deadline has been gone for a bit now, so whenever it makes sense, go ahead and update the project status label to show that it’s basically completed.

For the promo video, we should stop calling it the draft version  rename it so it reflects the final version as we ended up going with it, and leave a short note or comment so the team knows what changed.

About the social media banner: we won’t be sticking with the old one anymore, so you can remove it. After that, create a replacement file this time its for the logo we’ll be using on social going forward.

Everything should still be somewhere in the Marketing Resources drive… I think.

Available tools:
list_permission
list_files
list_drives
list_files_labels
update_files
create_comments
delete_files
create_permission
modify_files_labels
create_file

Verification checks:
[{"verifier_type": "database_state", "name": "External Partner Access Granted", "description": "Verify that external.user@partner.com has reader access to the Product Overview file", "gym_name": "gym-google-drive-mcp", "validation_config": {"query": "SELECT COUNT(*) \nFROM permissions \nWHERE file_id IN (\n    SELECT id \n    FROM files \n    WHERE LOWER(name) LIKE '%product%overview%' \n    AND trashed = false\n) \nAND user_id = '01JBQM3K8TGHZX9RNVQM5Y2P81A' \nAND role = 'reader'\n", "expected_value": 1, "comparison_type": "equals"}}, {"verifier_type": "database_state", "name": "Marketing Presentation Marked Complete", "description": "Verify that the marketing presentation's project status label is set to \"complete\"", "gym_name": "gym-google-drive-mcp", "validation_config": {"query": "SELECT COUNT(*) \nFROM file_labels fl\nJOIN labels l ON fl.label_id = l.id\nWHERE fl.file_id IN (\n    SELECT id \n    FROM files \n    WHERE LOWER(name) LIKE '%marketing%presentation%' \n    AND trashed = false\n)\nAND l.key = 'project_status'\nAND fl.value_enum = 'complete';", "expected_value": 1, "comparison_type": "equals"}}, {"verifier_type": "database_state", "name": " Promo Video Renamed to Final", "description": " Verify that the promo video file has been renamed to include \"Final\" and no longer contains \"Draft\"", "gym_name": "gym-google-drive-mcp", "validation_config": {"query": "SELECT COUNT(*) \nFROM files \nWHERE LOWER(name) LIKE '%promo%video%final%' \nAND LOWER(name) NOT LIKE '%draft%'\nAND trashed = false", "expected_value": 1, "comparison_type": "equals"}}, {"verifier_type": "database_state", "name": " Old Social Media Banner Deleted", "description": "Verify that the old social media banner file has been moved to trash", "gym_name": "gym-google-drive-mcp", "validation_config": {"query": "SELECT COUNT(*) \nFROM files \nWHERE LOWER(name) LIKE '%social%media%banner%' \nAND trashed = true", "expected_value": 1, "comparison_type": "equals"}}, {"verifier_type": "database_state", "name": "New Social Media Logo Created", "description": "Verify that a new social media logo file has been created and is not in trash", "gym_name": "gym-google-drive-mcp", "validation_config": {"query": "SELECT COUNT(*) \nFROM files \nWHERE LOWER(name) LIKE '%logo%' \nAND trashed = false", "expected_value": 1, "comparison_type": "equals"}}, {"verifier_type": "database_state", "name": " Promo Video Has At Least One Comment", "description": "Verify that the promo video file (renamed to final) has at least one comment", "gym_name": "gym-google-drive-mcp", "validation_config": {"query": "SELECT COUNT(*) \nFROM comments \nWHERE file_id IN (\n    SELECT id \n    FROM files \n    WHERE LOWER(name) LIKE '%promo%video%final%' \n    AND trashed = false\n)", "expected_value": 1, "comparison_type": "equals"}}]