{"id":"revops-renewal-list-to-json-iso-dates","audience":"revops","category":"sales-work","technique":"format","track":"sales","level":"intermediate","title":"Convert a renewal list into JSON with ISO dates","free":false,"task":"Convert the five contracts into one JSON array in a single code block. Keys for each object: account, renewal_date, arr, auto_renew, renews_within_60_days. Dates are US format (month first) and must become YYYY-MM-DD. arr is a number with no $ or commas. auto_renew is true or false. renews_within_60_days is true if the renewal date falls within 60 days of Nov 6, 2026, otherwise false. If a value is missing or unknown, use null (including renews_within_60_days when the date is missing). Add nothing outside the code block except one line of 10 words or fewer.","materialLabel":"Your notes (attached to your prompt automatically)","material":"RENEWALS TO LOAD (from the ops spreadsheet, typed by hand)\n\n1. Larkspur Dental - renews 3/4/27 - $48,000 ARR - auto-renews: yes\n2. Ironbridge Co-op - renews 11/30/26 - $120,500 - auto-renew: no\n3. Penhallow Labs - renewal date TBD - $76,250 - auto-renew: yes\n4. Tidepool Media - renews 1/15/27 - ARR $9,900 - auto-renews: no\n5. Quarry Hill Schools - renews 12/1/26 - ARR not listed - auto-renew: unknown\n\nNote: \"3/4/27\" is March 4, 2027. \"12/1/26\" is December 1, 2026. The spreadsheet header says amounts are annual recurring revenue in US dollars.","rules":[{"type":"codeBlocks","count":1},{"type":"maxProseWords","max":10}],"mistakes":[{"title":"Day-first dates","why":"The AI reads 3/4/27 as 3 April.","fix":"Add: \"Dates are month first: 3/4/27 is 2027-03-04.\"","checks":["r1"]},{"title":"Guessing missing values","why":"The AI writes 0, \"TBD\" or \"unknown\" instead of null.","fix":"Add: \"Use null for anything missing or unknown, including renews_within_60_days when the date is missing.\"","checks":["r1","r2"]},{"title":"Dollar signs and text","why":"The AI keeps \"$48,000\" as a string.","fix":"Add: \"arr is a number, no $ or commas.\"","checks":["r2"]},{"title":"Commentary around the code","why":"The AI explains the conversion in paragraphs.","fix":"Add: \"One code block and at most one line of 10 words outside it.\"","checks":["codeBlocks","maxProseWords"]},{"title":"Changing or dropping keys","why":"The AI renames keys like renewalDate or skips the 60-day flag.","fix":"Add: \"Use exactly these keys: account, renewal_date, arr, auto_renew, renews_within_60_days.\"","checks":["r0"]}],"promptHints":[{"label":"Names the keys","patterns":["renewal_date","auto_renew","renews_within_60_days"]},{"label":"Says ISO dates","patterns":["yyyy-mm-dd","iso"]},{"label":"Uses null","patterns":["null"]},{"label":"Numbers only for arr","patterns":["no \\$","number","without \\$"]},{"label":"Sets the 60-day test","patterns":["60 days","nov 6"]}],"hint":"Name the keys, the date format, the 60-day test, and what to put when a value is missing.","rubricLabels":["The code block is a JSON array of five objects with exactly the keys account, renewal_date, arr, auto_renew, renews_within_60_days","Dates are ISO (2027-03-04, 2026-11-30, 2027-01-15, 2026-12-01) and Penhallow Labs renewal_date and renews_within_60_days are null","renews_within_60_days is true for Ironbridge Co-op and Quarry Hill Schools and false for Larkspur Dental and Tidepool Media; arr values are plain numbers and Quarry Hill Schools arr and auto_renew are null"]}