How to Import Contacts into Velveteen
Updated August 11, 2026
To import contacts into Velveteen, an administrator opens Dashboard, Email administration, Imports, enters a documented CSV source with suppression or bounce/complaint data, and selects Run dry run. Velveteen stages the rows and shows the results for review; the dry run does not create or update CRM contacts, consent events, subscriptions, or suppressions.
Use this page for a documented CSV source that you have permission to review. For the detailed review queue checks and review actions, see Reviewing email imports. For a worker interruption or failed job, see Recovering failed imports.
How do I stage contacts for import?
- 1
Open Email imports
Go to Dashboard, Email administration, Imports. This page requires administrator access. - 2
Choose the active brand and describe the source
Select a Brand, enter a Source name, choose a Source type, and provide an Evidence summary. The available source types are CRM export, Newsletter provider export, Website capture export, Event signup export, Suppression export, and Other reviewed source. - 3
Enter the CSV contents
Paste the CSV into CSV contents. Include an email column. If you attest that affirmative consent was reviewed, include a consent column. The CSV must have consistent row widths and cannot use duplicate or empty headers. - 4
Attest suppression and consent carefully
Select “This source includes suppression or bounce/complaint data.” Select “I have reviewed affirmative-consent evidence for this source” only when that review is true. A suppression column can be named suppressed, suppression, suppression_status, bounced, or complained. - 5
Run the dry run
Select Run dry run. Velveteen validates and normalizes the CSV, safely neutralizes formula-leading cells, hashes the source deterministically, stages valid rows, and reports valid, invalid, subscribed, pending, unsubscribed, and suppressed counts.
What should I know before reviewing the staged job?
A valid email address alone is not affirmative consent. Without the affirmative-consent attestation, a non-unsubscribed row is pending. Explicit suppression, bounce, or complaint values map to suppressed before consent mapping. Malformed CSV structure, duplicate headers, a missing email column, or a row-width mismatch fails validation instead of being silently corrected.
Heads up
What happens after the dry run?
- 1
Open Staged import jobs
Check the source name, source type, status, valid and invalid counts, and timestamp in the review queue. - 2
Enter a review reason
The review reason must contain at least three characters. - 3
Choose Approve or Cancel
The review queue exposes Approve and Cancel while a job is awaiting_review or quarantined and suppression data is recorded. Approval is a review checkpoint; it does not trigger provider delivery.
Tip
Frequently asked questions
Who can import contacts?+
The Email imports page is administrator-only. If you do not have administrator access, you cannot use this workflow.
Does a dry run add contacts to Email CRM?+
No. A dry run can create an import job, staged rows, an optional private-file manifest reference, and an audit receipt. It does not create or update CRM contacts, consent events, subscriptions, or suppressions.
What happens when consent evidence is missing?+
Velveteen does not assume affirmative consent. A valid row without an affirmative-consent attestation maps to pending unless its value is explicitly unsubscribed; suppression takes precedence.
What CSV limits apply?+
The parser accepts files up to 10 MB, up to 64 headers, cells up to 4,000 characters, and up to 10,000 data rows. A job can be quarantined when it exceeds the row limit or the invalid-email threshold.
Does approving an import send email?+
No. Approve records the review checkpoint. Provider delivery is separate from import review and execution.
Related articles
Email CRM
Manage the canonical contact record, consent evidence, audiences, source history, and privacy controls without mixing account or purchase status with marketing permission.
Reviewing email imports
Run a staging-only CSV dry run, inspect its counts and consent mapping, then approve or cancel the reviewed import.
Recovering failed imports
Tell a recoverable worker interruption from a terminal failed import, then use the supported dry-run workflow to continue safely.