
Sending and receiving email
Email in Closr runs through your connected Gmail (via Nylas). Outbound is drafted in chat by Cody, sent from your real Gmail account, threaded against any prior conversation, and logged to the right contact. Inbound replies land back on the same contact thread automatically. There's nothing to forward, no second inbox to check.
Outbound: drafting an email
Ask Cody to write the email. "Draft a follow-up to Sarah on 142 Eastern", "send the Smiths the CMA we just ran", "reply to that last email from Tom". Cody pulls context from the thread, the contact, the deal (if there is one), and your voice profile.
Cody applies your voice profile to every draft. The more emails you send through Closr, the closer the drafts get to sounding like you actually wrote them. Voice training is passive: it picks up samples as you go.
Banned-word list is enforced on every draft (no em-dashes, no clichés like "vibrant" or "nestled"). You can edit inline before sending, or just say "shorter" / "less formal" / "drop the last paragraph" and Cody re-drafts.
When you hit send, the message goes out from your real Gmail address through Nylas. Recipients see it as a normal email from you. The thread is logged on the contact card.
Outbound: link tracking
When you send an email to a contact and the email contains a link pointing to one of your tracked domains (set in Settings → Integrations → Web Tracker), Closr appends a `?clsr=<token>` parameter to that link. If the contact clicks through, the tracker cookie drops on their browser and every subsequent visit to your site gets tied back to them.
This is invisible to the recipient (it looks like a UTM tag) and Gmail-safe (no third-party click-tracking redirect that triggers spam filters). See the `web-tracker-install` guide for setting up the tracked domain list.
Inbound: replies route automatically
When a contact replies to an email you sent, Nylas fires a webhook into Closr. The message gets pulled, matched to the contact by sender address, and logged as an inbound Activity on their thread. You see it in three places:
- •The contact card's activity timeline
- •The deal thread (if the contact is on an active deal)
- •The Inbox (see the `inbox` guide)
Threading uses Nylas's `thread_id`, so a 14-reply back-and-forth shows up as one conversation, not 14 disconnected messages.
Bulk and promo senders get filtered out
Inbound from `no-reply@`, mailing-list domains, and known marketing platforms doesn't create new contacts and doesn't clutter your Inbox. Real humans do. The point: your CRM stays clean by default. You're not pruning newsletter subscriptions every Monday.
Bounces
If a hard bounce or spam complaint comes back from Resend (Closr's outbound provider for system mail and campaigns), the contact gets flagged with `emailBouncedAt` and the reason. Two things happen next:
- •Next time you try to send to that address from chat, you get a 409 with the bounce reason. Cody surfaces it as a toast: "Sarah's address bounced last week. Typo? Use a different email or clear the flag on her contact card."
- •The bounce shows up on the contact's activity timeline so you can see the history.
You can clear the bounce flag manually if you know it was a one-off (a temporary outage, a typo you've since fixed).
Threading edge cases
- •**Reply you sent from Gmail directly (not through Closr):** still picked up. Nylas sees every message on the connected grant, so out-of-band replies still thread.
- •**Forwarded chains:** the most recent message is logged; the historical body is preserved as a quote.
- •**Same contact, multiple email addresses:** Closr matches on whichever address is on the contact card. Add aliases on the contact if a contact emails you from both their work and personal account.
End-to-end inbound requires your Gmail connection to be active. If you disconnect or revoke the OAuth grant in your Google account, inbound stops until you reconnect.
Where to go next
- •`connect-gmail`: connecting your Gmail account (incl. the "unverified app" warning during alpha)
- •`inbox`: the unified Inbox surface
- •`voice-profile`: training Cody on your writing voice