Sending at scale

Contacts and lists

Keep the people you message in one place, import them in bulk, and group them without duplicating anyone.

3 min read · updated 2026-10-13

What a contact holds

A contact is a name, an E.164 phone number, and optional tags. Lists are a view over tags rather than a second copy — a person can belong to several lists without being stored several times.

Import contacts

  1. Open Contacts

    This page lists existing contacts and the batches you have imported.

  2. Upload a CSV

    Map your columns to name and phone number. Numbers must be E.164.

  3. Review the import

    The import lands as a batch you can inspect before you build a send from it.

Note. A malformed number is the most common import problem. If a contact never receives anything, check its number format in the log rather than its tags.

Lists are a filter, not a folder

Because lists are built from tags, updating a tag updates every list that uses it. There is no second copy to keep in sync — which is also why renaming a list never moves a contact.

Keep reading

Bulk and scheduled sends

Send to a list once, or at a future time, with per-batch pacing that protects your provider limits.

Read this article →

Estimate what a send will cost

Segments × destinations × sender type is the whole formula. Here is how to work it out before the invoice arrives.

Read this article →

Getting started

Connect a provider, issue a key, send your first message — and meet the two defaults that quietly cost money if you miss them.

Read this article →