Hosted Inbox: one-click email support
What it is
Hosted Inbox is the second of two email surfaces on AskVault. The first, Email Assistant, connects to a mailbox you already own (Gmail, Outlook, custom IMAP) and replies from your address via your SMTP. Hosted Inbox flips the model: AskVault hosts the address for you. Inbound mail goes through our transactional mail provider's inbound parse webhook, gets processed by the same AI pipeline, and replies go out from the same hosted address.
Use cases:
- Lean startups that haven't set up
support@yourdomain.comyet: get a working address today, keep it as long as you want, redirect later if you want. - One-click pilots: every workspace can spin up its own address without touching DNS.
- Self-serve customers who can't get a corp IT ticket through to enable IMAP on their workspace inbox.
How it differs from the Email Assistant
Hosted Inbox trades a custom domain address for a zero-setup one. The table below lines up the two surfaces side by side.
| Email Assistant (IMAP) | Hosted Inbox | |
|---|---|---|
| Inbound delivery | IMAP poll (60 second interval) | Provider webhook (instant) |
| Outbound | Customer SMTP | Provider API |
| Address | support@yourdomain.com | {slug}@askvault.email |
| Setup time | 5 to 15 minutes (app passwords plus IMAP/SMTP) | Under 60 seconds (just pick a slug) |
| Customer's brand visible | Yes, replies are from their domain | The hosted domain is visible |
| Deliverability | Inherited from their SMTP | We manage SPF, DKIM, and DMARC |
Both surfaces share everything else: ticket-mode RAG, the source-citation contract, the low-confidence escalation gate, tone plus signature plus per-skill triggers, and the same settings panel.
Setup (customer-side)
- Dashboard, Deploy, Hosted Inbox.
- Type a slug (
acme,acme-support,team, etc). The form pings the backend as you type; it goes green when available. - (Optional) Enter a Reply-To address: where customer follow-up replies should go. Leave blank to keep the conversation inside AskVault.
- Claim address. The claim is instant.
- Send test to your own email to confirm DKIM/SPF alignment is correct.
- Paste the address (for example
acme-support@askvault.email) on your "Contact us" page, in email signatures, in marketing, anywhere customers might want to reach you.
That's it. The next email to that address triggers the agent.
How it answers
Same pipeline as the Email Assistant ticket-mode path:
- Provider posts the parsed email to our webhook.
- We verify the HMAC signature and resolve
{slug}to a workspace. - The body is stripped of quoted reply history; we keep just the new question.
- We derive a canonical thread ID from
Message-ID/In-Reply-To/Referencesso replies to the same thread share a conversation but a NEW subject from the same sender starts a fresh conversation. - Pre-RAG escalation triggers fire (keyword match, max-replies-per-thread cap): both short-circuit before any LLM cost.
- RAG retrieval over your indexed knowledge.
- Low-confidence gate: if the top retrieved chunk's relevance is below your configured confidence floor, the LLM is never called. Instead a polite "I've passed this to our team" reply goes out and the conversation is marked unanswered so a human sees it.
- Otherwise: LLM call with your tone-tuned system prompt, source-cited answer, signature appended at the transport layer.
- Outbound goes via the provider's send API from the same hosted address.
Hosted Inbox and the IMAP Email Assistant share the same ticket-mode email pipeline, so behaviour stays consistent across both surfaces. Future channels that should behave like ticket-mode inboxes (Slack DMs, WhatsApp inbound) can reuse it.
Settings
Hosted Inbox uses the same settings panel as the Email Assistant. That covers response mode (ticket / conversation), tone (formal / friendly / casual), signature, system-prompt override, confidence floor, always-escalate keywords, max replies per thread, custom escalation reply, and an optional always-CC address. See the Email Assistant reply behaviour settings for the full walkthrough of each field.
What lives where
- Your slug is reserved to your workspace and is globally unique.
- Your reply behaviour, tone, signature, and escalation settings are stored against your workspace, using the same encrypted configuration shape as the IMAP channel.
- Inbound mail arrives on an HMAC-protected webhook from the mail provider.
- Outbound replies are sent from your hosted address via the provider's send API.
Loop prevention
The same RFC 3834 guardrails as the IMAP path. We don't auto-reply to:
- Messages with
Auto-Submitted: auto-generated/auto-repliedheaders - Mailing-list mail (
List-Id,List-Unsubscribepresent) - Bulk-stream mail (
Precedence: bulk/list/junk) - Messages whose sender domain matches our own outbound domain
Plus: we set Auto-Submitted: auto-replied on every outbound so other AI assistants don't loop into us.
Provider details (ops)
Inbound and outbound currently run on Postmark (inbound parse plus the send API). The provider integration is abstracted so additional mail providers (such as SendGrid or AWS SES inbound) can be added later without touching the rest of the pipeline. We use Postmark because:
- Cleanest inbound parse API of the popular providers (clean JSON with
TextBody/HtmlBody/Headers[]already split out). - HMAC signed webhooks, with straightforward verification.
- Same provider for outbound, so SPF / DKIM are aligned to one domain.
Roadmap / explicit non-goals
- Custom domains (
{slug}@customer-domain.com): possible by adding their domain as a Postmark sender domain + giving them DKIM records to publish. Not in v1; ask if you need this. - SendGrid adapter: ships when there's a customer who genuinely needs SendGrid's deliverability story over Postmark's.
- Multi-region inbound: single inbound endpoint today. Edge-routed inbound is a v2 ops upgrade if latency for non-IN/EU customers becomes a real issue.
- HTML email rendering: v1 sends plain-text only (same as the IMAP path). HTML lands when product asks.
Pricing
Hosted Inbox is included on every paid plan, same as the Email Assistant. Each AI-generated reply counts as 1 message against your plan's monthly quota, from 2,000 messages a month on Starter up to 40,000 on Enterprise. See the pricing breakdown for the full plan table.
Related guides
- Email Assistant (IMAP/SMTP): the other email surface.
- Hallucination prevention: the source-citation contract every email reply honours.
- Query decontextualization: multi-turn retrieval quality fix that runs on email too.
- Slack channel setup: another channel that shares the same escalation gate.
- Channel health monitoring: track delivery and reply rates across every connected channel, including Hosted Inbox.