{"id":"revops-duplicate-accounts-merge-csv","audience":"revops","category":"sales-work","technique":"examples","track":"sales","level":"intermediate","title":"Turn duplicate account pairs into a merge CSV","free":false,"task":"You're handing a merge file to the admin who runs the import. For each duplicate pair, keep the record with an open opportunity; if neither or both have one, keep the one with the latest activity. Output one CSV code block with the header keep_id,merge_id,reason and one row per pair, and a reason of at most 5 words. After the block, one sentence under 20 words. At most 6 lines of code.","materialLabel":"Duplicate account report (attached to your prompt automatically)","material":"DUPLICATE ACCOUNTS - flagged by matching domain - Nov 10, 2026\n\nPair 1: Larkspur Dental\n  A-1041 | last activity 2026-10-30 | open opp: no\n  A-2290 | last activity 2026-09-12 | open opp: yes ($24k, Proposal)\n\nPair 2: Quill & Co\n  A-1187 | last activity 2026-11-02 | open opp: no\n  A-3015 | last activity 2026-06-18 | open opp: no\n\nPair 3: Northfield Rail\n  A-0877 | last activity 2026-08-01 | open opp: yes ($60k)\n  A-2954 | last activity 2026-10-15 | open opp: yes ($15k)\n\nPair 4: Baywater Clinics\n  A-1520 | last activity 2026-07-07 | open opp: no\n  A-1521 | last activity 2026-07-09 | open opp: no\n\nAdmin note: A-0877 is the record marked \"Parent account\" in the hierarchy. The import tool can't undo merges.","rules":[{"type":"codeBlocks","count":1},{"type":"maxCodeLines","max":6},{"type":"maxProseWords","max":30}],"mistakes":[{"title":"Not giving the keep rule","why":"The AI guesses, often keeping the older or lower-numbered record.","fix":"Add: \"Keep the record with an open opp; if neither or both, keep the latest activity.\"","checks":["r0","r1"]},{"title":"Skipping the tie case","why":"The AI keeps the bigger opp or the parent account when both have open opps.","fix":"Add: \"If both have open opps, use latest activity.\"","checks":["r1"]},{"title":"No CSV header","why":"The AI makes a table or uses its own column names.","fix":"Show the header: keep_id,merge_id,reason.","checks":["r2","codeBlocks"]},{"title":"Explaining too much","why":"The AI writes paragraphs of caveats around the file.","fix":"Add: \"After the block, one sentence under 20 words.\"","checks":["maxProseWords","maxCodeLines"]}],"promptHints":[{"label":"Gives the keep rule","patterns":["open opp","latest activity","most recent"]},{"label":"Covers the tie","patterns":["both","neither","tie"]},{"label":"Shows the header","patterns":["keep_id","merge_id"]},{"label":"Asks for a code block","patterns":["csv","code block","```"]},{"label":"Limits the prose","patterns":["one sentence","under \\d+ words"]}],"hint":"Give the AI your keep rule, including what to do when both records have an open deal, and show it the exact CSV header.","rubricLabels":["Keeps A-2290 over A-1041 (open opportunity beats newer activity) and A-1187 over A-3015 (latest activity)","For Northfield Rail, where both have open opportunities, keeps A-2954 (latest activity), and for Baywater Clinics keeps A-1521","The code block starts with the header keep_id,merge_id,reason and has one row per pair"]}