# contact.created / contact.updated / contact.deleted: keep your lists in sync
These events fire whenever a contact was successfully created, updated, or deleted.
## What to do on receipt
1. On `contact.created` / `contact.updated`: sync the contact to your CRM or user store. This is the hook for welcome sequences and profile updates.
2. On `contact.deleted`: honor the deletion everywhere, including backups and analytics stores, per your data-retention policy. A contact delete is often a privacy request.
3. Return 200 fast and process asynchronously like any other webhook.
## The trap
Relying on `contact.created` to observe bulk imports. Resend's docs say it plainly: when importing multiple contacts using CSV, these events will not be triggered. If your pipeline depends on the webhook, bulk imports silently bypass it and your downstream systems drift. For imports, poll the contacts API or run a post-import reconciliation job instead.