Built by

Medusa

Category

Notification

Version

0.2.0

Last updated

Sep 6, 2023, 20:36:34 PMa year ago

SendGrid with EXTRA DATA.

Handle sending emails to customers related to orders, restock notifications, users, or custom events.
For sending Copy to clipboardextra data, see the configuration below.

Features

  • Send emails when an event related to orders, restock notifications, or users is triggered.
  • Use dynamic templates in SendGrid to build the emails to be sent.
  • Send emails with SendGrid for custom events.

Prerequisites


How to Install

1. Run the following command in the directory of the Medusa backend:
npm install medusa-plugin-sendgrid-extras
2. Set the following environment variable in Copy to clipboard.env:
SENDGRID_API_KEY=<API_KEY>
SENDGRID_FROM=<SEND_FROM_EMAIL>
# IDs for different email templates
SENDGRID_ORDER_PLACED_ID=<ORDER_PLACED_TEMPLATE_ID> # example
3. In Copy to clipboardmedusa-config.js add the following at the end of the Copy to clipboardplugins array:
const plugins = [
// ...,
{
resolve: `medusa-plugin-sendgrid-extras`,
options: {
api_key: process.env.SENDGRID_API_KEY,
from: process.env.SENDGRID_FROM,
extras: {
// Each function takes an event, and the transformed data
// returns whatever extra data you want to send to the
// dynamic template.
// Note that any keys returned in this object will overwrite keys in `transformedEvent` data
"order.placed": function orderPlacedExtra(event, transformedEvent) {
return {
foo: 'bar'
}
},
"order.shipment_created": function orderShipmentCreatedExtra(event, transformedEvent) {
// ship
return {
now: new Date()
}
},
},
order_placed_template:
process.env.SENDGRID_ORDER_PLACED_ID,
localization: {
"de-DE": { // locale key
order_placed_template:
process.env.SENDGRID_ORDER_PLACED_ID_LOCALIZED,
},
},
},
},
]

Test the Plugin

1. Run the following command in the directory of the Medusa backend to run the backend:
npm run start
2. Place an order using a storefront or the Store APIs. You should receive a confirmation email.

Additional Resources

Build your own plugins

Develop your own plugins with our API to speed up your processes.

Make your plugin available via npm for it to be shared in our Plugin Library with the broader Medusa community.