Skip to content
Academy/Getting started/Get started with Sales
GuideGet started

Get started with Sales

Build your first customer journey — a timed, branching path that waits, checks what the person did, makes an offer, brings a cart back, books a time and reminds you, and measures whether it worked. Do it with Claude or click through the app.

AAssistantLabs Team
Academy
14 min read Updated Oct 2026

What you need first

A journey is an automated customer path: a timed, branching sequence that reacts to what the person does. It can wait, check whether they bought, replied or booked, make a personal discount offer, put an abandoned cart back in front of them, invite them into your diary and remind you to call, with WhatsApp or email messages along the way, and it measures whether it reached the goal you set. Sales builds and runs them. Before you build the first one, four things have to be in place. Setting them up takes an afternoon, most of it waiting for Meta to approve a template.

  • An agent with WhatsApp connected. Sales has no number of its own. Journeys go out from the WhatsApp number of one of your AssistantLabs agents, and when a customer answers, that agent takes the conversation. No agent yet? Connect WhatsApp first.
  • Your store. Connecting Shopify brings in your customer segments and streams order and checkout events, which is what lets a journey react the moment someone leaves a cart. A WooCommerce store connects through the WordPress plugin instead (Settings, Store).
  • Approved WhatsApp templates. A template is a message shape that Meta has approved ahead of time, with blanks like the customer's first name. You need one for anything you send to someone who has not written to you in the last 24 hours, which is almost every journey. Manage them under Settings, WhatsApp, Templates, or design one in Tools, WhatsApp Template Builder. Meta decides, and it can take from minutes to about a day.
  • A phone you own to test with. The test sends real WhatsApp messages. Use your own number, not a customer's.
The 24-hour window is the rule behind all of this. WhatsApp lets you write freely only within 24 hours of the customer's last message. Outside it, only an approved template gets through. Someone who abandoned a cart has not written to you, so every message in that journey must be a template. The builder tells you per message: a pill reads In 24h window or Template required, and the free-text options grey out when they cannot be delivered.
Business hours: A message that comes due at 3am waits for the next open time instead of going out or being dropped. Set your hours under Settings, Workspace, Business hours. One step can override them with “Send even outside business hours”.
Two ways through this guide. Every how-to has a With Claude tab (copy the prompt, Claude does the drafting through the Sales tools) and an In the app tab (the clicks, with the real labels). Pick once and the whole page follows. To use the prompts, connect Claude first: Connect to Claude or Connect to ChatGPT. Claude drafts and manages the steps, and turns a journey on once you approve it.

Choose what counts as a lead

Before any journey, decide who the Sales module looks at. Leads are not a separate list you type in: they are picked from your conversations and your CRM by rules. Get the rules right first and the Leads board, the reminders and the journeys that start from it all work on the right people.

There are three places a lead can come from, and you can use any mix.

1. Your agent's conversations

This is the default. Everyone who wrote to your connected agent and is not a customer yet is a lead. Four rules shape it:

  • Only people who wrote to us. On by default. A contact you imported who never sent a message is a prospect, not a lead.
  • Hide paying customers. On by default. Only a live subscription hides a person: someone who cancelled comes back to the board.
  • Labels that mark a lead. Empty by default, which means everyone who writes in. Pick labels and only contacts carrying one of them appear.
  • Never a lead. Labels that always keep a contact off: suppliers, partners, your own numbers, spam.

2. New records from your CRM

Pick a CRM record type (sign-ups, inquiries) and each new record of it becomes a lead. Then tell Sales which of the type's fields holds the email and which holds the phone: a record with neither cannot become a lead. Three things to know:

  • From now, never the history. The moment is stamped when you save, and only records created after it come in. Switching on a Sign-ups source puts tomorrow's sign-ups on the board, not the four hundred from before.
  • Each record is imported once. It becomes a contact of your agent, linked back onto the CRM record, and from then on it is an ordinary lead with a timeline. Nothing is sent to them.
  • It skips “only people who wrote to us”. Like a lead you add by hand, a CRM record never wrote to the agent. Every other rule still applies. Up to five record types can feed one board.

3. CRM companies that enter a relationship

A customer who churns is somebody to win back. Switch on Churned customers and each company that churns after that moment lands on the board again, marked with its own lead type (“Churned customer” by default). Only churning is offered today, because it is the one relationship the CRM dates. Sales reaches the contact linked to the company first, then the email and phone fields you choose, then the company's own email or phone.

The lead rules are set in the app (the In the app tab), because they decide what the whole module looks at. Claude puts people on the board by hand, which is the same door a CRM record uses to skip the inbound rule.
Say this to Claude
Add Dana Levi to my leads board. Her number is +972500000001, she rang the shop about a wholesale order. Next step: send her the price list tomorrow.
  • What Claude doesCalls add_lead with the name, phone, a note and the next step. If your agent has spoken to that number already, the existing contact is adopted with its history instead of a second copy.
  • What you will seeA confirmation with a link to the lead. It says outright that nothing has been sent to her.
  • What to checkThe stage (it defaults to the entry stage) and that the note says where she came from.

Open your avatar menu, click Workspace, then Lead board under Leads. The first card is Who is a lead.

Workspace settings
Workspace
WhatsApp
Store
Integrations
Leads
Developers
Testing
Leads · Board & stages
Leads board
Who is a lead
The board reads your connected agent's contacts. These rules decide which of them land here.
Only people who wrote to us
An imported contact who never sent a message is a prospect, not a lead.
Hide paying customers
Someone who cancelled comes back — only a live subscription hides a person.
Labels that mark a lead
Nothing selected — everyone who writes in is a lead.
CustomerSupplierPartnerSpam
Never a lead
Suppliers, partners, your own numbers, spam.
CustomerSupplierPartnerSpam
New CRM records
Each new record of a type you pick becomes a lead — only records added after you switch it on. Nothing is sent to them.
Sign-upsInquiries
Sign-upsNew ones since 15 Oct 2026
Email field
Email
Phone field
Mobile
CRM customers who left
A company whose relationship changes to the one you pick becomes a lead again — only from when you switch it on. Nothing is sent to them.
Churned customers
Churned customersChurned since 15 Oct 2026
We reach the contact linked to the company first, then these fields, then the company’s own email or phone.
Save
Lead board is under Leads in the settings rail.
  1. Leave Only people who wrote to us and Hide paying customers on unless you have a reason.
  2. Under Never a lead, click the labels that should keep a contact off the board.
  3. Under New CRM records click a record type. It opens a row with Email field and Phone field: pick which field of the record holds each. The row reads Starts when you save, then New ones since the date.
  4. Under CRM customers who left click Churned customers if you want them back on the board.
  5. Click Save.
Leads · Board & stages
Leads board
Who is a lead
The board reads your connected agent's contacts. These rules decide which of them land here.
Only people who wrote to us
An imported contact who never sent a message is a prospect, not a lead.
Hide paying customers
Someone who cancelled comes back — only a live subscription hides a person.
Labels that mark a lead
Nothing selected — everyone who writes in is a lead.
CustomerSupplierPartnerSpam
Never a lead
Suppliers, partners, your own numbers, spam.
CustomerSupplierPartnerSpam
New CRM records
Each new record of a type you pick becomes a lead — only records added after you switch it on. Nothing is sent to them.
Sign-upsInquiries
Click a record type
Sign-upsNew ones since 15 Oct 2026
Email field
Email
Phone field
Mobile
CRM customers who left
A company whose relationship changes to the one you pick becomes a lead again — only from when you switch it on. Nothing is sent to them.
Churned customers
Churned customersChurned since 15 Oct 2026
We reach the contact linked to the company first, then these fields, then the company’s own email or phone.
Save
Labels to leave out, and a CRM record type with its email and phone fields.
Not sure? Leave the defaults. Every conversation, inbound only, paying customers hidden. It is a good board for the first week. Tighten it once you see who is on it.

Connect your store

Do this once. Afterwards your Shopify customer segments appear in the audience picker and checkout events start reaching Sales.

Connecting Shopify happens on Shopify's own approval screen, so that step is in the app. Claude checks your workspace and tells you what is set up and what comes next.

Say this to Claude
Look at my Sales setup. Is an agent connected, can it send on WhatsApp, and which groups and journeys exist already? Tell me what I still have to do before I can send anything.
  • What Claude doesCalls get_sales_overview: the workspace state, every audience group with its size and every journey with its status.
  • What you will seeA plain list of what exists. If no agent is connected, or the agent has no WhatsApp channel ready, it says so, because nothing can send until that is fixed.
  • What to checkThat the agent named is the one whose WhatsApp number you want customers to see. Then switch to the In the app tab for the Shopify step.

Open your avatar menu, click Workspace, and find Shopify under Store in the left rail.

Workspace settings
Workspace
WhatsApp
Store
Integrations
Leads
Developers
Testing
Connect Shopify
Bring your store’s customers into your journeys.
Connecting imports your Shopify customer segments — first-time buyers, VIPs, lapsed customers, abandoned checkouts — straight into the segment picker, and streams order & checkout events in real time so journeys can react the moment something happens.
Your Shopify store domain
willow-and-co.myshopify.com
Find it in your Shopify admin URL — admin.shopify.com/store/willow-and-co. Type just the handle; we add .myshopify.com for you.
Connect Shopify
You’ll approve permissions on Shopify, then land back here with your customers imported.
Shopify is under Store in the settings rail.
  1. Type your store handle in Your Shopify store domain. Just the handle, for example willow-and-co. Sales adds .myshopify.com.
  2. Click Connect Shopify. You are sent to Shopify to approve the permissions.
  3. Approve, and you land back on the same page with your customers imported.
Connect Shopify
Bring your store’s customers into your journeys.
Connecting imports your Shopify customer segments — first-time buyers, VIPs, lapsed customers, abandoned checkouts — straight into the segment picker, and streams order & checkout events in real time so journeys can react the moment something happens.
Your Shopify store domain
willow-and-co.myshopify.com
Find it in your Shopify admin URL — admin.shopify.com/store/willow-and-co. Type just the handle; we add .myshopify.com for you.
Connect ShopifyClick Connect Shopify
You’ll approve permissions on Shopify, then land back here with your customers imported.
Type the handle, then click Connect Shopify.

When it is done the page reads Live. with the segments that were imported. An Add the recommended customer segments step may follow: it offers a few segments worth having and creates the ones you approve in your store.

Connect Shopify
Bring your store’s customers into your journeys.
Connecting imports your Shopify customer segments — first-time buyers, VIPs, lapsed customers, abandoned checkouts — straight into the segment picker, and streams order & checkout events in real time so journeys can react the moment something happens.
Willow & Co
Connected · willow-and-co.myshopify.com
Recommended segmentsSync segments
Live. Customer segments import into your catalog and order & checkout events stream in for journey triggers.
3
Segments imported
ILS
Store currency
8
Granted scopes
Imported segments
First-time buyers 214Lapsed customers 388Abandoned checkouts 41
Segments imported, and order and checkout events are streaming in.
Made a segment in Shopify afterwards? Segments are a copy taken when you connect. A new one does not appear by itself: click Sync segments here, or Re-read from Shopify in the audience picker.

What a journey is made of

A journey is a path with four parts: who enters, the steps they move through, what makes them leave, and what counts as a win. The steps are not only messages. They are the things you would do by hand if you had the time: wait a day, see whether they bought, offer a discount, send the cart back, get them into the diary, note that you should call.

Abandoned checkout recovery
First-time buyers · 214 people
BuildMonitorDraftRun for enrolledSaveTest
Audience · enters the journey
with the goal ofno goal set+ Add a goal
214people across 1 group
First-time buyers 214+ Attach a group
 Send to audience nowEnrolls everyone currently in this group.
Stop this journey if…
applies to everyone, checked before each step
Customer purchases
Customer replieshand to AI
Customer unsubscribesalways on · required
Right away
Message
Still thinking it over?
Template
Wait 1 day
Condition · branch
If they purchased
Yes → exit the journey · No → continue
After 3 days
Offer · discount
Offer a discount
everyone gets 10% off, good for 2 days
Wait 1 day
Reminder · on your list, not theirs
Remind us to follow up
Puts an activity back on the board, dated. The customer sees nothing.
What is owedcall them backDuein 2 days
Preview
Hi Dana, you left something in your cart at Willow & Co. Still thinking it over? We saved it for you.
A message, a condition on whether they purchased, an offer, and a reminder for you.

Who enters

A group you attach (a Shopify segment, people who talked to your agent, a segment you built, an uploaded list), or a trigger: a new order, a new customer, or an abandoned checkout. Example: attach your “Lapsed customers” segment, or start from an abandoned checkout.

Messages

WhatsApp or email. On WhatsApp a message is written by the AI at send time, written by you, a product card from your store, or an approved template. Outside the 24-hour window only a template or a product card gets through. Example: the template that asks if they are still thinking it over.

Waits

Minutes, hours or days after the previous step, or a clock time such as “next day at 10:00”. A message that falls due outside your business hours waits for the next open time. Example: wait one day.

Conditions

Branch on what happened: they replied, purchased, booked, or unsubscribed, or on the cart (total, number of items, a returning customer). Each branch can continue, exit, or hand the person to another journey. Example: if they purchased, exit; if not, continue.

Wait for an event

Hold the journey until a real event: a paid order, a cart left behind, or a reply. Example: pause until they place a paid order, or carry on.

Offers

A personal discount code, created in your Shopify store for that one customer. You choose a ladder (for example 10% off for everyone, or more for a bigger cart) or let the AI pick inside limits you set, and how long the code lasts. Example: 10% off, good for two days.

Carts

A one-tap checkout link: the cart they left, products you picked, or a cart the AI builds. It goes out as your approved cart template. Example: the link back to their abandoned cart.

Booking

Send the booking page for one of your services, or let your agent finish the booking inside the conversation. The appointment itself, the calendar entry and the confirmation belong to Booking, not to Sales. A condition can then check whether they booked. It needs Booking connected.

Reminders for you

The one step that faces inward: it puts a dated to-do on the lead (“call them back, due in two days”). The customer sees nothing. Because it is written on the lead, it shows on the Leads board and in your daily reminder.

When it stops

Stop rules apply to everyone and are checked before each step: stop when they purchase, and when they reply either hand the chat to your agent or just stop. An unsubscribe always stops it.

What counts as a win

Two different things. The goal is a sentence that steers what the AI writes. The outcome is what gets measured: a purchase, a purchase with the discount, a sign-up, a course sign-up, or a happy customer. Each is counted from a real signal inside an attribution window (7 days by default, set for you), and a journey with no outcome shows “No outcome set” rather than a zero.

Claude drafts the messages, waits, conditions, offers and event steps. The cart, booking and reminder steps, the entry trigger and the outcome are set in the app.

Say this to Claude
Create a draft journey called "Abandoned checkout, with a nudge". Step 1: right away, my approved template that asks if they are still thinking it over. Then wait one day. Then a condition: if they purchased, exit the journey, if not continue. Then an offer step with 10% off, good for two days. Show me the steps before you save.
  • What Claude doesMaps each part to a step type with create_journey: message, a delay, a condition on purchased and an offer. It saves a draft and sends nothing.
  • What you will seeA draft with those four steps, like the mock above minus the reminder.
  • What to checkThat the condition's “no” lane continues. And that the offer's code is shared in the message after it, which goes out as an approved template so it reaches the customer inside or outside the 24-hour window.

Every block is in the Add a step menu between cards: Send a message, Add a condition, Make an offer, Send a cart, Wait for an event, plus Remind us, and Book a time when Booking is connected. The wait is the clock pill between two cards.

Abandoned checkout recovery
First-time buyers · 214 people
BuildMonitorDraftRun for enrolledSaveTest
Audience · enters the journey
with the goal ofno goal set+ Add a goal
214people across 1 group
First-time buyers 214+ Attach a group
 Send to audience nowEnrolls everyone currently in this group.
Stop this journey if…
applies to everyone, checked before each step
Customer purchases
Customer replieshand to AI
Customer unsubscribesalways on · required
Right away
Message
Still thinking it over?
TemplateTemplate required
How it’s written
Free-form AIYour ownProductTemplate
Choose an approved template
abandoned_cart_nudge
Approved · variables are filled in automatically per customer.
Map variables to customer fields
{{1}}first_name
Wait 1 dayAdd a stepClick Add a step
Send a message
WhatsApp or email · written by you or by AI
Add a condition
Split the journey on what the customer did
Make an offer
A discount, scaled to the cart
Send a cart
One-tap checkout, discount already applied
Wait for an event
Hold here until they buy, abandon a cart, or reply
Remind us
Put the next activity back on your own list
Cart · one-tap checkout
Send the cart back
Cart contents
Pick productsLet AI build itTheir abandoned cart
Needs an abandoned-cart triggerStart from abandoned checkout
Sent as your approved cart template
Preview
Hi Dana, you left something in your cart at Willow & Co. Still thinking it over? We saved it for you.
The menu lists every block a journey can contain.

Pick your first journey

Start with one journey and let it run for a week before you add another. Each of these uses more than messages.

Abandoned checkout (start here)

Path: a template message right away, a wait of a day, a condition on whether they purchased (exit if so), then an offer and a cart link back to what they left. Who enters: anyone who reached checkout, left an email or phone and did not pay. Sales waits a short while (about 15 minutes by default) so it never messages someone mid-payment, and enrolls only checkouts no order claimed. No list is needed. Checkouts with no email or phone are skipped. Win: a purchase, or a purchase with the discount.

After a first purchase

Path: audience is a Shopify segment of first-time buyers (if your store has one); a thank-you, a wait of a few days, then a message asking how it went and a condition on whether they replied. A reply is handed to your agent. Win: choose A happy customer, which is judged from the conversation itself. Anything they write back lands on the Leads board.

Win back lapsed customers

Path: audience is a segment of customers who went quiet (your lapsed customers, or the recommended “At-risk loyal customers”); a template message, a wait, a condition on a reply or a purchase, then an offer with a personal code. Win: a purchase with the discount. Everyone in the segment enters, and so does anyone who joins it later.

An enquiry that should become an appointment

Path: a booking step that sends the booking page for your service, a wait of a day, a condition on whether they booked, and if not a reminder step that puts “call them back” on your list. Needs: Booking connected. Booking sends the confirmation and the appointment reminders; the journey gets the person into the diary and tells you if they did not book.

Why abandoned checkout first: The customer already wanted something, the trigger is automatic, and the result is easy to read: did the cart turn into an order.

Build the journey

A journey is a column of steps on one timeline. The first version is deliberately small: two messages and a wait between them. Once it runs, add a condition and an offer from the section above.

Describe the sequence in plain words. Claude finds your approved templates, matches each step to one whose wording fits, and saves the journey as a draft.

Say this to Claude
Create a draft journey called "Abandoned checkout recovery" with two WhatsApp steps. Step 1 goes out right away and uses my approved template that asks whether they are still thinking it over. Step 2 goes out one day later and uses the template that offers help finishing the order. Check my approved templates first and tell me if none fits. Do not write new ones without showing me the exact wording.
  • What Claude doesReads your templates with list_whatsapp_templates, then saves the journey with create_journey: two message steps, each on a named template, the second with a one-day delay. It returns a link to the draft.
  • What you will seeA new Draft in Journeys with two message steps. Nothing has been sent and nobody is enrolled.
  • What to checkThat each step names the template whose words say what the step should. That the delays are what you asked. That the audience card is still empty: choosing who enters is the next section.

No template fits? Ask for one, and keep the approval in your hands:

Say this to Claude
Write a WhatsApp template in Hebrew for people who left a cart in my store. Friendly, two sentences, uses their first name. Show me the exact text and category before you submit anything.
  • What Claude doesDrafts the wording and waits for your yes. Only then does it send it to Meta with create_whatsapp_template. It sends nothing to any customer.
  • What you will seeThe template with a status of pending. A journey can use the new name straight away but cannot go live until Meta approves it.
  • What to checkThe words go out in your business's name, so read them as a customer would. A name can only use lowercase letters, numbers and underscores.

You can keep refining the same draft by asking Claude to change it (update_journey). It reads the journey first and sends the full step list back, so ask for one change at a time and re-read the result.

Open Journeys in the top navigation and click New journey.

SalesHomeLeadsJourneysToolsMonitoringSales Agent
Journeys
Automated WhatsApp sequences that turn one purchase into a relationship.
New journeyClick New journey
Active journeys
1
1 in draft
Customers in motion
0
across 1 journey
Live now
0
0 paused
Revenue influenced
—
once journeys run
Your journeys
Abandoned checkout recovery
Bring back shoppers who left a cart behind.
Draft
0in journey
—converted
—revenue
Open
Click New journey. It creates the journey and opens the builder.

In the builder, the timeline runs top to bottom. Click the name at the top to rename it. Then add the steps:

Abandoned checkout recovery
First-time buyers · 214 people
BuildMonitorDraftRun for enrolledSaveTest
Audience · enters the journey
with the goal ofno goal set+ Add a goal
214people across 1 group
First-time buyers 214+ Attach a group
 Send to audience nowEnrolls everyone currently in this group.
Stop this journey if…
applies to everyone, checked before each step
Customer purchases
Customer replieshand to AI
Customer unsubscribesalways on · required
Right away
Message
Still thinking it over?
TemplateTemplate required
How it’s written
Free-form AIYour ownProductTemplate
Choose an approved template
abandoned_cart_nudge
Approved · variables are filled in automatically per customer.
Map variables to customer fields
{{1}}first_name
Wait 1 dayAdd a stepClick Add a step
Send a message
WhatsApp or email · written by you or by AI
Add a condition
Split the journey on what the customer did
Make an offer
A discount, scaled to the cart
Send a cart
One-tap checkout, discount already applied
Wait for an event
Hold here until they buy, abandon a cart, or reply
Remind us
Put the next activity back on your own list
Cart · one-tap checkout
Send the cart back
Cart contents
Pick productsLet AI build itTheir abandoned cart
Needs an abandoned-cart triggerStart from abandoned checkout
Sent as your approved cart template
Preview
Hi Dana, you left something in your cart at Willow & Co. Still thinking it over? We saved it for you.
Click Add a step, then Send a message.
  1. Click Add a step between cards and choose Send a message.
  2. Under How it's written pick Template. Free-form AI and Your own are greyed out whenever the customer would be outside the 24-hour window, which is always the case for an abandoned cart.
  3. Under Choose an approved template pick one whose words fit the step. Its line reads Approved · variables are filled in automatically per customer.
  4. Under Map variables to customer fields, point each blank (for example the first one) at a field such as the first name. Anything you leave unmapped goes out as the template's example text.
  5. Click the clock pill between two steps to set the wait. Right away sends it as soon as the customer enters.
  6. Click Save at the top.
Abandoned checkout recovery
First-time buyers · 214 people
BuildMonitorDraftRun for enrolledSaveTest
Audience · enters the journey
with the goal ofno goal set+ Add a goal
214people across 1 group
First-time buyers 214+ Attach a group
 Send to audience nowEnrolls everyone currently in this group.
Stop this journey if…
applies to everyone, checked before each step
Customer purchases
Customer replieshand to AI
Customer unsubscribesalways on · required
Right away
Message
Still thinking it over?
TemplateTemplate required
How it’s written
Free-form AIYour ownProductTemplateClick Template
Choose an approved template
abandoned_cart_nudge
Approved · variables are filled in automatically per customer.
Map variables to customer fields
{{1}}first_name
Wait 1 dayAdd a step
Cart · one-tap checkout
Send the cart back
Cart contents
Pick productsLet AI build itTheir abandoned cart
Needs an abandoned-cart triggerStart from abandoned checkout
Sent as your approved cart template
Preview
Hi Dana, you left something in your cart at Willow & Co. Still thinking it over? We saved it for you.
Template mode, an approved template, and the variable mapped.
Need a template that does not exist yet? Open Tools, WhatsApp Template Builder: design it, preview it and submit it for approval. Come back to the journey when it shows as approved.

Choose who enters

There are two ways people get into a journey, and the first journey uses the first one.

Start from an abandoned checkout

This is a trigger, not a list. Once the journey is live, anyone who leaves a checkout and does not buy enters on their own. In the app you set it from the cart step:

  1. Click Add a step and choose Send a cart.
  2. Under Cart contents pick Their abandoned cart. The card says Needs an abandoned-cart trigger.
  3. Click Start from abandoned checkout. A message confirms: Journey now starts from an abandoned checkout.
Abandoned checkout recovery
First-time buyers · 214 people
BuildMonitorDraftRun for enrolledSaveTest
Audience · enters the journey
with the goal ofno goal set+ Add a goal
214people across 1 group
First-time buyers 214+ Attach a group
 Send to audience nowEnrolls everyone currently in this group.
Stop this journey if…
applies to everyone, checked before each step
Customer purchases
Customer replieshand to AI
Customer unsubscribesalways on · required
Right away
Message
Still thinking it over?
TemplateTemplate required
How it’s written
Free-form AIYour ownProductTemplate
Choose an approved template
abandoned_cart_nudge
Approved · variables are filled in automatically per customer.
Map variables to customer fields
{{1}}first_name
Wait 1 dayAdd a step
Cart · one-tap checkout
Send the cart back
Cart contents
Pick productsLet AI build itTheir abandoned cart
Needs an abandoned-cart triggerStart from abandoned checkoutClick Start from abandoned checkout
Sent as your approved cart template
Preview
Hi Dana, you left something in your cart at Willow & Co. Still thinking it over? We saved it for you.
The cart step is where you tell the journey to start from an abandoned checkout.
The trigger is set in the app. Ask Claude for the messages, waits and offers, then set the cart step and the trigger here. The cart message goes out as your approved cart template.

Attach a group

For a welcome or a win-back, the audience is a group: a named list of people. A group can come from a Shopify segment, from people who have talked to your agent, from a segment you built, or from a list you uploaded. Every pick becomes a group, and a group runs at most one journey.

If your audience lives in a spreadsheet, Claude can turn it into a group and attach it. Paste the rows into the chat (a name and a phone or email each).

Say this to Claude
Create an audience called "Spring buyers" from the list below, then attach it to my "Welcome new customers" journey. Do not switch anything on. Dana Levi, +972500000001 Noam Katz, noam@example.com
  • What Claude doesCreates the audience with create_group, then binds it with attach_group_to_journey.
  • What you will seeThe group name and its size, and the journey's audience card now showing it. The tool says outright that nothing has been sent and the journey is not on.
  • What to checkThe people count matches your list. Each person needs a phone or an email to be reachable. Only an uploaded list stores its people: a group built from a Shopify segment or a label is read live.
For a Shopify segment or a label: Do it in the app, where the live match count is visible before you commit. Switch to the In the app tab.
Abandoned checkout recovery
Attach a group to run this journey
BuildMonitorDraftRun for enrolledSaveTest
Audience · enters the journey
with the goal ofno goal set+ Add a goal

No audience yet. Attach a group — that’s who enters this journey. A CRM segment stays current (its members re-read each time you send); a CSV is a fixed list.

Attach a groupClick Attach a group
Stop this journey if…
applies to everyone, checked before each step
Customer purchases
Customer replieshand to AI
Customer unsubscribesalways on · required
Right away
Message
Still thinking it over?
TemplateTemplate required
How it’s written
Free-form AIYour ownProductTemplate
Choose an approved template
abandoned_cart_nudge
Approved · variables are filled in automatically per customer.
Map variables to customer fields
{{1}}first_name
Wait 1 dayAdd a step
Cart · one-tap checkout
Send the cart back
Cart contents
Pick productsLet AI build itTheir abandoned cart
Needs an abandoned-cart triggerStart from abandoned checkout
Sent as your approved cart template
Preview
Hi Dana, you left something in your cart at Willow & Co. Still thinking it over? We saved it for you.
On the purple Audience card, click Attach a group.
  1. Click Attach a group on the purple Audience card.
  2. Pick where the people come from: Shopify segments (everyone in the store, including people who never messaged you), Your agent (people who actually talked to your agent), Segments (ones you built) or Lists you uploaded.
  3. Click a row. It becomes a group and attaches in one go. The card shows the count and the group as a chip.
  4. Need a segment that does not exist? The picker has a Build a segment button at the bottom.
Abandoned checkout recovery
First-time buyers · 214 people
BuildMonitorDraftRun for enrolledSaveTest
Audience · enters the journey
with the goal ofno goal set+ Add a goal
214people across 1 group
First-time buyers 214+ Attach a group
 Send to audience nowEnrolls everyone currently in this group.
Stop this journey if…
applies to everyone, checked before each step
Customer purchases
Customer replieshand to AI
Customer unsubscribesalways on · required
Right away
Message
Still thinking it over?
TemplateTemplate required
How it’s written
Free-form AIYour ownProductTemplate
Choose an approved template
abandoned_cart_nudge
Approved · variables are filled in automatically per customer.
Map variables to customer fields
{{1}}first_name
Wait 1 dayAdd a step
Cart · one-tap checkout
Send the cart back
Cart contents
Pick productsLet AI build itTheir abandoned cart
Needs an abandoned-cart triggerStart from abandoned checkout
Sent as your approved cart template
Preview
Hi Dana, you left something in your cart at Willow & Co. Still thinking it over? We saved it for you.
The card shows how many people are in the group.
Stop rules. Under the Audience card, the Stop this journey if… panel decides when someone leaves. Tick Customer purchases, so a person who ordered stops getting nudges, and choose what a reply does: hand the conversation to the agent, or just stop. An unsubscribe always stops it.

Test it on yourself

Before a customer sees anything, send the journey to your own phone. The test goes through the real engine and the real WhatsApp number, one step at a time.

Have Claude review the draft first, then send the real test from the app.

Say this to Claude
Read my "Abandoned checkout recovery" draft back to me step by step: what each message says, when it goes out and which template it uses. Flag anything that would not reach a customer who has not written to us in the last 24 hours.
  • What Claude doesReads the journey with get_journey and your templates with list_whatsapp_templates, and lines the two up.
  • What you will seeA step-by-step read-out, with a note on any template that is still in review or was rejected, and any free-text WhatsApp step.
  • What to checkRead each message as the customer would. Then send the real test from the In the app tab.

First save yourself as a test user. Open the avatar menu, click Workspace, then Test users under Testing.

Workspace settings
Workspace
WhatsApp
Store
Integrations
Leads
Developers
Testing
Testing · Test users
Test users
The personas the journey Test flow sends to. The email decides which segments they land in; the phone receives the real messages. Email is optional — a phone-only user can still test a send.
Saved test users
Everyone in the workspace can test with these. A real customer’s phone typed here gets a real message, so keep it to numbers you own.
1 saved
Dana (test)dana.test@willowandco.com+972 50 000 0000
Add test userSave
Name, a Shopify email (optional), and your own phone. Click Save.
  1. Click Add test user and fill the phone with a number you own. The email is optional and only decides which Shopify segments they land in.
  2. Click Save.
  3. Open the journey and click Test at the top. It is greyed out until a group is attached (“Attach a group first”).
  4. Under Test as choose your test user, then click Start the message test.
  5. Click Send next message to walk the journey, or Play the whole journey to run every message in order with the waits cut short.
Abandoned checkout recovery
First-time buyers · 214 people
BuildMonitorDraftRun for enrolledSaveTest
Audience · enters the journey
with the goal ofno goal set+ Add a goal
214people across 1 group
First-time buyers 214+ Attach a group
 Send to audience nowEnrolls everyone currently in this group.
Stop this journey if…
applies to everyone, checked before each step
Customer purchases
Customer replieshand to AI
Customer unsubscribesalways on · required
Right away
Message
Still thinking it over?
TemplateTemplate required
How it’s written
Free-form AIYour ownProductTemplate
Choose an approved template
abandoned_cart_nudge
Approved · variables are filled in automatically per customer.
Map variables to customer fields
{{1}}first_name
Wait 1 dayAdd a step
Cart · one-tap checkout
Send the cart back
Cart contents
Pick productsLet AI build itTheir abandoned cart
Needs an abandoned-cart triggerStart from abandoned checkout
Sent as your approved cart template
Test journey
Send the journey’s messages to a test phone
Test as
Dana (test) · +972 50 000 0000
We send the journey’s real messages to this phone, one step at a time. A cart step uses the cart this phone or email last left on your store.
Start the message testClick Start the message test
The Test panel opens beside the timeline.
A test is a real message. It goes to the phone number you typed, over your WhatsApp number. Keep test users to numbers you own. And a cart step uses the cart that phone or email last left on your store: with no checkout found, that step is skipped, so start a checkout in your own store first.

Turn it on

A journey sends nothing while it is a draft. Setting it to Live is the moment it starts working on real customers, so it is a click you approve first.

Ask Claude whether a journey is ready, then tell it to turn it on. It switches it on once you say yes.

Say this to Claude
Which of my draft journeys are ready to go live? For each one tell me what is missing: a template still in review, no audience attached, or a step that cannot be delivered. If the abandoned-checkout one is ready, turn it on after I say yes.
  • What Claude doesReads get_sales_overview and each journey with get_journey, and checks the templates they name.
  • What you will seeA ready / not ready line per journey with the reason.
  • What to checkAnything it lists as missing. Say yes and it sets the journey to Live. The In the app tab shows the same switch.
Abandoned checkout recovery
First-time buyers · 214 people
BuildMonitorDraftClick Draft to set it LiveRun for enrolledSaveTest
Audience · enters the journey
with the goal ofno goal set+ Add a goal
214people across 1 group
First-time buyers 214+ Attach a group
 Send to audience nowEnrolls everyone currently in this group.
Stop this journey if…
applies to everyone, checked before each step
Customer purchases
Customer replieshand to AI
Customer unsubscribesalways on · required
Right away
Message
Still thinking it over?
TemplateTemplate required
How it’s written
Free-form AIYour ownProductTemplate
Choose an approved template
abandoned_cart_nudge
Approved · variables are filled in automatically per customer.
Map variables to customer fields
{{1}}first_name
Wait 1 dayAdd a step
Cart · one-tap checkout
Send the cart back
Cart contents
Pick productsLet AI build itTheir abandoned cart
Needs an abandoned-cart triggerStart from abandoned checkout
Sent as your approved cart template
Preview
Hi Dana, you left something in your cart at Willow & Co. Still thinking it over? We saved it for you.
Click the Draft pill to set the journey Live.
  1. Click the Draft pill at the top. It turns into Live and a message confirms: Journey is now live. Click it again to pause.
  2. An abandoned-checkout journey needs nothing more. Each person who qualifies enters on their own.
  3. A group journey starts when you click Send to audience now on the Audience card (or Run for enrolled at the top). A dialog asks Run this journey now?: click Run for everyone. People already enrolled are skipped, and it cannot be undone.
Abandoned checkout recovery
First-time buyers · 214 people
BuildMonitorLiveRun for enrolledSaveTest
Audience · enters the journey
with the goal ofno goal set+ Add a goal
214people across 1 group
First-time buyers 214+ Attach a group
 Send to audience nowClick Send to audience nowEnrolls everyone currently in this group.
Stop this journey if…
applies to everyone, checked before each step
Customer purchases
Customer replieshand to AI
Customer unsubscribesalways on · required
Right away
Message
Still thinking it over?
TemplateTemplate required
How it’s written
Free-form AIYour ownProductTemplate
Choose an approved template
abandoned_cart_nudge
Approved · variables are filled in automatically per customer.
Map variables to customer fields
{{1}}first_name
Wait 1 dayAdd a step
Cart · one-tap checkout
Send the cart back
Cart contents
Pick productsLet AI build itTheir abandoned cart
Needs an abandoned-cart triggerStart from abandoned checkout
Sent as your approved cart template
Preview
Hi Dana, you left something in your cart at Willow & Co. Still thinking it over? We saved it for you.
Live, with an audience attached: Send to audience now is active.

Read the results and the leads

Two places tell you what happened. The journey's Monitor view says who is where. The Leads board says who needs a human, warmest first.

Say this to Claude
How is "Abandoned checkout recovery" doing? Give me how many entered, how many messages went out and failed, how many replied, and where people drop off per step.
  • What Claude doesCalls get_journey_stats: the funnel for one journey, with a per-step breakdown.
  • What you will seeEnrolled, sent, failed, replied, offer codes issued and redeemed.
  • What to checkThe failed number first. A step where every send failed is almost always a template problem.
Then ask
Who in that journey is hot right now, and why? Show me what Dana was sent and what she said.
  • What Claude doesget_journey_audience ranks people hot, warm or cold with the reason, and get_participant opens one person: their progress, what is due next and what happened.
  • What you will seeHot is a purchase or a recent reply. Someone it could not reach (no usable number) is listed as unreachable, not as cold, because that is a data problem to fix.
  • What to checkWhat the person actually said in the conversation.

And when you have spoken to someone, keep the record true:

Say this to Claude
I called Dana Levi and she will order on Thursday. Log it and set her next step.
  • What Claude doesRecords the call with log_outcome: it moves the stage that outcome is wired to, stamps the day you last spoke and sets the follow-up.
  • What you will seeA confirmation with a link to the lead. If it guessed an outcome id your workspace does not have, the reply lists the real ones.
  • What to checkThe note says what was actually said: six weeks later that is the part somebody reads.

The journey. Open it and click Monitor at the top.

Abandoned checkout recovery
First-time buyers · 214 people
BuildMonitorClick MonitorLiveRun for enrolledSaveTest
Reached the goal
No outcome set for this journey
Enrolled
38
all time
In progress
9
2 waiting on an event
Completed
29
1 exited early
Enrolled people
Dana L.ActiveStep 1/3 · Still thinking it over? · Next in 2h
Noam K.WaitingStep 2/3 · Send the cart back · Waiting for an event
Maya R.CompletedFinished
Enrolled, in progress, completed, and each person with where they are.
“No outcome set for this journey” is not zero. The goal tile only counts a win you defined. On the Audience card, click Set the outcome (purchase, purchase with a discount, sign-up and so on) and the tile starts counting.

The leads. Click Leads in the top navigation. Everyone who wrote to your agent and is not a customer yet is here, warmest first, with what you owe each of them.

Leads
12 people wrote to you and aren’t customers yet. 3 of them need you today.
+ Add a lead
AllCall todayClick Call todayOverdueThey are waitingNever calledGoing cold
TODAY3
WhoWarmthLast messageNext stepStage
DDana LeviHotDo you have this in size L?waitingCall backNew
NNoam KatzWarmCan I pay by bank transfer?Send the linkSpoke to them
MMaya RazCoolingThanks, I’ll think about itFollow upSpoke to them
Click Call today to see only the people you owe a call right now.
  1. Use the chips: Call today, Overdue, They are waiting, Never called and Going cold.
  2. Click a row to open the lead: the conversation, the activity and the journey they are in.
  3. Log what happened with the buttons on the row. One press records the call, moves the stage and sets the next follow-up.

Your first week

A pace that works, and does not ask for more than an hour a day:

  • Day 1. Check the agent's WhatsApp is connected, connect Shopify, and look at your templates. Submit the ones you are missing, so Meta's review runs overnight.
  • Day 2. Build the abandoned-checkout journey: two messages, the cart step, the trigger. Save yourself as a test user.
  • Day 3. Test it on your own phone, including a real checkout you leave behind. Fix the wording. Set the journey to Live.
  • Days 4 to 6. Open Monitor once a day. Look at failed first, then at replies. Answer the people who wrote back.
  • Day 7. Open Leads and work through Call today. Decide whether the second journey is the welcome or the win-back.

Common mistakes

  • Real customers in Test users. A test is a real message. Only numbers you own.
  • Free text where a template is needed. Outside the 24-hour window a free-text step is skipped, not sent late. If a journey reaches people who have not written to you, every message is a template.
  • Setting Live before the template is approved. A template that is still in review cannot go out. Check its status first.
  • A group, but no Live. Attaching a group says who the journey is for. It sends nothing and does not turn the journey on.
  • Their abandoned cart, but no trigger. The cart step asks for the trigger. Click Start from abandoned checkout, or the journey has no way to start by itself.
  • Reading “No outcome set” as no sales. Set the outcome on the Audience card.
  • A missing segment. A segment you created in Shopify after connecting is not there until you sync.
Setting this up for a client? Do the connect and test steps in their workspace, with their phone as the test user, and walk them through the Monitor view once it is live. What the Sales app is for, and how it fits the rest of the product, is in The Sales app.
Was this helpful?