Notifo Review
Self-hosted multi-channel notification service for email, SMS, and web push
Email Marketing · Open Source · OPEN SOURCE
Overview
Notifo is an open-source notification service that puts email, SMS, web push, mobile push, in-app sockets and a WhatsApp messaging channel behind one API, with a management UI for templates, users, subscriptions and projects. It comes from the Squidex team: the README says it was originally developed for Squidex Headless CMS, and the license is MIT. The feature set is practitioner-grade rather than campaign-grade: MJML and Liquid email templates, hierarchical topic subscriptions (a user can follow a path like clothes/shoes/nike and set preferences per topic), per-channel message queues with retries, configurable send delays that work as aggregation windows, confirmation modes from none to explicit, and read and confirmed tracking. Provider support is specific rather than pluggable: Amazon SES for email, MessageBird for SMS, Firebase for mobile push, a custom-built web-push implementation, and sockets for real-time in-page delivery; a JavaScript plugin adds a notification overlay to your web app. Storage is MongoDB only, with Redis optional as a SignalR backplane. The integration surface is documented and live: a REST API with an OpenAPI spec served by the app, a .NET SDK on NuGet (Notifo.SDK 1.7.5) and a TypeScript SDK on npm (@notifo/notifo 2.0.2). The maintenance picture needs a hard look before you build on it. Code commits continue (the most recent, a security fix, landed in August 2026, and the backend moved to .NET 10 in June), but the last tagged release and the published Docker images date to November 2022, so the squidex/notifo image you can pull is years behind main, and the wiki's notifo/notifo image name no longer exists on Docker Hub. A hosted instance runs at app.notifo.io and the marketing site mentions usage-based pricing, but no pricing page is live, so treat self-hosting as the only documented path. We have not run Notifo; this assessment is based on the repository, wiki and published documentation.
Key Integrations
How to install
- The README's documented path is Docker with the images at hub.docker.com/r/squidex/notifo, plus a docker compose file in the repo under deployment/docker-compose. Installation details live in the project wiki rather than a docs site.
- Pull: docker pull squidex/notifo:latest. Published tags are latest, 1 and 1.3.0, and Docker Hub shows the last push roughly four years ago, so the image will not include the .NET 10 work on main.
- The repo compose file wires squidex/notifo:1 with mongo:5 and squidex/caddy-proxy:2.7.6, sets URLS__BASEURL=https://your-domain and STORAGE__MONGODB__CONNECTIONSTRING=mongodb://notifo_mongo, and healthchecks curl -f http://localhost:5000/healthz.
- Configuration flattens nested config keys into environment variables: mongoDB.connectionString becomes MONGODB__CONNECTIONSTRING, and the same pattern covers email, SMS and web push settings.
- Storage: the wiki states MongoDB is the only supported database. Redis is optional, used as a backplane for the sockets layer.
- Watch for a stale image name: the wiki still says to use notifo/notifo:1, but that repository does not exist on Docker Hub. The real image is squidex/notifo, and for current code you will be building from source.
Best for
Product and engineering teams, especially .NET shops or existing Squidex users, that want one self-hosted API for transactional and lifecycle notifications across email, SMS, push and in-app channels with per-user topic preferences.
Not for
Newsletter and campaign marketing (there is no campaign builder, segmentation or deliverability tooling), teams that need provider choice beyond SES, MessageBird and Firebase, and anyone who requires current tagged releases or Docker images before adopting a dependency.
Hands-on notes
Notifo is notification infrastructure, not marketing tooling, and the docs keep that identity consistent: one API, channels, users, subscriptions and templates. The model that matters is topic-based: users subscribe to hierarchical topics, events are published to a topic path, and each user sets notification preferences per topic with a confirmation mode (none, explicit, or seen). Delay settings act as aggregation windows so a burst of events becomes one digest. That is a different job from a campaign sender, and the feature list shows it: no segments, no journeys, no deliverability tooling.
Channel coverage is concrete: email through Amazon SES, SMS through MessageBird, mobile push through Firebase, custom-built web push, in-page delivery over sockets, and a messaging channel with WhatsApp support added in the 1.2.0 release notes. Templates are MJML with Liquid, and a JavaScript plugin renders a notification overlay inside your own web app. Provider choice is the constraint: the configuration carries one SES block and one MessageBird block, and the README explicitly asks contributors for other email providers, which tells you the roadmap state.
The maintenance record is the decision point, and it splits in two. Source activity is real: commits through August 2026, a security-fix commit on August 2, 2026, and a migration to .NET 10 in June 2026. Releases are not: the last tag is 1.3.0 from November 2022, and the Docker Hub images (squidex/notifo, tags latest, 1 and 1.3.0) were last pushed roughly four years ago. Practically, you either accept a 2022 image or build from source, and either way you are reading the commit log rather than the releases page to judge health. Eight hundred seventy-nine stars and nineteen open issues say small community.
For a .NET or Squidex shop the integration story is strong: the API has a live OpenAPI spec served by the app itself, Notifo.SDK on NuGet covers .NET clients, and the TypeScript SDK on npm is generated from the same spec. The wiki documents only MongoDB as storage, with Redis optional as a SignalR backplane, so plan a Mongo instance into the deployment. Note also that webhook-style callbacks appear in configuration but are not a documented feature, so do not plan an event-out pipeline around them.
We have not run Notifo; this assessment is based on the repository, the wiki and the published documentation. One naming caution: Notifo (this project, C#/.NET, MIT, notifo-io/notifo) is regularly confused with Notifuse, a separate Go-based self-hosted email platform with a paid cloud. They share nothing except the first four letters.
Verdict
Well-designed notification middleware with a genuine multi-channel model, undermined by a release gap: code moves, but the last release and images are from 2022. Build from source or look elsewhere.
Pros and cons
| Pros | Cons |
|---|---|
| ✓ Open-source licensing with free self-hosting | |
| ✓ API access for custom integrations | |
| ✓ Deep integration catalogue (8 listed) |
Building your martech shortlist?
The weekly newsletter: one tool teardown, one workflow, no fluff. Free.
Frequently asked questions
What is Notifo?
Self-hosted multi-channel notification service for email, SMS, and web push. It ships with 879 GitHub stars, an API for custom integrations. MartechSignal's review covers features, pricing, and how it compares to alternatives.
How much does Notifo cost?
Notifo is open source and free to self-host. Hosted plans may add support and managed features.
Is Notifo a good email marketing tool in 2026?
Well-designed notification middleware with a genuine multi-channel model, undermined by a release gap: code moves, but the last release and images are from 2022. Build from source or look elsewhere.
Is Notifo still maintained?
Partly, and the distinction matters. Commits continue: the most recent landed in August 2026 (a security fix) and the backend was migrated to .NET 10 in June 2026. But the last tagged release is 1.3.0 from November 2022, and the Docker Hub images under squidex/notifo were last pushed about four years ago, so nothing installable reflects the recent work. With 879 stars and a small maintainer group, treat it as a project you may need to build and patch yourself.
Does Notifo work with SendGrid, Mailgun or Twilio?
Not as documented providers. Email goes through Amazon SES, SMS through MessageBird, and mobile push through Firebase, with web push custom-built; the README explicitly asks for contributions toward other email providers. There is no Twilio or SendGrid integration in the configuration or documentation. If those providers are requirements, you would need to write the integration yourself, or front Notifo with an SMTP relay that hides the provider behind SES-compatible SMTP settings.
Notifo vs Notifuse: are they the same thing?
No, they are unrelated projects with confusingly similar names. Notifo (notifo-io/notifo) is a C#/.NET multi-channel notification service under MIT, built by the Squidex team, covering email, SMS, web push, mobile push and in-app sockets behind one API. Notifuse (notifuse/notifuse) is a Go-based self-hosted email marketing and transactional platform with a paid cloud, positioned against Mailchimp and Brevo. If you want campaign and newsletter sending, you want Notifuse or similar; if you want an API for product notifications, that is Notifo's job.