npm install @novu/stateless
yarn add @novu/stateless
import { NovuStateless, ChannelTypeEnum } from '@novu/stateless';
import { SendgridEmailProvider } from '@novu/sendgrid';
const novu = new NovuStateless();
await novu.registerProvider(
new SendgridEmailProvider({
apiKey: process.env.SENDGRID_API_KEY,
from: '[email protected]'
})
);
const passwordResetTemplate = await novu.registerTemplate({
id: 'password-reset',
messages: [
{
subject: 'Your password reset request',
channel: ChannelTypeEnum.EMAIL,
template: `
Hi {{firstName}}!
To reset your password click <a href="{{resetLink}}">here.</a>
{{#if organization}}
<img src="{{organization.logo}}" />
{{/if}}
`
},
]
});
await novu.trigger('<REPLACE_WITH_EVENT_NAME>', {
$user_id: "<USER IDENTIFIER>",
$email: "[email protected]",
firstName: "John",
lastName: "Doe",
organization: {
logo: 'https://evilcorp.com/logo.png'
}
});
Novu provides a single API to manage providers across multiple channels with a single to use interface.
- Twilio
- Plivo
- SNS
- Nexmo (Vonage)
- Bandwidth
- RingCentral
- Pushwoosh
- SNS
- Slack
- MS Teams
- Discord
- Mattermost
- Novu
- MagicBell
- PagerDuty