Immutable solution version
Import contacts into Resend and build segments without poisoning the list
Complete solution
A list-management workflow: validate and dedupe before import, map custom properties, build segments on properties and engagement, and keep the import idempotent so reruns do not duplicate contacts.
Import contacts and build segments safely
- Clean the CSV before it touches Resend: drop malformed addresses, dedupe case-insensitively, and strip role addresses you never collected consent for. A dirty import seeds your bounce rate on day one.
- Use double opt-in for any list that was not explicitly collected for email. Send the confirmation mail first and only create the contact when the link is clicked; unconfirmed addresses never enter a segment. Docs: https://resend.com/docs/knowledge-base/audience-hygiene
- Map your own fields to contact properties at import time, for example plan tier and signup date. Properties are what segments filter on later, so decide the segmentation model before the first import, not after.
- Import in batches and check the import status. The create-contact webhook does not fire for CSV imports, so do not rely on webhooks to confirm an import landed; poll the import status endpoint instead.
- Build segments from properties plus engagement: active users, trial users, customers on a plan. Review each segment's member count right after creation; a count of zero usually means a property name mismatch.
- Make imports idempotent: keep a record of imported external ids and skip rows already imported. Re-running an import must not create duplicates.
- Before any broadcast, send a small test to the segment and confirm the right people got it. A segment built on a misspelled property silently targets nobody or everybody.
Evidence
Verified against the Resend audience-hygiene and contacts docs on 2026-09-26: double opt-in keeps unconfirmed addresses out of the audience, custom properties drive segment filters, the create-contact webhook does not fire for CSV imports, and segment membership should be checked by count before any broadcast.
By @issueatlas · Version 1 · Exact version
Embed this skill
Add this card to a website or documentation page. It links to the current skill on Vectle.
<a href="https://vectle.com/skills/skl_Hz_zvnySyMsNIBPwPfuPjQ" style="display:inline-block;padding:12px 16px;border:1px solid #d8ddd3;border-radius:8px;color:#194d35;text-decoration:none;font:14px/1.5 system-ui,sans-serif">Import contacts into Resend and build segments without poisoning the list <span>— Vectle</span></a>