WhatsApp Follow-Up Templates for Salons & Spas
The right whatsapp follow-up templates turn a one-time visit into a loyal client relationship. These messages cover every stage of the follow-up lifecycle ā from post-appointment feedback and rebooking reminders to no-show recovery and dormant-client win-backs ā written for Indian salons and spas that want warm, personal communication without sounding scripted.
Key Takeaways
- Every effective whatsapp follow-up template carries something new ā a specific slot, a package detail, or a time-bound offer ā never a hollow 'just checking in'.
- Timing is the difference between a rebook and a lost client: haircut reminders work best at 3ā4 weeks, colour touch-up reminders at 2ā3 weeks.
- Personalisation (client name, last service, usual stylist) is the single fastest way to lift reply rates on whatsapp follow-up templates for salons.
- WhatsApp Business API templates require pre-approval; set metaCategory to Utility for transactional messages and Marketing for promotional ones.
- No-show recovery messages sent within 2 hours of a missed appointment recover significantly more bookings than those sent the next day.
Ready-to-Use Templates
Post-Appointment Feedback + Rebook Nudge
Hi [Name] š Thank you for coming in today ā it was lovely having you with us! We'd love to hear how you felt about your [Service] with [Stylist]. A quick reply means a lot to us. When you're ready to come back, I can hold your next slot in advance ā [Stylist] usually gets booked up fast on weekends. Shall I pencil you in for [Suggested Date]?
Why this works: Asking for feedback immediately after a service feels genuine, not automated ā and attaching a specific rebook date gives the client a concrete reason to reply rather than just read and move on.
Tip: Don't send this after 9 pm; schedule it to go at 7 pm if the appointment ran late.
Show Meta API form ({{1}} placeholders)
Hi {{1}} š
Thank you for coming in today ā it was lovely having you with us!
We'd love to hear how you felt about your {{2}} with {{3}}. A quick reply means a lot to us.
When you're ready to come back, I can hold your next slot in advance ā {{3}} usually gets booked up fast on weekends.
Shall I pencil you in for {{4}}?Variables
- {{1}}Client first name
- {{2}}Service received
- {{3}}Stylist name
- {{4}}Suggested rebook date
Haircut Rebooking Reminder
Hi [Name], It's been about 4 weeks since your haircut with [Stylist] ā usually the right time for a trim to keep the shape looking sharp. [Stylist] has slots open this week: ⢠Wednesday, 11 am ⢠Thursday, 4 pm ⢠Saturday, 12 pm Shall I book one of these for you?
Why this works: Presenting three concrete available slots removes the friction of 'I'll check my calendar later' ā the client just picks one and replies, making the rebook feel effortless.
Tip: Do pull the slots from your actual availability before sending; a client who chooses a slot that turns out to be full will not rebook easily.
Show Meta API form ({{1}} placeholders)
Hi {{1}},
It's been about 4 weeks since your haircut with {{2}} ā usually the right time for a trim to keep the shape looking sharp.
{{2}} has slots open this week:
⢠{{3}}
⢠{{4}}
⢠{{5}}
Shall I book one of these for you?Variables
- {{1}}Client first name
- {{2}}Stylist name
- {{3}}Slot option 1
- {{4}}Slot option 2
- {{5}}Slot option 3
Colour Touch-Up Reminder
Hi [Name], Your [Colour Service] was 3 weeks ago ā roots usually start showing around now, so this is the ideal window for a touch-up before the festive season gets hectic. We're holding a slot for you with [Stylist] on [Date] at [Time]. Want me to confirm it?
Why this works: Framing the message around the client's roots rather than a generic reminder makes it feel like personalised advice ā and pre-holding a slot creates a mild sense of commitment that nudges them to confirm.
Tip: Do reference the specific colour service (balayage, global colour, highlights) ā generic messages get ignored.
Show Meta API form ({{1}} placeholders)
Hi {{1}},
Your {{2}} was 3 weeks ago ā roots usually start showing around now, so this is the ideal window for a touch-up before the festive season gets hectic.
We're holding a slot for you with {{3}} on {{4}} at {{5}}.
Want me to confirm it?Variables
- {{1}}Client first name
- {{2}}Colour service name
- {{3}}Stylist name
- {{4}}Proposed date
- {{5}}Proposed time
Bridal / Party Package Follow-Up
Hi [Name], Following up on the bridal package you enquired about ā I wanted to share the full inclusions so you have everything in one place: ⢠Bridal makeup & draping ⢠Pre-bridal facial (1 session) ⢠Hairstyling on the day ⢠Mehendi touchup ⢠One bridesmaid's blowout Package price: ā¹[Amount] (valid until [Expiry Date]) We can hold your date as soon as we receive a 25% advance ā no slot is confirmed without it as we get booked up months ahead. Shall I send you the booking link?
Why this works: Listing the exact inclusions and a price expiry date turns an abstract enquiry into a tangible decision ā the client now has everything needed to say yes without asking more questions.
Tip: Don't send this template without confirming the wedding date is still available in your calendar first.
Show Meta API form ({{1}} placeholders)
Hi {{1}},
Following up on the bridal package you enquired about ā I wanted to share the full inclusions so you have everything in one place:
⢠Bridal makeup & draping
⢠Pre-bridal facial (1 session)
⢠Hairstyling on the day
⢠Mehendi touchup
⢠One bridesmaid's blowout
Package price: ā¹{{2}} (valid until {{3}})
We can hold your date as soon as we receive a 25% advance ā no slot is confirmed without it as we get booked up months ahead.
Shall I send you the booking link?Variables
- {{1}}Client first name
- {{2}}Package price
- {{3}}Offer expiry date
No-Show Re-Engagement
Hi [Name], We missed you at your [Time] appointment today ā hope everything's alright. No worries at all ā shall I find you a new slot this week? I have [Day] at [Time] open with [Stylist]. Just reply 'Yes' and I'll hold it for you.
Why this works: The warm, non-accusatory tone removes any embarrassment the client might feel about the no-show ā and offering a specific alternative slot the same day captures them while the intention to visit is still fresh.
Tip: Don't mention cancellation fees or policies in this message; keep it purely warm and solution-focused.
Show Meta API form ({{1}} placeholders)
Hi {{1}},
We missed you at your {{2}} appointment today ā hope everything's alright.
No worries at all ā shall I find you a new slot this week? I have {{3}} at {{4}} open with {{5}}.
Just reply 'Yes' and I'll hold it for you.Variables
- {{1}}Client first name
- {{2}}Original appointment time
- {{3}}Available day
- {{4}}Available time
- {{5}}Stylist name
Membership / Prepaid Package Nudge
Hi [Name], You've visited us [X] times in the last 3 months ā that's exactly the profile our Monthly Unlimited Blowout membership is designed for. Here's what it covers: ⢠Unlimited blowouts all month ⢠10% off any add-on service ⢠Priority booking on weekends Membership fee: ā¹[Price]/month Based on your usual frequency, you'd save roughly ā¹[Savings] every month compared to paying per visit. Interested? I can activate it from your next appointment.
Why this works: Anchoring the membership to the client's actual visit frequency makes the saving feel concrete and personally relevant ā it reads as a helpful observation, not a sales pitch.
Tip: Do calculate the saving figure accurately before sending; an inflated number will erode trust if the client checks the maths.
Show Meta API form ({{1}} placeholders)
Hi {{1}},
You've visited us {{2}} times in the last 3 months ā that's exactly the profile our Monthly Unlimited Blowout membership is designed for.
Here's what it covers:
⢠Unlimited blowouts all month
⢠10% off any add-on service
⢠Priority booking on weekends
Membership fee: ā¹{{3}}/month
Based on your usual frequency, you'd save roughly ā¹{{4}} every month compared to paying per visit.
Interested? I can activate it from your next appointment.Variables
- {{1}}Client first name
- {{2}}Number of visits
- {{3}}Membership price
- {{4}}Estimated monthly saving
Seasonal / Festive Offer Re-Activation
Hi [Name], Diwali is three weeks away ā we've put together a Festive Glow package for clients who haven't been in for a while, and I thought of you. Festive Glow includes: ⢠Full-face cleanup ⢠Eyebrow threading & tint ⢠Party blowout Package price: ā¹[Price] (regular ā¹[Regular Price]) Available until [End Date] ā slots fill quickly around the festive period. Want me to book you in?
Why this works: A specific occasion creates a natural, non-pushy reason to reach out ā and naming the client explicitly ('I thought of you') makes a broadcast-style offer feel individual.
Tip: Don't send festive offer messages fewer than 10 days before the event; lead time matters for clients to plan.
Show Meta API form ({{1}} placeholders)
Hi {{1}},
Diwali is three weeks away ā we've put together a Festive Glow package for clients who haven't been in for a while, and I thought of you.
Festive Glow includes:
⢠Full-face cleanup
⢠Eyebrow threading & tint
⢠Party blowout
Package price: ā¹{{2}} (regular ā¹{{3}})
Available until {{4}} ā slots fill quickly around the festive period.
Want me to book you in?Variables
- {{1}}Client first name
- {{2}}Package price
- {{3}}Regular price
- {{4}}Offer end date
Birthday Reward with Specific Offer
Hi [Name], Happy Birthday! š As a thank-you for being a valued client, we're offering you 20% off any single service this month ā no minimum spend, no fine print. Offer valid until [End Date]. Your usual stylist [Stylist] would love to see you. Shall I check availability?
Why this works: A birthday message with a named discount and a clear expiry taps into the client's natural desire to treat themselves ā mentioning their usual stylist adds a personal touch that separates it from a generic promotional blast.
Tip: Do ensure the offer end date is the last day of the birth month, not an arbitrary 7-day window that may feel rushed.
Show Meta API form ({{1}} placeholders)
Hi {{1}},
Happy Birthday! š
As a thank-you for being a valued client, we're offering you 20% off any single service this month ā no minimum spend, no fine print.
Offer valid until {{2}}.
Your usual stylist {{3}} would love to see you. Shall I check availability?Variables
- {{1}}Client first name
- {{2}}Offer expiry date (end of birth month)
- {{3}}Stylist name
Dormant Client Win-Back
Hi [Name], It's been a while ā the last time you were with us was for your [Last Service] back in [Month]. We've since added [New Service or Update] which I think you'd genuinely enjoy, and we'd love to have you back. As a returning client, we'll give you ā¹[Discount] off your next visit ā valid for the next 2 weeks. Shall I find you a slot?
Why this works: Referencing the client's specific last service shows you remember them as an individual ā pairing that with something genuinely new at the salon gives a reason to return that isn't just a discount.
Tip: Don't use this template if the client has already been re-engaged via another follow-up in the same month; space win-back messages thoughtfully.
Show Meta API form ({{1}} placeholders)
Hi {{1}},
It's been a while ā the last time you were with us was for your {{2}} back in {{3}}.
We've since added {{4}} which I think you'd genuinely enjoy, and we'd love to have you back.
As a returning client, we'll give you ā¹{{5}} off your next visit ā valid for the next 2 weeks.
Shall I find you a slot?Variables
- {{1}}Client first name
- {{2}}Last service
- {{3}}Month of last visit
- {{4}}New service or update at the salon
- {{5}}Discount amount
Post-Service Product Recommendation
Hi [Name], Hope you're loving your [Service] from yesterday! [Stylist] mentioned she used the [Product Name] on your hair during the treatment ā it's what gives that finish its hold. We stock it at the salon (ā¹[Price]) and it works well between appointments. No pressure at all ā just wanted to flag it in case you'd like to pick one up on your next visit or we can arrange delivery if that's easier. Let me know!
Why this works: Attributing the recommendation to the stylist by name makes it feel like personal advice rather than a shop push ā the 'no pressure' line removes the salesy friction while keeping the door open.
Tip: Do include the product price upfront; making a client ask for the cost creates unnecessary friction.
Show Meta API form ({{1}} placeholders)
Hi {{1}},
Hope you're loving your {{2}} from yesterday!
{{3}} mentioned she used the {{4}} on your hair during the treatment ā it's what gives that finish its hold. We stock it at the salon (ā¹{{5}}) and it works well between appointments.
No pressure at all ā just wanted to flag it in case you'd like to pick one up on your next visit or we can arrange delivery if that's easier.
Let me know!Variables
- {{1}}Client first name
- {{2}}Service received
- {{3}}Stylist name
- {{4}}Product name
- {{5}}Product price
Pre-Appointment Confirmation with Prep Notes
Hi [Name], Quick reminder ā you're booked in with [Stylist] tomorrow, [Date] at [Time] for your [Service]. A couple of things that'll help: ⢠Please arrive 10 minutes early so we can get started on time ⢠Come with clean, dry hair (no oils or heavy products) ⢠Let us know if anything in your brief has changed See you tomorrow!
Why this works: Prep instructions give the client something actionable ā they feel looked after rather than just reminded, which reduces no-shows because arriving prepared feels like a commitment they've already begun.
Tip: Do customise the prep note to the service; a prep note for a keratin treatment differs from one for a facial ā keep it relevant.
Show Meta API form ({{1}} placeholders)
Hi {{1}},
Quick reminder ā you're booked in with {{2}} tomorrow, {{3}} at {{4}} for your {{5}}.
A couple of things that'll help:
⢠Please arrive 10 minutes early so we can get started on time
⢠Come with clean, dry hair (no oils or heavy products)
⢠Let us know if anything in your brief has changed
See you tomorrow!Variables
- {{1}}Client first name
- {{2}}Stylist name
- {{3}}Date
- {{4}}Time
- {{5}}Service booked
Referral Ask After a Positive Visit
Hi [Name], So glad you loved your [Service] ā it really was a pleasure having you in. If you have a friend who's been meaning to visit us, here's a little something for both of you: ⢠You get ā¹[Your Discount] off your next booking ⢠Your friend gets ā¹[Friend Discount] off their first visit All they need to do is mention your name when they book ā that's it. The offer's open for the next 30 days. No fuss, no forms.
Why this works: Asking for a referral immediately after a peak satisfaction moment (post-positive feedback) is when social goodwill is highest ā and making the mechanism dead simple ('just mention your name') eliminates every barrier to a warm introduction.
Tip: Don't send a referral ask if the client's last visit had any service issue flagged; resolve it fully before asking them to refer friends.
Show Meta API form ({{1}} placeholders)
Hi {{1}},
So glad you loved your {{2}} ā it really was a pleasure having you in.
If you have a friend who's been meaning to visit us, here's a little something for both of you:
⢠You get ā¹{{3}} off your next booking
⢠Your friend gets ā¹{{4}} off their first visit
All they need to do is mention your name when they book ā that's it.
The offer's open for the next 30 days. No fuss, no forms.Variables
- {{1}}Client first name
- {{2}}Service received
- {{3}}Referrer discount amount
- {{4}}Friend discount amount
Frequently Asked Questions
Send these templates from Kraya in one click
Auto-personalise, schedule, and track WhatsApp messages ā no copy-paste needed.