Dynamic, context-aware email reply suggestions powered by your CRM data and writing style
Context-aware reply suggestions that adapt to each email.
When you open an inbound email, up to five context-aware chips appear below the body showing the most likely reply actions for thatspecific email. Labels are generated from the email content (e.g. “Accept the meeting”, “Push back on timeline”, “Send the proposal”). Two universal chips (Quick thanks and Custom…) are always appended to the end of the row.
Clicking a chip opens the inline reply and streams an AI-generated draft character-by-character. Edit the draft, or click Send.
Orthogonal to chip intent.
Below the chips, a tone pill group lets you pick: Warm, Direct, Formal, Casual, Brief, Professional, or Match sender. Tone applies to the chip you click. Your default is stored in your profile and persists across emails.
The AI analyzes your last 30 sent emails (from the connected Gmail/Outlook account) to extract your voice — preferred greetings, signoffs, formality, and tone. Replies are written to match. Refresh or delete the profile anytime from Settings → Profile → Data controls.
Press 1–5 to trigger the first five chips without reaching for the mouse. Press Alt+T to cycle through tones. Press Escduring generation to stop — partial text is preserved so you can finish editing without losing what streamed. Shortcuts only fire when chips are visible and you are not typing in an input.
The AI sees the last 3 messages of the thread verbatim plus an AI-generated summary of up to 7 older messages. For long threads, this means replies can reference context from much earlier in the conversation.
Common reasons and how to resolve them.
Where your email data goes.
Each AI endpoint has its ownrolling-hour bucket per user — hitting the chip cap does not consume your chat, agent-run, or draft allowance. Buckets are distributed via Redis so scaling up serverless instances doesn't multiply the effective limit.
When a bucket is exhausted, the endpoint returns an HTTP 429 with a Retry-After header (seconds until the next slot opens) and an error body { error: '…', code: 'RATE_LIMITED' }. The UI surfaces an amber “AI rate limit reached. Try again in N seconds.” banner. Usage also counts against your org's AI cost budget — if the budget is reached you'll see a separate “Budget reached. Turn on Extra AI Credits or upgrade” message with a Top up or Upgrade CTA.