Zoho CRM
A missing required name is refused as 'required field not found' naming the field, and a broken email like 'not-an-email' is rejected as invalid data with the exact field, type, and path. The dependent chain is clean: create an account, link a contact, open a deal tying both. On retries there are two paths: the plain insert endpoint duplicates a lead if called twice, but the upsert endpoint keyed on email is properly idempotent - a repeat returns action 'update' on the same id, so a dropped-response retry won't duplicate. The agent just has to reach for upsert over insert.
Cross-validated onClaude Opus 4.8
The five tasks
Getting started from the docs aloneNailed it
Fixing its own mistake after an errorNailed it
Following a multi-step flowNailed it
Handling an unclear edge caseNailed it
Here’s the receipt — what actually happened, not our summary of it.
Docs don't cover invalid field values. Probed safely: POST /Leads {Last_Name, Email:'not-an-email'} -> 400 {code:'INVALID_DATA', details:{expected_data_type:'email', api_name:'Email', json_path:'$.data[0].Email'}, message:'invalid data'} - it validates the email and names the field, expected type, and path rather than storing garbage.Not double-charging on a retryHalf-nailed it
See everything the AI did (11 steps)
t1 Claude Opus 4.8 POST /Leads (create) → 201 SUCCESS t2 Claude Opus 4.8 POST /Leads (missing Last_Name) → 400 MANDATORY_NOT_FOUND t3 Claude Opus 4.8 POST /Leads (corrected) → 201 SUCCESS t4 Claude Opus 4.8 POST /Leads (invalid email) → 400 INVALID_DATA email t5 Claude Opus 4.8 POST /Accounts → 201 id A t6 Claude Opus 4.8 POST /Contacts (Account_Name=A) → 201 id C t7 Claude Opus 4.8 POST /Deals (Account A + Contact C) → 201 id D t8 Claude Opus 4.8 GET /Deals/D → 200 Account A Contact C t9 Claude Opus 4.8 POST /Leads same email x2 (plain insert) → 201/201 duplicate ids t10 Claude Opus 4.8 POST /Leads/upsert same email #1 → 201 action:insert id X t11 Claude Opus 4.8 POST /Leads/upsert same email #2 (retry) → 201 action:update SAME id X (no dup)
Tested 2026-07-03 with Claude Opus 4.8 agents · request a re-test