Skip to main content
Bring your support emails into the same BubblaV inbox as your live chat, Messenger, WhatsApp, and other channels. Connect Cloudflare with an API token and a from-address on your Cloudflare domain — inbound mail is forwarded through Cloudflare Email Routing into BubblaV, triaged alongside everything else, and you reply by email directly from the dashboard with the original thread intact.

Why Connect Cloudflare Email?

One Unified Inbox

Triage chat, social DMs, and email conversations in a single place

Reply by Email

Agent replies are sent through the Cloudflare Email Sending API and thread correctly in the customer’s mail client

API-Native

No IMAP/SMTP credentials or app passwords — just an API token and your Cloudflare account ID

Two Inbound Paths

Zero-code: forward your support address to a BubblaV-hosted inbound address. Advanced: deploy a lightweight Email Worker on your own domain
The Cloudflare Email 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 below.

Prerequisites

  • A Cloudflare account with your domain on it.
  • A Cloudflare API token with Email Sending permission — steps below.
  • Your Cloudflare account ID — steps below.
  • A from-address on a domain onboarded to Cloudflare Email Sending — e.g. support@yourdomain.com. Cloudflare Email Sending must be enabled for the domain that owns the address.
  • Email Routing enabled on your domain (Email → Email Routing) for inbound delivery.

Getting your API token

1

Open API Tokens

In the Cloudflare dashboard, click your profile icon → My Profile → API Tokens tab → Create Token.
2

Create a Custom Token

Scroll to the bottom and choose Create Custom Token → Get started. Give it a name like bubblav-email.
3

Set permissions

Under Permissions, add a row: Account → Email Sending → Edit. (Edit covers both sending mail and reading the suppressions list BubblaV uses to validate your token at connect.)
4

Scope and create

Under Account Resources, select your account (or All accounts if you manage several). Leave TTL/IP filters blank unless your security policy requires them → Continue to summary → Create Token.
5

Copy the token

The token is shown once — copy it now and keep it handy for the connect dialog.

Getting your account ID

Your account ID is a 32-character hex string. Two easy ways to find it:
  • Overview page: click any domain in the dashboard — the account ID is in the right-hand sidebar under the API section, next to Zone ID.
  • URL: open any domain — the address bar shows https://dash.cloudflare.com/<account-id>/<zone-id>; the first ID is your account ID.

Setup Steps

1

Open the Cloudflare Email integration

In your dashboard, go to Integrations and find Cloudflare Email under the Communication category.
2

Enter your credentials

Paste your Cloudflare API token, account ID, and the support address replies should be sent from — for example support@yourdomain.com.
3

Connect

BubblaV validates the token and account, then opens the configure page showing your unique inbound address — it looks like cf-xxxxxxxx@inbound.bubblav.se.
4

Set up inbound delivery

Choose one of the two inbound paths below.
The configure page shows a unique inbound address cf-<token>@inbound.bubblav.se. Point your Cloudflare Email Routing at it:
1

Add the destination address first

In the Cloudflare dashboard → your domain → Email → Email Routing → Destination Addresses (also reachable from the Routing Rules screen via Manage destination addresses), click Add destination address and enter your minted cf-<token>@inbound.bubblav.se address. Until it’s added and verified, it won’t appear in the routing-rule dropdown.
2

Wait for the verification email

Cloudflare immediately sends a confirmation email to the cf-<token> address — and because that address is hosted by BubblaV, the verification email lands in your BubblaV inbox as a normal conversation.
3

Click the link in the ticket

Open the conversation in Live Support (it typically arrives from no-reply@cloudflare.com with a subject about address verification) and click the verification link. The destination address now shows Verified.
4

Create the routing rule

Back in Email → Email Routing → Routing Rules, create a rule (a custom address like support@, or a catch-all) with action Forward to → select your now-verified cf-<token>@inbound.bubblav.se from the destination dropdown → save. Real mail starts flowing into the inbox.
If the verification ticket doesn’t show up within a couple of minutes: check your Archived conversations, make sure no-reply@cloudflare.com isn’t on your Ignored Senders list, and resend the verification from Cloudflare’s destination-address screen.

Inbound — Option B: self-hosted Email Worker (advanced)

If you’d rather keep inbound traffic entirely inside your own Cloudflare account, deploy the small ingest worker on your domain:
1

Deploy the worker

Click Deploy to Cloudflare on the configure page (or clone bubblav-org/cloudflare-email-worker), then set the BUBBLAV_TOKEN secret to the token shown on your configure page: npx wrangler secret put BUBBLAV_TOKEN.
2

Route mail to it

In Email → Email Routing → Email Workers (or a Routing Rule with the action Send to a Worker), bind your support address to the deployed worker.
3

Done

The worker forwards raw email to your BubblaV endpoint — no destination-verification step is needed for this path.

Recipient filter

Use the Allowed addresses list (in the connect dialog, or later on the configure page) to ingest only mail sent to addresses you list — e.g. support@yourdomain.com — and keep noreply@ notifications out. Blank = accept mail addressed to any address on your domain (the default). The Ignored Senders blocklist still applies on top.

Managing Your Integration

  • New mail arrives shortly after delivery to your routed address and appears as a conversation in Live Support, tagged with a Cloudflare Email badge.
  • Reply from the conversation view — your reply is sent through the Cloudflare Email Sending API from your connected address and threaded under the customer’s original email.
  • Auto-reply, signature, and filters: the configure page exposes the same email settings — enable AI auto-replies, set a reply signature, manage allowed addresses and ignored senders.
  • Change credentials: disconnect and reconnect with the new details — your inbound cf-<token> address stays the same, so your routing rule never breaks.
  • Disconnect from the integration’s configure page. Nothing remote is removed — delete the Cloudflare routing rule yourself when you’re done.

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.
1

Open the email conversation

In Live Support, open the email ticket you want to answer.
2

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.
3

Review and personalize

Check the draft, adjust the tone, and add anything Copilot couldn’t know.
4

Send

Your reply goes out through the Cloudflare API from your connected address, threaded under the customer’s original email — exactly as if you’d written it yourself.
Copilot only drafts — a human always reviews and sends. Nothing goes out from your address without an agent clicking send.

Troubleshooting

Check the API token has Email Sending permission and is scoped to the right account, and that the account ID is copied exactly (32-hex string from the domain Overview page).
Confirm you clicked the verification link — the rule stays inactive until the cf-<token> destination is verified. The verification email lands as a conversation in your BubblaV inbox. If it didn’t, resend it from the destination-address screen in Cloudflare.
Check your Allowed addresses list on the configure page — when it’s non-empty, only listed To/Cc addresses are ingested. Also confirm the sender isn’t on Ignored Senders.
The from-address domain must be onboarded to Cloudflare Email Sending. Onboard the domain in the Cloudflare dashboard (Email → Email Sending) and try again.
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.