Agent setup guide
Post-Purchase Review & Cross-Sell
14 days after a Shopify order, opted-in customers get a review request with one related product from your catalog, through your Klaviyo flow.
What it does
14 days after a Shopify order, opted-in customers get a review request with one related product from your catalog, through your Klaviyo flow.
- For each new Shopify order, waits 14 days (change it in the Wait step), then reads the order again.
- Checks in code that the order is fulfilled and paid, the email is valid and the customer accepted email marketing at checkout; otherwise nothing is sent.
- AI picks one related product from your own catalog (never something already in the order or a product you exclude) and writes a short personal note.
- The note and product wait for your approval, unless you switch review off; code checks them for placeholders before sending.
- Records a “Review request ready” event in Klaviyo with the note, your review link and the product link; your Klaviyo flow sends the email, once per order.
What it needs
- A paid plan (agents run live on paid plans).
- An AI provider key (Settings → AI Providers).
- Shopify and Klaviyo, connected in Settings → Integrations.
- A Klaviyo flow triggered by the metric “Review request ready”, and a page where customers leave reviews.
What it doesn't do
- Shopify only: WooCommerce orders aren't covered by this agent.
- It can't see delivery dates: it waits a fixed number of days after the order and checks that it's fulfilled.
- It doesn't write the email template or collect the reviews: your Klaviyo flow and review app do that.
- Customers who didn't accept email marketing at checkout get nothing.
Availability and plans
Available
Its workflow is built and tested, and every app it needs is live. You can get it and set it up now.
Included free on the Enterprise plan; on other paid plans it's a one-time purchase per workspace (the price is on the Agents page). The Agents page in the app always shows its current status.
Before you start
- A paid plan: agents run live, and the Free plan only runs Dry Runs.
- An AI provider key (OpenAI, Anthropic, Google and more) in Settings → AI Providers. AI usage is billed by your provider.
- These apps, connected in Settings → Integrations: Shopify and Klaviyo.
- The app it watches, connected in Settings → Integrations (the agent starts from an app event).
- About 20 minutes.
Set it up step by step
Get the agent first (buy it, or it's already yours when your plan includes it), then in Agents → My agents press “Set up this agent”. That creates the agent's workflow in your workspace (it counts towards your plan's workflow limit) and opens the canvas with a setup checklist above it. Each item links to the exact place to go and ticks itself off when it's done.
1. Connect your AI provider
The AI steps run on your own key (OpenAI, Anthropic, Google and more). Add one in Settings → AI Providers.
2. Connect Shopify
Connect your store with a custom app that has read_orders and read_products (Settings → Integrations → Shopify).
3. Connect Klaviyo
Connect Klaviyo with a private key that has events:write (Settings → Integrations → Klaviyo).
4. Pick your store
Open the trigger, “Re-read the order” and “Read your products” and pick your Shopify store.
| Setting | What to enter | In step |
|---|---|---|
| Shopify store (new orders) | The Shopify store whose new orders start a run. Pick your connected Shopify account. | “New Shopify order” |
| Shopify store (re-read the order, same one) | The same Shopify store. Pick your connected Shopify account. | “Re-read the order” |
| Shopify store (products, same one) | The same Shopify store. Pick your connected Shopify account. | “Read your products” |
5. Describe your store
Open “Pick a related product and write the note” and replace the placeholder with your rules and review switch.
| Setting | What to enter | In step |
|---|---|---|
| Your store and review switch | Replace the placeholder with your store, tone, products never to suggest and REVIEW BEFORE SENDING: yes or no. It starts as “[YOUR STORE'S NAME, YOUR TONE, PRODUCTS OR COLLECTIONS NEVER TO SUGGEST (E.G. GIFT CARDS, SAMPLES) AND WHETHER EACH REQUEST NEEDS YOUR APPROVAL. REVIEW BEFORE SENDING: yes]” until you replace it. | “Pick a related product and write the note” |
6. Klaviyo and your links
Open “Send the review request to Klaviyo”: pick the account, paste your review link and your store's address. Build the Klaviyo flow on the metric “Review request ready”.
| Setting | What to enter | In step |
|---|---|---|
| Klaviyo account | The Klaviyo account with your review flow (the key needs events:write). Pick your connected Klaviyo account. | “Send the review request to Klaviyo” |
| Your review link | Replace the placeholder with the page where customers leave a review (your reviews app's page, your Google review link…). It starts as “[YOUR REVIEW LINK]” until you replace it. | “Send the review request to Klaviyo” |
| Your store's address | Replace the example with your store's web address (no slash at the end), e.g. https://fernhill.example: product links are built from it. It starts as “https://YOUR-STORE.example” until you replace it. | “Send the review request to Klaviyo” |
7. Test it with Dry Run
Press Dry Run: the agent runs on sample data with no messages sent and nothing written to your apps.
8. Switch the trigger on
Open the trigger and click “Activate app trigger”: new orders are checked every few minutes, and each run waits before sending.
How it works
The agent is a normal workflow with 14 steps (1 AI step, with a person approving in Reviews). You can open, edit and monitor it like any other workflow.
- New Shopify order — Starts on “New order” in Shopify (an app event). Starts a run for each new order in your store (checked every few minutes).
- Wait 14 days — Waits 14 days. Pauses 14 days so the order has time to arrive and be used. Change the days in this step (at most 30).
- Re-read the order — Shopify: Get an order. Reads the order again now: fulfillment and payment status, the customer's email and their email-marketing choice at checkout.
- Read your products — Shopify: Find products. Reads up to 50 products from your store (titles, handles, product types, tags) to pick a related one from.
- Pick a related product and write the note — AI step (runs on your AI provider key). AI picks one product from your own catalog that goes with what they bought (never something already in the order) and writes a short personal note for the review email.
- Fulfilled, paid and opted in? — Step. In code, from the order as Shopify shows it now: fulfilled, paid (not refunded or cancelled), a valid email, the customer accepted email marketing at checkout, and a related product was found.
- Send, and review first? — Decision: picks the branch to follow. Not fulfilled, not paid, no consent or no product: nothing is sent. With review on (the default) the note waits for you; with review off it goes straight to the checks.
- Not sent — Kept in the run history. Branch: Not this order. The order isn't fulfilled and paid, the customer didn't accept email marketing, or no related product fits. The run history says which.
- Approve the review request — A person approves or rejects it in Reviews (the run waits). Branch: Review first. The note and the product wait in Reviews: edit, approve to send the event to Klaviyo, or reject.
- Check before sending — Step. Branch: No review / Approved. In code: the note and the product are there and have no leftover placeholders.
- Passed the checks? — Decision: picks the branch to follow. Passed: the event goes to Klaviyo. Otherwise nothing is sent.
- Held: nothing sent — Kept in the run history. Branch: Held. The note was blank, too long or still had a placeholder.
- Send the review request to Klaviyo — Klaviyo: Track an event. Branch: Send. Records a “Review request ready” event on the customer's profile with the order, the note, your review link and the related product. Your Klaviyo flow triggered by that event sends the email (Klaviyo keeps only one event per order).
- Review request sent — Kept in the run history. Klaviyo has the event; your flow sends the email.
Test it with Dry Run
Press Dry Run in the canvas. The agent runs on the sample data stored on its trigger (the “Sample data for Dry Run” box), so you can check every step's output before anything is live. The sample has the same shape as a real event from the app.
Sample data fields
id, name, email, total_price, currency, financial_status, fulfillment_status, customer_id, customer_first_name, customer_last_name, phone, shipping_address.city, shipping_address.province_code, shipping_address.country_code, line_items (a list), tags, created_at, order.buyer_accepts_marketing.
- Nothing is sent or written: app actions, emails and Slack posts are simulated, and AI steps don't call your AI provider.
- Approval steps use the Dry Run decision you pick in the step's settings (approved, rejected or timeout), so you can try each branch.
- Wait steps don't wait: they report how long they would wait and the run goes on.
Go live
- Open the trigger and click “Activate app trigger”: new orders are checked every few minutes, and each run waits before sending.
- Activating the app trigger needs the trigger's connected account. The first check only remembers what's already there, so older items don't start runs; the same item never starts two runs.
- The setup checklist adds a “paid plan” item before activation: live runs need a paid plan (the Free plan only runs Dry Runs).
- When every checklist item is done and the trigger is on, the checklist says “Live — this agent is running”. Follow its runs in the workflow's History tab and in Analytics → Agents.
Questions
Why Klaviyo and not a plain email?
A review request with a product suggestion is marketing email. Sending it through your Klaviyo flow keeps your template, unsubscribe link and Klaviyo's consent rules, and the agent only sends the event for customers who accepted email marketing at checkout.
Does it know when the parcel was delivered?
No: Shopify's order data has no delivery date, so it waits 14 days after the order and then checks that the order is fulfilled. Change the days in the Wait step.
What's in the Klaviyo event?
order_name, first_name, purchased_item, intro (the note), review_url, related_product_title, related_product_url and related_product_reason. Use them in the flow's email as {{ event.intro }} and so on.
What about WooCommerce?
This agent is for Shopify. WooCommerce orders aren't covered by it.
Troubleshooting
- “No AI provider connected” or a rejected key: connect or fix the key in Settings → AI Providers, then press Test there.
- A checklist item stays unticked: the setting is still empty or still contains its placeholder text. Open the step from the checklist and fill it in.
- An app step fails with “Needs reconnect”: the account's access was revoked or expired. Reconnect it in Settings → Integrations.
- No runs start: activate the app trigger with a connected account. Only items created after activation start runs.
- A run shows as paused: it's waiting for someone in Reviews to approve or reject it.
- A run shows “Waiting until …” in History: that's a Wait step; it continues on its own (it can be cancelled through the API).
- A step failed: open the run in History and check that step in the Trace tab for the error and what it received.
Generated from the agent's own workflow, so it always matches what the agent does. Last updated .