Automation · Orders and fulfillment
Create a Shopify order over WhatsApp for cash on delivery
An AI agent checks the exact Shopify variant and stock, confirms the details over WhatsApp and creates a cash-on-delivery order with payment pending.
How do I take a Shopify order over WhatsApp and leave it marked for cash on delivery?
A customer asks for a product over WhatsApp and a Met connected to Shopify searches the catalog, opens the exact variant to check size, color and available units, and confirms quantity, recipient, address and shipping cost. If the customer shares an email address, the Met looks up their record first and reuses the saved address or creates the customer when none exists. Only after repeating the summary and receiving approval does it create a real Shopify order: it appears under Orders, starts with payment pending and is tagged for cash on delivery. The tool checks stock again before writing and, when the variant is short, creates nothing and returns available alternatives. The scope stops there: it does not charge, create a shipping label, or deduct or reserve inventory.
What starts it
When the customer writes
It does not depend on a message-received automation. The Met assigned to WhatsApp answers when the customer asks about a product or says they want to buy, and keeps confirmation and order creation inside that same conversation.
Nothing to set up. The Met assigned to that channel picks up the conversation and runs the procedure inside it.
Who runs it
Store sales Met
This is the Met already answering the store's WhatsApp, with Shopify enabled. Its job is to turn one specific conversation into the correct order: the same variant, quantity and delivery details the customer just approved, with nobody retyping them in the admin.
Channels: WhatsApp
What you need connected
- Shopify Run stores and orders
5 steps · 7 tools
The procedure, step by step
Each step shows the tool that runs. They belong to the real connector: if one of them stopped existing, this page would not build.
- 1
Find the product the customer named
The search uses a catalog name, vendor or tag and returns lightweight matches with id, status and price range. The Met does not take the first approximate result: when two products match or one is still a draft, it shows the choices and asks the customer before opening details.
- 2
Check the variant and its units
Product detail returns a compact table per variant with its id, name, quantity and availability flag. That is the source for answering by size or color; total product inventory cannot prove that one specific variant is available. When it shows zero, the Met offers a different variant and does not continue with the sold-out one.
- 3
Reuse the customer or create them once
When the person shares an email address, the Met searches before writing. If a record exists, it opens the detail to recover the name and default address, then confirms them because an old address may no longer be valid. If none exists, it creates the customer from the email, name and phone the person just provided. Without email it can still create the order with a phone and address, but it does not invent a customer record.
- 4
Confirm the summary and create the real order
Before running the write, the Met repeats product, variant, quantity, recipient, address, shipping amount and that payment is due on delivery. With approval it creates the order from the catalog variant, with payment pending and shipping stored separately from the product. Shopify adds the cash-on-delivery tag. The same tool checks stock again, and when it is short it returns rejected for no stock without writing an order.
- 5
Read what Shopify saved before closing
Using the returned id, the Met opens the order and checks its visible number, lines, address, total, financial status and fulfillment status. The reply cites the Shopify order number and says clearly that payment remains pending. If the saved data does not match the summary, the Met does not edit it blindly and hands the case to a person.
Before you start
What you need ready
The Met solves none of these for you. If one is missing, the automation stops there.
-
A Shopify store with a custom app
Create a custom app in the Shopify admin and give Meteor the store URL and token. This flow needs to read products and customers, create customers, and read and create orders; the token is stored per workspace.
-
Active products with variants and inventory loaded
Size, color, price and units must already exist in Shopify. The Met reads them, it does not fill them in: a variant without an identifier or price cannot support a catalog order.
-
A shipping rule for cash on delivery
Define the cities you cover and the shipping amount in advance. The connector receives that amount and adds it as a shipping line, but it does not quote or validate carrier coverage.
-
WhatsApp connected with a Met assigned to the channel
The conversation runs on the workspace's WhatsApp line. The Met serving it must have the Shopify integration enabled and permission to create orders.
The limits
What this automation does NOT solve
Better said here than discovered halfway through the rollout.
-
It does not charge inside WhatsApp. The order starts with payment pending, and your operation collects the money on delivery outside this integration.
-
It does not quote freight, validate coverage, create a shipping label or request a pickup. The shipping amount is supplied as data and the carrier remains a separate system.
-
It does not deduct or reserve inventory when creating the order. It checks the variant before writing, but two simultaneous orders can compete for the same units and fulfillment remains the final control.
-
It does not issue refunds or change financial status later. It can read the order, but a payment correction or return is handled in Shopify by a person.
FAQ
Questions about this automation
It creates a real order and it appears under Orders. It is not a quote and has no payment link: it starts with payment pending and carries the cash-on-delivery tag.
The Met checks the variant while answering and the tool checks again just before creation. When units are short it writes no order and returns other variants with stock. This is not a reservation, so another simultaneous purchase can still take the last unit.
Not to create the order: Shopify accepts phone and address. Email is required to create a new customer record, so without it the Met skips that record and writes the contact details directly on the order.
The Met takes the amount your business already defined and stores it as a shipping line, not as a fake product. It therefore adds to the cash-on-delivery total. This recipe does not calculate that amount or confirm that an address is inside the coverage area.
Keep going
Other automations built on the same tools
Sales and quoting
Create a Shopify quote and share its payment link
How do I create a Shopify quote over WhatsApp and share its payment link?
- Starts:
- when the customer writes
- Steps:
- 5, with 5 real tools
- Needs:
- Shopify
Content and publishing
Publish a Shopify product listing in Webflow with human approval
How do I publish a Shopify product in Webflow without duplicating it or copying data I cannot keep current?
Social
- Starts:
- when someone asks for it
- Steps:
- 6, with 11 real tools
- Needs:
- Shopify · Webflow
Customer service and scheduling
Answer a Shopify order-status question over WhatsApp
How do I answer where a Shopify order is without exposing another customer's order?
Customer service
- Starts:
- when the customer writes
- Steps:
- 6, with 6 real tools
- Needs:
- Shopify · Meteor CRM
Orders and fulfillment
Accept, prepare and close Rappi orders without living on the tablet
How do I stop losing Rappi orders because nobody accepted them in time?
- Starts:
- when the outside system calls
- Steps:
- 6, with 10 real tools
- Needs:
- Rappi
Want this automation running on your own data?
We will show it to you with your accounts connected, not with a canned demo.