Skip to content

Automation · Sales and quoting

Create a Shopify quote and share its payment link

An AI agent checks the Shopify variant, confirms the quote over WhatsApp and shares checkout without retrying blindly after an ambiguous response.

How do I create a Shopify quote over WhatsApp and share its payment link?

A customer picks a product over WhatsApp and a Met connected to Shopify searches for it, opens the exact variant, and takes its id, SKU, price and observed units from that response. With an email address it can associate an existing customer, but it does not create one. It then sets a random, PII-free UUID v4 as a technical reference, shows items, quantities, contact, address and predefined shipping when applicable, warns that the final total appears in checkout, and ends the turn. Only after the customer approves in a new message does it create the draft with `confirmar: true`. Shopify returns the `invoiceUrl`, which the Met shares verbatim. If the write is ambiguous, it searches the reference and reuses one exact match; it never creates again blindly. This is a quote with checkout, not the real payment-pending order created by the cash-on-delivery automation.

What starts it

When the customer writes

The flow begins when someone asks about a product or requests a quote in the conversation. It does not use a message-received trigger: the Met assigned to WhatsApp answers, and the write happens only after explicit approval in a new message.

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 serving the channel and able to keep one commercial intent together from variant selection to the Shopify link. Approval stays in the conversation, and the data sent to the draft comes from what the customer just reviewed instead of later manual entry.

Channels: WhatsApp

What you need connected

5 steps · 5 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. 1

    Find the product without taking the first approximate match

    The Met searches by name, vendor or tag and reviews each result with its id, status and price range. If more than one product might fit or the item is not active, it shows the choices and asks the customer. A product range does not replace the price of the variant entering the quote.

  2. 2

    Open the exact variant being quoted

    Product detail returns variants with id, title, SKU, price and inventory, plus a compact availability table. The Met uses the exact size or color row, never total product inventory. If the variant is missing from the response or shows zero, it stops and asks for another option; it does not invent an id or promise units.

  3. 3

    Associate only a customer that already exists

    When the person shares an email address, the Met searches before preparing the draft. One match supplies a `customerId`; no match means the email or phone can go directly on the quote. If several records appear, it asks for clarification. This flow never calls the customer-create tool and causes no second silent write.

  4. 4

    Reserve a reference and request final approval

    The Met generates `referenceTag` as a random, opaque UUID v4. It never includes or derives names, emails, phone numbers, identity documents or addresses. It then searches `tag:meteor_ref_<referenceTag>` before writing. With no match it shows variants and SKUs, quantities, email or associated customer, address and a final shipping charge if operations already defined one. It separates observed subtotal from other charges, explains that Shopify will show the final total with applicable taxes, allowed discounts and shipping, and that the draft does not reserve stock. It then ends the turn without creating anything.

  5. 5

    Create the draft and share the exact checkout

    Only when the customer says yes in a new message does the Met call `shopify_create_draft_order` with `confirmar: true`, the same UUID v4 `referenceTag` and `lineItems: [{variantId, quantity}]`. An address is sent only after confirmation, and `shippingLine: {title, amount, currency}` carries a final charge already defined by the business, never a rate calculated by the connector. The response includes id, status, current calculation and `invoiceUrl`; the Met quotes that link verbatim. After a timeout it searches the tag: one match with the same fingerprint is reused, while zero or several are escalated without repeating creation.

Before you start

What you need ready

The Met solves none of these for you. If one is missing, the automation stops there.

The limits

What this automation does NOT solve

Better said here than discovered halfway through the rollout.

FAQ

Questions about this automation

This automation creates a draft or quote and shares checkout so the customer can pay in Shopify. The cash-on-delivery automation creates a real order from the start, with payment pending and no checkout link. They are different writes, not two names for the same one.

It is not presented that way. Before creation they see products, quantities, observed prices and any final shipping charge operations already defined. Shopify calculates the draft on creation, and checkout shows the final amount under the applicable rules.

The draft reserves no units. Shopify can report that inventory is unavailable and block the purchase when the customer opens or completes checkout. The Met does not promise held stock or force the sale of a sold-out variant.

No. It returns the `invoiceUrl` to share verbatim over WhatsApp. It does not call the invoice send mutation, send email, or create a new customer record.

Each intent has a random UUID v4 `referenceTag` that neither contains nor derives personal data, and the handler also stores a payload fingerprint. It searches the reference before writing and again after an ambiguous response. Only one match with the same fingerprint is reused; with none or several it does not repeat and asks for human review.

Keep going

Other automations built on the same tools

Want this automation running on your own data?

We will show it to you with your accounts connected, not with a canned demo.