Ashgrove Collective · membership lapses in 6 daysrenewal
One score, 0-100, with a plain-English reason on every rowDraft outreach
How it works
01
Authorise the store
Create a custom app in your Shopify admin and paste its token — no code.
02
Match your customers
Orders attach by email to the contact you already have; blank fields get filled, yours are never overwritten.
03
Watch a week first
The background sync ships switched off — connecting a store does not start it.
04
Work the list
Follow-ups rank themselves. You decide who to contact.
Live today
The store connection, customer and order sync, and the draft-order handoff are built and ship as an opt-in integration — the background sync stays off until it is switched on.
What the desk does
Your store keeps selling. You stop checking four tabs to find the work.
Shopify is a good shopfront and a poor system of record. We leave the front alone and make its orders count where the customer already lives.
One ranked list, not four tabs
Overdue tasks, deals due a nudge, cold high-value quotes, membership renewals and repeat customers who have gone quiet are unioned into a single worklist with one urgency score.
Deterministic, and it explains its own order.
Orders find their account
An online order matches to the existing customer by email, attaches to their company account where Shopify gave you one, and is noted on their timeline the first time it imports. Shopify hands over the last 60 days of orders; anything older needs extra approval from them.
No duplicate customers to clean up later.
One customer, both channels' value
Once it is paid in Shopify, a synced order joins that contact's own Shopify total, order count and last-order date, shown beside the figures from the orders you take yourself.
Side by side on one record, never silently merged.
AI drafts it. Nothing sends itself.
Pick a row and get an editable outreach draft grounded in whatever you already hold for that customer — their contact details, what they have bought and paid, their deals, and recent timeline entries and not-yet-due tasks. It never reorders or hides the list, and nothing is sent from here — you copy the draft into your own email.
Advisory only, and off until you ask us to turn it on.
From a synced order to the follow-up it earns.
Connected storeCustomers, orders and products, inbound
An online order, on the recordAttached to the customer, not to a second inbox
What the store sends overProducts and variants, one direction
The list, rankedOne score, and the reason it earned
Connected store
01 / 04
Customers, orders and products, inbound
Connected storeone direction, plus drafts out
Customers inMatched on email, blank CRM fields filled, never overwrittensync in
Orders inAttributed to the contact, noted on their timelinesync in
Products inVariants map to quote lines; no price is written backsync in
Draft orders outThe one thing we write: a draft plus its operator linkout
Hourly sweep, inbound, off until switched onopt-in
An online order, on the record
02 / 04
Attached to the customer, not to a second inbox
Order on the record#SH-4471
Matched toExisting contact, by emailHarbour Rowing
Attached toTheir company accountaccount
Shopify valueIts own total on the contact, beside your own orders'$846
Logged onThe contact's own timelinetoday
Paid in Shopify · nothing re-keyed here
What the store sends over
03 / 04
Products and variants, one direction
Products & variantsinbound
VariantsOptions and SKUs land as quote-line choicesin
PricesShopify keeps its own; nothing is written to its catalogread
StockNot adjusted from here — no inventory write exists—
FulfilmentRead off the order; not pushed back—
The list, ranked
04 / 04
One score, and the reason it earned
How the score is builtthe model, not a screen
Sources5
Score0-100
Auto-sentNone
OverdueHow far past due a task or deal follow-up is30-90
IdleHow long a high-value quote has been silent0-80
At riskHow far past their own reorder rhythm a repeat buyer is30-80
ValueNormalised money, so it breaks ties rather than leading0-20
LifecycleMembership renewal urgency, by bucket80/70/50