Commerce automation
This document guides you on how you can implement different forms of commerce automation within your Medusa project.
Overview
Commerce automation is essential for businesses that want to save costs, provide a better user experience, and avoid manual, repetitive tasks that can lead to human errors. Businesses can utilize it in different domains, including marketing, customer support, order management, and more.
Medusa provides the necessary architecture and resources to implement commerce automation related to order management, customer service, and more. It mainly utilizes an event bus that allows you to listen to specific event triggers and perform asynchronous actions.
This document gives a high-level overview of how you can implement different types of commerce automation.
Re-Stock Notifications
Customers may be interested in a product that is currently out of stock.
Medusa already provides a Re-stock notifications plugin. You can also implement this by creating custom entities, triggering custom events, and handling these events with a subscriber.
Learn how to install the Restock Notification plugin.
Learn how to create a custom entity in the Medusa backend.
Learn how to emit a custom event in the Medusa backend.
Learn how to create a subscriber that handles events.
Automated Customer Support
Customer support is essential to build a store's brand and customer loyalty. This can include integrating with third-party services or automating notifications sent to customers when changes happen related to their orders, returns, exchanges, and more.
You can use Medusa's Notification Service to handle notifications triggered by actions on customer orders or profiles.
For example, when an order's status is updated, the order.updated
event is triggered. You can create a Notification Service that handles this event by emailing the customer about the status update.
The Event reference includes an extensive list of events triggered by the Medusa core.
Medusa also provides official notification plugins that integrate with third-party services, such as SendGrid or TwilioSMS.
Check out available notification plugins.
Learn how to create a notification service.
Example: Sending an email for new notes
Automatic Data Synchronization
As your commerce store grows, you'll likely need to synchronize data across different systems. For example, you can synchronize data with an ERP system or a data warehouse.
You can implement automatic synchronization in Medusa using scheduled jobs. A scheduled job runs at a specified date and time interval in the background of your Medusa backend. Within the scheduled job, you can synchronize your internal or external data.
Learn how to create a scheduled job in Medusa.
Example: Synchronizing products with a third-party service
Order Management Automation
Using Medusa's architecture and commerce features, you can automate a large amount of order management functionalities.
Using the event bus service, you can handle events within an order workflow to automate actions. For example, when an order is placed, you can listen to the order.placed
event and automatically creates a fulfillment if predefined conditions are met.
Another example is automatically capturing payment when an order is fully shipped, and the order.shipment_created
is triggered.
Learn about the event architecture system in the Medusa backend.
Learn how to create a subscriber to listen to events.
Check out triggered events in Medusa and their expected payloads.
Automated RMA Flow
Businesses must optimize their Return Merchandise Authorization (RMA) flow to ensure a good customer experience and service. By automating the flow, customers can request to return their received items, and businesses can quickly support them.
Medusa's commerce features are geared towards automating RMA flows and ensuring a good customer experience.
For example, customers can create returns for their orders without direct involvement from the store operator. The store operator will then receive a notification regarding the return and handle it accordingly. The same applies to order exchanges.
Medusa also allows the store operator to edit orders, receive customer approval for the edits, and authorize additional payment if necessary, all within a seamless workflow.
Similar to the examples mentioned earlier, each action triggers events you can listen to and perform additional actions based on your use case.
Learn about the event architecture system in the Medusa backend.
Learn how to create a subscriber to listen to events.
Check out triggered events in Medusa and their expected payloads.
Learn about the Order Returns architecture and features.
Learn about the Order Swaps architecture and features.
Learn about the Order Edits architecture and features.
Customer Segmentation
Businesses use Customer Segmentation to organize customers into different groups and then apply different price rules to these groups. For example, you may group customers by their product preferences, the number of orders they've placed, or geographical location.
Based on your use case and the segmentation logic, you can use different Medusa automation development tools to detect a customer's segment. Medusa also provides a Customer Groups feature that allows you to segment customers, whether you do it manually or automatically.
For example, if you're grouping customers with over twenty orders, you can use a Subscriber that listens to the order.placed
event and checks the number of orders the customer has so far. Then, you can add that customer to the VIP group using Medusa's Customer Groups feature. Finally, you can utilize the Price Lists feature to provide different prices or discounts for customers in the VIP group.
Learn about the Customer Groups architecture and features.
Learn about events in Medusa and how to listen to events.
Learn about the Price Lists architecture and features.
Example: Add customer to VIP group
Marketing Automation
In your commerce store, you may utilize marketing strategies that encourage customers to make purchases.
For example, you may send a newsletter when new products are added to your store. In Medusa, this can be handled by listening to the product events, such as product.created
, using a Subscriber, then sending an email to subscribed customers with tools like SendGrid or Mailchimp.
You can alternatively have a Scheduled Job that checks if the number of new products has exceeded a set threshold, then send out the newsletter.
Learn about events in Medusa and how to listen to events.
Learn about scheduled jobs and how you can create one.
Check out triggered events in Medusa and their expected payloads.
Example: Sending a newsletter email after adding ten products
Automation Development Toolkit
The use cases mentioned in this guide exemplify what commerce automation you can perform or implement with Medusa. Medusa provides the necessary development tools and mechanisms to automate tasks and manual work.
Learn about events in Medusa and how to listen to events.
Learn about notification services and how to create one.
Learn about scheduled jobs and how you can create one.
Check out available notification plugins.