Open-Source Cold Email & Warmup Platform
Warmbly is the open-source platform for cold email: warm your mailboxes, send campaigns, and triage every reply. Run it on our cloud or self-host the whole thing.
Your marketing, website and inquiries in one place.
MarketingGitHub @LoroD1222OnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
Repository information has not been collected yet.
No updates detected yet. GitHub releases will appear here.
The maker's introduction consists of the line above. Read the repository README for more details. Repository README ↗
Loading the full README.
Read the full README ↗Client portal and admin dashboard for Safari Digital, at portal.safaridigital.co.tz.
admin (Safari Digital) and client (tour operators)/api/inquiries with a per-client form key (admin → client → Connections)supabase/migrations/ in order (0001_init.sql to 0007_billing.sql).supabase/make-admin.sql with your email.https://portal.safaridigital.co.tz and add https://portal.safaridigital.co.tz/** and https://*.vercel.app/** to Redirect URLs (password-reset links need these).ANALYTICS_VERCEL_TOKEN; then pick each client's Vercel project under Data connections on the client page. Web Analytics must be enabled on each client site.safaridigital.co.tz domain (DNS records), create an API key, then add RESEND_API_KEY and EMAIL_FROM (e.g. Safari Digital <[email protected]>) in Vercel's Environment Variables and redeploy. Optionally set PORTAL_URL=https://portal.safaridigital.co.tz so email links use the custom domain.ads_read and business_management. Add it in Vercel as META_SYSTEM_USER_TOKEN, plus a random CRON_SECRET, and redeploy. Pick each client's ad account under Connections; results sync every morning (vercel.json) or with Sync now.NEXT_PUBLIC_SUPABASE_URL and the key), and deploy.cp .env.example .env.local # fill in the two Supabase values
npm install
npm run dev
0020–0023 (run in order). Tests: npm test (Vitest + PGlite, no real emails)./api/cron/followups (vercel.json). Each email goes Monday–Friday 9:00–17:00 in the guest's time zone
(from their country when it has one zone, otherwise the operator's setting).https://<portal>/api/webhooks/resend (events email.bounced,
email.complained, email.delivered) and put its signing secret in RESEND_WEBHOOK_SECRET.