{"task": {"agent_timeout": 600, "task": "crmarena_0519_case_routing", "verifier_timeout": 120, "instruction": "# CRM Assistant Task\n\nYou are an expert Salesforce CRM assistant helping an internal user (i.e., an employee of the same company). Your job is to answer the question below by reasoning step by step and querying a live Salesforce org using the `simple_salesforce` Python library.\n\n## Approach\n\nThink step by step:\n1. Identify which Salesforce objects and fields are relevant to the question\n2. Write and execute SOQL/SOSL queries to retrieve the data you need\n3. Inspect the results, refine your queries if needed\n4. Write the final answer to `/app/answer.txt`\n\n## Salesforce Access\n\nConnect using the credentials provided as environment variables:\n\n```python\nimport os\nfrom simple_salesforce import Salesforce\n\nsf = Salesforce(\n    username=os.environ[\"SF_USERNAME\"],\n    password=os.environ[\"SF_PASSWORD\"],\n    security_token=os.environ.get(\"SF_SECURITY_TOKEN\", \"\"),\n    domain=os.environ.get(\"SF_DOMAIN\", \"login\"),\n)\n```\n\nUse SOQL for structured queries and SOSL for full-text search:\n\n```python\n# SOQL \u2014 structured query\nresult = sf.query_all(\"SELECT Id, Subject FROM Case WHERE Status = 'Open'\")\nrecords = result[\"records\"]\n\n# SOSL \u2014 full-text search across objects\nresult = sf.search(\"FIND {Smith} IN NAME FIELDS RETURNING Contact(Id, FirstName, LastName)\")\nrecords = result[\"searchRecords\"]\n```\n\n## Available Salesforce Objects\n\nThe org contains these 16 objects (key fields listed):\n\n| Object | Key fields |\n|---|---|\n| `User` | Id, Alias, FirstName, LastName, Email, Phone |\n| `Account` | Id, FirstName, LastName, PersonEmail, Phone, ShippingCity, ShippingState, RecordTypeId |\n| `Contact` | Id, FirstName, LastName, Email, AccountId, OwnerId |\n| `Case` | Id, Subject, Description, Status, Priority, ContactId, AccountId, CreatedDate, ClosedDate, OwnerId, IssueId__c, OrderItemId__c |\n| `Knowledge__kav` | Id, Title, Summary, FAQ_Answer__c, UrlName |\n| `ProductCategory` | Id, Name, CatalogId |\n| `Product2` | Id, Name, Description, IsActive, External_ID__c |\n| `ProductCategoryProduct` | Id, ProductCategoryId, ProductId |\n| `Pricebook2` | Id, Name, Description, IsActive, ValidFrom, ValidTo |\n| `PricebookEntry` | Id, Pricebook2Id, Product2Id, UnitPrice |\n| `Order` | Id, AccountId, Pricebook2Id, Status, EffectiveDate |\n| `OrderItem` | Id, OrderId, Product2Id, PricebookEntryId, Quantity, UnitPrice |\n| `EmailMessage` | Id, Subject, TextBody, FromAddress, MessageDate, ParentId, ToIds |\n| `LiveChatTranscript` | Id, Body, AccountId, ContactId, CaseId, OwnerId, EndTime, LiveChatVisitorId |\n| `Issue__c` | Id, Name |\n| `CaseHistory__c` | Id, CaseId__c, Field__c (one of: 'Case Creation', 'Owner Assignment', 'Case Closed'), NewValue__c, OldValue__c, CreatedDate |\n\n## Task-Specific Instructions\n\n## Case Routing Policy\nThe case routing policy determines the best agent to assign the given new case based on the following criteria\n- Issue Expertise: The agent who has closed the most cases associated with the issue most similar to the given case.\n- Product Expertise: If there is a tie in issue expertise, the best agent is the one who has solved the most cases associated with the product most relevant to the given case.\n- Workload: If there is still a tie, the best agent is the one that has least cases with Status not 'Closed'.\n\n## Additional Context\n\n# Domain Details\n## Quarters of the Year\n- Q1: January 1 to March 31 (both inclusive).\n- Q2: April 1 to June 30 (both inclusive).\n- Q3: July 1 to September 30 (both inclusive).\n- Q4: October 1 to December 31 (both inclusive).\n## Seasons\n- Winter: December 1 to February 28/29 (both inclusive).\n- Spring: March 1 to May 31 (both inclusive).\n- Summer: June 1 to August 31 (both inclusive).\n- Autumn/Fall: September 1 to November 30 (both inclusive).\n## Time Periods\n- Past 2 quarters: This refers to any timeframe spanning two quarters back from a specified `end_date`. That translates to a six-month period retrospectively from the `end_date`.\n- Issue Significantly More Than Other Months: This means there is a month where the number of cases reported are larger than all other months.\n\n## Question\n\nUse the case routing policy to determine the most suitable agent for the given case. Return only the Id of the agent.\n## Given Case\n- Case Subject: Size Mismatch Complaint for Zen Bamboo Yoga Blocks\n- Case Description: I recently purchased the Zen Bamboo Yoga Blocks and found that the actual size does not match what was provided on the website's size chart. This size mismatch is causing issues with my yoga practice, making it difficult to use the blocks effectively. Please rectify this situation or provide a replacement that matches the advertised dimensions.\n\n## Output Requirements\n\nWrite your final answer to `/app/answer.txt`:\n- Single value: write it directly (e.g., `Agent A`)\n- Multiple values: comma-separated (e.g., `Agent A, Agent B, Agent C`)\n- No results: write `None`\n- Answer only \u2014 no explanations, no sentences, no punctuation beyond commas\n\n```python\nfrom pathlib import Path\nPath(\"/app/answer.txt\").write_text(\"your answer here\")\n```\n", "memory": "2048m", "runnable": false, "difficulty": "medium", "language": "", "cpus": 1, "instruction_truncated": false, "category": "crm", "compose": false, "has_solution": true, "oracle": null, "docker_image": "", "taskset": "crmarena", "tags": ["crm", "salesforce", "crmarena", "case_routing"]}, "runs": []}