the Open-source

Notification Infrastructure

Simple to use OCL, embeddable notification center, management dashboard and more.
Built by the community

Get Started

Easier than ever before

Build Templates

From Email HTML, SMS, In-App, or any other channel, control content, {{variables}} an filters.

Give me templates
No Vendor Lock

Swap providers easily and in a single place. Need to swap providers run-time? We got you.

No more vendor lock!
Unified API

Simple and Unified API for all channels. All based on a central configuration.

I love b.e.a.utiful API's
How to start

3 Step Setup

Add Providers

Just select one of Notifire's providers made with ❤️ by our community. Add your API key. and that's it. The provider is ready to be used, don't worry about the underlying API, Notifire will take care of it for you.


import { ChannelTypeEnum, Notifire } from '@notifire/core';
import { SendgridProvider } from '@notifire/sendgrid';

export const notifire = new Notifire();

await notifire.registerProvider(
	new SendgridProvider({
  	apiKey: ''
  })
);

Create Template (or use predefined)

Create a simple notification with single channel or a multi-channel notification is the same. Use {Handlebars} syntax, and custom rules to control the delivery of notifications.


await notifire.registerTemplate({
  id: 'password-reset',
  messages: [
    {
      subject: 'Test subject {{subjectTitle}}' + new Date(),
      channel: ChannelTypeEnum.EMAIL,
      template: `
         
         
html {{firstName}}'
` }, ] });
Trigger

Now all you need is a trigger, and notification will be sent based on the template configuration. No more if statements in your  components.


await notifire.trigger(passwordResetTemplate.id, {
  $email: 'test_user@test.com',
  $user_id: '123',
  subjectTitle: 'Hello there',
  firstName: 'John'
});

FEATURES

Things you'll dig

Customizable & Extandable

Tired visiting 4 provider dashboards and using internal code editors? Control and customize the code from where it should be, your IDE.

Theming & Variables

No more pushing variables that are undefined, define variables from code, using defaults and rules send only what needs to be sent. Enjoy pre-defined and configurable theme injection.

Unified API

With a single and easy to use API, you can swap and add new providers easily. Separate the delivery method from the notification content and rules.

Hooks

Using Notifire provide you with structured lifecycle you can act upon, now including pre-send and post-send events you can use to update analytics, update database, or anything else you might need.

Notifire Providers

Providers are added every week by the community. Start using the ones you need, or help us by building new ones.

Provider Logo
Sendgrid
Partner with the email service trusted by developers and marketers
Created By:
Notifire
Provider Logo
38163
·
38163
v0.0.5
Provider Logo
Nodemailer
Send e-mails from Node.js – easy as cake! 🍰✉️
Created By:
Tarun Pai
Provider Logo
584
·
584
v1.0.2
Provider Logo
Twilio
Communication APIs for SMS, Voice, Video and Authentication
Created By:
Notifire
Provider Logo
17747
·
17747
v0.0.6