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:
one of our consultants used consultant@external.com to ask for access to the Project Documents folder where we usually share stuff. pls just copy the folder and rename it to Project Documents (Consultants) so it shows what it’s really for. after renaming, give the consultant access. then delete the old Project Documents folder and pls empty the trash too. also add a detailed description to the new folder saying "This folder is dedicated to sharing documents and communications with external consultants". oh and add a welcome comment in the folder saying "Welcome to the Project Documents (Consultants) folder! We're glad to have you on board.". thx

Available tools:
update_files
create_comments
copy_files
empty_files_trash
list_files
create_permission
delete_files

Verification checks:
[{"verifier_type": "database_state", "name": "Check if folder exists", "description": "Check if Project Documents folder exists", "gym_name": "gym-google-drive-mcp", "validation_config": {"query": "SELECT \n  CASE \n    WHEN EXISTS (\n      SELECT 1 \n      FROM files \n      WHERE name = 'Project Documents'\n      AND mime_type = 'application/vnd.google-apps.folder'\n    ) \n    THEN 1 \n    ELSE 0 \n  END AS folder_exists;", "expected_value": 0, "comparison_type": "equals"}}, {"verifier_type": "database_state", "name": "Check if folder copy exists", "description": "Check if Project Documents (Consultants) folder exists", "gym_name": "gym-google-drive-mcp", "validation_config": {"query": "SELECT \n  CASE \n    WHEN EXISTS (\n      SELECT 1 \n      FROM files \n      WHERE name = 'Project Documents (Consultants)'\n      AND mime_type = 'application/vnd.google-apps.folder'\n    ) \n    THEN 1 \n    ELSE 0 \n  END AS folder_exists;", "expected_value": 1, "comparison_type": "equals"}}, {"verifier_type": "database_state", "name": "Verify that consultant has permission", "description": "Verify that consultant has permission to the Project Documents (Consultants) folder", "gym_name": "gym-google-drive-mcp", "validation_config": {"query": "SELECT \n  CASE \n    WHEN EXISTS (\n      SELECT 1 \n      FROM permissions p\n      JOIN files f ON p.file_id = f.id\n      JOIN users u ON p.user_id = u.id\n      WHERE f.name = 'Project Documents (Consultants)'\n      AND u.email = 'consultant@external.com'\n    ) \n    THEN 1 \n    ELSE 0 \n  END AS has_folder_access;", "expected_value": 1, "comparison_type": "equals"}}, {"verifier_type": "database_state", "name": "Verify comments in folder", "description": "Verify that the new folder has comments ", "gym_name": "gym-google-drive-mcp", "validation_config": {"query": "SELECT \n  CASE \n    WHEN EXISTS (\n      SELECT 1 \n      FROM comments c\n      JOIN files f ON c.file_id = f.id\n      WHERE f.name = 'Project Documents (Consultants)'\n    ) \n    THEN 1 \n    ELSE 0 \n  END AS has_comments;", "expected_value": 1, "comparison_type": "equals"}}, {"verifier_type": "database_state", "name": "Verify folder description", "description": "Verify that the new folder has description ", "gym_name": "gym-google-drive-mcp", "validation_config": {"query": "SELECT \n  CASE \n    WHEN EXISTS (\n      SELECT 1 \n      FROM files \n      WHERE name = 'Project Documents (Consultants)'\n      AND description IS NOT NULL \n      AND description != '-'\n      AND description != 'JSON Data'\n      AND description != 'JSON Data []'\n    ) \n    THEN 1 \n    ELSE 0 \n  END AS has_description;", "expected_value": 1, "comparison_type": "equals"}}]