## TODO — Cloudflare Email Inbounding Setup **Origin:** Socrates 🧠 (Cloudflare tunnel fix) **Date:** 2026-04-23 **Status:** ⏳ QUEUED — Awaiting dashboard access **Priority:** P2 (infrastructure ready, needs Matt) **Assigned:** Matt (Cloudflare dashboard) / Wadsworth 📋 --- ## What was fixed - `hook.hoffdesk.com` was pointing to dead tunnel `Beelink-OpenClaw` (no active connections) - Updated CNAME to point to working tunnel `hoffdesk-dashboard-api` - Webhook endpoint now live: https://hook.hoffdesk.com/health ## Remaining tasks (requires Cloudflare dashboard access) ### 1. Cloudflare Email Routing - [ ] Add `assistant@hoffdesk.com` as destination address - [ ] Create routing rule for `assistant@hoffdesk.com` → Worker ### 2. Deploy Cloudflare Worker - [ ] Script: `/home/hoffmann_admin/.openclaw/workspace-socrates/scripts/email_worker.js` - [ ] Replace `assistant@yourdomain.com` → `assistant@hoffdesk.com` - [ ] Env vars: `WEBHOOK_SECRET` = `zFpeh8bKGsWrXAPcrEzRkAPFlo_c7ZOYNTaLKxzAEobwnEiZ9SfOvdTysTkrM4Qr` - [ ] Webhook URL: `https://hook.hoffdesk.com/webhook` ### 3. Test end-to-end - [ ] Send test email to `assistant@hoffdesk.com` - [ ] Verify webhook receives payload - [ ] Verify pipeline processes classification → notification --- ## Context for Matt The worker script lives at `scripts/email_worker.js`. Before deploying: 1. Open Cloudflare dashboard → Workers & Pages 2. Create new Worker → paste the script 3. Replace `assistant@yourdomain.com` with `assistant@hoffdesk.com` 4. Add environment variable `WEBHOOK_SECRET` (value above) 5. Save & deploy Then: 1. Go to Email Routing → Routes 2. Add `assistant@hoffdesk.com` as a destination 3. Create a catch-all or specific rule forwarding to the Worker The webhook endpoint at `https://hook.hoffdesk.com/webhook` is ready to receive. --- ## Notes - Matt is away from dashboard today (2026-04-23) - This task is safe to defer — infrastructure is live and stable - When ready, the entire setup should take < 10 minutes - No urgency — email pipeline v2 (classification) is complete and waiting --- *Queued by Wadsworth 📋 on behalf of Socrates 🧠*