Skip to content

Email Routing

Connect a support email address to DeskFork using Cloudflare Email Routing. Inbound emails are parsed, threaded, and converted into tickets automatically.

  • Your domain must use Cloudflare DNS
  • Cloudflare Email Routing must be enabled on your zone

Settings → Inboxes → Add inbox → Email

Enter the email address you want to receive support emails (e.g. support@yourdomain.com).

DeskFork will display an MX record and a routing rule to add in your Cloudflare dashboard.

Step 2 — Configure Cloudflare Email Routing

Section titled “Step 2 — Configure Cloudflare Email Routing”
  1. Go to Cloudflare Dashboard → Email → Email Routing
  2. Add a Custom address rule: support@yourdomain.com → forward to your DeskFork routing address
  3. Verify the address

DeskFork threads email replies using standard email headers in order of priority:

  1. In-Reply-To / References headers → exact ticket match
  2. Subject line prefix [TKT-XXXX] → ticket number match
  3. Fallback: same sender + subject within a 72-hour window

If none of the above match, a new ticket is created.

DeskFork verifies SPF/DKIM on inbound email:

Verification resultAction
SPF + DKIM passNormal ticket creation
SPF pass, DKIM failTicket created with ⚠️ DKIM failed warning label
SPF failTicket created with 🚨 Possible spoofing label; auto-response disabled
Both failTicket quarantined; no auto-response or AI triage

When an agent replies to an email ticket, DeskFork sends the reply via Resend using your configured From address. Set up your sending domain under Settings → Inboxes → [inbox] → Outbound email.

DeskFork handles:

  • Multipart MIME messages (text/plain + text/html)
  • Base64 and quoted-printable encoded bodies
  • Legacy encodings (EUC-KR, ISO-2022-JP) decoded to UTF-8
  • Attachments (uploaded to R2, served via Worker auth proxy)

Attachments on inbound email are stored in R2 and served via authenticated Worker proxy. They are never publicly accessible. The maximum attachment size is 25 MB per file; 100 MB per ticket.