01
Their notifications. Their rules.
Channel preferences and tenant context, so each message belongs in the right place.
User preferencesNotifications, without the tangled code. Define once, deliver across channels. A TypeScript-first library for Node.js, built to fit your stack.
npm install @facteurjs/core
Open source. MIT licensed.
Configure your channels. Give your notification a message for each one. Then let Facteur handle the delivery.
Meet the notification APIimport { facteur } from './facteur.js'
import InvoicePaidNotification from './invoice_paid_notification.js'
// One notification. All your configured channels.
await facteur
.notification(InvoicePaidNotification)
.to(user)
.params({ amount: 100 })
.send()
Channel preferences and tenant context, so each message belongs in the right place.
User preferencesDatabase history, read status, a server API and React hooks for your in-app notification center.
Build an inboxFramework-agnostic at the core. Custom channels, lifecycle hooks and a built-in fake for tests.
Make it your ownInstall only the providers you need.
Bring your own when you need more.