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 simple-to-use interface.
- Sendgrid
- Netcore
- Mailgun
- SES
- Postmark
- Custom SMTP
- Mailjet
- Mandrill
- SendinBlue
- SparkPost
- Novu
- MagicBell
- PagerDuty