{"id":"01a0fe0f-7461-79b0-afdc-b3a78e240dc0","slug":"heyflare","name":"heyflare","oneLiner":"HEY-style email client for Gmail, Outlook, IMAP and custom-domain mailboxes, with a built-in AI assistant","logoUrl":"https://heyflare.email/favicon.svg","primaryCategory":{"slug":"email","name":"Email"},"services":[{"slug":"workers","name":"Cloudflare Workers","shortName":"Workers"},{"slug":"static-assets","name":"Workers Static Assets","shortName":"Static Assets"},{"slug":"d1","name":"Cloudflare D1","shortName":"D1"},{"slug":"email-workers","name":"Email Workers","shortName":"Email Workers"},{"slug":"cron-triggers","name":"Cron Triggers","shortName":"Cron"}],"deploy":"one_click","hasOneClick":true,"licenseName":"MIT","licenseClass":"open_source","freeTierStatus":"likely_sufficient","isTested":false,"lastTestedAt":null,"stars":27,"isArchived":false,"publishedAt":"2026-10-02T22:33:32.601Z","contentUpdatedAt":"2026-10-05T13:27:40.380Z","latestCommitAt":"2026-09-15T17:41:48Z","screenshot":{"url":"/media/apps/01a0fe0f-7461-79b0-afdc-b3a78e240dc0/01a0fe11-d2d1-76ba-9108-6abe39db36c9.png","alt":"heyflare Imbox with a Screener notice, new and previously seen threads, and the tray sidebar"},"sourceHealth":"healthy","shortDescription":"heyflare brings HEY's workflow to existing mailboxes: a Screener for first-time senders, an Imbox for people, The Feed for newsletters and Paper Trail for receipts. It adds a calendar and an AI assistant that works with the owner's own model API key.","longDescription":"A first-time sender waits in the Screener until the owner lets them in or screens them out, and that decision applies across every connected account. The Imbox has Reply Later, Set Aside and Bubble Up trays, and Bundles fold a chatty sender into one row. Gmail and Outlook connect over OAuth, other providers over IMAP and SMTP with an app password, and mailboxes on custom domains receive mail through Cloudflare Email Routing.\n\nThe assistant opens in a side panel. It can search and read threads, screen senders, file mail, and draft replies or forwards in the owner's tone; nothing is sent until the owner presses Send, unless autonomous sending is turned on. It works with Anthropic, OpenAI, xAI, OpenRouter, Google Gemini or any OpenAI-compatible endpoint. Mail goes to the provider only when an AI feature runs, including the optional learning from sent mail that builds the assistant's memory. A calendar sits beside the mail with Google Calendar sync, subscribed .ics feeds, tasks, habits and a journal. Two-factor auth, keyboard shortcuts and a mobile layout are built in. Tauri wrappers exist for macOS and iPhone.\n\nOn Cloudflare it is a single Worker with static assets, a D1 database, a cron trigger that syncs Gmail, Outlook and IMAP every minute, and an email handler for custom-domain mail. Besides the Deploy to Cloudflare button, npm create heyflare@latest walks through the same setup as a CLI wizard.","useCases":["Screen unknown senders across Gmail, Outlook and IMAP accounts","Read personal and custom-domain mail in one Imbox","Draft replies with an AI model you choose and pay for","Keep a calendar, tasks and habits next to your mail"],"targetAudience":"Individuals who like HEY's mail workflow but want to keep their Gmail, Outlook or domain addresses and run the client in their own Cloudflare account.","knownLimitations":"One deployment serves a single owner.\nUntil the Google OAuth app is published, Google limits refresh tokens for test users to 7 days.\nCustom-domain mailboxes cannot send until Cloudflare Email Sending or Resend is set up.\nTurning on Email Routing for a domain takes over all mail for that domain.\nSMTP cannot use port 25, which Cloudflare blocks; use 465 or 587.\nConnecting an account imports no history; only new mail syncs.\nAI features need an API key from one of the supported providers.","editorialNote":null,"ownershipDisclosure":null,"homepageUrl":"https://heyflare.email","demoUrl":null,"docsUrl":"https://heyflare.email/docs","repository":{"provider":"github","owner":"doable-team","name":"heyflare","url":"https://github.com/doable-team/heyflare","defaultBranch":"main","stars":27,"forks":8,"openIssues":1,"licenseSpdx":"MIT","isArchived":false,"latestRelease":"v0.4.11","latestReleaseAt":"2026-09-15T17:42:05Z","latestCommitAt":"2026-09-15T17:41:48Z","metadataFetchedAt":"2026-10-07T03:46:25.875Z"},"secondaryCategories":[],"servicesDetailed":[{"slug":"workers","name":"Cloudflare Workers","shortName":"Workers","detectionKind":"explicit","note":null},{"slug":"static-assets","name":"Workers Static Assets","shortName":"Static Assets","detectionKind":"explicit","note":null},{"slug":"d1","name":"Cloudflare D1","shortName":"D1","detectionKind":"explicit","note":null},{"slug":"email-workers","name":"Email Workers","shortName":"Email Workers","detectionKind":"inferred","note":null},{"slug":"cron-triggers","name":"Cron Triggers","shortName":"Cron","detectionKind":"explicit","note":null}],"connectors":[],"externalRequirements":[{"slug":"anthropic","name":"Anthropic API","requirementKind":"optional","purpose":"Default model provider for the AI assistant","selfHostedAlternative":null,"hasSelfHostedAlternative":true,"evidenceUrl":"https://github.com/doable-team/heyflare#readme"},{"slug":"google-oauth","name":"Google OAuth","requirementKind":"optional","purpose":"Connects Gmail accounts and Google Calendar","selfHostedAlternative":null,"hasSelfHostedAlternative":false,"evidenceUrl":"https://github.com/doable-team/heyflare#readme"},{"slug":"openai","name":"OpenAI API","requirementKind":"optional","purpose":"Alternative model provider for the AI assistant","selfHostedAlternative":null,"hasSelfHostedAlternative":true,"evidenceUrl":"https://github.com/doable-team/heyflare#readme"},{"slug":"resend","name":"Resend","requirementKind":"optional","purpose":"Sends mail from custom-domain mailboxes instead of Cloudflare Email Sending","selfHostedAlternative":null,"hasSelfHostedAlternative":true,"evidenceUrl":"https://github.com/doable-team/heyflare#readme"}],"deployMethods":[{"id":"01a0fe11-001c-7bf8-8d16-72d86673bf5c","methodType":"one_click","url":"https://deploy.workers.cloudflare.com/?url=https://github.com/doable-team/heyflare","command":null,"docsUrl":"https://heyflare.email/install","branch":"main","isOneClick":true,"isPrimary":true,"requiredPlan":null,"notes":"The Google OAuth fields can be left empty during the deploy. Open the workers.dev URL, create the owner at /setup, then add GOOGLE_CLIENT_ID and GOOGLE_CLIENT_SECRET to connect Gmail."}],"deployRequirements":[],"bindings":[{"bindingType":"d1_databases","bindingName":"DB","resourceName":"heyflare-db"}],"envVars":[],"screenshots":[{"id":"01a0fe11-d855-73d5-9d30-e2eb49b4b860","url":"/media/apps/01a0fe0f-7461-79b0-afdc-b3a78e240dc0/01a0fe11-d2d1-76ba-9108-6abe39db36c9.png","width":2560,"height":1600,"altText":"heyflare Imbox with a Screener notice, new and previously seen threads, and the tray sidebar","isPrimary":true,"sourceType":"repository"},{"id":"01a106ca-1160-70da-85e1-13772a4a5624","url":"/media/apps/01a0fe0f-7461-79b0-afdc-b3a78e240dc0/01a106ca-1042-7752-b758-8764f360f4d2.png","width":1440,"height":900,"altText":"heyflare homepage with Deploy to Cloudflare and GitHub buttons above a preview of the Imbox","isPrimary":false,"sourceType":"upload"},{"id":"01a0fe11-e1f5-758f-80d1-6a3fcf2e7509","url":"/media/apps/01a0fe0f-7461-79b0-afdc-b3a78e240dc0/01a0fe11-dbec-77f1-a642-0ea2883fdda3.png","width":2560,"height":1600,"altText":"heyflare Screener with two first-time senders, each with Screen out and Let them in buttons","isPrimary":false,"sourceType":"repository"},{"id":"01a0fe11-eb9f-7b42-a276-fc09b484acf3","url":"/media/apps/01a0fe0f-7461-79b0-afdc-b3a78e240dc0/01a0fe11-e48a-747c-b96a-616cf4ab68b9.png","width":2560,"height":1600,"altText":"heyflare thread view with the AI assistant panel answering a request to find invoices","isPrimary":false,"sourceType":"repository"}],"licenseUrl":"https://github.com/doable-team/heyflare/blob/f94ef7bde73fcf14000ea0e4934f36d7b2564018/LICENSE","freeTierNote":"The core app (Worker, D1, static assets, a per-minute cron and inbound Email Routing) fits Workers Free. Cloudflare Email Sending to arbitrary recipients requires Workers Paid, so on Free use Resend, or send through Gmail, Outlook or SMTP.","freeTierSourceUrl":"https://developers.cloudflare.com/email-service/platform/pricing/","freeTierCheckedAt":null,"setupComplexity":"medium","setupComplexityNote":"Gmail needs a Google Cloud OAuth client with the Gmail and People APIs enabled, a consent screen that lists test users, and a redirect URI on the deployed host. Outlook needs a separate Microsoft Entra ID app registration.","verification":{"status":"untested","testedAt":null,"versionRef":null,"deploymentMethod":null,"coreUseCase":null,"publicNote":null,"resources":[],"steps":[],"screenshots":[],"staleReason":null},"alternatives":[{"slug":"hey","name":"HEY"},{"slug":"spark","name":"Spark"},{"slug":"superhuman","name":"Superhuman"}],"sources":[{"sourceType":"repository","url":"https://github.com/doable-team/heyflare","lastSeenAt":"2026-10-04T00:33:40.679Z"},{"sourceType":"homepage","url":"https://heyflare.email","lastSeenAt":"2026-10-07T03:45:57.226Z"},{"sourceType":"docs","url":"https://heyflare.email/docs","lastSeenAt":"2026-10-07T03:45:57.226Z"}],"lastSourceRefreshAt":"2026-10-07T03:46:25.875Z","lastReviewedAt":"2026-10-02T22:33:32.601Z","seoTitle":"heyflare: HEY-style email client on Cloudflare","seoDescription":"heyflare is a self-hosted, HEY-style email client on Cloudflare Workers that screens new senders across Gmail, Outlook, IMAP and custom-domain mail.","changeEvents":[{"id":"01a0fec0-5521-7bc0-8d77-cbe12c4cc3fa","kind":"listed","summary":"heyflare listed","createdAt":"2026-10-02T22:33:32.601Z","app":{"slug":"heyflare","name":"heyflare"}}]}