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. For any tool that supports the 'supportsAllDrives' key, you must include it in the tool request body and set its value to true. A user must have the right privilege to carry out a change on any resource.

Task:
Sarah Johnson needs to create a Q2 campaign template from the 'Marketing Presentation' for the team. Make a copy with filename 'Marketing Presentation - Q2 Template.pptx' and include template file metadata with template_version(1.0) and quarter(Q2_2024). The Marketing Team (marketing@company.com) requires writer access for collaborative Q2 content development. Grant the external consultant (consultant@external.com) commenting privileges for strategic feedback. Document the template purpose with a comment stating "Q2 Campaign Template - customizable framework for quarterly marketing initiatives. Marketing Team has full editing access. External consultant feedback welcome via comments. Finalize content before broader distribution."

Available tools:
list_permission
create_comments
create_permission
copy_files
list_files
update_files

Verification checks:
[{"verifier_type": "database_state", "name": "Q2 Template Copy Created with Metadata", "description": "Q2 Template Copy Created with Metadata", "gym_name": "gym-google-drive-mcp", "validation_config": {"query": "WITH template_copy AS (\n  SELECT\n    id,\n    name,\n    app_properties,\n    created_time\n  FROM files\n  WHERE name = 'Marketing Presentation - Q2 Template.pptx'\n    AND mime_type = 'application/vnd.google-apps.presentation'\n    AND trashed = 0\n)\nSELECT COUNT(*) AS cnt\nFROM template_copy\nWHERE json_extract(app_properties, '$.template_version') = '1.0'\n  AND json_extract(app_properties, '$.quarter') = 'Q2_2024'\n  AND created_time > '2024-12-01 00:00:00';", "expected_value": 1, "comparison_type": "equals"}}, {"verifier_type": "database_state", "name": "Marketing Team Has Writer Access", "description": "Marketing Team Has Writer Access", "gym_name": "gym-google-drive-mcp", "validation_config": {"query": "WITH template_file AS (\n  SELECT id\n  FROM files\n  WHERE name = 'Marketing Presentation - Q2 Template.pptx'\n    AND trashed = 0\n),\nmarketing_group AS (\n  SELECT id\n  FROM groups\n  WHERE email = 'marketing@company.com'\n)\nSELECT COUNT(*) AS cnt\nFROM permissions p\nINNER JOIN template_file tf ON tf.id = p.file_id\nINNER JOIN marketing_group mg ON mg.id = p.group_id\nWHERE p.role = 'writer'\n  AND p.type = 'group'\n  AND p.deleted = 0;", "expected_value": 1, "comparison_type": "equals"}}, {"verifier_type": "database_state", "name": "External Consultant Has Commenter Access", "description": "External Consultant Has Commenter Access", "gym_name": "gym-google-drive-mcp", "validation_config": {"query": "WITH template_file AS (\n  SELECT id\n  FROM files\n  WHERE name = 'Marketing Presentation - Q2 Template.pptx'\n    AND trashed = 0\n),\nconsultant_user AS (\n  SELECT id\n  FROM users\n  WHERE email = 'consultant@external.com'\n)\nSELECT COUNT(*) AS cnt\nFROM permissions p\nINNER JOIN template_file tf ON tf.id = p.file_id\nINNER JOIN consultant_user cu ON cu.id = p.user_id\nWHERE p.role = 'commenter'\n  AND p.type = 'user'\n  AND p.deleted = 0;", "expected_value": 1, "comparison_type": "equals"}}, {"verifier_type": "database_state", "name": "Template Usage Guidelines Documented", "description": "Template Usage Guidelines Documented", "gym_name": "gym-google-drive-mcp", "validation_config": {"query": "WITH template_file AS (\n  SELECT id\n  FROM files\n  WHERE name = 'Marketing Presentation - Q2 Template.pptx'\n    AND trashed = 0\n)\nSELECT COUNT(*) AS cnt\nFROM comments c\nINNER JOIN template_file tf ON tf.id = c.file_id\nWHERE c.deleted = 0\n  AND LOWER(c.content) LIKE '%q2 campaign template%'\n  AND LOWER(c.content) LIKE '%customizable framework%'\n  AND LOWER(c.content) LIKE '%marketing team has full editing access%';", "expected_value": 1, "comparison_type": "equals"}}]