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:
Deny external.user@partner.com’s request for access to the technical spec.PDF. Add a comment that says  'Sarah, please review the technical spec PDF to spot errors.' Grant sarah.johnson@company.com editor access. Update the document description to: 'This is the technical specification of the team.' Keep actions clear and aligned with our access and review workflow.

Available tools:
create_permission
resolve_accessproposals
list_accessproposals
list_files
create_comments
update_files

Verification checks:
[{"verifier_type": "database_state", "name": "Verify we have file", "description": "Verify that technical spec pdf file 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 = 'Technical Spec.pdf'\n    ) \n    THEN 1 \n    ELSE 0 \n  END AS file_exists;", "expected_value": 1, "comparison_type": "equals"}}, {"verifier_type": "database_state", "name": "Verify that access request is granted", "description": "Verify if the request to access technical spec is granted", "gym_name": "gym-google-drive-mcp", "validation_config": {"query": "SELECT \n  CASE \n    WHEN EXISTS (\n      SELECT 1 \n      FROM access_proposals \n      WHERE requester_email = 'external.user@partner.com'\n      AND status = 'denied'\n    ) \n    THEN 1 \n    ELSE 0 \n  END AS access_request_denied;", "expected_value": 1, "comparison_type": "equals"}}, {"verifier_type": "database_state", "name": "Verify that comment exists", "description": "Verify that a comment exist for Sarah", "gym_name": "gym-google-drive-mcp", "validation_config": {"query": "SELECT \n  CASE \n    WHEN EXISTS (\n      SELECT 1 \n      FROM comments \n      WHERE content = 'Sarah, please review the technical spec PDF to spot errors.'\n    ) \n    THEN 1 \n    ELSE 0 \n  END AS comment_exists;", "expected_value": 1, "comparison_type": "equals"}}, {"verifier_type": "database_state", "name": "Verify that file has description", "description": "Verify that the technical spec file 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 = 'Technical Spec.pdf'\n      AND description = 'This is the technical specification of the team.'\n    ) \n    THEN 1 \n    ELSE 0\n  END AS description_exists;", "expected_value": 1, "comparison_type": "equals"}}, {"verifier_type": "database_state", "name": "Sarah has permission to technical spec", "description": "Verify Sarah has permission to technical spec", "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 = 'Technical Spec.pdf'\n        AND u.email = 'sarah.johnson@company.com'\n    ) \n    THEN 1 \n    ELSE 0 \n  END AS sarah_has_permission_to_technical_spec;", "expected_value": 1, "comparison_type": "equals"}}]