> ## Documentation Index
> Fetch the complete documentation index at: https://docs.bubblav.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Resend

> Connect Resend to route inbound support email into your unified BubblaV inbox, with threaded replies sent through the Resend API and AI-drafted responses from Copilot

Bring your support emails into the same BubblaV inbox as your live chat, Messenger, WhatsApp, and other channels. Connect Resend with an API key and a from-address on your verified domain — inbound mail is pushed to BubblaV over a signed webhook, triaged alongside everything else, and you reply by email directly from the dashboard with the original thread intact.

## Why Connect Resend?

<CardGroup cols={2}>
  <Card title="One Unified Inbox" icon="inbox">
    Triage chat, social DMs, and email conversations in a single place
  </Card>

  <Card title="Reply by Email" icon="reply">
    Agent replies are sent through the Resend API and thread correctly in the customer's mail client
  </Card>

  <Card title="API-Native" icon="bolt">
    No IMAP/SMTP credentials or app passwords — just an API key and a verified domain
  </Card>

  <Card title="Attachments" icon="paperclip">
    Inbound attachments are fetched from Resend and shown with the conversation
  </Card>
</CardGroup>

<Note>
  The Resend channel creates a support conversation your team owns. The AI doesn't auto-send email replies — but Copilot can **draft** every reply for you. See [Draft a Reply with Copilot on Email](#draft-a-reply-with-copilot-on-email) below.
</Note>

## Prerequisites

* A **Resend API key** — create one in the Resend dashboard under **API Keys**. The key needs permission to list domains and manage webhooks for automatic setup.
* A **verified sending domain** in Resend (**Domains** → add your domain → complete the DNS records → verify). Your from-address must live on that domain.
* **Receiving enabled** on that domain so Resend can accept inbound mail for your support address.

## Setup Steps

<Steps>
  <Step title="Open the Resend integration">
    In your dashboard, go to **Integrations** and find **Resend** under the Communication category.
  </Step>

  <Step title="Paste your API key and from-address">
    Enter your Resend API key (`re_…`) and the support address replies should be sent from — for example `support@yourdomain.com`. The address must be on a domain verified in Resend.
  </Step>

  <Step title="Connect">
    BubblaV validates the key, checks that the from-address domain is verified, and automatically registers an `email.received` webhook in your Resend account pointing at your BubblaV endpoint.
  </Step>
</Steps>

### Manual webhook fallback

If automatic webhook registration fails — for example your API key lacks webhook permissions — you can register it yourself:

<Steps>
  <Step title="Copy your webhook URL">
    After connecting, open the integration's configure page. It shows your unique webhook endpoint URL.
  </Step>

  <Step title="Create the webhook in Resend">
    In the Resend dashboard, go to **Webhooks** → **Add webhook**, paste the endpoint URL, and subscribe to the `email.received` event.
  </Step>

  <Step title="Paste the signing secret">
    Copy the webhook's signing secret from Resend and paste it into the connect dialog's signing-secret field so BubblaV can verify inbound events.
  </Step>
</Steps>

### Using one Resend account with several domains

Resend webhooks fire for **every** verified domain on the account — there is no per-domain filter on the webhook. Each BubblaV connection is scoped to the domain of the from-address you paste: website A connected with `support@bouncebox.app` only ingests mail addressed to `bouncebox.app`, website B connected with `help@bubblav.com` only ingests `bubblav.com` mail. Use a **different from-address (one per domain) for each website**, and each inbox stays clean — replies still go out from that website's own address.

## Managing Your Integration

* **New mail** arrives instantly via webhook and appears as a conversation in **Live Support**, tagged with a Resend badge.
* **Reply** from the conversation view — your reply is sent through the Resend API from your connected address and threaded under the customer's original email.
* **Auto-reply, signature, and ignored senders**: the configure page exposes the same email settings — enable AI auto-replies, set a reply signature, and list sender addresses that should never create conversations.
* **Change credentials**: disconnect and reconnect with the new details.
* **Disconnect** from the integration's configure page; BubblaV also removes the registered webhook from your Resend account.

## How Replies Are Threaded

Each reply includes the correct `In-Reply-To`, `References`, and `Re:` subject headers so it lands inside the customer's existing email conversation in Gmail, Outlook, Apple Mail, and other clients — rather than starting a new thread.

## Draft a Reply with Copilot on Email

You don't have to write every reply from scratch. On any email conversation in the unified inbox, click **Draft reply with Copilot** and BubblaV writes a complete draft straight into your composer.

<Steps>
  <Step title="Open the email conversation">
    In **Live Support**, open the email ticket you want to answer.
  </Step>

  <Step title="Click Draft reply with Copilot">
    Copilot reads the customer's email (including attachments) and writes a complete, source-cited draft based on your knowledge base and the customer's context.
  </Step>

  <Step title="Review and personalize">
    Check the draft, adjust the tone, and add anything Copilot couldn't know.
  </Step>

  <Step title="Send">
    Your reply goes out through the Resend API from your connected address, threaded under the customer's original email — exactly as if you'd written it yourself.
  </Step>
</Steps>

<Info>
  Copilot only drafts — a human always reviews and sends. Nothing goes out from your address without an agent clicking send. This makes email support safe to hand to brand-new agents: Copilot supplies the answer, they stay in charge.
</Info>

## Troubleshooting

<AccordionGroup>
  <Accordion title="Connect says my domain is not verified">
    The domain part of your from-address must appear in **Domains** in the Resend dashboard with a verified status. Complete the DNS records for the domain, wait for Resend to confirm verification, then connect again.
  </Accordion>

  <Accordion title="The webhook isn't firing">
    Open the integration's configure page and check the webhook status. If it shows manual mode, confirm the webhook exists under **Webhooks** in Resend, points at the exact endpoint URL shown on the configure page, and subscribes to `email.received`. Also verify the signing secret was pasted correctly — inbound events are rejected without it.
  </Accordion>

  <Accordion title="Replies aren't threading in the customer's mail client">
    Threading relies on the `In-Reply-To` and `References` headers carried from the inbound email. If a conversation was started manually rather than from an inbound email, the first reply starts a new thread by design.
  </Accordion>
</AccordionGroup>
