Skip to content

Run it on your own infrastructure.

fromHello is open source under AGPL-3.0, and you can run it on your own servers, with unlimited contacts. Your customer data sits in your own Postgres. This page shows what you run: the services, the data model, the channels and the requirements.

AGPL-3.0 · Postgres 18+ · Redis 8+ · Node.js 24Updated

Hosted by us, or on your servers. Two ways to run it.

Recommended

fromHello Cloud

Nothing to install. Nothing to upgrade.

  • Hosted for you
  • We run Postgres, Redis and every upgrade
  • Email sending, set up for you (Team and up)
  • AI credits (Team and up)
  • Support included

Early access to fromHello Cloud opens in stages.

AGPL-3.0

Self-host

Run it yourself. With or without us.

  • On your own servers: an API, a worker, the dashboard and an optional MCP server
  • You run Postgres 18+, Redis 8+, upgrades and backups
  • Your sending provider: Resend, Postmark, SendGrid, SMTP or Microsoft 365
  • Your AI key, or local models through Ollama
  • Help through GitHub issues

With your own SMTP server and Ollama, your data can stay entirely on your servers.

Every contact, event and message is readable as JSON through the API. When you self-host, all of it sits in your own Postgres.

One TypeScript monorepo. Nothing exotic to run.

One pnpm and Turborepo workspace, TypeScript end to end: the dashboard, the API, the worker and the MCP server, beside Postgres and Redis.

  • apps/web

    The dashboard: profiles, segments, journeys, templates and analytics.

  • apps/api

    The Hono API and its webhooks: provider callbacks and inbound replies.

  • apps/worker

    Background jobs on BullMQ: journeys, sends and segment updates.

  • apps/mcp

    The optional MCP server: 59 tools for Claude, Cursor or any MCP client.

  • packages/sdk

    The JS/TS SDK: event tracking with an offline queue, and XSS-safe in-app banners and modals.

  • Postgres 18+ · Redis 8+

    Postgres holds profiles, events, messages, consent and audit logs. Redis backs the job queues and rate limiting.

One profile per person, in your own database.

A first-party data model you own outright, with no warehouse round-trip. Each event re-evaluates that person against every dynamic segment.

Profiles
A company field, custom fields, events, messages and replies, all on one profile. Anonymous history merges into it at signup.
Events
Page views and sessions from the tracking snippet, plus any event you send through the API or the SDK. The SDK queues events offline and sends them when the browser is back online.
Segments
Dynamic rules re-evaluated on every event, plus static segments you manage by hand. Use them in journeys, or sync them to ad audiences.
Funnels
Model the path from first touch to retained, and see the drop-off and conversion at each step.
Custom fields
Extend any profile with your own typed fields: text, number, boolean, date or select.

Five channels. Bring your own keys.

Reach customers where they are, through providers you already trust. Swap a provider without touching the rest of the platform.

  • Email

    Resend · Postmark · SendGrid · SMTP · Microsoft 365

  • SMS

    Twilio · SMSPartner · MessageBird · custom HTTP

  • In-app

    banner · modal

  • Web push

    browser opt-in

  • Ad audiences

    Meta · LinkedIn · Google

  • Replies

    IMAP · Microsoft 365 · webhooks

The journey engine

Compose any flow from the node vocabulary.

A visual builder where every journey is nodes and edges, with 14 node types: read it, branch it, version it. An AI agent connected over MCP uses the same nodes, and the journeys it builds stay drafts until they are published. Publishing through an agent takes a confirmation step in your AI client.

The nodes

Triggers
  • Entry
Actions
  • Send email
  • Send SMS
  • Webhook
  • Update profile
  • Add to segment
  • Remove from segment
  • Enroll in journey
Flow control
  • Wait
  • Wait for event
  • Branch
  • A/B split
Endings
  • Exit
  • Goal

Data and control, on your servers.

Self-hosted, your customer data sits in your own Postgres. The services doing the work receive what they need: your email and SMS providers, the AI model and the ad platforms.

Export and erase
Export a contact as JSON, or erase their profile and messages, through the API. Every erasure is audit-logged.
Automatic suppression
Unsubscribes and bounces feed a suppression list, checked before every send.
Audit log
Invites, API keys, sending settings, consent changes, erasures and MCP tool calls.
Workspaces and roles
Separate workspaces, four roles from owner to viewer, and API keys scoped to one workspace.
Your sending domain
Email goes out from your own domain, so its reputation is yours.
First-party tracking
Our tracking loads no third-party pixels.

Requirements

What you need to run it yourself.

Your own servers run Postgres 18+, Redis 8+, an API, a worker, the dashboard and an optional MCP server. You run upgrades and backups, and help comes through GitHub issues.

  • Node.js 24

    Runs the API, the worker, the dashboard and the optional MCP server.

  • Your own email provider

    Resend, Postmark, SendGrid, SMTP or Microsoft 365. SMS goes through your own provider too, and AI through your own key, or local models with Ollama.

  • Two domains with TLS

    One for the dashboard and one for the API, plus an optional third for the MCP server over HTTP.

  • A public API and dashboard

    Provider webhooks, the tracking snippet and one-click unsubscribes call the API, and the unsubscribe link in an email opens a preference page on the dashboard, so both must be publicly reachable.

Early access

fromHello Cloud

You didn’t start this to stay small.

Early access to fromHello Cloud opens in stages. Onboarding is hands-on: we help you get set up and bring your contacts over.

We’ll email you when your spot opens. No spam.

Not ready to join? View on GitHub