# SendGrid

In this document, you’ll learn about the [SendGrid plugin](https://github.com/medusajs/medusa/tree/master/packages/medusa-plugin-sendgrid), what it does, and how to use it.

<div>
  <video width="100%" height="100%" playsinline autoplay muted controls>
    <source src="https://user-images.githubusercontent.com/59018053/154807282-1e72671f-1936-411d-b914-e05c6597693a.mp4" type="video/mp4" />
  </video>
</div>

## Overview

[SendGrid](https://sendgrid.com) is an email and notification service that can be used to send emails to your customers and users.

By integrating SendGrid with Medusa, you’ll be sending email notifications to your users in the following cases:

1. Order-related events include new orders, shipments created, and orders canceled.
2. Swaps and Returns related events including new return requests of orders and items returned successfully.
3. When Gift Cards in an order are created.
4. User-related events including reset passwords.
5. Restock Notifications for when product stocks are low.

## Prerequisites

Before going further with this guide make sure you have a Medusa server set up. You can follow our [Quickstart guide](../quickstart/quick-start.md).

You also must have [Redis configured on your Medusa server](/tutorial/set-up-your-development-environment#redis). Sending emails is done through Subscribers, which uses Redis as the event queue. If you don’t set up Redis, the plugin will not send emails.

## Create a SendGrid Account

If you don’t have a SendGrid account, make sure to [create one](https://signup.sendgrid.com) first. You also need to set up a [single sender](https://docs.sendgrid.com/ui/sending-email/sender-verification) first in SendGrid before you can start sending emails.

### API Key

For the integration to work, you need to create an API key in your SendGrid account.

You can do that by choosing from the sidebar of your SendGrid dashboard Settings > API Keys. Then, click on Create API Key.

:::note

If you choose to give the API Key restricted access, make sure to at least give it the “Mail Send” access.

:::

Once you create the API key, the key will be shown for one time only. So, make sure to copy and save it somewhere for later usage.

### Email Templates

The SendGrid plugin uses SendGrid templates to send emails. If you don’t provide the plugin with the templates necessary then emails will not be sent.

To create an email template, go to Email API > Dynamic Templates. Then, click “Create a Dynamic Template”. You’ll then be able to see the Template ID which you’ll need for your plugin setup.

When you create the dynamic templates you’ll be able to use variables sent from Medusa [using Handlebars](https://docs.sendgrid.com/for-developers/sending-email/using-handlebars).

For a full list of templates and their variables please check out the [Template Reference](#template-reference).

:::tip

Medusa supports localization so you can also create multiple templates for multiple languages.

:::

## Template Reference

This section covers the template types supported by the plugin and what variables you can expect in your dynamic template. You can use the variables to add details like order total or customer name.

:::note

You don’t have to create a template for every type in the reference. You can simply create templates for the type of emails you want to send using Medusa and SendGrid,

:::

### Order Placed

**Key in plugin options:** `order.placed`

**Description:** Template to be sent to the customer when they place a new order.

<details>
  <summary>Example Data</summary>

  ```jsx
  {
    "beforeInsert": [Function],
    "billing_address": null,
    "billing_address_id": null,
    "canceled_at": null,
    "cart_id": null,
    "claims": Array [],
    "created_at": Any<Date>,
    "currency_code": "usd",
    "customer": Object {
      "billing_address_id": null,
      "created_at": Any<Date>,
      "deleted_at": null,
      "email": "test@testson.com",
      "first_name": null,
      "has_account": false,
      "id": Any<String>,
      "last_name": null,
      "metadata": null,
      "phone": null,
      "updated_at": Any<Date>,
    },
    "customer_id": Any<String>,
    "date": Any<String>,
    "discount_total": "0.00 USD",
    "discounts": Array [],
    "display_id": Any<Number>,
    "draft_order_id": null,
    "email": "test@testson.com",
    "external_id": null,
    "fulfillment_status": "fulfilled",
    "fulfillments": Array [],
    "gift_card_total": "0.00 USD",
    "gift_card_transactions": Array [],
    "gift_cards": Array [],
    "has_discounts": 0,
    "has_gift_cards": 0,
    "id": Any<String>,
    "idempotency_key": null,
    "items": Array [
      Object {
        "allow_discounts": true,
        "cart_id": null,
        "claim_order_id": null,
        "created_at": Any<Date>,
        "description": "",
        "discounted_price": "12.00 USD",
        "fulfilled_quantity": 2,
        "has_shipping": null,
        "id": "test-item",
        "is_giftcard": false,
        "is_return": false,
        "metadata": null,
        "order_id": Any<String>,
        "price": "12.00 USD",
        "quantity": 2,
        "returned_quantity": null,
        "shipped_quantity": 2,
        "should_merge": true,
        "swap_id": null,
        "tax_lines": Array [
          Object {
            "code": "default",
            "created_at": Any<Date>,
            "id": Any<String>,
            "item_id": "test-item",
            "metadata": null,
            "name": "default",
            "rate": 20,
            "updated_at": Any<Date>,
          },
        ],
        "thumbnail": null,
        "title": "Intelligent Plastic Chips",
        "totals": Object {
          "discount_total": 0,
          "gift_card_total": 0,
          "original_tax_total": 400,
          "original_total": 2400,
          "quantity": 2,
          "subtotal": 2000,
          "tax_lines": Array [
            Object {
              "code": "default",
              "created_at": Any<Date>,
              "id": Any<String>,
              "item_id": "test-item",
              "metadata": null,
              "name": "default",
              "rate": 20,
              "updated_at": Any<Date>,
            },
          ],
          "tax_total": 400,
          "total": 2400,
          "unit_price": 1000,
        },
        "unit_price": 1000,
        "updated_at": Any<Date>,
        "variant": Object {
          "allow_backorder": false,
          "barcode": null,
          "created_at": Any<Date>,
          "deleted_at": null,
          "ean": null,
          "height": null,
          "hs_code": null,
          "id": "test-variant",
          "inventory_quantity": 10,
          "length": null,
          "manage_inventory": true,
          "material": null,
          "metadata": null,
          "mid_code": null,
          "origin_country": null,
          "product": Object {
            "collection_id": null,
            "created_at": Any<Date>,
            "deleted_at": null,
            "description": null,
            "discountable": true,
            "external_id": null,
            "handle": null,
            "height": null,
            "hs_code": null,
            "id": "test-product",
            "is_giftcard": false,
            "length": null,
            "material": null,
            "metadata": null,
            "mid_code": null,
            "origin_country": null,
            "profile_id": Any<String>,
            "status": "draft",
            "subtitle": null,
            "thumbnail": null,
            "title": "Awesome Metal Ball",
            "type_id": null,
            "updated_at": Any<Date>,
            "weight": null,
            "width": null,
          },
          "product_id": "test-product",
          "sku": null,
          "title": "Practical Granite Pizza",
          "upc": null,
          "updated_at": Any<Date>,
          "weight": null,
          "width": null,
        },
        "variant_id": "test-variant",
      },
    ],
    "locale": null,
    "metadata": null,
    "no_notification": null,
    "object": "order",
    "payment_status": "captured",
    "payments": Array [],
    "refunded_total": 0,
    "refunds": Array [],
    "region": Object {
      "automatic_taxes": true,
      "created_at": Any<Date>,
      "currency_code": "usd",
      "deleted_at": null,
      "fulfillment_providers": Array [],
      "gift_cards_taxable": true,
      "id": "test-region",
      "metadata": null,
      "name": "Test region",
      "payment_providers": Array [
        PaymentProvider {
          "id": "test-pay",
          "is_installed": true,
        },
      ],
      "tax_code": null,
      "tax_provider_id": null,
      "tax_rate": 12.5,
      "updated_at": Any<Date>,
    },
    "region_id": "test-region",
    "returns": Array [],
    "shipping_address": Object {
      "address_1": "84185 Lindsey Centers",
      "address_2": null,
      "city": null,
      "company": null,
      "country_code": "us",
      "created_at": Any<Date>,
      "customer_id": null,
      "deleted_at": null,
      "first_name": "Chyna",
      "id": Any<String>,
      "last_name": "Osinski",
      "metadata": null,
      "phone": null,
      "postal_code": "51510",
      "province": null,
      "updated_at": Any<Date>,
    },
    "shipping_address_id": Any<String>,
    "shipping_methods": Array [],
    "shipping_total": "0.00 USD",
    "status": "pending",
    "subtotal": "24.00 USD",
    "subtotal_ex_tax": "20.00 USD",
    "swaps": Array [],
    "tax_rate": null,
    "tax_total": "4.00 USD",
    "total": "24.00 USD",
    "updated_at": Any<Date>,
  }
  ```
</details>

### Order Canceled

**Key in plugin options:** `order_canceled_template`

**Description:** Template to be sent to a customer when their order is canceled.

<details>
  <summary>Example Data</summary>

  ```jsx
  {
    "beforeInsert": [Function],
    "billing_address": null,
    "billing_address_id": null,
    "canceled_at": Any<Date>,
    "cart_id": null,
    "claims": Array [],
    "created_at": Any<Date>,
    "currency_code": "usd",
    "customer": Object {
      "billing_address_id": null,
      "created_at": Any<Date>,
      "deleted_at": null,
      "email": "test@testson.com",
      "first_name": null,
      "has_account": false,
      "id": Any<String>,
      "last_name": null,
      "metadata": null,
      "phone": null,
      "updated_at": Any<Date>,
    },
    "customer_id": Any<String>,
    "date": Any<String>,
    "discount_total": "0.00 USD",
    "discounts": Array [],
    "display_id": Any<Number>,
    "draft_order_id": null,
    "email": "test@testson.com",
    "external_id": null,
    "fulfillment_status": "canceled",
    "fulfillments": Array [],
    "gift_card_total": "0.00 USD",
    "gift_card_transactions": Array [],
    "gift_cards": Array [],
    "has_discounts": 0,
    "has_gift_cards": 0,
    "id": Any<String>,
    "idempotency_key": null,
    "items": Array [
      Object {
        "allow_discounts": true,
        "cart_id": null,
        "claim_order_id": null,
        "created_at": Any<Date>,
        "description": "",
        "fulfilled_quantity": null,
        "has_shipping": null,
        "id": "test-item",
        "is_giftcard": false,
        "is_return": false,
        "metadata": null,
        "order_id": Any<String>,
        "price": "10.00 USD",
        "quantity": 2,
        "returned_quantity": null,
        "shipped_quantity": null,
        "should_merge": true,
        "swap_id": null,
        "tax_lines": Array [
          Object {
            "code": "default",
            "created_at": Any<Date>,
            "id": Any<String>,
            "item_id": "test-item",
            "metadata": null,
            "name": "default",
            "rate": 20,
            "updated_at": Any<Date>,
          },
        ],
        "thumbnail": null,
        "title": "Intelligent Plastic Chips",
        "unit_price": 1000,
        "updated_at": Any<Date>,
        "variant": Object {
          "allow_backorder": false,
          "barcode": null,
          "created_at": Any<Date>,
          "deleted_at": null,
          "ean": null,
          "height": null,
          "hs_code": null,
          "id": "test-variant",
          "inventory_quantity": 12,
          "length": null,
          "manage_inventory": true,
          "material": null,
          "metadata": null,
          "mid_code": null,
          "origin_country": null,
          "product": Object {
            "collection_id": null,
            "created_at": Any<Date>,
            "deleted_at": null,
            "description": null,
            "discountable": true,
            "external_id": null,
            "handle": null,
            "height": null,
            "hs_code": null,
            "id": "test-product",
            "is_giftcard": false,
            "length": null,
            "material": null,
            "metadata": null,
            "mid_code": null,
            "origin_country": null,
            "profile_id": Any<String>,
            "status": "draft",
            "subtitle": null,
            "thumbnail": null,
            "title": "Awesome Metal Ball",
            "type_id": null,
            "updated_at": Any<Date>,
            "weight": null,
            "width": null,
          },
          "product_id": "test-product",
          "sku": null,
          "title": "Practical Granite Pizza",
          "upc": null,
          "updated_at": Any<Date>,
          "weight": null,
          "width": null,
        },
        "variant_id": "test-variant",
      },
    ],
    "locale": null,
    "metadata": null,
    "no_notification": null,
    "object": "order",
    "payment_status": "canceled",
    "payments": Array [],
    "refunded_total": 0,
    "refunds": Array [],
    "region": Object {
      "automatic_taxes": true,
      "created_at": Any<Date>,
      "currency_code": "usd",
      "deleted_at": null,
      "fulfillment_providers": Array [],
      "gift_cards_taxable": true,
      "id": "test-region",
      "metadata": null,
      "name": "Test region",
      "payment_providers": Array [
        PaymentProvider {
          "id": "test-pay",
          "is_installed": true,
        },
      ],
      "tax_code": null,
      "tax_provider_id": null,
      "tax_rate": 12.5,
      "updated_at": Any<Date>,
    },
    "region_id": "test-region",
    "returns": Array [],
    "shipping_address": Object {
      "address_1": "84185 Lindsey Centers",
      "address_2": null,
      "city": null,
      "company": null,
      "country_code": "us",
      "created_at": Any<Date>,
      "customer_id": null,
      "deleted_at": null,
      "first_name": "Chyna",
      "id": Any<String>,
      "last_name": "Osinski",
      "metadata": null,
      "phone": null,
      "postal_code": "51510",
      "province": null,
      "updated_at": Any<Date>,
    },
    "shipping_address_id": Any<String>,
    "shipping_methods": Array [
      Object {
        "cart_id": null,
        "claim_order_id": null,
        "data": Object {},
        "id": Any<String>,
        "order_id": Any<String>,
        "price": 0,
        "return_id": null,
        "shipping_option": Object {
          "admin_only": false,
          "amount": 500,
          "created_at": Any<Date>,
          "data": Object {},
          "deleted_at": null,
          "id": Any<String>,
          "is_return": false,
          "metadata": null,
          "name": "free",
          "price_type": "flat_rate",
          "profile_id": Any<String>,
          "provider_id": "test-ful",
          "region_id": "test-region",
          "updated_at": Any<Date>,
        },
        "shipping_option_id": Any<String>,
        "swap_id": null,
        "tax_lines": Array [],
      },
    ],
    "shipping_total": "0.00 USD",
    "status": "canceled",
    "subtotal": "20.00 USD",
    "swaps": Array [],
    "tax_rate": null,
    "tax_total": "4.00 USD",
    "total": "24.00 USD",
    "updated_at": Any<Date>,
  }
  ```
</details>

### Order Shipment Created

**Key in plugin options:** `order_shipped_template`

**Description:** Template to be sent to the customer when a shipment of their order has been created.

<details>
  <summary>Example Data</summary>

  ```jsx
  {
    "date": Any<String>,
    "email": "test@testson.com",
    "fulfillment": Object {
      "canceled_at": null,
      "claim_order_id": null,
      "created_at": Any<Date>,
      "data": Object {},
      "id": Any<String>,
      "idempotency_key": null,
      "items": Array [
        Object {
          "fulfillment_id": Any<String>,
          "item_id": "test-item",
          "quantity": 2,
        },
      ],
      "metadata": Object {},
      "no_notification": null,
      "order_id": Any<String>,
      "provider_id": "test-ful",
      "shipped_at": Any<Date>,
      "swap_id": null,
      "tracking_links": Array [],
      "tracking_numbers": Array [],
      "updated_at": Any<Date>,
    },
    "locale": null,
    "order": Object {
      "beforeInsert": [Function],
      "billing_address": null,
      "billing_address_id": null,
      "canceled_at": null,
      "cart_id": null,
      "claims": Array [],
      "created_at": Any<Date>,
      "currency_code": "usd",
      "customer": Object {
        "billing_address_id": null,
        "created_at": Any<Date>,
        "deleted_at": null,
        "email": "test@testson.com",
        "first_name": null,
        "has_account": false,
        "id": Any<String>,
        "last_name": null,
        "metadata": null,
        "phone": null,
        "updated_at": Any<Date>,
      },
      "customer_id": Any<String>,
      "discount_total": 0,
      "discounts": Array [],
      "display_id": Any<Number>,
      "draft_order_id": null,
      "email": "test@testson.com",
      "external_id": null,
      "fulfillment_status": "shipped",
      "fulfillments": Array [
        Object {
          "canceled_at": null,
          "claim_order_id": null,
          "created_at": Any<Date>,
          "data": Object {},
          "id": Any<String>,
          "idempotency_key": null,
          "items": Array [
            Object {
              "fulfillment_id": Any<String>,
              "item_id": "test-item",
              "quantity": 2,
            },
          ],
          "metadata": Object {},
          "no_notification": null,
          "order_id": Any<String>,
          "provider_id": "test-ful",
          "shipped_at": Any<Date>,
          "swap_id": null,
          "tracking_numbers": Array [],
          "updated_at": Any<Date>,
        },
      ],
      "gift_card_total": 0,
      "gift_card_transactions": Array [],
      "gift_cards": Array [],
      "id": Any<String>,
      "idempotency_key": null,
      "items": Array [
        Object {
          "allow_discounts": true,
          "cart_id": null,
          "claim_order_id": null,
          "created_at": Any<Date>,
          "description": "",
          "fulfilled_quantity": 2,
          "has_shipping": null,
          "id": "test-item",
          "is_giftcard": false,
          "is_return": false,
          "metadata": null,
          "order_id": Any<String>,
          "quantity": 2,
          "returned_quantity": null,
          "shipped_quantity": 2,
          "should_merge": true,
          "swap_id": null,
          "tax_lines": Array [
            Object {
              "code": "default",
              "created_at": Any<Date>,
              "id": Any<String>,
              "item_id": "test-item",
              "metadata": null,
              "name": "default",
              "rate": 20,
              "updated_at": Any<Date>,
            },
          ],
          "thumbnail": "",
          "title": "Intelligent Plastic Chips",
          "unit_price": 1000,
          "updated_at": Any<Date>,
          "variant": Object {
            "allow_backorder": false,
            "barcode": null,
            "created_at": Any<Date>,
            "deleted_at": null,
            "ean": null,
            "height": null,
            "hs_code": null,
            "id": "test-variant",
            "inventory_quantity": 10,
            "length": null,
            "manage_inventory": true,
            "material": null,
            "metadata": null,
            "mid_code": null,
            "origin_country": null,
            "product": Object {
              "collection_id": null,
              "created_at": Any<Date>,
              "deleted_at": null,
              "description": null,
              "discountable": true,
              "external_id": null,
              "handle": null,
              "height": null,
              "hs_code": null,
              "id": "test-product",
              "is_giftcard": false,
              "length": null,
              "material": null,
              "metadata": null,
              "mid_code": null,
              "origin_country": null,
              "profile_id": Any<String>,
              "status": "draft",
              "subtitle": null,
              "thumbnail": null,
              "title": "Awesome Metal Ball",
              "type_id": null,
              "updated_at": Any<Date>,
              "weight": null,
              "width": null,
            },
            "product_id": "test-product",
            "sku": null,
            "title": "Practical Granite Pizza",
            "upc": null,
            "updated_at": Any<Date>,
            "weight": null,
            "width": null,
          },
          "variant_id": "test-variant",
        },
      ],
      "metadata": null,
      "no_notification": null,
      "object": "order",
      "payment_status": "captured",
      "payments": Array [],
      "refundable_amount": 0,
      "refunded_total": 0,
      "refunds": Array [],
      "region": Object {
        "automatic_taxes": true,
        "created_at": Any<Date>,
        "currency_code": "usd",
        "deleted_at": null,
        "fulfillment_providers": Array [],
        "gift_cards_taxable": true,
        "id": "test-region",
        "metadata": null,
        "name": "Test region",
        "payment_providers": Array [
          PaymentProvider {
            "id": "test-pay",
            "is_installed": true,
          },
        ],
        "tax_code": null,
        "tax_provider_id": null,
        "tax_rate": 12.5,
        "updated_at": Any<Date>,
      },
      "region_id": "test-region",
      "returns": Array [],
      "shipping_address": Object {
        "address_1": "84185 Lindsey Centers",
        "address_2": null,
        "city": null,
        "company": null,
        "country_code": "us",
        "created_at": Any<Date>,
        "customer_id": null,
        "deleted_at": null,
        "first_name": "Chyna",
        "id": Any<String>,
        "last_name": "Osinski",
        "metadata": null,
        "phone": null,
        "postal_code": "51510",
        "province": null,
        "updated_at": Any<Date>,
      },
      "shipping_address_id": Any<String>,
      "shipping_methods": Array [
        Object {
          "cart_id": null,
          "claim_order_id": null,
          "data": Object {},
          "id": Any<String>,
          "order_id": Any<String>,
          "price": 0,
          "return_id": null,
          "shipping_option": Object {
            "admin_only": false,
            "amount": 500,
            "created_at": Any<Date>,
            "data": Object {},
            "deleted_at": null,
            "id": Any<String>,
            "is_return": false,
            "metadata": null,
            "name": "free",
            "price_type": "flat_rate",
            "profile_id": Any<String>,
            "provider_id": "test-ful",
            "region_id": "test-region",
            "updated_at": Any<Date>,
          },
          "shipping_option_id": Any<String>,
          "swap_id": null,
          "tax_lines": Array [],
        },
      ],
      "shipping_total": 0,
      "status": "pending",
      "subtotal": 2000,
      "swaps": Array [],
      "tax_rate": null,
      "tax_total": 400,
      "total": 2400,
      "updated_at": Any<Date>,
    },
    "tracking_links": Array [],
    "tracking_number": "",
  }
  ```
</details>

### Order Return Requested

**Key in plugin options:** `order_return_requested_template`

**Description:** Template to be sent to the customer when a return request is made for an order.

<details>
  <summary>Example Data</summary>

  ```jsx
  {
    "date": Any<String>,
    "email": "test@testson.com",
    "has_shipping": false,
    "items": Array [
      Object {
        "allow_discounts": true,
        "cart_id": null,
        "claim_order_id": null,
        "created_at": Any<Date>,
        "description": "",
        "fulfilled_quantity": 2,
        "has_shipping": null,
        "id": Any<String>,
        "is_giftcard": false,
        "is_return": false,
        "metadata": null,
        "order_id": Any<String>,
        "price": "12.00 USD",
        "quantity": 1,
        "returned_quantity": null,
        "shipped_quantity": 2,
        "should_merge": true,
        "swap_id": null,
        "tax_lines": Array [
          Object {
            "code": "default",
            "created_at": Any<Date>,
            "id": Any<String>,
            "item_id": "test-item",
            "metadata": null,
            "name": "default",
            "rate": 20,
            "updated_at": Any<Date>,
          },
        ],
        "thumbnail": null,
        "title": "Intelligent Plastic Chips",
        "totals": Object {
          "discount_total": 0,
          "gift_card_total": 0,
          "original_tax_total": 200,
          "original_total": 1200,
          "quantity": 1,
          "subtotal": 1000,
          "tax_lines": Array [
            Object {
              "code": "default",
              "created_at": Any<Date>,
              "id": Any<String>,
              "item_id": "test-item",
              "metadata": null,
              "name": "default",
              "rate": 20,
              "updated_at": Any<Date>,
            },
          ],
          "tax_total": 200,
          "total": 1200,
          "unit_price": 1000,
        },
        "unit_price": 1000,
        "updated_at": Any<Date>,
        "variant": Object {
          "allow_backorder": false,
          "barcode": null,
          "created_at": Any<Date>,
          "deleted_at": null,
          "ean": null,
          "height": null,
          "hs_code": null,
          "id": "test-variant",
          "inventory_quantity": 10,
          "length": null,
          "manage_inventory": true,
          "material": null,
          "metadata": null,
          "mid_code": null,
          "origin_country": null,
          "product": Object {
            "collection_id": null,
            "created_at": Any<Date>,
            "deleted_at": null,
            "description": null,
            "discountable": true,
            "external_id": null,
            "handle": null,
            "height": null,
            "hs_code": null,
            "id": "test-product",
            "is_giftcard": false,
            "length": null,
            "material": null,
            "metadata": null,
            "mid_code": null,
            "origin_country": null,
            "profile_id": Any<String>,
            "status": "draft",
            "subtitle": null,
            "thumbnail": null,
            "title": "Awesome Metal Ball",
            "type_id": null,
            "updated_at": Any<Date>,
            "weight": null,
            "width": null,
          },
          "product_id": "test-product",
          "sku": null,
          "title": "Practical Granite Pizza",
          "upc": null,
          "updated_at": Any<Date>,
          "weight": null,
          "width": null,
        },
        "variant_id": "test-variant",
      },
    ],
    "locale": null,
    "order": Object {
      "beforeInsert": [Function],
      "billing_address_id": null,
      "canceled_at": null,
      "cart_id": null,
      "claims": Array [],
      "created_at": Any<Date>,
      "currency_code": "usd",
      "customer_id": Any<String>,
      "discounts": Array [],
      "display_id": Any<Number>,
      "draft_order_id": null,
      "email": "test@testson.com",
      "external_id": null,
      "fulfillment_status": "fulfilled",
      "gift_card_transactions": Array [],
      "gift_cards": Array [],
      "id": Any<String>,
      "idempotency_key": null,
      "items": Array [
        Object {
          "allow_discounts": true,
          "cart_id": null,
          "claim_order_id": null,
          "created_at": Any<Date>,
          "description": "",
          "fulfilled_quantity": 2,
          "has_shipping": null,
          "id": Any<String>,
          "is_giftcard": false,
          "is_return": false,
          "metadata": null,
          "order_id": Any<String>,
          "quantity": 2,
          "returned_quantity": null,
          "shipped_quantity": 2,
          "should_merge": true,
          "swap_id": null,
          "tax_lines": Array [
            Object {
              "code": "default",
              "created_at": Any<Date>,
              "id": Any<String>,
              "item_id": "test-item",
              "metadata": null,
              "name": "default",
              "rate": 20,
              "updated_at": Any<Date>,
            },
          ],
          "thumbnail": "",
          "title": "Intelligent Plastic Chips",
          "unit_price": 1000,
          "updated_at": Any<Date>,
          "variant": Object {
            "allow_backorder": false,
            "barcode": null,
            "created_at": Any<Date>,
            "deleted_at": null,
            "ean": null,
            "height": null,
            "hs_code": null,
            "id": "test-variant",
            "inventory_quantity": 10,
            "length": null,
            "manage_inventory": true,
            "material": null,
            "metadata": null,
            "mid_code": null,
            "origin_country": null,
            "product": Object {
              "collection_id": null,
              "created_at": Any<Date>,
              "deleted_at": null,
              "description": null,
              "discountable": true,
              "external_id": null,
              "handle": null,
              "height": null,
              "hs_code": null,
              "id": "test-product",
              "is_giftcard": false,
              "length": null,
              "material": null,
              "metadata": null,
              "mid_code": null,
              "origin_country": null,
              "profile_id": Any<String>,
              "status": "draft",
              "subtitle": null,
              "thumbnail": null,
              "title": "Awesome Metal Ball",
              "type_id": null,
              "updated_at": Any<Date>,
              "weight": null,
              "width": null,
            },
            "product_id": "test-product",
            "sku": null,
            "title": "Practical Granite Pizza",
            "upc": null,
            "updated_at": Any<Date>,
            "weight": null,
            "width": null,
          },
          "variant_id": "test-variant",
        },
      ],
      "metadata": null,
      "no_notification": null,
      "object": "order",
      "payment_status": "captured",
      "refunds": Array [],
      "region": Object {
        "automatic_taxes": true,
        "created_at": Any<Date>,
        "currency_code": "usd",
        "deleted_at": null,
        "fulfillment_providers": Array [],
        "gift_cards_taxable": true,
        "id": Any<String>,
        "metadata": null,
        "name": "Test region",
        "payment_providers": Array [
          PaymentProvider {
            "id": "test-pay",
            "is_installed": true,
          },
        ],
        "tax_code": null,
        "tax_provider_id": null,
        "tax_rate": 12.5,
        "updated_at": Any<Date>,
      },
      "region_id": "test-region",
      "returns": Array [
        Object {
          "claim_order_id": null,
          "created_at": Any<Date>,
          "id": Any<String>,
          "idempotency_key": Any<String>,
          "items": Array [
            Object {
              "is_requested": true,
              "item_id": "test-item",
              "metadata": null,
              "note": null,
              "quantity": 1,
              "reason_id": null,
              "received_quantity": null,
              "requested_quantity": 1,
              "return_id": Any<String>,
            },
          ],
          "metadata": null,
          "no_notification": null,
          "order_id": Any<String>,
          "received_at": null,
          "refund_amount": 1200,
          "shipping_data": null,
          "status": "requested",
          "swap_id": null,
          "updated_at": Any<Date>,
        },
      ],
      "shipping_address": Object {
        "address_1": "84185 Lindsey Centers",
        "address_2": null,
        "city": null,
        "company": null,
        "country_code": "us",
        "created_at": Any<Date>,
        "customer_id": null,
        "deleted_at": null,
        "first_name": "Chyna",
        "id": Any<String>,
        "last_name": "Osinski",
        "metadata": null,
        "phone": null,
        "postal_code": "51510",
        "province": null,
        "updated_at": Any<Date>,
      },
      "shipping_address_id": Any<String>,
      "shipping_methods": Array [],
      "status": "pending",
      "swaps": Array [],
      "tax_rate": null,
      "total": 2400,
      "updated_at": Any<Date>,
    },
    "refund_amount": "12.00 USD",
    "return_request": Object {
      "claim_order_id": null,
      "created_at": Any<Date>,
      "id": Any<String>,
      "idempotency_key": Any<String>,
      "items": Array [
        Object {
          "is_requested": true,
          "item": Object {
            "allow_discounts": true,
            "cart_id": null,
            "claim_order_id": null,
            "created_at": Any<Date>,
            "description": "",
            "fulfilled_quantity": 2,
            "has_shipping": null,
            "id": Any<String>,
            "is_giftcard": false,
            "is_return": false,
            "metadata": null,
            "order_id": Any<String>,
            "quantity": 2,
            "returned_quantity": null,
            "shipped_quantity": 2,
            "should_merge": true,
            "swap_id": null,
            "tax_lines": Array [
              Object {
                "code": "default",
                "created_at": Any<Date>,
                "id": Any<String>,
                "item_id": "test-item",
                "metadata": null,
                "name": "default",
                "rate": 20,
                "updated_at": Any<Date>,
              },
            ],
            "thumbnail": "",
            "title": "Intelligent Plastic Chips",
            "unit_price": 1000,
            "updated_at": Any<Date>,
            "variant": Object {
              "allow_backorder": false,
              "barcode": null,
              "created_at": Any<Date>,
              "deleted_at": null,
              "ean": null,
              "height": null,
              "hs_code": null,
              "id": "test-variant",
              "inventory_quantity": 10,
              "length": null,
              "manage_inventory": true,
              "material": null,
              "metadata": null,
              "mid_code": null,
              "origin_country": null,
              "product": Object {
                "collection_id": null,
                "created_at": Any<Date>,
                "deleted_at": null,
                "description": null,
                "discountable": true,
                "external_id": null,
                "handle": null,
                "height": null,
                "hs_code": null,
                "id": "test-product",
                "is_giftcard": false,
                "length": null,
                "material": null,
                "metadata": null,
                "mid_code": null,
                "origin_country": null,
                "profile_id": Any<String>,
                "status": "draft",
                "subtitle": null,
                "thumbnail": null,
                "title": "Awesome Metal Ball",
                "type_id": null,
                "updated_at": Any<Date>,
                "weight": null,
                "width": null,
              },
              "product_id": "test-product",
              "sku": null,
              "title": "Practical Granite Pizza",
              "upc": null,
              "updated_at": Any<Date>,
              "weight": null,
              "width": null,
            },
            "variant_id": "test-variant",
          },
          "item_id": "test-item",
          "metadata": null,
          "note": null,
          "quantity": 1,
          "reason_id": null,
          "received_quantity": null,
          "requested_quantity": 1,
          "return_id": Any<String>,
        },
      ],
      "metadata": null,
      "no_notification": null,
      "order_id": Any<String>,
      "received_at": null,
      "refund_amount": "12.00 USD",
      "shipping_data": null,
      "shipping_method": null,
      "status": "requested",
      "swap_id": null,
      "updated_at": Any<Date>,
    },
    "shipping_total": "0.00 USD",
    "subtotal": "12.00 USD",
  }
  ```
</details>

### Order Items Returned

**Key in plugin options:** `order_items_returned_template`

**Description:** Template to be sent to the customer when an order’s items have been returned.

<details>
  <summary>Example Data</summary>

  ```jsx
  {
    "date": Any<String>,
    "email": "test@testson.com",
    "has_shipping": false,
    "items": Array [
      Object {
        "allow_discounts": true,
        "cart_id": null,
        "claim_order_id": null,
        "created_at": Any<Date>,
        "description": "",
        "fulfilled_quantity": 2,
        "has_shipping": null,
        "id": Any<String>,
        "is_giftcard": false,
        "is_return": false,
        "metadata": null,
        "order_id": Any<String>,
        "price": "12.00 USD",
        "quantity": 1,
        "returned_quantity": 1,
        "shipped_quantity": 2,
        "should_merge": true,
        "swap_id": null,
        "tax_lines": Array [
          Object {
            "code": "default",
            "created_at": Any<Date>,
            "id": Any<String>,
            "item_id": "test-item",
            "metadata": null,
            "name": "default",
            "rate": 20,
            "updated_at": Any<Date>,
          },
        ],
        "thumbnail": null,
        "title": "Intelligent Plastic Chips",
        "totals": Object {
          "discount_total": 0,
          "gift_card_total": 0,
          "original_tax_total": 200,
          "original_total": 1200,
          "quantity": 1,
          "subtotal": 1000,
          "tax_lines": Array [
            Object {
              "code": "default",
              "created_at": Any<Date>,
              "id": Any<String>,
              "item_id": "test-item",
              "metadata": null,
              "name": "default",
              "rate": 20,
              "updated_at": Any<Date>,
            },
          ],
          "tax_total": 200,
          "total": 1200,
          "unit_price": 1000,
        },
        "unit_price": 1000,
        "updated_at": Any<Date>,
        "variant": Object {
          "allow_backorder": false,
          "barcode": null,
          "created_at": Any<Date>,
          "deleted_at": null,
          "ean": null,
          "height": null,
          "hs_code": null,
          "id": "test-variant",
          "inventory_quantity": 11,
          "length": null,
          "manage_inventory": true,
          "material": null,
          "metadata": null,
          "mid_code": null,
          "origin_country": null,
          "product": Object {
            "collection_id": null,
            "created_at": Any<Date>,
            "deleted_at": null,
            "description": null,
            "discountable": true,
            "external_id": null,
            "handle": null,
            "height": null,
            "hs_code": null,
            "id": "test-product",
            "is_giftcard": false,
            "length": null,
            "material": null,
            "metadata": null,
            "mid_code": null,
            "origin_country": null,
            "profile_id": Any<String>,
            "status": "draft",
            "subtitle": null,
            "thumbnail": null,
            "title": "Awesome Metal Ball",
            "type_id": null,
            "updated_at": Any<Date>,
            "weight": null,
            "width": null,
          },
          "product_id": "test-product",
          "sku": null,
          "title": "Practical Granite Pizza",
          "upc": null,
          "updated_at": Any<Date>,
          "weight": null,
          "width": null,
        },
        "variant_id": "test-variant",
      },
    ],
    "locale": null,
    "order": Object {
      "beforeInsert": [Function],
      "billing_address_id": null,
      "canceled_at": null,
      "cart_id": null,
      "claims": Array [],
      "created_at": Any<Date>,
      "currency_code": "usd",
      "customer_id": Any<String>,
      "discounts": Array [],
      "display_id": Any<Number>,
      "draft_order_id": null,
      "email": "test@testson.com",
      "external_id": null,
      "fulfillment_status": "requires_action",
      "gift_card_transactions": Array [],
      "gift_cards": Array [],
      "id": Any<String>,
      "idempotency_key": null,
      "items": Array [
        Object {
          "allow_discounts": true,
          "cart_id": null,
          "claim_order_id": null,
          "created_at": Any<Date>,
          "description": "",
          "fulfilled_quantity": 2,
          "has_shipping": null,
          "id": Any<String>,
          "is_giftcard": false,
          "is_return": false,
          "metadata": null,
          "order_id": Any<String>,
          "quantity": 2,
          "returned_quantity": 1,
          "shipped_quantity": 2,
          "should_merge": true,
          "swap_id": null,
          "tax_lines": Array [
            Object {
              "code": "default",
              "created_at": Any<Date>,
              "id": Any<String>,
              "item_id": "test-item",
              "metadata": null,
              "name": "default",
              "rate": 20,
              "updated_at": Any<Date>,
            },
          ],
          "thumbnail": "",
          "title": "Intelligent Plastic Chips",
          "unit_price": 1000,
          "updated_at": Any<Date>,
          "variant": Object {
            "allow_backorder": false,
            "barcode": null,
            "created_at": Any<Date>,
            "deleted_at": null,
            "ean": null,
            "height": null,
            "hs_code": null,
            "id": "test-variant",
            "inventory_quantity": 11,
            "length": null,
            "manage_inventory": true,
            "material": null,
            "metadata": null,
            "mid_code": null,
            "origin_country": null,
            "product": Object {
              "collection_id": null,
              "created_at": Any<Date>,
              "deleted_at": null,
              "description": null,
              "discountable": true,
              "external_id": null,
              "handle": null,
              "height": null,
              "hs_code": null,
              "id": "test-product",
              "is_giftcard": false,
              "length": null,
              "material": null,
              "metadata": null,
              "mid_code": null,
              "origin_country": null,
              "profile_id": Any<String>,
              "status": "draft",
              "subtitle": null,
              "thumbnail": null,
              "title": "Awesome Metal Ball",
              "type_id": null,
              "updated_at": Any<Date>,
              "weight": null,
              "width": null,
            },
            "product_id": "test-product",
            "sku": null,
            "title": "Practical Granite Pizza",
            "upc": null,
            "updated_at": Any<Date>,
            "weight": null,
            "width": null,
          },
          "variant_id": "test-variant",
        },
      ],
      "metadata": null,
      "no_notification": null,
      "object": "order",
      "payment_status": "captured",
      "refunds": Array [],
      "region": Object {
        "automatic_taxes": true,
        "created_at": Any<Date>,
        "currency_code": "usd",
        "deleted_at": null,
        "fulfillment_providers": Array [],
        "gift_cards_taxable": true,
        "id": Any<String>,
        "metadata": null,
        "name": "Test region",
        "payment_providers": Array [
          PaymentProvider {
            "id": "test-pay",
            "is_installed": true,
          },
        ],
        "tax_code": null,
        "tax_provider_id": null,
        "tax_rate": 12.5,
        "updated_at": Any<Date>,
      },
      "region_id": "test-region",
      "returns": Array [
        Object {
          "claim_order_id": null,
          "created_at": Any<Date>,
          "id": Any<String>,
          "idempotency_key": Any<String>,
          "items": Array [
            Object {
              "is_requested": true,
              "item_id": "test-item",
              "metadata": null,
              "note": null,
              "quantity": 1,
              "reason_id": null,
              "received_quantity": null,
              "requested_quantity": 1,
              "return_id": Any<String>,
            },
          ],
          "metadata": null,
          "no_notification": null,
          "order_id": Any<String>,
          "received_at": Any<Date>,
          "refund_amount": 1200,
          "shipping_data": null,
          "status": "received",
          "swap_id": null,
          "updated_at": Any<Date>,
        },
      ],
      "shipping_address": Object {
        "address_1": "84185 Lindsey Centers",
        "address_2": null,
        "city": null,
        "company": null,
        "country_code": "us",
        "created_at": Any<Date>,
        "customer_id": null,
        "deleted_at": null,
        "first_name": "Chyna",
        "id": Any<String>,
        "last_name": "Osinski",
        "metadata": null,
        "phone": null,
        "postal_code": "51510",
        "province": null,
        "updated_at": Any<Date>,
      },
      "shipping_address_id": Any<String>,
      "shipping_methods": Array [],
      "status": "pending",
      "swaps": Array [],
      "tax_rate": null,
      "total": 2400,
      "updated_at": Any<Date>,
    },
    "refund_amount": "12.00 USD",
    "return_request": Object {
      "claim_order_id": null,
      "created_at": Any<Date>,
      "id": Any<String>,
      "idempotency_key": Any<String>,
      "items": Array [
        Object {
          "is_requested": true,
          "item": Object {
            "allow_discounts": true,
            "cart_id": null,
            "claim_order_id": null,
            "created_at": Any<Date>,
            "description": "",
            "fulfilled_quantity": 2,
            "has_shipping": null,
            "id": Any<String>,
            "is_giftcard": false,
            "is_return": false,
            "metadata": null,
            "order_id": Any<String>,
            "quantity": 2,
            "returned_quantity": 1,
            "shipped_quantity": 2,
            "should_merge": true,
            "swap_id": null,
            "tax_lines": Array [
              Object {
                "code": "default",
                "created_at": Any<Date>,
                "id": Any<String>,
                "item_id": "test-item",
                "metadata": null,
                "name": "default",
                "rate": 20,
                "updated_at": Any<Date>,
              },
            ],
            "thumbnail": "",
            "title": "Intelligent Plastic Chips",
            "unit_price": 1000,
            "updated_at": Any<Date>,
            "variant": Object {
              "allow_backorder": false,
              "barcode": null,
              "created_at": Any<Date>,
              "deleted_at": null,
              "ean": null,
              "height": null,
              "hs_code": null,
              "id": "test-variant",
              "inventory_quantity": 11,
              "length": null,
              "manage_inventory": true,
              "material": null,
              "metadata": null,
              "mid_code": null,
              "origin_country": null,
              "product": Object {
                "collection_id": null,
                "created_at": Any<Date>,
                "deleted_at": null,
                "description": null,
                "discountable": true,
                "external_id": null,
                "handle": null,
                "height": null,
                "hs_code": null,
                "id": "test-product",
                "is_giftcard": false,
                "length": null,
                "material": null,
                "metadata": null,
                "mid_code": null,
                "origin_country": null,
                "profile_id": Any<String>,
                "status": "draft",
                "subtitle": null,
                "thumbnail": null,
                "title": "Awesome Metal Ball",
                "type_id": null,
                "updated_at": Any<Date>,
                "weight": null,
                "width": null,
              },
              "product_id": "test-product",
              "sku": null,
              "title": "Practical Granite Pizza",
              "upc": null,
              "updated_at": Any<Date>,
              "weight": null,
              "width": null,
            },
            "variant_id": "test-variant",
          },
          "item_id": "test-item",
          "metadata": null,
          "note": null,
          "quantity": 1,
          "reason_id": null,
          "received_quantity": null,
          "requested_quantity": 1,
          "return_id": Any<String>,
        },
      ],
      "metadata": null,
      "no_notification": null,
      "order_id": Any<String>,
      "received_at": Any<Date>,
      "refund_amount": "12.00 USD",
      "shipping_data": null,
      "shipping_method": null,
      "status": "received",
      "swap_id": null,
      "updated_at": Any<Date>,
    },
    "shipping_total": "0.00 USD",
    "subtotal": "12.00 USD",
  }
  ```
</details>

### Claim Shipment Created

**Key in plugin options:** `claim_shipment_created_template`

**Description:** Template to be sent to the customer when a Claim shipment has been created.

<details>
  <summary>Example Data</summary>

  ```jsx
  {
    "claim": Object {
      "canceled_at": null,
      "created_at": Any<Date>,
      "deleted_at": null,
      "fulfillment_status": "shipped",
      "id": Any<String>,
      "idempotency_key": Any<String>,
      "metadata": null,
      "no_notification": null,
      "order": Object {
        "billing_address_id": null,
        "canceled_at": null,
        "cart_id": null,
        "created_at": Any<Date>,
        "currency_code": "usd",
        "customer_id": Any<String>,
        "display_id": Any<Number>,
        "draft_order_id": null,
        "email": "test@testson.com",
        "external_id": null,
        "fulfillment_status": "fulfilled",
        "id": Any<String>,
        "idempotency_key": null,
        "items": Array [
          Object {
            "allow_discounts": true,
            "cart_id": null,
            "claim_order_id": null,
            "created_at": Any<Date>,
            "description": "",
            "fulfilled_quantity": 2,
            "has_shipping": null,
            "id": Any<String>,
            "is_giftcard": false,
            "is_return": false,
            "metadata": null,
            "order_id": Any<String>,
            "quantity": 2,
            "returned_quantity": null,
            "shipped_quantity": 2,
            "should_merge": true,
            "swap_id": null,
            "thumbnail": "",
            "title": "Intelligent Plastic Chips",
            "unit_price": 1000,
            "updated_at": Any<Date>,
            "variant": Object {
              "allow_backorder": false,
              "barcode": null,
              "created_at": Any<Date>,
              "deleted_at": null,
              "ean": null,
              "height": null,
              "hs_code": null,
              "id": "test-variant",
              "inventory_quantity": 10,
              "length": null,
              "manage_inventory": true,
              "material": null,
              "metadata": null,
              "mid_code": null,
              "origin_country": null,
              "product": Object {
                "collection_id": null,
                "created_at": Any<Date>,
                "deleted_at": null,
                "description": null,
                "discountable": true,
                "external_id": null,
                "handle": null,
                "height": null,
                "hs_code": null,
                "id": "test-product",
                "is_giftcard": false,
                "length": null,
                "material": null,
                "metadata": null,
                "mid_code": null,
                "origin_country": null,
                "profile_id": Any<String>,
                "status": "draft",
                "subtitle": null,
                "thumbnail": null,
                "title": "Awesome Metal Ball",
                "type_id": null,
                "updated_at": Any<Date>,
                "weight": null,
                "width": null,
              },
              "product_id": "test-product",
              "sku": null,
              "title": "Practical Granite Pizza",
              "upc": null,
              "updated_at": Any<Date>,
              "weight": null,
              "width": null,
            },
            "variant_id": "test-variant",
          },
        ],
        "metadata": null,
        "no_notification": null,
        "object": "order",
        "payment_status": "captured",
        "region_id": "test-region",
        "shipping_address": Object {
          "address_1": "84185 Lindsey Centers",
          "address_2": null,
          "city": null,
          "company": null,
          "country_code": "us",
          "created_at": Any<Date>,
          "customer_id": null,
          "deleted_at": null,
          "first_name": "Chyna",
          "id": Any<String>,
          "last_name": "Osinski",
          "metadata": null,
          "phone": null,
          "postal_code": "51510",
          "province": null,
          "updated_at": Any<Date>,
        },
        "shipping_address_id": Any<String>,
        "status": "pending",
        "tax_rate": null,
        "updated_at": Any<Date>,
      },
      "order_id": Any<String>,
      "payment_status": "na",
      "refund_amount": null,
      "shipping_address_id": Any<String>,
      "type": "replace",
      "updated_at": Any<Date>,
    },
    "email": "test@testson.com",
    "fulfillment": Object {
      "canceled_at": null,
      "claim_order_id": Any<String>,
      "created_at": Any<Date>,
      "data": Object {},
      "id": Any<String>,
      "idempotency_key": null,
      "items": Array [
        Object {
          "fulfillment_id": Any<String>,
          "item_id": Any<String>,
          "quantity": 1,
        },
      ],
      "metadata": Object {},
      "no_notification": null,
      "order_id": null,
      "provider_id": "test-ful",
      "shipped_at": Any<Date>,
      "swap_id": null,
      "tracking_links": Array [],
      "tracking_numbers": Array [],
      "updated_at": Any<Date>,
    },
    "locale": null,
    "order": Object {
      "billing_address_id": null,
      "canceled_at": null,
      "cart_id": null,
      "created_at": Any<Date>,
      "currency_code": "usd",
      "customer_id": Any<String>,
      "display_id": Any<Number>,
      "draft_order_id": null,
      "email": "test@testson.com",
      "external_id": null,
      "fulfillment_status": "fulfilled",
      "id": Any<String>,
      "idempotency_key": null,
      "items": Array [
        Object {
          "allow_discounts": true,
          "cart_id": null,
          "claim_order_id": null,
          "created_at": Any<Date>,
          "description": "",
          "fulfilled_quantity": 2,
          "has_shipping": null,
          "id": Any<String>,
          "is_giftcard": false,
          "is_return": false,
          "metadata": null,
          "order_id": Any<String>,
          "quantity": 2,
          "returned_quantity": null,
          "shipped_quantity": 2,
          "should_merge": true,
          "swap_id": null,
          "thumbnail": "",
          "title": "Intelligent Plastic Chips",
          "unit_price": 1000,
          "updated_at": Any<Date>,
          "variant": Object {
            "allow_backorder": false,
            "barcode": null,
            "created_at": Any<Date>,
            "deleted_at": null,
            "ean": null,
            "height": null,
            "hs_code": null,
            "id": "test-variant",
            "inventory_quantity": 10,
            "length": null,
            "manage_inventory": true,
            "material": null,
            "metadata": null,
            "mid_code": null,
            "origin_country": null,
            "product": Object {
              "collection_id": null,
              "created_at": Any<Date>,
              "deleted_at": null,
              "description": null,
              "discountable": true,
              "external_id": null,
              "handle": null,
              "height": null,
              "hs_code": null,
              "id": "test-product",
              "is_giftcard": false,
              "length": null,
              "material": null,
              "metadata": null,
              "mid_code": null,
              "origin_country": null,
              "profile_id": Any<String>,
              "status": "draft",
              "subtitle": null,
              "thumbnail": null,
              "title": "Awesome Metal Ball",
              "type_id": null,
              "updated_at": Any<Date>,
              "weight": null,
              "width": null,
            },
            "product_id": "test-product",
            "sku": null,
            "title": "Practical Granite Pizza",
            "upc": null,
            "updated_at": Any<Date>,
            "weight": null,
            "width": null,
          },
          "variant_id": "test-variant",
        },
      ],
      "metadata": null,
      "no_notification": null,
      "object": "order",
      "payment_status": "captured",
      "region_id": "test-region",
      "shipping_address": Object {
        "address_1": "84185 Lindsey Centers",
        "address_2": null,
        "city": null,
        "company": null,
        "country_code": "us",
        "created_at": Any<Date>,
        "customer_id": null,
        "deleted_at": null,
        "first_name": "Chyna",
        "id": Any<String>,
        "last_name": "Osinski",
        "metadata": null,
        "phone": null,
        "postal_code": "51510",
        "province": null,
        "updated_at": Any<Date>,
      },
      "shipping_address_id": Any<String>,
      "status": "pending",
      "tax_rate": null,
      "updated_at": Any<Date>,
    },
    "tracking_links": Array [],
    "tracking_number": "",
  }
  ```
</details>

### Swap Created

**Key in plugin options:** `swap_created_template`

**Description:** Template to be sent to the customer when a swap for an order has been created.

<details>
  <summary>Example Data</summary>

  ```jsx
  {
    "locale": null,
    "swap": Object {
      "additional_items": Array [
        Object {
          "allow_discounts": true,
          "cart_id": Any<String>,
          "claim_order_id": null,
          "created_at": Any<Date>,
          "description": "Small Wooden Computer",
          "fulfilled_quantity": 1,
          "has_shipping": true,
          "id": Any<String>,
          "is_giftcard": false,
          "is_return": false,
          "metadata": Object {},
          "order_id": null,
          "quantity": 1,
          "returned_quantity": null,
          "shipped_quantity": 1,
          "should_merge": true,
          "swap_id": Any<String>,
          "tax_lines": Array [
            Object {
              "code": "default",
              "created_at": Any<Date>,
              "id": Any<String>,
              "item_id": Any<String>,
              "metadata": null,
              "name": "default",
              "rate": 12.5,
              "updated_at": Any<Date>,
            },
          ],
          "thumbnail": null,
          "title": "Awesome Metal Ball",
          "unit_price": 1000,
          "updated_at": Any<Date>,
          "variant": Object {
            "allow_backorder": false,
            "barcode": null,
            "created_at": Any<Date>,
            "deleted_at": null,
            "ean": null,
            "height": null,
            "hs_code": null,
            "id": "variant-2",
            "inventory_quantity": 9,
            "length": null,
            "manage_inventory": true,
            "material": null,
            "metadata": null,
            "mid_code": null,
            "origin_country": null,
            "product": Object {
              "collection_id": null,
              "created_at": Any<Date>,
              "deleted_at": null,
              "description": null,
              "discountable": true,
              "external_id": null,
              "handle": null,
              "height": null,
              "hs_code": null,
              "id": "test-product",
              "is_giftcard": false,
              "length": null,
              "material": null,
              "metadata": null,
              "mid_code": null,
              "origin_country": null,
              "profile_id": Any<String>,
              "status": "draft",
              "subtitle": null,
              "thumbnail": null,
              "title": "Awesome Metal Ball",
              "type_id": null,
              "updated_at": Any<Date>,
              "weight": null,
              "width": null,
            },
            "product_id": "test-product",
            "sku": null,
            "title": "Small Wooden Computer",
            "upc": null,
            "updated_at": Any<Date>,
            "weight": null,
            "width": null,
          },
          "variant_id": "variant-2",
        },
      ],
      "return_order": Object {
        "claim_order_id": null,
        "created_at": Any<Date>,
        "id": Any<String>,
        "idempotency_key": null,
        "items": Array [
          Object {
            "is_requested": true,
            "item_id": "test-item",
            "metadata": null,
            "note": null,
            "quantity": 1,
            "reason_id": null,
            "received_quantity": null,
            "requested_quantity": 1,
            "return_id": Any<String>,
          },
        ],
        "metadata": null,
        "no_notification": null,
        "order_id": null,
        "received_at": null,
        "refund_amount": 1200,
        "shipping_data": null,
        "status": "requested",
        "swap_id": Any<String>,
        "updated_at": Any<Date>,
      },
      "allow_backorder": true,
      "canceled_at": null,
      "cart_id": Any<String>,
      "confirmed_at": Any<Date>,
      "created_at": Any<Date>,
      "deleted_at": null,
      "difference_due": 488,
      "fulfillment_status": "shipped",
      "id": Any<String>,
      "idempotency_key": Any<String>,
      "metadata": null,
      "no_notification": null,
      "order_id": Any<String>,
      "payment_status": "awaiting",
      "shipping_address_id": Any<String>,
      "updated_at": Any<Date>,
    },
    "order": Object {
      "discounts": Array [],
      "billing_address_id": null,
      "canceled_at": null,
      "cart_id": null,
      "created_at": Any<Date>,
      "currency_code": "usd",
      "customer_id": Any<String>,
      "display_id": Any<Number>,
      "draft_order_id": null,
      "email": "test@testson.com",
      "external_id": null,
      "fulfillment_status": "fulfilled",
      "id": Any<String>,
      "idempotency_key": null,
      "items": Array [
        Object {
          "allow_discounts": true,
          "cart_id": null,
          "claim_order_id": null,
          "created_at": Any<Date>,
          "description": "",
          "fulfilled_quantity": 2,
          "has_shipping": null,
          "id": Any<String>,
          "is_giftcard": false,
          "is_return": false,
          "metadata": null,
          "order_id": Any<String>,
          "quantity": 2,
          "returned_quantity": null,
          "shipped_quantity": 2,
          "should_merge": true,
          "swap_id": null,
          "thumbnail": "",
          "title": "Intelligent Plastic Chips",
          "unit_price": 1000,
          "updated_at": Any<Date>,
          "variant": Object {
            "allow_backorder": false,
            "barcode": null,
            "created_at": Any<Date>,
            "deleted_at": null,
            "ean": null,
            "height": null,
            "hs_code": null,
            "id": "test-variant",
            "inventory_quantity": 10,
            "length": null,
            "manage_inventory": true,
            "material": null,
            "metadata": null,
            "mid_code": null,
            "origin_country": null,
            "product": Object {
              "collection_id": null,
              "created_at": Any<Date>,
              "deleted_at": null,
              "description": null,
              "discountable": true,
              "external_id": null,
              "handle": null,
              "height": null,
              "hs_code": null,
              "id": "test-product",
              "is_giftcard": false,
              "length": null,
              "material": null,
              "metadata": null,
              "mid_code": null,
              "origin_country": null,
              "profile_id": Any<String>,
              "status": "draft",
              "subtitle": null,
              "thumbnail": null,
              "title": "Awesome Metal Ball",
              "type_id": null,
              "updated_at": Any<Date>,
              "weight": null,
              "width": null,
            },
            "product_id": "test-product",
            "sku": null,
            "title": "Practical Granite Pizza",
            "upc": null,
            "updated_at": Any<Date>,
            "weight": null,
            "width": null,
          },
          "variant_id": "test-variant",
        },
      ],
      "metadata": null,
      "no_notification": null,
      "object": "order",
      "payment_status": "captured",
      "region_id": "test-region",
      "shipping_address": Object {
        "address_1": "84185 Lindsey Centers",
        "address_2": null,
        "city": null,
        "company": null,
        "country_code": "us",
        "created_at": Any<Date>,
        "customer_id": null,
        "deleted_at": null,
        "first_name": "Chyna",
        "id": Any<String>,
        "last_name": "Osinski",
        "metadata": null,
        "phone": null,
        "postal_code": "51510",
        "province": null,
        "updated_at": Any<Date>,
      },
      "shipping_address_id": Any<String>,
      "status": "pending",
      "tax_rate": null,
      "updated_at": Any<Date>,
      "swaps": Array [],
    },
    "return_request": Object {
      "claim_order_id": null,
      "created_at": Any<Date>,
      "id": Any<String>,
      "idempotency_key": Any<String>,
      "items": Array [
        Object {
          "is_requested": true,
          "item": Object {
            "allow_discounts": true,
            "cart_id": null,
            "claim_order_id": null,
            "created_at": Any<Date>,
            "description": "",
            "fulfilled_quantity": 2,
            "has_shipping": null,
            "id": Any<String>,
            "is_giftcard": false,
            "is_return": false,
            "metadata": null,
            "order_id": Any<String>,
            "quantity": 2,
            "returned_quantity": 1,
            "shipped_quantity": 2,
            "should_merge": true,
            "swap_id": null,
            "tax_lines": Array [
              Object {
                "code": "default",
                "created_at": Any<Date>,
                "id": Any<String>,
                "item_id": "test-item",
                "metadata": null,
                "name": "default",
                "rate": 20,
                "updated_at": Any<Date>,
              },
            ],
            "thumbnail": "",
            "title": "Intelligent Plastic Chips",
            "unit_price": 1000,
            "updated_at": Any<Date>,
            "variant": Object {
              "allow_backorder": false,
              "barcode": null,
              "created_at": Any<Date>,
              "deleted_at": null,
              "ean": null,
              "height": null,
              "hs_code": null,
              "id": "test-variant",
              "inventory_quantity": 11,
              "length": null,
              "manage_inventory": true,
              "material": null,
              "metadata": null,
              "mid_code": null,
              "origin_country": null,
              "product": Object {
                "collection_id": null,
                "created_at": Any<Date>,
                "deleted_at": null,
                "description": null,
                "discountable": true,
                "external_id": null,
                "handle": null,
                "height": null,
                "hs_code": null,
                "id": "test-product",
                "is_giftcard": false,
                "length": null,
                "material": null,
                "metadata": null,
                "mid_code": null,
                "origin_country": null,
                "profile_id": Any<String>,
                "status": "draft",
                "subtitle": null,
                "thumbnail": null,
                "title": "Awesome Metal Ball",
                "type_id": null,
                "updated_at": Any<Date>,
                "weight": null,
                "width": null,
              },
              "product_id": "test-product",
              "sku": null,
              "title": "Practical Granite Pizza",
              "upc": null,
              "updated_at": Any<Date>,
              "weight": null,
              "width": null,
            },
            "variant_id": "test-variant",
          },
          "item_id": "test-item",
          "metadata": null,
          "note": null,
          "quantity": 1,
          "reason_id": null,
          "received_quantity": null,
          "requested_quantity": 1,
          "return_id": Any<String>,
        },
      ],
      "metadata": null,
      "no_notification": null,
      "order_id": Any<String>,
      "received_at": Any<Date>,
      "refund_amount": "12.00 USD",
      "shipping_data": null,
      "shipping_method": null,
      "status": "received",
      "swap_id": null,
      "updated_at": Any<Date>,
    },
    "date": Any<String>,
    "swapLink": Any<String>,
    "email": "test@testson.com",
    "items": Array [
      Object {
        "allow_discounts": true,
        "cart_id": null,
        "claim_order_id": null,
        "created_at": Any<Date>,
        "description": "",
        "discounted_price": "12.00 USD",
        "fulfilled_quantity": 2,
        "has_shipping": null,
        "id": "test-item",
        "is_giftcard": false,
        "is_return": false,
        "metadata": null,
        "order_id": Any<String>,
        "price": "12.00 USD",
        "quantity": 2,
        "returned_quantity": null,
        "shipped_quantity": 2,
        "should_merge": true,
        "swap_id": null,
        "tax_lines": Array [
          Object {
            "code": "default",
            "created_at": Any<Date>,
            "id": Any<String>,
            "item_id": "test-item",
            "metadata": null,
            "name": "default",
            "rate": 20,
            "updated_at": Any<Date>,
          },
        ],
        "thumbnail": null,
        "title": "Intelligent Plastic Chips",
        "totals": Object {
          "discount_total": 0,
          "gift_card_total": 0,
          "original_tax_total": 400,
          "original_total": 2400,
          "quantity": 2,
          "subtotal": 2000,
          "tax_lines": Array [
            Object {
              "code": "default",
              "created_at": Any<Date>,
              "id": Any<String>,
              "item_id": "test-item",
              "metadata": null,
              "name": "default",
              "rate": 20,
              "updated_at": Any<Date>,
            },
          ],
          "tax_total": 400,
          "total": 2400,
          "unit_price": 1000,
        },
        "unit_price": 1000,
        "updated_at": Any<Date>,
        "variant": Object {
          "allow_backorder": false,
          "barcode": null,
          "created_at": Any<Date>,
          "deleted_at": null,
          "ean": null,
          "height": null,
          "hs_code": null,
          "id": "test-variant",
          "inventory_quantity": 10,
          "length": null,
          "manage_inventory": true,
          "material": null,
          "metadata": null,
          "mid_code": null,
          "origin_country": null,
          "product": Object {
            "collection_id": null,
            "created_at": Any<Date>,
            "deleted_at": null,
            "description": null,
            "discountable": true,
            "external_id": null,
            "handle": null,
            "height": null,
            "hs_code": null,
            "id": "test-product",
            "is_giftcard": false,
            "length": null,
            "material": null,
            "metadata": null,
            "mid_code": null,
            "origin_country": null,
            "profile_id": Any<String>,
            "status": "draft",
            "subtitle": null,
            "thumbnail": null,
            "title": "Awesome Metal Ball",
            "type_id": null,
            "updated_at": Any<Date>,
            "weight": null,
            "width": null,
          },
          "product_id": "test-product",
          "sku": null,
          "title": "Practical Granite Pizza",
          "upc": null,
          "updated_at": Any<Date>,
          "weight": null,
          "width": null,
        },
        "variant_id": "test-variant",
      },
    ],
    "return_items": Array[...], //same as items
    "return_total": "12.00 USD",
    "refund_amount": "12.00 USD",
    "additional_total": "11.25 USD"
  }
  ```
</details>

### Swap Shipment Created

**Key in plugin options:** `swap_shipment_created_template`

**Description:** Template to be sent to the customer when a shipment of a swap of an order has been created.

<details>
  <summary>Example Data</summary>

  ```jsx
  Object {
    "additional_total": "16.88 USD",
    "date": Any<String>,
    "email": "test@testson.com",
    "fulfillment": Object {
      "canceled_at": null,
      "claim_order_id": null,
      "created_at": Any<Date>,
      "data": Object {},
      "id": Any<String>,
      "idempotency_key": null,
      "items": Array [
        Object {
          "fulfillment_id": Any<String>,
          "item_id": Any<String>,
          "quantity": 1,
        },
      ],
      "metadata": Object {},
      "no_notification": null,
      "order_id": null,
      "provider_id": "test-ful",
      "shipped_at": Any<Date>,
      "swap_id": Any<String>,
      "tracking_links": Array [],
      "tracking_numbers": Array [],
      "updated_at": Any<Date>,
    },
    "items": Array [
      Object {
        "allow_discounts": true,
        "cart_id": Any<String>,
        "claim_order_id": null,
        "created_at": Any<Date>,
        "description": "Small Wooden Computer",
        "discounted_price": "11.25 USD",
        "fulfilled_quantity": 1,
        "has_shipping": true,
        "id": Any<String>,
        "is_giftcard": false,
        "is_return": false,
        "metadata": Object {},
        "order_id": null,
        "price": "11.25 USD",
        "quantity": 1,
        "returned_quantity": null,
        "shipped_quantity": 1,
        "should_merge": true,
        "swap_id": Any<String>,
        "tax_lines": Array [
          Object {
            "code": "default",
            "created_at": Any<Date>,
            "id": Any<String>,
            "item_id": Any<String>,
            "metadata": null,
            "name": "default",
            "rate": 12.5,
            "updated_at": Any<Date>,
          },
        ],
        "thumbnail": null,
        "title": "Awesome Metal Ball",
        "unit_price": 1000,
        "updated_at": Any<Date>,
        "variant": Object {
          "allow_backorder": false,
          "barcode": null,
          "created_at": Any<Date>,
          "deleted_at": null,
          "ean": null,
          "height": null,
          "hs_code": null,
          "id": "variant-2",
          "inventory_quantity": 9,
          "length": null,
          "manage_inventory": true,
          "material": null,
          "metadata": null,
          "mid_code": null,
          "origin_country": null,
          "product": Object {
            "collection_id": null,
            "created_at": Any<Date>,
            "deleted_at": null,
            "description": null,
            "discountable": true,
            "external_id": null,
            "handle": null,
            "height": null,
            "hs_code": null,
            "id": "test-product",
            "is_giftcard": false,
            "length": null,
            "material": null,
            "metadata": null,
            "mid_code": null,
            "origin_country": null,
            "profile_id": Any<String>,
            "status": "draft",
            "subtitle": null,
            "thumbnail": null,
            "title": "Awesome Metal Ball",
            "type_id": null,
            "updated_at": Any<Date>,
            "weight": null,
            "width": null,
          },
          "product_id": "test-product",
          "sku": null,
          "title": "Small Wooden Computer",
          "upc": null,
          "updated_at": Any<Date>,
          "weight": null,
          "width": null,
        },
        "variant_id": "variant-2",
      },
    ],
    "locale": null,
    "order": Object {
      "beforeInsert": [Function],
      "billing_address_id": null,
      "canceled_at": null,
      "cart_id": null,
      "created_at": Any<Date>,
      "currency_code": "usd",
      "customer_id": Any<String>,
      "discounts": Array [],
      "display_id": Any<Number>,
      "draft_order_id": null,
      "email": "test@testson.com",
      "external_id": null,
      "fulfillment_status": "fulfilled",
      "id": Any<String>,
      "idempotency_key": null,
      "items": Array [
        Object {
          "allow_discounts": true,
          "cart_id": null,
          "claim_order_id": null,
          "created_at": Any<Date>,
          "description": "",
          "fulfilled_quantity": 2,
          "has_shipping": null,
          "id": Any<String>,
          "is_giftcard": false,
          "is_return": false,
          "metadata": null,
          "order_id": Any<String>,
          "quantity": 2,
          "returned_quantity": null,
          "shipped_quantity": 2,
          "should_merge": true,
          "swap_id": null,
          "tax_lines": Array [
            Object {
              "code": "default",
              "created_at": Any<Date>,
              "id": Any<String>,
              "item_id": Any<String>,
              "metadata": null,
              "name": "default",
              "rate": 20,
              "updated_at": Any<Date>,
            },
          ],
          "thumbnail": "",
          "title": "Intelligent Plastic Chips",
          "unit_price": 1000,
          "updated_at": Any<Date>,
          "variant": Object {
            "allow_backorder": false,
            "barcode": null,
            "created_at": Any<Date>,
            "deleted_at": null,
            "ean": null,
            "height": null,
            "hs_code": null,
            "id": "test-variant",
            "inventory_quantity": 9,
            "length": null,
            "manage_inventory": true,
            "material": null,
            "metadata": null,
            "mid_code": null,
            "origin_country": null,
            "product": Object {
              "collection_id": null,
              "created_at": Any<Date>,
              "deleted_at": null,
              "description": null,
              "discountable": true,
              "external_id": null,
              "handle": null,
              "height": null,
              "hs_code": null,
              "id": "test-product",
              "is_giftcard": false,
              "length": null,
              "material": null,
              "metadata": null,
              "mid_code": null,
              "origin_country": null,
              "profile_id": Any<String>,
              "status": "draft",
              "subtitle": null,
              "thumbnail": null,
              "title": "Awesome Metal Ball",
              "type_id": null,
              "updated_at": Any<Date>,
              "weight": null,
              "width": null,
            },
            "product_id": "test-product",
            "sku": null,
            "title": "Practical Granite Pizza",
            "upc": null,
            "updated_at": Any<Date>,
            "weight": null,
            "width": null,
          },
          "variant_id": "test-variant",
        },
      ],
      "metadata": null,
      "no_notification": null,
      "object": "order",
      "payment_status": "captured",
      "region": Object {
        "automatic_taxes": true,
        "created_at": Any<Date>,
        "currency_code": "usd",
        "deleted_at": null,
        "fulfillment_providers": Array [],
        "gift_cards_taxable": true,
        "id": Any<String>,
        "metadata": null,
        "name": "Test region",
        "payment_providers": Array [
          PaymentProvider {
            "id": "test-pay",
            "is_installed": true,
          },
        ],
        "tax_code": null,
        "tax_provider_id": null,
        "tax_rate": 12.5,
        "updated_at": Any<Date>,
      },
      "region_id": "test-region",
      "shipping_address_id": Any<String>,
      "status": "pending",
      "swaps": Array [
        Object {
          "additional_items": Array [
            Object {
              "allow_discounts": true,
              "cart_id": Any<String>,
              "claim_order_id": null,
              "created_at": Any<Date>,
              "description": "Small Wooden Computer",
              "fulfilled_quantity": 1,
              "has_shipping": true,
              "id": Any<String>,
              "is_giftcard": false,
              "is_return": false,
              "metadata": Object {},
              "order_id": null,
              "quantity": 1,
              "returned_quantity": null,
              "shipped_quantity": 1,
              "should_merge": true,
              "swap_id": Any<String>,
              "tax_lines": Array [
                Object {
                  "code": "default",
                  "created_at": Any<Date>,
                  "id": Any<String>,
                  "item_id": Any<String>,
                  "metadata": null,
                  "name": "default",
                  "rate": 12.5,
                  "updated_at": Any<Date>,
                },
              ],
              "thumbnail": null,
              "title": "Awesome Metal Ball",
              "unit_price": 1000,
              "updated_at": Any<Date>,
              "variant": Object {
                "allow_backorder": false,
                "barcode": null,
                "created_at": Any<Date>,
                "deleted_at": null,
                "ean": null,
                "height": null,
                "hs_code": null,
                "id": "variant-2",
                "inventory_quantity": 9,
                "length": null,
                "manage_inventory": true,
                "material": null,
                "metadata": null,
                "mid_code": null,
                "origin_country": null,
                "product": Object {
                  "collection_id": null,
                  "created_at": Any<Date>,
                  "deleted_at": null,
                  "description": null,
                  "discountable": true,
                  "external_id": null,
                  "handle": null,
                  "height": null,
                  "hs_code": null,
                  "id": "test-product",
                  "is_giftcard": false,
                  "length": null,
                  "material": null,
                  "metadata": null,
                  "mid_code": null,
                  "origin_country": null,
                  "profile_id": Any<String>,
                  "status": "draft",
                  "subtitle": null,
                  "thumbnail": null,
                  "title": "Awesome Metal Ball",
                  "type_id": null,
                  "updated_at": Any<Date>,
                  "weight": null,
                  "width": null,
                },
                "product_id": "test-product",
                "sku": null,
                "title": "Small Wooden Computer",
                "upc": null,
                "updated_at": Any<Date>,
                "weight": null,
                "width": null,
              },
              "variant_id": "variant-2",
            },
          ],
          "allow_backorder": true,
          "canceled_at": null,
          "cart_id": Any<String>,
          "confirmed_at": Any<Date>,
          "created_at": Any<Date>,
          "deleted_at": null,
          "difference_due": 488,
          "fulfillment_status": "shipped",
          "id": Any<String>,
          "idempotency_key": Any<String>,
          "metadata": null,
          "no_notification": null,
          "order_id": Any<String>,
          "payment_status": "awaiting",
          "shipping_address_id": Any<String>,
          "updated_at": Any<Date>,
        },
      ],
      "tax_rate": null,
      "updated_at": Any<Date>,
    },
    "paid_total": "4.88 USD",
    "refund_amount": "12.00 USD",
    "return_total": "12.00 USD",
    "swap": Object {
      "additional_items": Array [
        Object {
          "allow_discounts": true,
          "cart_id": Any<String>,
          "claim_order_id": null,
          "created_at": Any<Date>,
          "description": "Small Wooden Computer",
          "fulfilled_quantity": 1,
          "has_shipping": true,
          "id": Any<String>,
          "is_giftcard": false,
          "is_return": false,
          "metadata": Object {},
          "order_id": null,
          "quantity": 1,
          "returned_quantity": null,
          "shipped_quantity": 1,
          "should_merge": true,
          "swap_id": Any<String>,
          "tax_lines": Array [
            Object {
              "code": "default",
              "created_at": Any<Date>,
              "id": Any<String>,
              "item_id": Any<String>,
              "metadata": null,
              "name": "default",
              "rate": 12.5,
              "updated_at": Any<Date>,
            },
          ],
          "thumbnail": null,
          "title": "Awesome Metal Ball",
          "unit_price": 1000,
          "updated_at": Any<Date>,
          "variant": Object {
            "allow_backorder": false,
            "barcode": null,
            "created_at": Any<Date>,
            "deleted_at": null,
            "ean": null,
            "height": null,
            "hs_code": null,
            "id": "variant-2",
            "inventory_quantity": 9,
            "length": null,
            "manage_inventory": true,
            "material": null,
            "metadata": null,
            "mid_code": null,
            "origin_country": null,
            "product": Object {
              "collection_id": null,
              "created_at": Any<Date>,
              "deleted_at": null,
              "description": null,
              "discountable": true,
              "external_id": null,
              "handle": null,
              "height": null,
              "hs_code": null,
              "id": "test-product",
              "is_giftcard": false,
              "length": null,
              "material": null,
              "metadata": null,
              "mid_code": null,
              "origin_country": null,
              "profile_id": Any<String>,
              "status": "draft",
              "subtitle": null,
              "thumbnail": null,
              "title": "Awesome Metal Ball",
              "type_id": null,
              "updated_at": Any<Date>,
              "weight": null,
              "width": null,
            },
            "product_id": "test-product",
            "sku": null,
            "title": "Small Wooden Computer",
            "upc": null,
            "updated_at": Any<Date>,
            "weight": null,
            "width": null,
          },
          "variant_id": "variant-2",
        },
      ],
      "allow_backorder": true,
      "beforeInsert": [Function],
      "canceled_at": null,
      "cart_id": Any<String>,
      "confirmed_at": Any<Date>,
      "created_at": Any<Date>,
      "deleted_at": null,
      "difference_due": 488,
      "fulfillment_status": "shipped",
      "id": Any<String>,
      "idempotency_key": Any<String>,
      "metadata": null,
      "no_notification": null,
      "order_id": Any<String>,
      "payment_status": "awaiting",
      "return_order": Object {
        "claim_order_id": null,
        "created_at": Any<Date>,
        "id": Any<String>,
        "idempotency_key": null,
        "items": Array [
          Object {
            "is_requested": true,
            "item_id": "test-item",
            "metadata": null,
            "note": null,
            "quantity": 1,
            "reason_id": null,
            "received_quantity": null,
            "requested_quantity": 1,
            "return_id": Any<String>,
          },
        ],
        "metadata": null,
        "no_notification": null,
        "order_id": null,
        "received_at": null,
        "refund_amount": 1200,
        "shipping_data": null,
        "status": "requested",
        "swap_id": Any<String>,
        "updated_at": Any<Date>,
      },
      "shipping_address": Object {
        "address_1": "121 W Something St",
        "address_2": null,
        "city": "ville la something",
        "company": null,
        "country_code": null,
        "created_at": Any<Date>,
        "customer_id": null,
        "deleted_at": null,
        "first_name": null,
        "id": Any<String>,
        "last_name": null,
        "metadata": null,
        "phone": "12353245",
        "postal_code": "1234",
        "province": "something",
        "updated_at": Any<Date>,
      },
      "shipping_address_id": Any<String>,
      "shipping_methods": Array [
        Object {
          "cart_id": Any<String>,
          "claim_order_id": null,
          "data": Object {},
          "id": Any<String>,
          "order_id": null,
          "price": 500,
          "return_id": null,
          "shipping_option": Object {
            "admin_only": false,
            "amount": 500,
            "created_at": Any<Date>,
            "data": Object {},
            "deleted_at": null,
            "id": Any<String>,
            "is_return": false,
            "metadata": null,
            "name": "Test Method",
            "price_type": "flat_rate",
            "profile_id": Any<String>,
            "provider_id": "test-ful",
            "region_id": "test-region",
            "updated_at": Any<Date>,
          },
          "shipping_option_id": Any<String>,
          "swap_id": Any<String>,
          "tax_lines": Array [
            Object {
              "code": "default",
              "created_at": Any<Date>,
              "id": Any<String>,
              "metadata": null,
              "name": "default",
              "rate": 12.5,
              "shipping_method_id": Any<String>,
              "updated_at": Any<Date>,
            },
          ],
        },
      ],
      "updated_at": Any<Date>,
    },
    "tax_amount": "-0.12 USD",
    "tracking_links": Array [],
    "tracking_number": "",
  }
  ```
</details>

### Swap Received

**Key in plugin options:** `swap_received_template`

**Description:** Template to be sent to the customer when a swap of an order has been received.

<details>
  <summary>Example Data</summary>

  ```jsx
  {
    "locale": null,
    "swap": Object {
      "additional_items": Array [
        Object {
          "allow_discounts": true,
          "cart_id": Any<String>,
          "claim_order_id": null,
          "created_at": Any<Date>,
          "description": "Small Wooden Computer",
          "fulfilled_quantity": 1,
          "has_shipping": true,
          "id": Any<String>,
          "is_giftcard": false,
          "is_return": false,
          "metadata": Object {},
          "order_id": null,
          "quantity": 1,
          "returned_quantity": null,
          "shipped_quantity": 1,
          "should_merge": true,
          "swap_id": Any<String>,
          "tax_lines": Array [
            Object {
              "code": "default",
              "created_at": Any<Date>,
              "id": Any<String>,
              "item_id": Any<String>,
              "metadata": null,
              "name": "default",
              "rate": 12.5,
              "updated_at": Any<Date>,
            },
          ],
          "thumbnail": null,
          "title": "Awesome Metal Ball",
          "unit_price": 1000,
          "updated_at": Any<Date>,
          "variant": Object {
            "allow_backorder": false,
            "barcode": null,
            "created_at": Any<Date>,
            "deleted_at": null,
            "ean": null,
            "height": null,
            "hs_code": null,
            "id": "variant-2",
            "inventory_quantity": 9,
            "length": null,
            "manage_inventory": true,
            "material": null,
            "metadata": null,
            "mid_code": null,
            "origin_country": null,
            "product": Object {
              "collection_id": null,
              "created_at": Any<Date>,
              "deleted_at": null,
              "description": null,
              "discountable": true,
              "external_id": null,
              "handle": null,
              "height": null,
              "hs_code": null,
              "id": "test-product",
              "is_giftcard": false,
              "length": null,
              "material": null,
              "metadata": null,
              "mid_code": null,
              "origin_country": null,
              "profile_id": Any<String>,
              "status": "draft",
              "subtitle": null,
              "thumbnail": null,
              "title": "Awesome Metal Ball",
              "type_id": null,
              "updated_at": Any<Date>,
              "weight": null,
              "width": null,
            },
            "product_id": "test-product",
            "sku": null,
            "title": "Small Wooden Computer",
            "upc": null,
            "updated_at": Any<Date>,
            "weight": null,
            "width": null,
          },
          "variant_id": "variant-2",
        },
      ],
      "return_order": Object {
        "claim_order_id": null,
        "created_at": Any<Date>,
        "id": Any<String>,
        "idempotency_key": null,
        "items": Array [
          Object {
            "is_requested": true,
            "item_id": "test-item",
            "metadata": null,
            "note": null,
            "quantity": 1,
            "reason_id": null,
            "received_quantity": null,
            "requested_quantity": 1,
            "return_id": Any<String>,
          },
        ],
        "metadata": null,
        "no_notification": null,
        "order_id": null,
        "received_at": null,
        "refund_amount": 1200,
        "shipping_data": null,
        "status": "requested",
        "swap_id": Any<String>,
        "updated_at": Any<Date>,
      },
      "allow_backorder": true,
      "canceled_at": null,
      "cart_id": Any<String>,
      "confirmed_at": Any<Date>,
      "created_at": Any<Date>,
      "deleted_at": null,
      "difference_due": 488,
      "fulfillment_status": "shipped",
      "id": Any<String>,
      "idempotency_key": Any<String>,
      "metadata": null,
      "no_notification": null,
      "order_id": Any<String>,
      "payment_status": "awaiting",
      "shipping_address_id": Any<String>,
      "updated_at": Any<Date>,
    },
    "order": Object {
      "discounts": Array [],
      "billing_address_id": null,
      "canceled_at": null,
      "cart_id": null,
      "created_at": Any<Date>,
      "currency_code": "usd",
      "customer_id": Any<String>,
      "display_id": Any<Number>,
      "draft_order_id": null,
      "email": "test@testson.com",
      "external_id": null,
      "fulfillment_status": "fulfilled",
      "id": Any<String>,
      "idempotency_key": null,
      "items": Array [
        Object {
          "allow_discounts": true,
          "cart_id": null,
          "claim_order_id": null,
          "created_at": Any<Date>,
          "description": "",
          "fulfilled_quantity": 2,
          "has_shipping": null,
          "id": Any<String>,
          "is_giftcard": false,
          "is_return": false,
          "metadata": null,
          "order_id": Any<String>,
          "quantity": 2,
          "returned_quantity": null,
          "shipped_quantity": 2,
          "should_merge": true,
          "swap_id": null,
          "thumbnail": "",
          "title": "Intelligent Plastic Chips",
          "unit_price": 1000,
          "updated_at": Any<Date>,
          "variant": Object {
            "allow_backorder": false,
            "barcode": null,
            "created_at": Any<Date>,
            "deleted_at": null,
            "ean": null,
            "height": null,
            "hs_code": null,
            "id": "test-variant",
            "inventory_quantity": 10,
            "length": null,
            "manage_inventory": true,
            "material": null,
            "metadata": null,
            "mid_code": null,
            "origin_country": null,
            "product": Object {
              "collection_id": null,
              "created_at": Any<Date>,
              "deleted_at": null,
              "description": null,
              "discountable": true,
              "external_id": null,
              "handle": null,
              "height": null,
              "hs_code": null,
              "id": "test-product",
              "is_giftcard": false,
              "length": null,
              "material": null,
              "metadata": null,
              "mid_code": null,
              "origin_country": null,
              "profile_id": Any<String>,
              "status": "draft",
              "subtitle": null,
              "thumbnail": null,
              "title": "Awesome Metal Ball",
              "type_id": null,
              "updated_at": Any<Date>,
              "weight": null,
              "width": null,
            },
            "product_id": "test-product",
            "sku": null,
            "title": "Practical Granite Pizza",
            "upc": null,
            "updated_at": Any<Date>,
            "weight": null,
            "width": null,
          },
          "variant_id": "test-variant",
        },
      ],
      "metadata": null,
      "no_notification": null,
      "object": "order",
      "payment_status": "captured",
      "region_id": "test-region",
      "shipping_address": Object {
        "address_1": "84185 Lindsey Centers",
        "address_2": null,
        "city": null,
        "company": null,
        "country_code": "us",
        "created_at": Any<Date>,
        "customer_id": null,
        "deleted_at": null,
        "first_name": "Chyna",
        "id": Any<String>,
        "last_name": "Osinski",
        "metadata": null,
        "phone": null,
        "postal_code": "51510",
        "province": null,
        "updated_at": Any<Date>,
      },
      "shipping_address_id": Any<String>,
      "status": "pending",
      "tax_rate": null,
      "updated_at": Any<Date>,
      "swaps": Array [],
    },
    "return_request": Object {
      "claim_order_id": null,
      "created_at": Any<Date>,
      "id": Any<String>,
      "idempotency_key": Any<String>,
      "items": Array [
        Object {
          "is_requested": true,
          "item": Object {
            "allow_discounts": true,
            "cart_id": null,
            "claim_order_id": null,
            "created_at": Any<Date>,
            "description": "",
            "fulfilled_quantity": 2,
            "has_shipping": null,
            "id": Any<String>,
            "is_giftcard": false,
            "is_return": false,
            "metadata": null,
            "order_id": Any<String>,
            "quantity": 2,
            "returned_quantity": 1,
            "shipped_quantity": 2,
            "should_merge": true,
            "swap_id": null,
            "tax_lines": Array [
              Object {
                "code": "default",
                "created_at": Any<Date>,
                "id": Any<String>,
                "item_id": "test-item",
                "metadata": null,
                "name": "default",
                "rate": 20,
                "updated_at": Any<Date>,
              },
            ],
            "thumbnail": "",
            "title": "Intelligent Plastic Chips",
            "unit_price": 1000,
            "updated_at": Any<Date>,
            "variant": Object {
              "allow_backorder": false,
              "barcode": null,
              "created_at": Any<Date>,
              "deleted_at": null,
              "ean": null,
              "height": null,
              "hs_code": null,
              "id": "test-variant",
              "inventory_quantity": 11,
              "length": null,
              "manage_inventory": true,
              "material": null,
              "metadata": null,
              "mid_code": null,
              "origin_country": null,
              "product": Object {
                "collection_id": null,
                "created_at": Any<Date>,
                "deleted_at": null,
                "description": null,
                "discountable": true,
                "external_id": null,
                "handle": null,
                "height": null,
                "hs_code": null,
                "id": "test-product",
                "is_giftcard": false,
                "length": null,
                "material": null,
                "metadata": null,
                "mid_code": null,
                "origin_country": null,
                "profile_id": Any<String>,
                "status": "draft",
                "subtitle": null,
                "thumbnail": null,
                "title": "Awesome Metal Ball",
                "type_id": null,
                "updated_at": Any<Date>,
                "weight": null,
                "width": null,
              },
              "product_id": "test-product",
              "sku": null,
              "title": "Practical Granite Pizza",
              "upc": null,
              "updated_at": Any<Date>,
              "weight": null,
              "width": null,
            },
            "variant_id": "test-variant",
          },
          "item_id": "test-item",
          "metadata": null,
          "note": null,
          "quantity": 1,
          "reason_id": null,
          "received_quantity": null,
          "requested_quantity": 1,
          "return_id": Any<String>,
        },
      ],
      "metadata": null,
      "no_notification": null,
      "order_id": Any<String>,
      "received_at": Any<Date>,
      "refund_amount": "12.00 USD",
      "shipping_data": null,
      "shipping_method": null,
      "status": "received",
      "swap_id": null,
      "updated_at": Any<Date>,
    },
    "date": Any<String>,
    "swapLink": Any<String>,
    "email": "test@testson.com",
    "items": Array [
      Object {
        "allow_discounts": true,
        "cart_id": null,
        "claim_order_id": null,
        "created_at": Any<Date>,
        "description": "",
        "discounted_price": "12.00 USD",
        "fulfilled_quantity": 2,
        "has_shipping": null,
        "id": "test-item",
        "is_giftcard": false,
        "is_return": false,
        "metadata": null,
        "order_id": Any<String>,
        "price": "12.00 USD",
        "quantity": 2,
        "returned_quantity": null,
        "shipped_quantity": 2,
        "should_merge": true,
        "swap_id": null,
        "tax_lines": Array [
          Object {
            "code": "default",
            "created_at": Any<Date>,
            "id": Any<String>,
            "item_id": "test-item",
            "metadata": null,
            "name": "default",
            "rate": 20,
            "updated_at": Any<Date>,
          },
        ],
        "thumbnail": null,
        "title": "Intelligent Plastic Chips",
        "totals": Object {
          "discount_total": 0,
          "gift_card_total": 0,
          "original_tax_total": 400,
          "original_total": 2400,
          "quantity": 2,
          "subtotal": 2000,
          "tax_lines": Array [
            Object {
              "code": "default",
              "created_at": Any<Date>,
              "id": Any<String>,
              "item_id": "test-item",
              "metadata": null,
              "name": "default",
              "rate": 20,
              "updated_at": Any<Date>,
            },
          ],
          "tax_total": 400,
          "total": 2400,
          "unit_price": 1000,
        },
        "unit_price": 1000,
        "updated_at": Any<Date>,
        "variant": Object {
          "allow_backorder": false,
          "barcode": null,
          "created_at": Any<Date>,
          "deleted_at": null,
          "ean": null,
          "height": null,
          "hs_code": null,
          "id": "test-variant",
          "inventory_quantity": 10,
          "length": null,
          "manage_inventory": true,
          "material": null,
          "metadata": null,
          "mid_code": null,
          "origin_country": null,
          "product": Object {
            "collection_id": null,
            "created_at": Any<Date>,
            "deleted_at": null,
            "description": null,
            "discountable": true,
            "external_id": null,
            "handle": null,
            "height": null,
            "hs_code": null,
            "id": "test-product",
            "is_giftcard": false,
            "length": null,
            "material": null,
            "metadata": null,
            "mid_code": null,
            "origin_country": null,
            "profile_id": Any<String>,
            "status": "draft",
            "subtitle": null,
            "thumbnail": null,
            "title": "Awesome Metal Ball",
            "type_id": null,
            "updated_at": Any<Date>,
            "weight": null,
            "width": null,
          },
          "product_id": "test-product",
          "sku": null,
          "title": "Practical Granite Pizza",
          "upc": null,
          "updated_at": Any<Date>,
          "weight": null,
          "width": null,
        },
        "variant_id": "test-variant",
      },
    ],
    "return_items": Array[...], //same as items
    "return_total": "12.00 USD",
    "tax_total": "4.00 USD",
    "refund_amount": "12.00 USD",
    "additional_total": "11.25 USD"
  }
  ```
</details>

### Gift Card Created

**Key in plugin options:** `gift_card_created_template`

**Description:** Template to be to the customer sent when a gift card in their order has been created.

<details>
  <summary>Example Data</summary>

  ```jsx
  Object {
    "code": Any<String>,
    "value": 4,
    "balance": 100,
    "region": Object {
      "automatic_taxes": true,
      "created_at": Any<Date>,
      "currency_code": "usd",
      "deleted_at": null,
      "fulfillment_providers": Array [],
      "gift_cards_taxable": true,
      "id": Any<String>,
      "metadata": null,
      "name": "Test region",
      "payment_providers": Array [
        PaymentProvider {
          "id": "test-pay",
          "is_installed": true,
        },
      ],
      "tax_code": null,
      "tax_provider_id": null,
      "tax_rate": 12.5,
      "updated_at": Any<Date>,
    },
    "region_id": "test-region",
    "order": Object {
      "billing_address_id": null,
      "canceled_at": null,
      "cart_id": null,
      "created_at": Any<Date>,
      "currency_code": "usd",
      "customer_id": Any<String>,
      "display_id": Any<Number>,
      "draft_order_id": null,
      "email": "test@testson.com",
      "external_id": null,
      "fulfillment_status": "fulfilled",
      "id": Any<String>,
      "idempotency_key": null,
      "items": Array [
        Object {
          "allow_discounts": true,
          "cart_id": null,
          "claim_order_id": null,
          "created_at": Any<Date>,
          "description": "",
          "fulfilled_quantity": 2,
          "has_shipping": null,
          "id": Any<String>,
          "is_giftcard": false,
          "is_return": false,
          "metadata": null,
          "order_id": Any<String>,
          "quantity": 2,
          "returned_quantity": null,
          "shipped_quantity": 2,
          "should_merge": true,
          "swap_id": null,
          "thumbnail": "",
          "title": "Intelligent Plastic Chips",
          "unit_price": 1000,
          "updated_at": Any<Date>,
          "variant": Object {
            "allow_backorder": false,
            "barcode": null,
            "created_at": Any<Date>,
            "deleted_at": null,
            "ean": null,
            "height": null,
            "hs_code": null,
            "id": "test-variant",
            "inventory_quantity": 10,
            "length": null,
            "manage_inventory": true,
            "material": null,
            "metadata": null,
            "mid_code": null,
            "origin_country": null,
            "product": Object {
              "collection_id": null,
              "created_at": Any<Date>,
              "deleted_at": null,
              "description": null,
              "discountable": true,
              "external_id": null,
              "handle": null,
              "height": null,
              "hs_code": null,
              "id": "test-product",
              "is_giftcard": false,
              "length": null,
              "material": null,
              "metadata": null,
              "mid_code": null,
              "origin_country": null,
              "profile_id": Any<String>,
              "status": "draft",
              "subtitle": null,
              "thumbnail": null,
              "title": "Awesome Metal Ball",
              "type_id": null,
              "updated_at": Any<Date>,
              "weight": null,
              "width": null,
            },
            "product_id": "test-product",
            "sku": null,
            "title": "Practical Granite Pizza",
            "upc": null,
            "updated_at": Any<Date>,
            "weight": null,
            "width": null,
          },
          "variant_id": "test-variant",
        },
      ],
      "metadata": null,
      "no_notification": null,
      "object": "order",
      "payment_status": "captured",
      "region_id": "test-region",
      "shipping_address": Object {
        "address_1": "84185 Lindsey Centers",
        "address_2": null,
        "city": null,
        "company": null,
        "country_code": "us",
        "created_at": Any<Date>,
        "customer_id": null,
        "deleted_at": null,
        "first_name": "Chyna",
        "id": Any<String>,
        "last_name": "Osinski",
        "metadata": null,
        "phone": null,
        "postal_code": "51510",
        "province": null,
        "updated_at": Any<Date>,
      },
      "shipping_address_id": Any<String>,
      "status": "pending",
      "tax_rate": null,
      "updated_at": Any<Date>,
    },
    "order_id": Any<String>,
    "is_disabled": false,
    "created_at": Any<Date>,
    "updated_at": Any<Date>,
    "deleted_at": null,
    "locale": null,
    "email": "test@testson.com",
    "display_value": 4
  }
  ```
</details>

### Customer Password Reset

**Key in plugin options:** `customer_password_reset_template`

**Description:** Template to be sent to the customer when they request a password reset.

<details>
  <summary>Example Data</summary>

  ```jsx
  Object {
    "id": Any<String>,
    "email": "test@testson.com",
    "first_name": "Chyna",
    "last_name": "Osinski",
    "token": Any<String>,
  }
  ```
</details>

### User Password Reset

**Key in plugin options:** `user_password_reset_template`

**Description:** Template to be sent to the admin user when they request a password reset.

<details>
  <summary>Example Data</summary>

  ```jsx
  Object {
    "email": "test@testson.com",
    "token": Any<String>,
  }
  ```
</details>

### Restock Notification

**Key in plugin options:** medusa_restock_template

**Description:** Template to be sent to admin users when a product has hit the restock quantity threshold.

<details>
  <summary>Example Data</summary>

  ```jsx
  Object {
    "product": Object {
      "collection_id": null,
      "created_at": Any<Date>,
      "deleted_at": null,
      "description": null,
      "discountable": true,
      "external_id": null,
      "handle": null,
      "height": null,
      "hs_code": null,
      "id": "test-product",
      "is_giftcard": false,
      "length": null,
      "material": null,
      "metadata": null,
      "mid_code": null,
      "origin_country": null,
      "profile_id": Any<String>,
      "status": "draft",
      "subtitle": null,
      "thumbnail": "",
      "title": "Awesome Metal Ball",
      "type_id": null,
      "updated_at": Any<Date>,
      "weight": null,
      "width": null,
    },
    "variant": Object {
      "allow_backorder": false,
      "barcode": null,
      "created_at": Any<Date>,
      "deleted_at": null,
      "ean": null,
      "height": null,
      "hs_code": null,
      "id": "test-variant",
      "inventory_quantity": 10,
      "length": null,
      "manage_inventory": true,
      "material": null,
      "metadata": null,
      "mid_code": null,
      "origin_country": null,
      "product": Object {
        "collection_id": null,
        "created_at": Any<Date>,
        "deleted_at": null,
        "description": null,
        "discountable": true,
        "external_id": null,
        "handle": null,
        "height": null,
        "hs_code": null,
        "id": "test-product",
        "is_giftcard": false,
        "length": null,
        "material": null,
        "metadata": null,
        "mid_code": null,
        "origin_country": null,
        "profile_id": Any<String>,
        "status": "draft",
        "subtitle": null,
        "thumbnail": null,
        "title": "Awesome Metal Ball",
        "type_id": null,
        "updated_at": Any<Date>,
        "weight": null,
        "width": null,
      },
      "product_id": "test-product",
      "sku": null,
      "title": "Practical Granite Pizza",
      "upc": null,
      "updated_at": Any<Date>,
      "weight": null,
      "width": null,
    },
    "variant_id": "test-variant",
    "emails": Array [
      "test@testson.com"
    ]
  }
  ```
</details>

## Install the SendGrid Plugin

In the directory of your Medusa server run the following command to install the SendGrid plugin:

```bash npm2yarn
npm install medusa-plugin-sendgrid
```

Then, in your `.env` file add the API key you created earlier as well as the send from email:

```bash
SENDGRID_API_KEY=<API_KEY>
SENDGRID_FROM=<YOUR_SEND_FROM>
```

Make sure to replace the `<API_KEY>` with the SendGrid API key and the   `<SEND_FROM_EMAIL>` with the email you’re using in SendGrid as the single sender.

Also, you should add the ID of each template you create in `.env` as well. For example:

```bash
SENDGRID_ORDER_PLACED_ID=<ORDER_PLACED_TEMPLATE_ID>
```

Where `<ORDER_PLACED_TEMPLATE_ID` is the ID of your template for order placed emails.

Finally, in your `medusa-config.js` file, add the SendGrid plugin into the array of plugins:

```jsx
const plugins = [
  ...,
  {
    resolve: `medusa-plugin-sendgrid`,
    options: {
      api_key: process.env.SENDGRID_API_KEY,
      from: process.env.SENDGRID_FROM,
      order_placed_template: process.env.SENDGRID_ORDER_PLACED_ID,
      localization: {
        "de-DE": { // locale key
          order_placed_template: process.env.SENDGRID_ORDER_PLACED_ID_LOCALIZED,
        }
      }
    }
  }
];
```

The `api_key` and `from` options are required. Then, use the key of each template you create (from the [reference](#template-reference)) as the option name with the template ID as the value.

You can also optionally pass the option `localization` if you want to support different languages. `localization` accepts an object that has the country and language codes as keys. The value for each code should be an object of template keys and their IDs as values. Make sure to include the localized template IDs in `.env` as well.

## Test it Out

Run your server now:

```bash npm2yarn
npm run start
```

To test it out, perform an action that would trigger one of the emails being sent. For example, you can use your Medusa storefront to create an order. An email from your SendGrid account will be sent to the customer email.

:::tip

If you don’t have a storefront installed, check out our [Gatsby](../starters/gatsby-medusa-starter.md) or [Next.js](../starters/nextjs-medusa-starter.md) starters to create a storefront in minutes.

:::

You can also track analytics related to emails sent from the SendGrid dashboard.

![SendGrid Analytics](https://i.imgur.com/X01LigH.png)

## What’s Next 🚀

- Learn more about how [Notifications work in Medusa](../how-to/notification-api.md).
- Install the [Medusa admin](https://github.com/medusajs/admin#-setting-up-admin) for functionalities like Gift Cards creation, swaps, claims, order return requests, and more.