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: 'sender@mail.com',
})
);
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: 'test@email.com',
firstName: 'John',
lastName: 'Doe',
organization: {
logo: 'https://evilcorp.com/logo.png',
},
});
Novu provides a single API to manage providers across multiple channels with a simple-to-use interface.
- [x] Sendgrid
- [x] Netcore
- [x] Mailgun
- [x] SES
- [x] Postmark
- [x] Custom SMTP
- [x] Mailjet
- [x] Mandrill
- [x] SendinBlue
- [ ] SparkPost
- [x] Twilio
- [x] Plivo
- [x] SNS
- [x] Nexmo - Vonage
- [x] Sms77
- [x] Telnyx
- [x] Termii
- [x] Gupshup
- [ ] Bandwidth
- [ ] RingCentral
- [x] Novu
- [ ] MagicBell
- [ ] PagerDuty