Lifelike behaviour

Find out how your email lands with people

Every address your app writes to can have a person behind it. They read your mail or ignore it, check who sent it, remember what you said, and tell you what they think, on their own schedule.

simmail · people · Dana Reyes
A simulated homeowner's profile in the dashboard, with her notes on the app and her dated memories
Memory and promises

They remember, and they keep score

Each person keeps notes on everyone they write to, rewritten after every email. They feel a certain way about you: warm, neutral, wary, annoyed or done. A warm person nearly always answers; someone who is done almost never does.

“I'll refund it today” becomes a promise with a deadline. Miss it, and they chase you.

Memory, relationships and promises

simmail · people · Raj Malhotra
A simulated customer's notes on a support team, marked annoyed, with two open promises
Raj was billed twice. He is annoyed, and support owes him two refunds with deadlines.
Hours and follow-ups

Replies arrive when a real person would send them

People keep working hours in their own time zone, take out-of-office breaks, and answer after a delay that fits their temperament. Anything planned shows up in Up next, with the reason, and you can send it now, skip it or reschedule it.

  • Work and personal life Work addresses keep office hours; personal webmail answers evenings and weekends.
  • Their own style Length, formality, typos, sign-off and the mail client they write from.
  • A clock you control A week of correspondence can pass in seconds on the simulated clock.
simmail · activity · up next
The Up next queue: planned reminders from simulated customers, each with Send now, Skip and Bounce
Up next: Raj will chase his refund in 30 hours if it does not come. Send it now, or skip it.
Links and look-ups

They click, and they check you out

Before answering, a person decides which of your links to open and whether to visit your website. Their reply is written knowing what they found: the price on a listing, a broken page, no website at all.

Every decision is logged with its reason, in Activity and on webhooks.

Links and sender look-up

simmail · activity
The Activity timeline: a simulated landlord looks up the sender's website, finds none, and plans a reply for working hours
Marcus looked up harborpine.example, found no website, and planned his reply for Monday morning.
Temperaments

Most people are busy

A temperament sets how likely someone is to answer a cold email, how long they take and how they write. People invented on the fly are drawn with these odds, so most of the people your app meets are busy, as in life. Someone already in a thread answers at least 97% of the time.

People in the docs

TemperamentReply rateTypical delayHow they write
Responsive95%12 minPrompt and full
Busy85%1 h 15 minLate and brief
Procedural90%45 minWants forms and reference numbers
Skeptical80%1 hQuestions the premise, wants proof
Flaky60%3 hAgrees, then forgets
Difficult75%1 h 30 minPushes back, negotiates hard
Ghost15%24 hOne line, days later
Cases

One story, told consistently

Push what your system knows about a deal or a ticket, and everyone on it stays consistent with the same story. The story never appears in any email, so your tests can check your app against what is really true.

</> For developers: the API for this
curl -s -X POST https://c1.simmail.dev/api/personas \
  -H "Authorization: Bearer smk_your_key" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Dana Reyes",
    "addresses": ["[email protected]"],
    "role": "homeowner",
    "who": "Retired teacher selling the family home on Clark Street",
    "wants": "a fair price and a quick, simple sale",
    "temperament": "skeptical",
    "style": { "length": "short", "client": "iphone", "links": "wary" },
    "timing": {
      "reply_rate": 0.9,
      "delay": { "median": "2h", "spread": 1.8 },
      "hours": { "tz": "America/Chicago", "days": "mon-fri", "from": "09:00", "to": "17:00" },
      "ooo": [{ "from": "2026-12-20", "to": "2027-01-02", "message": "Away for the holidays." }]
    },
    "behaviors": { "double_reply": 0.1, "keep_promises": 0.5 }
  }'

Read the docs →

Questions

Does every person reply?

No, and that is the point. Each temperament has its own reply rate, and how a person feels about you changes it. Set timing.reply_rate to 1 when a test needs an answer. When someone decides not to reply, the Activity log says why.

Are link clicks real requests?

Yes. A click is a real HTTP GET, made at that moment, and the reply is written knowing what the page showed. Unsubscribe links are not followed unless your link rules allow it, and people never open addresses on private networks. See Links and sender look-up.

What happens when my AI actions run out?

People keep answering from templates in their temperament’s voice until the month resets. Template replies always answer, but they do not read links or make promises. The by field of each persona.sent event says which wrote the reply.

Can I write as one of the people myself?

Yes. Turn their AI off (paused: true, or the AI on / AI off switch in the dashboard). Mail you send as them then counts as yours, and you can hand them back to the AI later.

Which plans include this?

Link clicks, sender look-ups, promises and nudges need the lifelike behaviour feature of your plan. See Plans and limits.

Put real behaviour between your app and its inbox

Start free with 25 AI actions a month, no card needed. Upgrade when you need more.