Bento on Shopify
Art Lounge runs on Magento, but most stores reading this run on Shopify. Every flow on this site can be built there. Some events arrive out of the box; the rest take a short recipe, and a few need a small relay.
Honest note: we haven’t yet run a test order through Bento’s Shopify app ourselves, so the exact event name it sends is still to confirm. Everything else here comes from Shopify’s and Bento’s own documentation.
What do you need to set up?
Create your Bento account
Everything below sends events into Bento, so start there. Create your Bento account (30-day trial).
Install Bento’s Shopify app Out of the box
The app sends purchases to Bento with the order value and items, and keeps each customer’s lifetime spend up to date. That alone covers VIP and the order side of most flows.
Add Bento’s script for views and carts Small recipe
Product views and cart changes happen in the browser. Add Bento’s script to your theme, or a custom pixel in Shopify’s Customer Events that forwards
product_viewedandproduct_added_to_cart. These only help for visitors Bento already knows, which is normal for every email platform.Send the rest with Shopify Flow Small recipe
Shopify Flow’s “Send HTTP request” action (Grow plan and up) can post any event to Bento’s API. Use it for order details with product types, cancellations, new subscribers and native abandoned checkouts. Here is the body for an order, so Liquid in Bento can tell brushes from paint:
Shopify Flow: Send HTTP request body (POST to Bento’s /batch/events) { "events": [{ "type": "$order_details", "email": "{{ order.email }}", "details": { "order": "{{ order.name }}", "total": {{ order.totalPriceSet .shopMoney.amount }}, "items": [ {%- for li in order.lineItems -%} { "title": {{ li.title | json }}, "type": {{ li.product.productType | json }}, "qty": {{ li.quantity }} } {%- unless forloop.last %}, {%- endunless -%} {%- endfor -%} ] } }] }Use a name like
$order_detailsso it doesn’t double up with the app’s own purchase event.Handle Indian checkouts and delivery Needs a relay
If you use Razorpay Magic Checkout, GoKwik, Shiprocket Checkout or Cashfree, Shopify no longer receives their abandoned checkouts. Each of them can send an abandonment webhook instead, and Razorpay’s payment-failed webhook says why a payment didn’t go through. Delivery works the same way: Shiprocket only marks orders fulfilled in Shopify, but its own webhook knows when a parcel arrives. Bento needs these reshaped into its event format by a small relay. I’m building an open-source one; until then, Zapier or Make can do the reshaping.
Add a daily clock Small recipe
Win-back, second purchase and replenishment start on a date. Bento’s date trigger never fired for us, so a small daily job sends Bento who is due today. Any scheduler that can make an HTTP request works.
Which flows can you build today?
With the app and Flow recipes: welcome, VIP, sunset, cart, browse, second purchase, win-back and replenishment. Checkout abandonment works today on Shopify’s own checkout; with an Indian checkout it needs the relay. Post-purchase works with a day-12 fallback today, and on the real delivery day once delivery events arrive.
Try Bento free