Skip to content
NewSee how

Bulk-add mailboxes via CSV

Upload a CSV to add many SMTP/IMAP mailboxes at once, with column mapping and per-row validation before import.

  1. Connectors → Add Connector → SMTP/IMAP → Bulk Upload (CSV)

    Open the SMTP / IMAP connector and switch to the Bulk Upload (CSV) tab: the second tab next to Single Account.

  2. Download the sample CSV

    Click Download sample CSV (sample-mailboxes.csv) and fill your mailboxes into its columns. It's the exact schema the importer expects, so its headers auto-map without extra work.

  3. Know the required columns

    Every row needs Email, SMTP Username, SMTP Password, SMTP Host, and IMAP Host. Everything else (ports, encryption, Daily Limit, warm-up columns) is optional and defaults sensibly.

    • Full column set: Email, First Name, Last Name, IMAP Username, IMAP Password, IMAP Host, IMAP Port, SMTP Username, SMTP Password, SMTP Host, SMTP Port, Daily Limit, Warmup Enabled, Warmup Limit, Warmup Increment.
  4. Upload the file

    Drag your .csv onto the dropzone or click to select it. Files are limited to 5MB and up to 5,000 rows. FirstSales parses it and moves straight to the preview.

    Upload the file
  5. Check the column mapping

    Columns auto-map by header name. Use each column's → dropdown to fix any that didn't match, or set it to - Skip -. Required fields are marked with *: an amber warning appears if any required column is unmapped.

    Check the column mapping
  6. Review the validation preview

    The first 5 rows show a green check or an amber warning, plus a Total / Valid / Invalid summary. Validation checks email format, host fields, credentials, port ranges (1–65535), and Daily Limit (1–10000). Invalid rows are skipped on import: fix them in your CSV and re-upload if you want them all in.

  7. Click Import

    Click Import N valid accounts. A progress bar runs as each mailbox is added one at a time.

  8. Read the results

    The done screen shows Imported and Failed counts, with a failed-rows list and reasons. Use Import More for another batch, or Done to finish: then warm up the new mailboxes before real sends.

Pro tips

  • Start from the sample CSV

    Its headers map automatically. Renaming your columns to match (“SMTP Host”, “IMAP Host”, …) saves you re-mapping every field by hand.

  • Fix invalid rows before importing, not after

    The preview flags bad emails, hosts, and out-of-range ports up front. Invalid rows are silently skipped, so a clean CSV means nothing goes missing.

  • Set warm-up columns per row

    Warmup Enabled, Warmup Limit, and Warmup Increment let you enable ramp-up at import time instead of toggling each mailbox afterward.

  • Batch large lists

    5,000 rows is the ceiling per file. For bigger fleets, split into files and use Import More between batches.

Frequently asked questions

Where's the bulk importer?

On the SMTP/IMAP connector: Connectors → Add Connector → SMTP / IMAP → Bulk Upload (CSV).

What columns do I need?

Required: Email, SMTP Username, SMTP Password, SMTP Host, IMAP Host. Optional: ports, encryption (inferred from port), Daily Limit, and the three Warmup columns.

What are the limits?

A CSV under 5MB and up to 5,000 rows per file.

My columns didn't map: what do I do?

Use the per-column → dropdown in the preview to map each header to the right field, or set it to - Skip -.

What happens to invalid rows?

They're flagged in the preview and skipped on import; the done screen lists each failure and its reason.

What defaults apply if I omit a column?

SMTP port 587, IMAP port 993, encryption inferred from the port, Daily Limit 30, warm-up off, warm-up limit 20, warm-up increment 2.

Can I import more than one file?

Yes: after a batch finishes, click Import More to run another.

Do bulk-imported mailboxes get warmed up?

Only if you set the Warmup columns, or enable warm-up per mailbox afterward. Reputation still has to build before real sends.

Mailboxes

Outreach that keeps going after you log off.Leads, emails, follow-ups and replies, handled.

Connect unlimited mailboxes and let AI agents find leads, write each email and follow up. Or send your own templates in manual mode. From $29/mo.

$1 for 3 days · Cancel anytime · No contract

Install with AI

Your coding agent sets up the FirstSales CLI and skills for you.

Prompt for Claude Code

I'm setting up FirstSales (https://firstsales.io), an AI outbound sales platform: campaigns, contacts, a reply inbox, deliverability and lead signals. Help me get my workspace sending real, good emails end to end, from Claude Code.

Read these first so you know how FirstSales works:
- Developer docs and API: https://developer.firstsales.io
- CLI: https://www.npmjs.com/package/@firstsales.io/cli
- Skills for coding agents: https://github.com/firstsalesio/firstsales-skills (read README.md and GUIDE.md)

Setup
1. Install the CLI: npm install -g @firstsales.io/cli
2. Install the FirstSales skills:
   claude plugin marketplace add firstsalesio/firstsales-skills
   claude plugin install firstsales@firstsales
3. Ask me if I already have a FirstSales account. If not, send me to https://app.firstsales.io to sign up.
4. Ask me to create an API key under Settings → API → API Keys, with only the scopes we need.
   Never ask me to paste the key into this chat. Tell me to run this in my own terminal, so the key stays hidden:
   read -rs FS_KEY && firstsales auth login --api-key "$FS_KEY"; unset FS_KEY
5. Run `firstsales whoami` and tell me which workspace and organisation we are connected to.

Then ask me about my business: what I sell, who I sell to (roles, company size, countries), my best customers, and what I use today for outbound (tools, lists, mailboxes). Walk me through:
1. Teaching FirstSales my business: website, offer, proof points and case studies in the knowledge base, so the AI writes like someone who knows the product.
2. Connecting my sending mailboxes and checking my sending domain: SPF, DKIM, DMARC and warm-up. If anything is unhealthy, tell me the exact DNS record to add.
3. Bringing in contacts: import my CSV or CRM export into a clean list, remove duplicates and bad emails, and block domains I must never email (customers, competitors, my own).
4. Building my first campaign: the right list, senders, steps and timing. Write the sequence with me, show me the drafts, and do not launch until I say yes.
5. Setting up Signals if it fits: find people engaging with LinkedIn posts about topics my buyers care about, and turn them into leads.
6. Inviting my team and giving each person the right access.

Once campaigns run, show me how to work the reply inbox from here: which replies need an answer, draft responses in my voice, and move good conversations into deals. If I use Cal.com, connect it so follow-ups can offer my booking link (not the first email).

Throughout, as you learn about my business, proactively suggest and help create:
- Reply templates for the questions and objections my prospects are likely to raise, based on my product, site and codebase if you can see them.
- Campaign ideas and segments worth testing, with the reason for each.

Safety rules:
- Show every change as a dry run (--dry-run) first and wait for my yes. Never send emails, launch campaigns or delete anything without my yes.
- Tell me before anything that spends credits, and how many.

Be opinionated. If the docs give a sensible default, just use it. Don't make me choose between five options.