# Invite customers from a file

Upload a CSV file of customers to send each of them your Smart Invites emails, and see who was left out of the import and why.

Send your invite emails to everyone on a list by uploading a CSV file: open **Invites** in your project's sidebar, click **Import a CSV**, choose the file, match its columns, pick a form and confirm. To invite a single customer by typing their address, see [Invite one customer](/help/collect/invite-one-customer). Smart Invites are on Premium and Business, and you need to own the workspace or be an **Admin** on the project.

Before you start:

- **Have a form ready.** Every invite links to one of your collection forms. If the project has none, the page shows **This project has no forms yet**: click **Create a form** (it opens in a new tab), then **I've created one**. Check that the form you'll use is **Active**, because a paused form's link doesn't open. See [Share or embed your form](/help/collect/share-your-form).
- **Know which emails they'll get.** **Email sequence** picks the template whose invitation and reminders are sent. **Project default template** is used unless you choose another; see [Customize invite emails](/help/collect/customize-invite-emails).
- **Invite only people who expect to hear from you,** such as recent customers. Every invite email has an **Unsubscribe** link, and anyone who uses it goes on the project's do-not-email list.

1. **Open the import page**

   Click **Invites** under **Collect** in your project's sidebar. On the **Overview** tab, click **Import a CSV**, or open **New invite** and choose **Import a CSV**.

   ![The Overview tab's three cards under 'Choose how to start': Connect a webhook, Import a CSV in the middle, and Invite one customer](https://assets.retestimonial.com/app-statics/help/shots/invites-entry-points.57c03444.webp)

   After your first invite, the cards sit under 'Send more invites' instead.

2. **Upload your list**

   Drop your file on **Drop a CSV here, or click to browse**, or click the box to choose it. [What the CSV file needs](#what-the-csv-file-needs) says how to prepare it, and **Sample CSV** downloads a template. Nothing is sent yet.

3. **Match your columns**

   Under **2. Match your columns**, check that **Email** points at the column holding the addresses. Common headers such as "Email", "E-mail" or "Customer email" are matched for you; otherwise pick the column. **Name** and **Company** are optional: choose **Not in this file** if you don't have them.

   A line such as "120 ready to invite · 3 invalid · 2 duplicates" sums up the file, and the first rows show **Ready**, **Invalid email** or **Duplicate**.

4. **Choose what they receive**

   Under **3. Choose what they receive**, choose the **Form** and the **Email sequence**. A paused or draft form is listed but can't be chosen.

5. **Review and send**

   Click **Review and send**. The dialog asks, for example, **Send invites to 120 contacts?** Click **Send 120 invites** to confirm, or **Go back**. Sent emails can't be recalled.

   A report then shows how many contacts were invited: [Who isn't invited](#who-isnt-invited) explains its counts. If the page shows an error instead, see [If the import doesn't go through](#if-the-import-doesnt-go-through).

## What the CSV file needs

Save your list as a CSV file with a header row, one customer per row. The columns can be separated by commas, semicolons or tabs. Only a CSV file is accepted, so export a spreadsheet as CSV first. For a template, click **Sample CSV** on the import page: it has `email`, `name` and `company` columns.

- **An email column** is the only one the file must have.
- **Name and company columns** are optional; they fill in the email when your template uses them.
- **Other columns** are saved with each contact. An email can show one with a `{meta:…}` tag holding the column's exact header, such as `{meta:plan}` for a column named plan. See [Metadata tags](/help/collect/invite-email-merge-tags#metadata-tags).

Your headers don't have to match the sample's: you point **Email**, **Name** and **Company** at your own columns under **2. Match your columns**.

If your file is too large, the page says so; split it into smaller files.

## Who isn't invited

After you send, the report shows how many contacts were invited, with counts for **Invited**, **Invalid emails**, **Duplicates** and **Recently invited or unsubscribed**. Open **Who was left out, and why** to see the first 50 addresses that were recently invited or are on the do-not-email list, each with its reason; invalid emails and duplicates are counted only.

These addresses are skipped, and they don't use an invite:

- **Invalid rows.** A row with no email address, or one that doesn't look like an address, is skipped. The rest of the file still goes ahead.
- **Duplicates in the file.** An address that appears more than once, in any mix of capitals, is invited once, from its first row.
- **Anyone on the project's do-not-email list**: people who unsubscribed, reported an invite as spam or whose mailbox rejected one. See [Manage the do-not-email list](/help/collect/manage-the-do-not-email-list).
- **Anyone blocked for every email ReTestimonial sends,** because an email to them bounced or was reported as spam, in any project. See [Emails not arriving](/help/troubleshooting/emails-not-arriving#an-address-stopped-getting-emails).
- **Anyone invited to this project in the last 90 days,** by hand, from a file or by a webhook, whatever happened to that invite. To email one of them again now, restart their sequence from [their campaign](/help/collect/track-invite-campaigns).

An import finds the last three only when you send, so the preview's ready count still includes them; the report counts them under **Recently invited or unsubscribed**.

A single invite to one of these addresses is refused on the spot instead: see [If the invite isn't sent](/help/collect/invite-one-customer#if-the-invite-isnt-sent).

## If the import doesn't go through

When the page shows one of these messages after you confirm, nothing is imported or sent, and no invite is used:

- **A message that starts "Insufficient invitation credits"**: the file needs more invites than you have left. An import needs an invite for every new contact, taken from the project's monthly allowance first and then from the workspace's invitation credits; a contact's reminders don't use more. See [What counts as an invite](/help/collect/smart-invites#what-counts-as-an-invite). If the file has more than you have left, the page warns you. If it's still too many once the skipped addresses are removed, the import is refused. Trim the file, add credits (see [Buy invitation credits](/help/account/invitation-credits)), or wait for the allowance to reset at the start of the next calendar month (UTC).
- **A message that starts "Nobody was invited"**: every address in the file is on the do-not-email list, is blocked or was invited in the last 90 days. The page lists them under **Who was left out, and why**: see [Who isn't invited](#who-isnt-invited).
- **"Too many requests"**: the project has started 20 imports in the last hour. Wait a while and try again.

## What happens next

Each customer is sent the invitation on your email sequence's timing, then its reminders. With the default template, the invitation is scheduled straight away; a large list goes out over time. If it hasn't gone out, see [Invite emails not sending](/help/troubleshooting/invite-emails-not-sending). The reminders stop as soon as a customer sends a testimonial through their invite link, and the testimonial arrives in your inbox.

Each import is a new campaign, named "CSV Import:" and the file's name: click **View campaign** on the report to open it, or **Import another file**. Follow each customer on the **Campaigns** tab, where you can also cancel the emails they haven't been sent yet. A customer's invite is used as soon as they're added, so cancelling their emails later doesn't give it back.

- [Smart Invites](/help/collect/smart-invites)
- [Invite one customer](/help/collect/invite-one-customer)
- [Track invite campaigns and contacts](/help/collect/track-invite-campaigns)
- [Read your invite analytics](/help/collect/read-invite-analytics)
- [Customize invite emails](/help/collect/customize-invite-emails)
- [Send invites automatically with a webhook](/help/collect/send-invites-automatically-with-a-webhook)
- [Approve, reject and archive testimonials](/help/manage/approve-reject-and-archive)
