Handle orders differently by payment method
Each new WooCommerce order is routed by its payment method: bank transfer buyers get payment instructions by email, cash on delivery orders are flagged in Slack, and Stripe card orders get a confirmation email.
WooCommerce
Slack5 steps Setup ~8 min Used on 2.8k sites Store Ops Free to import

What this workflow does
Different payment methods leave an order in different states. A bank transfer order still has to be paid, a cash on delivery order may need a call before it ships, and a card order is ready to pack. This workflow sends each order down the path that fits how the customer chose to pay.
The WooCommerce trigger begins each run as soon as a new order exists in your store. A Router reads the order's payment method ID. The Bank transfer route runs when it contains bacs, WooCommerce's ID for direct bank transfer, and emails the billing address asking the customer to complete the transfer for their order number.
The Cash on delivery route runs when the ID contains cod and posts to a Slack channel asking the team to confirm the order before dispatch. The Card (Stripe) route runs when the ID contains stripe and emails the customer that payment was received.
The Router runs every route that matches. These three IDs don't contain one another, so an order takes one route at most. Orders paid any other way, such as PayPal or cheque, match nothing and the run ends at the Router. Check your gateways' IDs in a test order, because some Stripe add-ons use IDs that start with stripe for other methods too, and those would get the payment received email.
Bank transfer instructions without a manual email
A furniture shop that accepts direct bank transfer sends the reminder to pay as soon as the order is placed, instead of someone writing it from the orders screen.
Calling cash on delivery buyers before shipping
A store that offers cash on delivery gets each COD order number in Slack, so a team member can confirm the address and phone before the courier is booked.
Plain confirmation for card orders
Card buyers paying through Stripe get a short order confirmed email from your own address, separate from WooCommerce's standard emails.
How this workflow runs
What happens at each step once the workflow is on, and what you need before you import it.
WooCommerce New Order CreatedStarts a run whenever WooCommerce creates a new order. The order's payment method ID, billing email and order number are passed to the Router and the three action steps.
Router 3 pathsChecks the payment method ID against three routes: Bank transfer when it contains bacs, Cash on delivery for cod and Card (Stripe) for stripe. Upper and lower case in the ID make no difference, and an order whose method contains none of the three takes no route.
- Email Send Email
On the Bank transfer route, emails the billing address with the subject Payment instructions, asking the customer to complete the transfer for their order number. Add your bank details to the email body before going live.
Slack Send Channel MessageOn the Cash on delivery route, posts the order number to a Slack channel with a note to confirm it before dispatch. Pick the channel after import; for a private one, use Slack's Send Private Channel Message action instead.
- Email Send Email
On the Card (Stripe) route, emails the billing address with the subject Order confirmed, saying payment was received for the order number. Edit the wording if your card orders can reach this step before the charge settles.
What you need
- FlowMatticCore
- WooCommerce PluginPlugin
- Slack AccountAccount
After importing, map your own data. To keep the template universal, not every step is pre-filled. Open each step in the builder and connect your accounts and fields (channels, lists, sheets, recipients) before you switch the workflow on.
Make it yours
Changes worth making after you import it.
- Put your account name, bank, account number and a payment reference such as the order number into the bank transfer email, since the template body only asks the customer to complete the transfer.
- Add a fourth route for another gateway, such as PayPal, with a condition on its own payment method ID and its own email or Slack step. Choose an ID that none of the other routes' text appears in.
- Map the billing phone and order total into the Slack message on the cash on delivery route, so whoever confirms the order can call without opening WooCommerce.
Questions about this workflow
Where do the bacs, cod and stripe values come from?
They are the payment method IDs that WooCommerce's direct bank transfer and cash on delivery methods use, and that Stripe gateways usually start with. Place a test order with each method and check Task History to see the exact ID your store sends.
What happens to WooCommerce orders paid with PayPal?
None of the three conditions matches a PayPal ID, so the run stops at the Router and nothing is sent. Add a route for it if those orders need their own message.
Will customers stop getting WooCommerce's standard emails on these routes?
No. These emails come from FlowMattic's Email step, through WordPress mail or your SMTP account, and WooCommerce still sends its own notifications unless you turn them off in WooCommerce.
Can a cash on delivery order also get the Stripe email?
Only if its payment method ID contained both cod and stripe, because the Router runs every route that matches. WooCommerce's cash on delivery ID is cod, so in a normal store it takes only the Slack route.
More E-commerce Operations workflows
Other ready-to-import templates from the same category.
Import this workflow into your WordPress site
Download the JSON, import it from the Workflows screen and connect your accounts. Every run stays on your server, with no per-task fees.
30-day money-back guarantee Unlimited workflows and runs Self-hosted
