import { TypeList } from "docs-ui" export const metadata = { title: `Send Notification with the Notification Module`, } # {metadata.title} 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: export const highlights = [ ["12", "notificationModuleService", "Resolve the Notification Module."], ["17", "create", "Create the notification to be sent."], ["19", '"email"', "Use the provider module defined for the `email` channel to send an email."], ["20", '"product-created"', "The ID of the template defined in the third-party service, such as SendGrid."], ["21", "data", "The data to pass to the template defined in the third-party service."] ] ```ts title="src/subscribers/product-created.ts" highlights={highlights} import type { SubscriberArgs, SubscriberConfig, } from "@medusajs/medusa" import { ModuleRegistrationName } from "@medusajs/modules-sdk" import { INotificationModuleService } from "@medusajs/types" export default async function productCreateHandler({ data, container }: SubscriberArgs<{ id: string }>) { const notificationModuleService: INotificationModuleService = container.resolve( ModuleRegistrationName.NOTIFICATION ) await notificationModuleService.create({ to: "shahednasser@gmail.com", channel: "email", template: "product-created", data: "data" in data ? data.data : data }) } export const config: SubscriberConfig = { event: "product.created", } ``` The `create` method accepts an object or an array of objects having the following properties: `", description: "The data to pass along to the template, if necessary." } ]} sectionTitle="Use the Create Method" /> {/* TODO add once reference for type once generated */} {/* For a full list of properties accepted, refer to [this guide](/references/notification-provider-module#create). */}