Send Notification with the Notification Module

In this guide, you'll learn how to send a notification using the Notification Module.

Use the Create Method#

In your resource, such as a subscriber, resolve the Notification Module's main service and use its create method:

src/subscribers/product-created.ts
6import { INotificationModuleService } from "@medusajs/framework/types"7
8export default async function productCreateHandler({9  event: { data },10  container,11}: SubscriberArgs<{ id: string }>) {12  const notificationModuleService: INotificationModuleService =13    container.resolve(Modules.NOTIFICATION)14
15  await notificationModuleService.createNotifications({16    to: "shahednasser@gmail.com",17    channel: "email",18    template: "product-created",19    data,20  })21}22
23export const config: SubscriberConfig = {24  event: "product.created",25}

The create method accepts an object or an array of objects having the following properties:

tostring
The destination to send the notification to. When sending an email, it'll be the email address. When sending an SMS, it'll be the phone number.
channelstring
The channel to send the notification through. For example, email or sms. The module provider defined for that channel will be used to send the notification.
templatestring
The ID of the template used for the notification. This is useful for providers like SendGrid, where you define templates within SendGrid and use their IDs here.
dataRecord<string, unknown>
The data to pass along to the template, if necessary.

For a full list of properties accepted, refer to this guide.

Was this page helpful?
Edit this page
Ask Anything
FAQ
What is Medusa?
How can I create a module?
How can I create a data model?
How do I create a workflow?
How can I extend a data model in the Product Module?
Recipes
How do I build a marketplace with Medusa?
How do I build digital products with Medusa?
How do I build subscription-based purchases with Medusa?
What other recipes are available in the Medusa documentation?
Chat is cleared on refresh
Line break