Send Products (WhatsApp catalog)
Send WhatsApp product cards from the number's own Commerce Manager catalog — one product, a list of up to 30, swipeable cards, or the whole catalog — so the customer can add to cart from inside the chat.
Getting here
Automate → Workflows, open a workflow, click + on the canvas, then pick Send Products (WhatsApp catalog) under Add Steps.
Before you start
- An owner, admin or agent can add this step and save the workflow. Publishing that workflow — the thing that makes it run on live conversations — is an owner or admin action.
- Building and running workflows depends on your plan; see pricing.
- The number needs a product catalog connected in Meta Commerce Manager. With none connected there is nothing for catalogId left blank to resolve to, and the send fails.
- WhatsApp only — the step has nothing to send on Messenger, Instagram or any other channel.
Set up
- Open the workflow and click + where the product message belongs.
- Pick Send Products (WhatsApp catalog).
- Under What to send, choose a list of products (up to 30), swipeable cards (2–10), one product, or the whole catalog.
- Write the message body. For a list, add an optional header; a header and footer are also available outside carousel mode.
- List the Content ID of each product to include, one per line — the SKU set in Commerce Manager, not Meta's internal product id. Leave this empty only for the whole-catalog mode.
- Leave Catalog id blank to use the number's own catalog, or paste a specific catalog id.
- Save the step, then publish the workflow. A saved but unpublished workflow sends nothing.
Fields
- What to send
- A list of products (up to 30), Swipeable product cards (2–10), One product, or The whole catalog.
- Default: A list of products
- Header
- Shown above the product list. Not offered in carousel mode.
- Limits: Up to 60 characters.
- Message text
- The body of the message, sent alongside the product cards. Interpolated.
- Limits: Up to 1024 characters.
- Product ids
- One Content ID (your Commerce Manager SKU) per line — not Meta's internal product id.
- Limits: Empty for the whole-catalog mode (an optional single id there sets the card's thumbnail); required otherwise, 2–10 lines for the carousel.
- Footer
- Shown below the product list.
- Default: empty
- Limits: Not offered in carousel mode.
- Catalog id
- Which Commerce Manager catalog to read the products from.
- Default: blank — the number's own connected catalog, resolved at send time
How it works
- The step shares its delivery, receipts and audit row with Send a Message: only the content is a WhatsApp product message instead of plain text, so the same 24-hour session-window check and the same message-row bookkeeping apply.
- A blank Catalog id is resolved to the number's own catalog from its WABA at send time — the step does not need the id typed in for the common case.
- The message body (and the header, if set) is interpolated against the run's variables before it is sent, the same as Send a Message's text.
- The customer can add items to cart from the product cards and send the cart back in the chat; that arrives on the thread as an ordinary inbound message, not as a distinct order event — nothing in this step creates an order on its own.
When it fails
- Outside the WhatsApp session window: the step is refused before it reaches WhatsApp, with the run log reading Messaging window closed — free-form send blocked. Use a send_template step (approved WhatsApp / utility template) instead.
- No catalog connected to the number (and no Catalog id typed on the step): for the A list of products, One product and Swipeable product cards modes, Inchat refuses the send before it reaches Meta, with its own message — No product catalog is connected to this WhatsApp number — link one under Settings › Catalog, or set the catalog id on the step. The whole-catalog mode skips this lookup entirely — it never needs a catalog id — so with no catalog actually connected there, whatever happens next is Meta's rejection to make, not Inchat's.
- A wrong or unlisted Content ID: the step does not check the id against the catalog itself before sending, so this one reaches Meta and fails with WhatsApp's own rejection reason instead.
- A failed send does not end the run. The step is recorded failed and the flow moves on to the next step, exactly as Send a Message does — there is no way to author a different path for this step's own failure (see Limits).
- You read the reason in the workflow's Activity tab: pick the run under Execution log, and the failed step carries its own line of text.
Limits
- There is no failure-branch option for this step — the field the builder uses to run a different path on a failed send (
onFailure) does not exist on Send Products, unlike Send a Message, Send WhatsApp Template and Send a File. A failed send here can only fall through to whatever comes next. - It does not create an order, a deal or any record from the cart the customer sends back. That cart arrives as a plain inbound message on the thread; turning it into an order is a separate step or a person reading the chat.
- It cannot fan out to other channels or track links the way Send a Message can — those options are not offered on this step.
- WhatsApp only. The step has no Messenger, Instagram or other-channel equivalent, and a workflow reaching this step on a non-WhatsApp conversation has no channel to send it from.
Use cases
- After Ask a Question narrows down what the customer wants, send a filtered list of 2–3 matching products instead of the whole catalog.
FAQ and troubleshooting
- The customer picked products and sent them back — did that create an order?
- No. Their reply arrives on the thread as an ordinary message; nothing in this step reads it or writes an order. Add a step after this one, or have an agent or the AI read the reply, if the cart should turn into a recorded order.
- Can I branch the flow when the product send fails?
- Not from this step — it has no failure-branch field to author one, and no Condition field reports whether a previous step sent or failed. The only way to react to a failure here is to check the workflow's Activity tab by hand.
- I left Catalog id blank and nothing sends.
- A blank id means "the number's own catalog," resolved automatically — it is not the reason for a failure. Check instead, under Settings › Catalog, that a catalog is actually connected to this number (Inchat refuses the send itself, with its own message pointing there, for every mode except the whole-catalog one — that mode skips the lookup and leaves any rejection to Meta), and that the Content IDs you listed exist in the catalog in Commerce Manager.
Related
- Send a Message — Send free-form text — with several attachments if you need them, on the customer's own channel or a named one — inside the messaging window that channel currently has open.
- Send WhatsApp Template — Reach a WhatsApp customer with an approved Meta template regardless of whether the messaging window is open, checked for approval and marketing consent before anything is sent.
- Condition — Split the run into up to twelve lanes plus a None lane, checked top to bottom — the first lane whose conditions all pass wins, and Condition tests one field against one value at a time.
- Workflows: how a flow runs — A workflow is one trigger, optional conditions and an ordered list of steps; only a published workflow runs, and this article explains how a run starts, forks, pauses, fails and stops.
Reading this with an AI assistant? Plain Markdown version.