What is palumb?
palumb is a notification platform you program, not configure.
Most products send notifications. The hard part is never the single send — it is everything around it: which users to notify, when to batch instead of spamming, what to do when a provider is down, how to avoid sending the same email twice after a crash, and keeping every provider credential out of your application code.
palumb splits that problem cleanly in two:
- You write the workflow. Plain TypeScript behind one signed webhook; palumb’s engine runs it durably. “When an order is created, wait a minute, batch the orders for that customer, then email them a summary.” Branches, loops, and calls into your own code are all just code — there is no low-code canvas to fight.
- palumb runs the control plane. A managed service that receives your triggers, knows your audience, holds your channel credentials (encrypted), and makes the actual provider calls. You express intent; palumb does the I/O.
The boundary is the whole point: you never touch a provider’s API keys, and palumb never sees your business logic. Each side owns what it is best at.
A 30-second mental model
Section titled “A 30-second mental model”flowchart LR
App["Your app<br/>order O-1 for cust_1"]
Core["palumb-core<br/>(managed control plane)"]
WF["Your Bridge<br/>orderCreated workflow"]
Provider["Provider<br/>SMTP / Slack / …"]
App -->|"① POST /v1/events"| Core
Core -->|"② drive your Bridge, durably"| WF
WF -->|"③ step.send: email to cust_1"| Core
Core -->|"④ real send, your encrypted creds"| Provider
Two HTTP hops, one durable runtime in the middle. The Architecture page walks the full loop.
Who it is for
Section titled “Who it is for”palumb is for product and platform engineering teams that:
- already have a backend and want notification logic to live in code they own, reviewed and tested like the rest of their system;
- need durability guarantees — no lost notifications, no double sends — that are painful to build by hand;
- want to keep their notification data in the EU, run by a managed provider, without operating the infrastructure themselves.
It is not a marketing-email tool, and it is not a drag-and-drop builder for non-developers. If your workflows are written by people who do not write code, palumb is the wrong shape.
What palumb is built on
Section titled “What palumb is built on”The durable runtime under your workflows is Restate. You do not have to become a Restate expert to use palumb — the SDK gives you a small, opinionated surface — but it is why “wait a minute, then batch and send” survives a process restart without you writing any checkpointing code. See Durability & Restate.
- How it works — the control-plane / your-code split in detail.
- Why palumb — where it fits versus the alternatives.
- Quickstart — run the whole loop end to end.