Every dashboard action is an MCP tool your agent can call.Read the docs

Email contacts, unlimited on every tier.

Profile, consent, product events, and engagement on one record. Your automations and segments read it directly.

Start for free

✓Free to start. Unlimited contacts on every tier.

Contact record
Contacts

One person, current context

Contact

plan
growth
subscription
subscribed

Activity

AllEmailsEventsAutomations
  1. trial.activatednow
  2. Entered Onboardingrunning
  3. Welcome to Northstardelivered
Segments read live attributes

[ 01 / 05 ]Pricing

Why are contacts unlimited?

Because storing an address isn't the product. You pay for what you send, so keeping your full history costs nothing.

  • No reason to delete old contacts to stay under a limit.
  • Segments stay honest because the record stays complete.
  • Engagement history survives log clean-up. A contact's counts never shrink.
  • Free includes unlimited contacts too.
Contact record
Contacts

One person, current context

Contact

plan
growth
subscription
subscribed

Activity

AllEmailsEventsAutomations
  1. trial.activatednow
  2. Entered Onboardingrunning
  3. Welcome to Northstardelivered
Segments read live attributes

[ 02 / 05 ]The record

What's on a contact record?

Identity and attributes

Upsert by email with typed attributes and tags. No duplicate per list.

Product events

What the person did in your app, which automations and segments react to.

Consent and suppression

Unsubscribes, bounces, and complaints, checked right before every send.

Engagement

Opens, clicks, and last activity, stored on the record so segments filter on them.

Automation history

Every automation the person entered, and where they are now.

[ 03 / 05 ]Import

How do I get my contacts in?

Upsert from your app, bulk import, or move them from your old platform.

  1. Upsert from your app

    Create or update a contact whenever a user signs up or changes plan.

    Terminal
    curl -X POST https://sendandretain.com/api/v1/contacts \
      -H "Authorization: Bearer $AEM_KEY" \
      -H "Content-Type: application/json" \
      -d '{ "email": "[email protected]", "attributes": { "plan": "pro" } }'
  2. Import the rest

    Bulk-import an existing list through the API, or hand your agent the file.

  3. Moving platforms?

    Your agent can rebuild your contacts and automations from your old tool. See the migration guides.

[ 04 / 05 ]Example prompts

What can you ask your agent about your contacts?

  • Segment

    “Make a segment of users on the pro plan who haven't opened an email in 30 days.”

  • Debug

    “Why didn't [email protected] get our welcome email? Check her suppressions and message log.”

  • Import

    “Import this CSV of customers and tag them as legacy.”

  • Explain

    “How many contacts unsubscribed last month, and from which automation?”

Questions people ask us

Keep every contact. Pay only for what you send.

Import a real list and build your first segment from it.