Clienteling for the AI era. One connected system that turns everything happening in your stores into smarter customer relationships — constantly learning, constantly adapting, and pulling the levers that grow the business: automatically, measurably, and safely.
Behaviour and activity feed the platform. The platform analyses it and reacts with meaningful, relevant signals, which influence behaviour and activity — over and over. The more times the loop runs, the more targeted the signals get.
Everything on this page serves one relationship: an associate and a customer. The platform gives every associate a Customer 360 that knows the whole story, a unified inbox where the conversation lives — email, SMS and WhatsApp in one thread — capture at the counter that starts a relationship in seconds, and Next Best Actions that say exactly who to reach, why, and when.
The loop is what makes that relationship smarter every time it turns: activity becomes insight, insight becomes an action in an associate's hands, the outcome is measured, and the next suggestion is better than the last.
Most retail platforms have some of these pieces. What makes this one different is that every stage is one connected system, out of the box — the output of each stage is the verified input of the next, every decision can explain itself, and the loop measures its own effect instead of asserting it. And it runs in real time: no overnight batches — actionable insights refresh in seconds — so the platform influences people in the moment, while the customer is still in the store, still in the conversation, still in the basket. Nothing here is a roadmap slide: every capability on this page runs today, end to end, on a demonstration tenant you can see live.
flowchart LR A(["Store & customer
activity
sales · captures · messages"]):::world B(["Sense
every signal,
one fabric"]):::cap C(["Understand
Insight Warehouse —
always fresh"]):::cap D(["Think
scores, segments,
governed AI"]):::cap E(["Act
NBAs & journeys,
guarded"]):::mid F(["Learn
uplift vs
held-back control"]):::brass A --> B --> C --> D --> E --> F F -. "every turn gets smarter" .-> A linkStyle 5 stroke:#A87E3F,stroke-width:2.5px classDef world fill:#2B3036,stroke:#4E5651,color:#F2EFE6,stroke-width:1px classDef cap fill:#1E4D40,stroke:#163A30,color:#F2EFE6,stroke-width:1px classDef mid fill:#2E6B5A,stroke:#1E4D40,color:#F2EFE6,stroke-width:1px classDef soft fill:#E7EEE9,stroke:#B9CCC2,color:#1E3A30,stroke-width:1px classDef brass fill:#A87E3F,stroke:#8A6630,color:#FFF8EA,stroke-width:1px classDef guard fill:#3A3F45,stroke:#A87E3F,color:#F2EFE6,stroke-width:2px
Every sale, capture, message, appointment, service case, product import and segment change publishes a named business fact onto the platform's internal messaging fabric — not raw database noise, but events with meaning: a sale completed, a customer was captured, someone entered a segment.
Not a BI export bolted on the side — a genuine analytical layer inside the platform. Each dataset is a configuration document: what it derives from, how it aggregates, which events keep it fresh, and the quality checks it must pass. Adding a new dataset is authoring, not an engineering project.
On top of the warehouse, the platform computes customer insight per customer, from their real history: recency-frequency-monetary standing, predicted lifetime value, churn risk, engagement, lifecycle stage, category and brand affinity, price point. It refreshes on every relevant event as well as on schedule, and it surfaces exactly where the relationship happens — the Customer 360 an associate opens before saying hello.
The design philosophy is augmentation. AI drafts, suggests, summarises and explains; associates and the deterministic engine decide. It makes the associate faster and the platform more articulate — it never replaces the relationship, and it never gets the last word on a customer.
AI sits at the heart of the platform — and the platform is AI-ready out of the box: connect one key and seven AI capabilities light up everywhere language helps; remove it and everything still runs on its deterministic baseline. All of it flows through one governed gateway: the AI can only choose from what the platform hands it, spend is metered to the cent against a monthly budget you set, and every surface degrades gracefully when there is no key, no budget, or no signal.
Intelligence that stays on a dashboard is decoration. Here it lands as Actionable Insights — Next Best Action cards on an associate's home screen that read like a colleague's advice, not a task queue. The name is the promise: not a report to interpret, an action to take, with the insight attached:
For anything longer than one decision, Customer Journeys: multi-step sequences that enrol on any signal, wait durably for days if needed (a wait can hold for the customer's best contact window), branch on the customer's intelligence, act through cards or messages, and exit the moment the goal is reached — a customer who buys leaves the winback journey immediately.
Consent and contact guardrails are decided once, at the platform's choke points, and every acting surface inherits them: opt-outs always win, frequency caps stop pressure stacking, quiet hours have the last word — and a refusal is a recorded outcome, never a failure and never a silent drop.
flowchart LR E(["Signal fires
capture · purchase · segment entry"]):::world --> H{"Hold-back
draw"}:::brass H -->|"control group"| HB(["Recorded, not actioned
the honest comparison"]):::soft H -->|"enrolled"| W(["Wait
durable — hours or days,
optionally until their best window"]):::cap W --> B{"Branch on their
intelligence"}:::brass B -->|"high value"| A1(["Personal outreach card
to their associate"]):::cap B -->|"otherwise"| A2(["Guarded message
consent checked at send"]):::guard A1 --> G{"Goal met?
they purchased"}:::brass A2 --> G G -->|"yes — any time"| X(["Exit immediately"]):::mid G -->|"not yet"| W2(["Next step…"]):::soft classDef world fill:#2B3036,stroke:#4E5651,color:#F2EFE6,stroke-width:1px classDef cap fill:#1E4D40,stroke:#163A30,color:#F2EFE6,stroke-width:1px classDef mid fill:#2E6B5A,stroke:#1E4D40,color:#F2EFE6,stroke-width:1px classDef soft fill:#E7EEE9,stroke:#B9CCC2,color:#1E3A30,stroke-width:1px classDef brass fill:#A87E3F,stroke:#8A6630,color:#FFF8EA,stroke-width:1px classDef guard fill:#3A3F45,stroke:#A87E3F,color:#F2EFE6,stroke-width:2px
The clearest way to see the loop is to follow one receipt. A customer buys a coat at the till. Watch what the platform does — all of it automatic, none of it configured for this specific sale:
The sale completes. The associate who nurtured this customer is on the transaction. One business fact — a sale completed — enters the signal fabric.
The same event, many reactions at once: the warehouse refreshes the datasets this sale touches; the customer's spend history rolls up; multi-touch attribution credits the associates whose captures, messages and appointments led here.
The customer's insight recomputes: lifetime value up, recency reset, churn risk down. They were in the "at risk" segment — this purchase moves them out before the receipt is printed, and that segment exit is itself a new signal.
They were three days into a winback journey. Its goal — a purchase — is met, so they exit immediately: no awkward "we miss you" message next week. The exit is recorded as "goal reached — they purchased".
Any open "win them back" card on an associate's home screen is retired — nobody chases a customer who just bought. Connected external systems get their webhook.
The action engine re-crunches: with new value and fresh recency, the right next move might now be a thank-you, a care tip for the coat, or an invitation to the next event — timed to the customer's best contact window, with the reason on the card.
This purchase lands in the uplift ledger. If the winback journey nudged them and the held-back control group didn't buy, the journey's measured uplift just went up — visible on a screen, per journey, per nudge.
That is the loop in one minute of real time: sense, understand, think, act, learn — from a single receipt.
This is the part that is genuinely hard to build and impossible to fake: every capability below ships connected to the others. One sale at the till touches all of them, with no integration project.
flowchart TD
subgraph IN[" What happens "]
S1(["Sale at the till"]):::world
S2(["Customer captured"]):::world
S3(["Message · appointment · case"]):::world
S4(["E-commerce & imports"]):::world
end
HUB(["Signal fabric
durable · self-healing · PII-free"]):::cap
S1 --> HUB
S2 --> HUB
S3 --> HUB
S4 --> HUB
subgraph UNDERSTAND[" Understand "]
WH(["Insight Warehouse
facts & marts"]):::cap
ATT(["Sales attribution
who influenced this sale"]):::mid
end
HUB --> WH
HUB --> ATT
subgraph THINK[" Think "]
CI(["Customer insight
value · churn · lifecycle · affinity"]):::cap
SEG(["Living segments"]):::mid
REC(["Recommendations
from your own transactions"]):::mid
end
WH --> CI
CI --> SEG
WH --> REC
subgraph ACT[" Act "]
NBA(["Next Best Actions
why · worth · moment"]):::cap
JRN(["Customer journeys
wait · branch · act · exit on goal"]):::cap
end
SEG --> NBA
SEG --> JRN
CI --> NBA
REC --> NBA
GUARD(["Consent · opt-outs · frequency caps · quiet hours
decided once, inherited everywhere"]):::guard
NBA --> GUARD
JRN --> GUARD
GUARD --> OUT(["Outreach &
associate action"]):::world
OUT --> MEAS(["Measured outcomes
uplift vs held-back control · best contact windows"]):::brass
MEAS -. "tunes the next suggestion" .-> NBA
OUT -. "back into the loop" .-> HUB
linkStyle 17,18 stroke:#A87E3F,stroke-width:2.5px
classDef world fill:#2B3036,stroke:#4E5651,color:#F2EFE6,stroke-width:1px
classDef cap fill:#1E4D40,stroke:#163A30,color:#F2EFE6,stroke-width:1px
classDef mid fill:#2E6B5A,stroke:#1E4D40,color:#F2EFE6,stroke-width:1px
classDef soft fill:#E7EEE9,stroke:#B9CCC2,color:#1E3A30,stroke-width:1px
classDef brass fill:#A87E3F,stroke:#8A6630,color:#FFF8EA,stroke-width:1px
classDef guard fill:#3A3F45,stroke:#A87E3F,color:#F2EFE6,stroke-width:2px
History, insight scores, open conversations, appointments, cases and next actions on one screen — with "why" one click away on every derived number.
Email, SMS and WhatsApp in one thread per customer, with AI reply suggestions in the brand's voice, summaries and sentiment.
Suggested by rules and AI, ranked by learned value, timed to the customer's best window, completed on real outcomes.
Enrol on any signal, wait durably, branch on intelligence, message through the guarded path, exit on goal — with a control group held back per journey.
React to events in seconds; every entry and exit is a signal that can raise actions, enrol journeys, or notify external systems.
Value, churn risk, engagement, lifecycle, affinity — computed from real history with business-time correctness, explained in the glass box.
Bought-together, complementary and popularity models built from the retailer's own orders — feeding cards, baskets and outreach.
Declarative datasets with quality gates, event-driven freshness and structural GDPR erasure — the trusted ground every decision stands on.
Plain-English questions answered live from a governed measure catalogue — including "who is our best customer and what should we do next?"
Multi-touch credit for the associates whose captures, messages and appointments led to the sale — automatic, per transaction.
Deterministic holdout groups at every decision point; contacted-vs-held-back results per nudge, segment and journey, on a screen.
Every decision the brain makes — segment moves, actions raised, journeys enrolled, timing learned, AI spend — visible and explainable.
A relationship starts in seconds at the till — consented, deduplicated, immediately scored, and immediately eligible for a welcome journey.
Bookings are both a signal into the loop and an action out of it — a card can propose the appointment that wins the customer back.
An opened case is a signal: resolve it through SLA-tracked workflow, then let the loop raise the relationship-repair action that follows.
An e-commerce basket left behind becomes a personal nudge to the customer's own associate — recovery through relationship, not another automated email.
The platform learns when each customer actually engages — morning, afternoon, evening — advises the card, and lets journeys wait for the moment.
Every signal in the loop can also notify your other systems — durable, retried, and observable — so the loop extends beyond the platform.
Sending customer data to a cloud AI needs a real answer — how do we get the benefit while keeping sensitive data safe?
Every AI feature has a fixed, code-enforced contract of what it may see. Next-best-action suggestions are generated from behavioural signals — lifecycle stage, spend level, churn risk, interests, top categories — never a name, email, phone number or address. The AI advises on "a high-value customer at risk of lapsing", not on a person it can identify.
When someone asks "how much did we take this month?", the AI sees the question and a catalogue of available measures — the answer is computed inside the platform's own warehouse, and the data never leaves. "Who is our best customer?" never sends your customer list anywhere: the ranking is deterministic, in-platform, over a fixed set of approved measures.
Every AI output is a suggestion, validated against strict schemas before anything happens. No score, value or number a decision rides on is ever AI-computed — scoring is deliberately deterministic. And consent, opt-outs, frequency caps and quiet hours are enforced by the platform after the AI, every time, without exception.
Each retailer connects their own AI provider key, so data flows under their own commercial agreement with the provider — under Anthropic's API terms, inputs and outputs are not used to train models. Spend is capped by a hard monthly budget, and every single call is audited: which feature, how many tokens, what it cost, whose key.
A master switch plus a switch per capability. The features that do see message text — reply drafting and conversation summaries — are individually opt-in, and even they see role-labelled conversation content, not contact records. No key, no budget, or switched off? The platform runs its deterministic baseline — the loop works fully without AI; AI makes it better, never dependent.
flowchart LR
subgraph PLATFORM[" Inside the platform — sensitive data stays here "]
CRM(["Customer records
names · contacts · addresses"]):::world
WH2(["Insight Warehouse
transactions · history"]):::cap
SIG(["Behavioural signals
lifecycle · spend level · churn · interests"]):::mid
ANS(["Answers & rankings
computed in-platform"]):::cap
CRM -.->|"derives"| SIG
WH2 -.->|"derives"| SIG
end
GATE{"Governed AI gateway
per-capability switches ·
budget · audit"}:::brass
SIG ==>|"signals only"| GATE
Q(["Plain-English questions
+ measure catalogue"]):::soft ==> GATE
GATE ==> LLM(["Cloud AI
your key, your agreement"]):::guard
LLM --> PROP(["Proposals & wording"]):::soft
PROP --> VAL(["Schema validation ·
consent & guardrails"]):::cap
VAL --> ANS
style PLATFORM stroke:#1E4D40,stroke-width:2px
classDef world fill:#2B3036,stroke:#4E5651,color:#F2EFE6,stroke-width:1px
classDef cap fill:#1E4D40,stroke:#163A30,color:#F2EFE6,stroke-width:1px
classDef mid fill:#2E6B5A,stroke:#1E4D40,color:#F2EFE6,stroke-width:1px
classDef soft fill:#E7EEE9,stroke:#B9CCC2,color:#1E3A30,stroke-width:1px
classDef brass fill:#A87E3F,stroke:#8A6630,color:#FFF8EA,stroke-width:1px
classDef guard fill:#3A3F45,stroke:#A87E3F,color:#F2EFE6,stroke-width:2px
Everything above is configuration, not code. That is what makes the loop deployable per brand, per market, per tenant — and extensible without waiting for a platform release.
| You want to… | You author… |
|---|---|
| Track a new measure | One dataset or measure definition — instantly askable in plain English |
| Target a new audience | A segment definition — reactive membership, transitions raising actions, from day one |
| Automate a new moment | A journey on the visual designer — enrol, wait, branch, act, exit on goal |
| Change how actions are suggested | Swap the suggestion provider — rules, AI, or your own propensity model, per tenant |
| Shape any behaviour per brand | Tenant scripts and hooks at the platform's extension points |
| Orchestrate anything else | The general workflow engine — 25+ step types behind the same designer that builds journeys |
Journeys themselves are proof of the design: they run on the same general workflow engine — 25+ step types behind one visual designer — that powers catalogue imports, integrations and scheduled operations across the platform. Build a journey today and you are using the same muscle that moves a quarter-million-product catalogue tonight.
And every switch — pillars, AI capabilities, budgets, holdout share, guardrails — is per tenant, so one platform serves many brands at different stages of adoption, safely.
The loop's outcomes are the ones a board actually cares about — and each one is a direct consequence of a stage above, not a hope:
Put together, that is the competitive position: a brand that engages more — and more personally — with every customer than its competitors can, while running leaner: one connected system doing the work of a CDP, a campaign tool, a BI stack, a clienteling app and an automation platform stitched together.
And underneath those, the operational wins:
Everything above rides on — and feeds — the rest of the platform: full point-of-sale and commerce (baskets, pricing, promotions, discounts, gift cards), order management and in-store fulfilment (pick, pack, dispatch, reserve & collect, the stock ledger), appointments and events, service cases with SLA hooks, unified communications across providers, and multi-touch sales attribution.
It is multi-tenant to the core, integrates first-class with Salesforce, Shopify, Akinon, SAP and commerce clouds — catalogue imports measured in hundreds of thousands of products — and every capability, including this entire loop, is configured, observed and explained from one Console.
And crucially, the loop is not a module or an add-on: it is foundational — first-class, native, and glued into every pillar of the solution. The till feeds it, the inbox feeds it, the appointment book feeds it, the case queue feeds it — and every one of those surfaces gets smarter because of it. No connectors, no sync jobs, no second system of record.
Native, yet loosely coupled — and that is deliberate. Every stage talks to the next through events and contracts, never hard wiring, so any stage can be swapped without touching the rest: bring your own propensity model, Snowflake-computed scores, or another intelligence engine or data warehouse behind the same contracts — they land in the same action cards; swap messaging providers; swap AI providers; point a stage at your own systems. Loose coupling is how this architecture is always designed. The loop ships complete out of the box — and opens up wherever you want to bring your own.
The loop is the brain; the platform is the whole body it thinks for.