How a DM gets answered
The thread is in Sam’s queue at the top, labeled shipping · urgent, with the order number highlighted and the full back-and-forth on screen. What happens next? A person reads it and decides. This post walks through the three things a teammate can do on a thread — send a reply, reassign it, or close it — and how the customer’s platform, the queue, and the audit trail all stay in sync. The one thing the system never does is write or send the reply itself.
Key takeaways
- Three actions per thread: send reply (human-written), reassign (hand to another teammate), close (mark done).
- Every reply is typed by a person and goes back out through the same platform the customer used.
- Templates can pre-fill an opening line, but the person edits and owns every word before sending.
- Reassign moves the thread to a new queue and updates both teammates’ open-thread counts.
- Every action writes an audit row — who did what, when — so a thread’s history is never a mystery.
Three actions on a thread
Action 1: send a reply (the most common)
Sam reads the thread, checks the order, and sees it shipped overnight. He types: “Good news — your order #4821 went out last night, here’s your tracking link. It should arrive Thursday, ahead of your trip. Safe travels!” He could have started from a shipping template that pre-fills the opening and the tracking-link placeholder, but he edited it to fit this customer and this moment. He hits Send.
The Send button submits to a Function URL Lambda. Two things happen, in order. First, the Lambda posts the reply back out through the same platform the customer used — an Instagram DM goes back as an Instagram reply, a WhatsApp message goes back as a WhatsApp reply — using that platform’s send API and the credentials in Secrets Manager. Second, the reply is appended to the thread so the next teammate to open it sees the full conversation, and an action: replied row is written to the audit table. The customer experiences a normal, on-brand reply on the app they already use. They never know there’s a unified inbox behind it.
The system writes none of those words. Templates can offer a starting point, but a person edits and owns every reply before it goes out. There is no “auto-reply” button, by design.
Action 2: reassign (the hand-off)
Sometimes the message landed with the right team but the wrong person, or it turns out to need someone else. The shipping question is actually a refund in disguise. The customer is a VIP the owner wants to handle personally. Sam is going off-shift and wants to hand a live thread to whoever’s taking over.
Reassign lets him pass the thread to another teammate or team, with an optional note on why (“customer is upset, please handle gently”). On save, the thread moves to the new owner’s queue at the right urgency, Sam’s open-thread count drops by one and the new owner’s rises by one (so the fair-load math from Part 4 stays accurate), and an action: reassigned row is written with both names. The customer sees nothing — no “you’re being transferred” message goes out unless a teammate chooses to send one. The hand-off is internal.
Action 3: close (the “done”)
When the conversation is finished — the question answered, the issue resolved — the teammate closes the thread. It leaves the active queue so nobody works it again, the owner’s open-thread count drops, and an action: closed row is written. The thread isn’t deleted: it stays in the customer’s history, so the next time that person messages you, whoever picks it up sees the whole past relationship.
Closing isn’t final in a scary way. If the customer writes back after a thread is closed — “actually, one more thing” — the new message’s fingerprint links to the same conversation, and the thread reopens in the queue automatically, with all its history intact. Nobody starts from scratch.
Every action is logged, every thread has a history
The audit table records every reply, reassign, and close with the teammate who did it, the timestamp, and a note. That trail is what makes a shared inbox trustworthy for a team. When a customer says “someone promised me a refund last week,” anyone can open the thread and see exactly who replied, what they said, and when. When a thread bounced between three people, the reassign notes explain why. The audit trail is the team’s shared memory — especially useful months later, or after the person who handled it has moved on.
And the rule holds at every step: the machine gathered the message, labeled it, routed it, and kept the record — but a human read it and a human answered it, in their own words, on the customer’s own platform.
Next post: the cost breakdown. The whole pipeline above runs in coffee-money territory at SMB volume; Part 6 explains exactly where the dollars go and why the only model call — the per-message label — stays cheap.
All posts