Use case · CRMs & help desks

Meet the customer your help desk has to get right

Kitebox's support inbox fills up on its own: a double charge, a missing VAT number, a password reset that never arrives. When your agents answer, the customers write back, and they remember what they were promised.

Kitebox · support inbox
Kitebox's support inbox in simmail, with mail from three simulated customers and Raj Malhotra's angry reply
The reply

“Three to five business days? You are kidding me.”

Your agent sent the standard answer. Raj, a small agency owner with a difficult temperament, did not accept it. He asked for a supervisor and a refund today.

That is the reply your help desk has to thread, route, flag and answer. It arrives over IMAP like any customer's, with proper In-Reply-To and References headers.

Kitebox · Raj's reply
Raj Malhotra's reply refusing to wait 3–5 business days
Raj quotes the agent’s answer and asks for an escalation.
Memory

He remembers every promise

Each customer keeps their own notes on your support address, rewritten every time they write, and a list of what each side promised. Raj feels annoyed, and he is waiting on two refund promises from support.

Push a ticket's facts as a case, or add a phone call to his memory under your own CRM id, and he stays consistent with your records.

Kitebox · Raj Malhotra
Raj Malhotra's notes on Kitebox support and two open refund promises
Raj’s notes on support@, and two refund promises due Oct 12 and Oct 13.
What comes next

If the refund doesn't come, he chases

Up next shows what every customer plans to do and when. Raj will send a reminder in 30 hours unless the refund arrives. Mia and Tom have reminders queued too.

Send any of it now to test your SLA timers, skip it, or bounce it. Or skip the clock ahead and watch a week of tickets play out in order.

Kitebox · activity
The Up next queue with customers' planned reminders and the controls to send, skip or bounce them
Planned reminders, each with Send now, Skip and Bounce.
The inbox fills itself

Tell it who you are. Tickets start arriving.

Describe Kitebox once, in the World: what it sells, where it is, which mailbox is support. A support stream then sends customers with real problems to support@, about six a day, in business hours, from people who come back.

No fixtures to write and no test script sending fake tickets: your help desk gets a steady, believable queue.

Kitebox · world
The World page: Kitebox's company profile and its customer support stream
Every customer is different

Difficult, friendly, by the book

Raj is difficult, Mia is responsive, Tom wants everything in order. Each has their own temperament, working hours and time zone, so the same answer from your agents lands differently with each of them.

Kitebox · people
The People list with three customers and their temperaments
Three customers, three temperaments.
Threads that keep going

“Still nothing in inbox, spam, or promotions”

Mia's password reset never arrived. Your agent re-sent it; she checked, wrote back, and raised a billing question in the same thread. Real tickets wander like this, and your threading, merging and status rules have to keep up.

Kitebox · Mia's thread
Mia Chen's follow-up: the reset email still hasn't arrived, and a new billing question
Mia, from her phone: still no reset email, and now a billing question.
How support lands

See how your customers feel

Insights counts what your agents' answers achieved: every reply reached the inbox and every customer answered back. And it shows how people feel about you now: two neutral, one annoyed.

Kitebox · insights
Insights: replies, inbox rate and how customers feel about support
Connect

IMAP in, SMTP out

Your help desk reads shared mailboxes over IMAP (with IDLE) and replies over SMTP. Describe your company and its inbound streams once; webhooks carry your own record ids on every event.

The World module · SMTP and IMAP · Mail API · Cases · Memory · Webhooks

</> For developers: inbound streams, IMAP, cases and webhooks
curl -s -X PUT https://c1.simmail.dev/api/world \
  -H "Authorization: Bearer smk_your_admin_key" \
  -H "Content-Type: application/json" \
  -d '{
    "company": {
      "name": "Acme Realty",
      "domain": "acme-realty.test",
      "industry": "real estate",
      "tz": "America/Chicago",
      "mailboxes": [
        { "address": "sales@acme-realty.test", "role": "sales" },
        { "address": "help@acme-realty.test", "role": "support" }
      ]
    },
    "streams": [
      { "name": "Website leads", "kind": "lead", "to": ["sales@acme-realty.test"], "per_day": 6,
        "business_hours": true, "brief": "asking about homes for sale", "new_people": 0.8, "enabled": true },
      { "name": "Spam", "kind": "spam", "to": ["sales@acme-realty.test", "help@acme-realty.test"], "per_day": 3, "enabled": true }
    ]
  }'

Read the docs →

Questions

How does my help desk receive the mail?

Over IMAP, like from any provider: give each shared mailbox a login and point your app at it. IMAP IDLE is supported, so your app hears about new mail at once. Or read mailboxes and threads with the API.

Do customers stay consistent across tickets?

Yes. People keep memory per case and a running relationship with each address they write to. Push a case with what your system knows, and everyone on it stays consistent with one story.

Can I seed a mailbox with old conversations?

Yes. POST /api/inject files a message straight into a mailbox, skipping SMTP. Nobody is told and nobody replies, so it is safe for setting up history.

Can I link simulated people to records in my CRM?

Yes. Give a person external_ids such as {"crm": "c-1042"}. Webhooks then carry those ids, and you can add to their memory by your own id.

Will spam and phishing reach the shared inboxes?

If you add spam or phishing streams in the World, yes. They are filed straight into the mailbox from senders who never answer.

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.