Mailgun to Shopify Plus Integration | MESA
Connect Mailgun to Shopify Plus and automate your tasks
Why integrate Mailgun with Shopify Plus
The Mailgun to Shopify Plus integration helps you sync data, automate manual tasks, and keep your stack aligned — without writing code.
Send transactional emails from Shopify order events automatically
When an order is placed, updated, or fulfilled in Shopify, MESA triggers the right Mailgun transactional email with the relevant details already populated. Your customers get accurate, timely messages without anyone manually initiating them or maintaining a separate send schedule.
Trigger Mailgun emails from any Shopify customer milestone
When a customer hits a threshold in Shopify — a first purchase, a loyalty tier, a win-back window — MESA sends the signal to Mailgun and fires the right email at the right moment. Your transactional and lifecycle messaging runs on the full range of what happens in your store, not just native Shopify triggers.
Send fulfillment and shipping notifications the moment status changes
When an order ships, is delayed, or is delivered in Shopify, MESA passes the event to Mailgun and fires the corresponding email at the right moment. Your post-purchase communication stays accurate and timely without custom development connecting the two platforms.
Automate complex B2B workflows across your entire stack
When a wholesale or B2B order comes in through Shopify Plus, MESA routes it through the right process — custom pricing, approval steps, fulfillment rules — and syncs the details to your connected tools. Your enterprise workflows run without manual coordination between systems.
Manage multi-store operations from a single automation layer
When an event happens in one Shopify Plus store — an inventory change, a customer update, a fulfillment status — MESA propagates the right action across your other stores and connected platforms. Your expansion stores stay consistent without a separate ops process for each one.
Keep your enterprise tech stack in sync with store activity
When orders, customers, and products change in Shopify Plus, MESA pushes the relevant data to your ERP, CRM, and warehouse tools in real time. Your enterprise systems stay current without scheduled exports or manual reconciliation.
Build any Mailgun and Shopify Plus automation
MESA helps you connect apps to automate repetitive tasks. A trigger is an event that starts a workflow, and actions are the steps that occur when it's running.
B2B Order Created
Starts when a B2B order is created.
- App ID
- Billing Address
- Browser Ip
- Buyer Accepts Marketing
- Cancel Reason
- Cancelled At
- Client Details
- Closed At
- Company
- Confirmation Number
- Created At
- Currency
- Current Total Additional Fees Set
- Current Total Discounts
- Current Total Discounts Set
- Current Total Duties Set
- Current Total Price
- Current Total Price Set
- Current Subtotal Price
- Current Subtotal Price Set
- Current Total Tax
- Current Total Tax Set
- Customer
- Customer Locale
- Discount Applications
- Discount Codes
- Estimated Taxes
- Financial Status
- Fulfillments
- Fulfillment Status
- ID
- Inventory Behaviour
- Landing Site
- Line Items
- Merchant Of Record App ID
- Name
- Note
- Note Attributes
- Number
- Order Number
- Original Total Additional Fees Set
- Original Total Duties Set
- Payment Terms
- Payment Gateway Names
- Phone
- Po Number
- Presentment Currency
- Processed At
- Referring Site
- Refunds
- Shipping Address
- Shipping Lines
- Source Name
- Source Identifier
- Source URL
- Subtotal Price
- Subtotal Price Set
- Tags
- Tax Lines
- Taxes Included
- Test
- Total Discounts
- Total Discounts Set
- Total Line Items Price
- Total Line Items Price Set
- Total Outstanding
- Total Price
- Total Price Set
- Total Shipping Price Set
- Total Tax
- Total Tax Set
- Total Tip Received
- Total Weight
- Updated At
- User ID
- Order Status URL
B2B Order Updated
Starts when a B2B order is modified.
- App ID
- Billing Address
- Browser Ip
- Buyer Accepts Marketing
- Cancel Reason
- Cancelled At
- Client Details
- Closed At
- Company
- Confirmation Number
- Created At
- Currency
- Current Total Additional Fees Set
- Current Total Discounts
- Current Total Discounts Set
- Current Total Duties Set
- Current Total Price
- Current Total Price Set
- Current Subtotal Price
- Current Subtotal Price Set
- Current Total Tax
- Current Total Tax Set
- Customer
- Customer Locale
- Discount Applications
- Discount Codes
- Estimated Taxes
- Financial Status
- Fulfillments
- Fulfillment Status
- ID
- Inventory Behaviour
- Landing Site
- Line Items
- Merchant Of Record App ID
- Name
- Note
- Note Attributes
- Number
- Order Number
- Original Total Additional Fees Set
- Original Total Duties Set
- Payment Terms
- Payment Gateway Names
- Phone
- Po Number
- Presentment Currency
- Processed At
- Referring Site
- Refunds
- Shipping Address
- Shipping Lines
- Source Name
- Source Identifier
- Source URL
- Subtotal Price
- Subtotal Price Set
- Tags
- Tax Lines
- Taxes Included
- Test
- Total Discounts
- Total Discounts Set
- Total Line Items Price
- Total Line Items Price Set
- Total Outstanding
- Total Price
- Total Price Set
- Total Shipping Price Set
- Total Tax
- Total Tax Set
- Total Tip Received
- Total Weight
- Updated At
- User ID
- Order Status URL
Company Contact Created
Starts when a company contact is created.
- Customer Admin Graphql Api ID
- Title
- Locale
- Created At
- Updated At
- Admin Graphql Api ID
- Company
Company Contact Deleted
Starts when a company contact is deleted.
- Customer Admin Graphql Api ID
- Title
- Locale
- Created At
- Updated At
- Admin Graphql Api ID
- Company
Company Contact Roles Assigned
Starts when a company contact role is assigned.
- Customer Admin Graphql Api ID
- Title
- Locale
- Created At
- Updated At
- Admin Graphql Api ID
- Company
Company Contact Roles Revoked
Starts when a company contact role is revoked.
- Customer Admin Graphql Api ID
- Title
- Locale
- Created At
- Updated At
- Admin Graphql Api ID
- Company
Company Contact Updated
Starts when a company contact is updated.
- Customer Admin Graphql Api ID
- Title
- Locale
- Created At
- Updated At
- Admin Graphql Api ID
- Company
Company Created
Starts when a company is created.
- Name
- Note
- External ID
- Main Contact Admin Graphql Api ID
- Created At
- Updated At
- Customer Since
- Admin Graphql Api ID
Company Deleted
Starts when a company is deleted.
- Name
- Note
- External ID
- Main Contact Admin Graphql Api ID
- Created At
- Updated At
- Customer Since
- Admin Graphql Api ID
Company Location Created
Starts when a company location is created.
- Name
- External ID
- Phone
- Locale
- Created At
- Updated At
- Note
- Buyer Experience Configuration
- Admin Graphql Api ID
- Tax Exemptions
- Company
- Billing Address
- Shipping Address
- Tax Registration
Company Location Deleted
Starts when a company location is deleted.
- Name
- External ID
- Phone
- Locale
- Created At
- Updated At
- Note
- Buyer Experience Configuration
- Admin Graphql Api ID
- Tax Exemptions
- Company
- Billing Address
- Shipping Address
- Tax Registration
Company Location Updated
Starts when a company location is updated.
- Name
- External ID
- Phone
- Locale
- Created At
- Updated At
- Note
- Buyer Experience Configuration
- Admin Graphql Api ID
- Tax Exemptions
- Company
- Billing Address
- Shipping Address
- Tax Registration
Company Updated
Starts when a company is updated.
- Name
- Note
- External ID
- Main Contact Admin Graphql Api ID
- Created At
- Updated At
- Customer Since
- Admin Graphql Api ID
Clicked Created
Starts when a recipient clicks on a link in your message.
- Tags
- Timestamp
- Storage
- Recipient-domain
- Event
- Campaigns
- User-variables
- Flags
- Log-level
- Envelope
- Message
- Recipient
- ID
- Delivery-status
Complained Created
Starts when a recipient complains that a message is spam.
- Tags
- Timestamp
- Storage
- Recipient-domain
- Event
- Campaigns
- User-variables
- Flags
- Log-level
- Envelope
- Message
- Recipient
- ID
- Delivery-status
Delivered Created
Starts when a message is delivered.
- Tags
- Timestamp
- Storage
- Recipient-domain
- Event
- Campaigns
- User-variables
- Flags
- Log-level
- Envelope
- Message
- Recipient
- ID
- Delivery-status
Opened Created
Starts when a recipient opens an email.
- Tags
- Timestamp
- Storage
- Recipient-domain
- Event
- Campaigns
- User-variables
- Flags
- Log-level
- Envelope
- Message
- Recipient
- ID
- Delivery-status
Permanent Fail
Starts when Mialgun stops attempting to deliver messages and drops them.
- Tags
- Timestamp
- Storage
- Recipient-domain
- Event
- Campaigns
- User-variables
- Flags
- Log-level
- Envelope
- Message
- Recipient
- ID
- Delivery-status
Temporary Fail
Starts when Mailgun gets a soft bounce.
- Tags
- Timestamp
- Storage
- Recipient-domain
- Event
- Campaigns
- User-variables
- Flags
- Log-level
- Envelope
- Message
- Recipient
- ID
- Delivery-status
Unsubscribed Created
Starts when a recipient requests to be unsubscribed from your mailings.
Assign Role to Company Contact
Assign a role to a company contact.
- Contacts Count
- Created At
- Customer Since
- Default Cursor
- Default Role
- External ID
- Has Timeline Comment
- ID
- Lifetime Duration
- Locations Count
- Name
- Note
- Orders Count
- Total Spent
- Updated At
Assign Roles to Company Contact
Assign roles to a company contact.
- Contacts Count
- Created At
- Customer Since
- Default Cursor
- Default Role
- External ID
- Has Timeline Comment
- ID
- Lifetime Duration
- Locations Count
- Name
- Note
- Orders Count
- Total Spent
- Updated At
Assign Roles to Company Location
Assign roles to a company location.
- Contacts Count
- Created At
- Customer Since
- Default Cursor
- Default Role
- External ID
- Has Timeline Comment
- ID
- Lifetime Duration
- Locations Count
- Name
- Note
- Orders Count
- Total Spent
- Updated At
Create B2B Draft Order
Create a B2B draft order.
- Applied Discount
- Billing Address
- Custom Attributes
- Line Items
- Note
- Phone
- Po Number
- Presentment Currency Code
- Reserve Inventory Until
- Shipping Address
- Shipping Line
- Source Name
- Tags
- Tax Exempt
- Use Customer Default Address
- Visible To Customer
Create B2B Order
Create a B2B order.
- Billing Address
- Buyer Accepts Marketing
- Cancel Reason
- Company
- Currency
- Customer
- Discount Codes
- Fulfillments
- Fulfillment Status
- Inventory Behaviour
- Line Items
- Merchant Of Record App ID
- Name
- Note
- Note Attributes
- Number
- Phone
- Po Number
- Presentment Currency
- Processed At
- Referring Site
- Shipping Address
- Shipping Lines
- Source Name
- Source Identifier
- Source URL
- Subtotal Price
- Subtotal Price Set
- Tags
- Tax Lines
- Taxes Included
- Total Discounts
- Total Discounts Set
- Total Line Items Price
- Total Line Items Price Set
- Total Price Set
- Total Shipping Price Set
- Total Tax
- Total Tax Set
- Total Weight
- User ID
- Order Status URL
Create Company
Create a company. Cannot attach an existing customer to a new company through this action.
- Company
- Company Contact
- Company Location
Create Company Contact
Create a company contact on an existing company.
- Company ID
- First Name
- Last Name
- Locale
- Phone
- Title
Create Company Location
Create a company location on an existing company.
- Company ID
- Billing Address
- Billing Same As Shipping
- Buyer Experience Configuration
- External ID
- Locale
- Name
- Note
- Phone
- Shipping Address
- Tax Exemptions
- Tax Registration ID
Delete Company
Remove a company.
- ID
Delete Company Contact
Remove a company's contact.
- ID
Delete Company Location
Remove a company location.
- ID
Get List of Companies
Obtain a list of companies. This action will return 100 results by default.
- Name
- ID
Get List of Company Locations
Obtain a list of company locations. This action will return 100 results by default.
- Name
- ID
Retrieve Company
Grab all details about a company.
- Count
Retrieve Company Contact
Grab all details about company contact.
- ID
- Name
Retrieve Company Contact Role
Grab all details about a company contact role.
- ID
- Name
- Note
Retrieve Company Location
Grab all details about a company's location.
- Address 1
- Address 2
- City
- Company Name
- Country
- Country Code
- Created At
- Formatted Address
- Formatted Area
- ID
- Phone
- Province
- Recipient
- Updated At
- Zip
Retrieve Variant
Grab all details about specific Shopify variants from an existing product.
Update Company
Modify a company's information.
- Company ID
- Customer Since
- External ID
- Name
- Note
Update Company Contact
Modify the company's contact information.
- Company Contact ID
- First Name
- Last Name
- Locale
- Phone
- Title
Update Company Location
Modify a company location.
- Company Location ID
- Buyer Experience Configuration
- External ID
- Locale
- Name
- Note
- Phone
Add a Member to Mailing List
Add one member to a mailing list.
Add Bounce
Add a bounce record to a domain's bounce list.
Add Complaint
Adds an address to the complaints list.
- Message
Add Multiple Members to a Mailing List
Add multiple members to a mailing list.
Add Unsubscribe
Add an address to the unsubscribed list.
- Message
Assign IP to a Domain
Allocate a dedicated IP to a specific domain. Only dedicated IPs can be assigned to a domain.
- Message
Create Mailing List
Create a mailing list.
- Address
- Name
- Description
- Access Level
Create Route
Create a new route.
Create SMTP Credentials
Create a new set of SMTP credentials for a specific domain.
- Login
- Password
Create Template
Store a new template.
- Name
- Description
- Template
- Tag
- Engine
- Comment
Create Webhook
Create a new webhook. When adding a clicked or opened webhook, ensure that you also have tracking enabled.
Delete an Unsubscribed Record
Removes an address from the unsubscribed list.
- Message
Delete Bounce
Remove a bounce from a bounce list.
- Message
Delete Bounce List
Remove a bounce list from a domain.
- Message
Delete Complaint
Remove a specific spam complaint.
- Message
Delete Domain
Remove a domain from your account.
Delete Mailing List
Remove a mailing list.
Delete Member from Mailing List
Remove a member from a specific mailing list.
Delete Route
Remove a route.
Delete SMTP Credentials
Remove SMTP credentials.
Delete Stored Messages
Remove all stored messages.
Delete Tag
Remove a tag from a specific domain. The tag's statistics are not deleted.
Delete Webhook
Remove a webhook.
Get List of Bounces
Obtain a list of bounces for a specific domain.
Get List of Complaints
Obtain a list of complaints for a specific domain.
- Address
- Created At
Get List of Domain Countries
Obtain a list of countries of origin for a specific domain for different event types.
Get List of Domain Devices
Obtain a list of devices for a specific domain that have triggered event types.
Get List of Domain Providers
Obtain a list of email providers for a specific domain and for different event types.
Get List of Domain Stats
Obtain a list of total stats for a specific domain.
- End
- Resolution
- Start
- Stats
Get List of Domain Tags
Obtain a list of tags for a specific domain.
Get List of Domains
Obtains a list of domains under your account.
- Created At
- ID
- Is Disabled
- Name
- Require Tls
- Skip Verification
- Smtp Login
- Spam Action
- State
- Type
- Web Prefix
- Web Scheme
- Wildcard
Get List of Event Statistics
Obtain a list of event statistics for a specific domain.
Get List of Events
Obtain a list of events for a specific domain.
Get List of IPs for a Domain
Obtain a list of IPs currently assigned to a specific domain.
- Items
Get List of IPs for an Account
Obtain a list of IPs assigned to your account.
- 0
Get List of Mailing List Members
Obtain a list of members in a specific mailing list.
Get List of Mailing Lists
Obtain a list of mailing lists under your account.
- Access Level
- Address
- Created At
- Description
- Members Count
- Name
Get List of Routes
Obtain a list of routes.
- Total Count
- Items
Get List of Tag Stats
Obtain a list of statistics for a specific tag.
Get List of Templates
Obtain a list of stored templates for a specific domain.
- Created At
- Description
- Name
Get List of Unsubscribes
Obtain a list of recipients who have unsubscribed from your emails.
- Message
Get List of Webhooks
Obtain a list of webhooks.
Parse Email Address List
Parses a delimiter-separated list of email addresses into two lists: parsed addresses and unparsable portions.
- 0
Parse Email Address List (Private)
Parses a delimiter-separated list of email addresses into two lists: parsed addresses and unparsable portions.
Retrieve an Unsubscribed Record
Grab all details about a single unsubscribe record.
- Message
Retrieve Bounce
Grab all details about a specific bounce event by a specific email address.
- Address
- Code
- Error
- Created At
Retrieve Complaint
Grab all details about a single spam complaint by a specific email address.
- Address
- Created At
Retrieve Domain
Grab all details about a domain, including credentials and DNS records.
Retrieve Domain Connection Settings
Grab all details about the delivery connection settings for a specific domain.
Retrieve Domain Tag
Grab all details about a tag from a specific domain.
Retrieve Domain Tracking Settings
Grab all details about the tracking settings for a specific domain.
Retrieve IP
Grabs all details about the specific IP.
- Ip
- Dedicated
- Rdns
Retrieve Mailing List
Grab all details about a single mailing list by a specific address.
Retrieve Mailing List Member
Grab all details about a mailing list member.
Retrieve Route
Grab all details about a route.
- Description
- Created At
- Actions
- Priority
- Expression
- ID
Retrieve SMTP Credentials for a Domain
Grab all details about the domain's SMTP credentials.
Retrieve Stored Message
Grab all details about a stored message.
Retrieve Template
Grab all details about the specific template, including metadata information.
- Created At
- Description
- Name
Send Message
Send a message.
- Message
- ID
Unassign IP from a Domain
Disconnect an IP from a specific domain.
- Message
Update Click Domain Tracking Settings
Modify click tracking settings for a specific domain.
- Active
Update DKIM Authority
Modify DKIM authority for a specific domain.
- Self
Update Domain Delivery Connection Settings
Modify specified delivery connection settings for a specific domain.
- Require Tls
- Skip Verification
Update Mailing List
Modify a mailing list such as address, description or name.
- Name
- Description
- Access Level
Update Mailing List Member
Modify a mailing list member.
- Name
- Vars
- Subscribed
Update Open Domain Tracking Settings
Modify open tracking settings for a specific domain.
- Active
Update Route
Modify a route.
Update SMTP Credentials
Modify an existing SMTP credentials. Currently, only the password can be changed.
- Password
Update Tag
Modify a tag for a specific domain.
- Domain
- Description
Update Unsubscribe Domain Tracking Settings
Modify unsubscribe tracking settings for a specific domain.
- Active
- HTML Footer
- Text Footer
Update Webhook
Modify an existing webhook.
Validate Email Address
Verifies an email address based off defined checks.
- Address
- Did You Mean
- Is Disposable Address
- Is Role Address
- Is Valid
- Mailbox Verification
- Parts
- Reason
Validate Email Addresses
Verify email addresses based off defined checks.
Verify Domain
Validates a domain. If the domain is successfully validated, you should see the following in a workflow's Logs: Domain DNS records have been updated.