Lead capture, AI qualification, appointment booking, and re-engagement
1
Stage 01Customer-facing
Lead Capture & First Contact
A new lead arrives from any of 6 sources and receives a personalised first-touch SMS within seconds — each source has its own tailored message.
TriggerHubSpot deal property change webhook fires to n8n — triggered by Web leads, Social Media leads, Bark leads, Abandoned Calls, or a List campaign. Each source routes to its own dedicated trigger workflow.
Outcomes
Lead name is validated and cleaned via AI (handles invalid names like numbers or "bot test")
Postcode is extracted and used to determine Australian timezone (NSW/VIC/QLD/SA/WA/TAS)
Source-specific first-touch SMS sent via HostMetric CRM → MessageMedia within seconds of webhook receipt
⚡ Instant — fires within seconds of HubSpot webhook receipt
Customer experience
Receives a message that feels relevant to how they enquired — Bark leads get a different message to social media leads, web leads, or abandoned callers. Personal, not generic.
Team experience
Lead arrives in HubSpot pre-enriched with timezone and a clean name — no manual entry. A booking confirmation email is sent to the team when an appointment is locked in.
Business value
Speed-to-lead is the #1 driver of conversion — instant, source-aware contact captures attention before the lead moves on.
📝 Notes on Behaviour & Automation Setup
Please add feedback on timing, tone, or how this automation behaves here — edit the message content directly in the box below, as that is exactly what will be sent to customers.
S
Solar Battery Group
Web & Social Media leads — sent on HubSpot webhook
Web / Social Media first-touch SMS
S
Solar Battery Group
Bark leads — sent on HubSpot webhook
Bark first-touch SMS
S
Solar Battery Group
Abandoned calls — sent on HubSpot webhook
Abandoned call first-touch SMS
S
Solar Battery Group
List campaign — sent on trigger
List campaign first-touch SMS
Technical workflows›
SBG - Main Webhook from HubSpotSBG - Trigger by Web LeadsSBG - Trigger by Social Media LeadsSBG - Trigger by Bark LeadsSBG - Trigger by Abandoned CallsSBG - Trigger by ListSBG - Update Postcode and TimezoneSBG List - Website Submission Handler/Validator
2
Stage 02AI-powered
AI SMS Qualification & Booking
The AI bot takes over the conversation, qualifies the lead (name, postcode, product interest), and books a phone appointment — all via SMS.
TriggerCustomer replies to the first-touch SMS — MessageMedia delivers the inbound message to n8n via . The bot loads chat history and contact info, then responds using a source-specific AI agent (Abandoned Call, Web Lead, Social Media, Bark, or Re-engagement).
Outcomes
Bot collects first name and postcode (mandatory before offering appointment slots)
Asks product interest: battery only, or solar + battery — used to route to the right specialist and update
Offers 2–3 live calendar slots (Mon–Fri, 9:45am–5:15pm AEDT); books confirmed slot into Google Calendar and creates a HubSpot task
⚡ Instant — AI responds within seconds of each customer reply
Customer experience
Feels like texting a knowledgeable SBG person — warm, plain English, no jargon. Booking feels like a natural next step, not a sales push.
Team experience
Zero involvement until booking is confirmed. A branded HTML booking email and HubSpot task (tagged [BOT BOOKED]) lands in the queue with full lead context.
Business value
Converts raw leads to qualified, booked phone appointments 24/7 — with no sales team time until the call itself.
📝 Notes on Behaviour & Automation Setup
Please add feedback on timing, tone, or how this automation behaves here — edit the message content directly in the box below, as that is exactly what will be sent to customers.
S
Solar Battery Group (AI)
Sent when customer replies — postcode not yet captured
Name & postcode capture
S
Solar Battery Group (AI)
Sent after name & postcode confirmed
Appointment slot offer
S
Solar Battery Group (AI)
Sent after appointment confirmed
Booking confirmation
Technical workflows›
SBG - SMS BotSBG - SMS DeliverySBG - Message Media Receive SMSSBG - Obtain Customer InfoSBG - Products Interested inSBG - Get Calendar SlotsSBG - Booking ToolSBG - After Booking ToolSBG - Update InfoSBG - Select SMS VariantSBG - Handle Outbound MessagesSBG - Get Contact & Simplify Custom FieldsSBG List - SMS HandlerSBG List - SMS Bot Brains Batch 1
3
Stage 03Customer-facing
Appointment Confirmation & Reminders
Once booked, the customer receives confirmation and timely reminders to reduce no-shows.
TriggerBooking confirmed in the calendar — n8n scheduling workflow fires follow-up messages at preset intervals.
Outcomes
Immediate booking confirmation SMS sent with appointment details
Reminder SMS sent 24 hours before the appointment
HubSpot pipeline stage updated to "Appointment Booked"
Receives clear confirmation with date, time, and what to expect — then a friendly reminder so the appointment stays top of mind.
Team experience
No manual reminder calls — the system handles all pre-appointment communication automatically.
Business value
Automated reminders significantly reduce no-show rates, protecting the team's time and conversion pipeline.
📝 Notes on Behaviour & Automation Setup
Please add feedback on timing, tone, or how this automation behaves here — edit the message content directly in the box below, as that is exactly what will be sent to customers.
S
SBG Energy
Sent immediately on booking
Booking confirmation
S
SBG Energy
Sent 24 hours before appointment
Reminder SMS
Technical workflows›
SBG - Set ScheduleSBG - After Booking ToolSBG - Update OpportunitiesSBG - Handle Outbound MessagesSBG - SMS Delivery
4
Stage 04Internal automation
Ops Inactivity Follow-up
Leads who haven't booked a slot are followed up automatically the next morning at 9am.
TriggerExecuted by another workflow — waits until 8:57am in the customer's local timezone (next day if already past that time), then checks for any inbound SMS reply. If no reply exists, sends the follow-up message.
Outcomes
Checks for a real inbound SMS reply before sending — won't message if customer already replied
Follow-up SMS sent the next morning at ~9am in the customer's timezone
Message asks for a good callback time to lock in the consultation
⏱ Delayed — waits until 8:57am customer local time before checking & sending
Customer experience
Receives a friendly morning message asking for a good time for a call — arrives at ~9am in their local timezone, not at an inconvenient hour.
Team experience
Zero manual effort — the system checks for a reply first, only sends if the customer hasn't already responded, and fires at the right local time.
Business value
Recaptures leads that would otherwise be lost to silence, with zero sales team time spent on monitoring.
📝 Notes on Behaviour & Automation Setup
Please add feedback on timing, tone, or how this automation behaves here — edit the message content directly in the box below, as that is exactly what will be sent to customers.
S
SBG Energy
Sent after inactivity window
Follow-up SMS — weekday
S
Solar Battery Group
Variant 2 — morning follow-up with urgency
Follow-up SMS — morning urgency variant
S
Solar Battery Group
Variant 3 — weekend follow-up
Follow-up SMS — weekend
Technical workflows›
SBG - Check Replies After N TimeSBG Ops - Follow Up Message After N TimeSBG - Email Escalation WorkflowSBG - Missed to Call a Lead Email EscalationSBG - Update Opportunities
⚙
Operations
Post-sale support, Aircall handling, pipeline updates, and retargeting
5
Stage 05AI-powered
Ops AI Bot — Missed Call Recovery
When a customer calls and no one answers, the Ops AI bot fires an SMS within 60 seconds to recover the call and book a callback.
TriggerAircall webhook fires on a missed or abandoned call — n8n receives the event, looks up the contact in , and sends the first SMS. If the customer called from a landline (no SMS), an internal email alert is sent to the team instead.
Outcomes
First SMS sent within ~60 seconds of the missed call acknowledging it and asking for a good callback time
AI bot collects a short reason for the call, name, and postcode — then books the next available callback slot
If the query is out of scope, the bot escalates: saves a note to and sends a branded email alert to the team
⚡ Instant — first SMS sent within 60 seconds of the missed call
Customer experience
Instead of hitting voicemail and waiting, the customer gets a text straight away — feels like the team noticed immediately and is already working to call back.
Team experience
Missed calls are automatically recovered and booked back into the calendar — team receives a branded email alert only when a human needs to step in.
Business value
Recovers missed calls before the customer gives up and contacts a competitor — every missed call becomes a booked callback.
📝 Notes on Behaviour & Automation Setup
Please add feedback on timing, tone, or how this automation behaves here — edit the message content directly in the box below, as that is exactly what will be sent to customers.
S
Solar Battery Group (Ops Bot)
Sent within ~60 seconds of missed call
Missed call recovery SMS
S
Solar Battery Group (Ops Bot)
Sent after customer provides callback details
Callback confirmation SMS
Technical workflows›
SBG Ops - SMS HandlerSBG Ops - Aircall WebhookSBG Ops - Booking ToolSBG Ops - Get Calendar SlotsSBG Ops - Update InfoSBG Ops - Products InterestedSBG Ops - Callback ASAP EscalationSBG Ops - Send EscalationSBG Ops - Add Outbound Message to Chat MemorySBG Ops - Conversation Delivery URLSBG Ops - Pipeline Status UpdateSBG Ops - HostMetric Status to Google Sheets
6
Stage 06Customer-facing
Retargeting — Warm & Cold Leads
Leads that didn't convert are re-entered into targeted SMS sequences to bring them back.
TriggerHubSpot pipeline stage change (e.g. "Lost" or "No Response") or manual trigger from the retargeting list — fires the retargeting main trigger.
Outcomes
Leads receive a sequenced retargeting SMS campaign with strategic delays
Each message is processed individually to allow personalisation per contact
Replies re-enter the main AI qualification flow automatically
⏱ Delayed — messages sent with configured delays between each
Customer experience
Receives timely, relevant messages that re-spark interest — feels like SBG remembered them, not like spam.
Team experience
Dead leads are automatically worked in the background — the sales team only sees them again if they re-engage.
Business value
Monetises leads that have already been paid for — retargeting converts pipeline that would otherwise be written off.
📝 Notes on Behaviour & Automation Setup
Please add feedback on timing, tone, or how this automation behaves here — edit the message content directly in the box below, as that is exactly what will be sent to customers.
S
SBG Energy
Retargeting message 1
Re-engagement SMS
S
SBG Energy
Retargeting message 2 (delayed)
Follow-up retargeting SMS
Technical workflows›
SBG - RE - Main HubSpot TriggerSBG - RE - Process Retargeting IndividuallySBG - RE - Send Message with DelaysSBG - RE - Follow-up MessageSBG - MessageMedia - Receive Message and Sync to
⚡ AI Layer — Marketing & Sales
AI SMS Booking Assistant
The SBG SMS bot is a friendly, plain-speaking AI assistant that engages leads via SMS, qualifies them, and books phone appointments with a specialist. Its sole KPI is to lock in an appointment as quickly as possible. It never closes sales, never issues formal quotes, and always defers detailed pricing and rebates to the call. It operates across 5 specialised agents, each tuned to its lead source.
Web Leads agentReferences pricing/rebate ad messaging, personalises with name + location + enquiry
Social Media agentFacebook/Instagram ad leads — same flow as web but social-entry context
Bark agentPositions SBG value vs competitors — leads are comparison-shopping
Re-engagement agentSoft, low-pressure tone for cold or previously unresponsive leads
Conversation flow & rules
Must collect postcode before offering any appointment slots — timezone is derived from postcode
Asks product interest (battery only vs solar + battery) before booking — routes to correct specialist
Offers 2–3 live slots conversationally (never as bullet lists) — business hours 9:45am–5:15pm AEDT
SMS variant is selected via weighted A/B test from Supabase — different message variants per lead source with configurable send weights
Key offer & proof points the bot uses
Batteries from $2,680 — Alpha B3 Plus / Smile5, Ambrion, Tesla Powerwall 3
26,000+ installs, largest installer in Australia
Rebates available — vary by state and setup, confirmed on the call
Next-day install possible for urgent cases
Escalation & special cases
Unsubscribe / Do Not Contact → filtered before escalation email is sent, contact marked
Apartment or large commercial → politely disqualified
Out-of-scope issues → email to [email protected] via HostMetric Reception
Conversation log synced to HubSpot notes after every exchange
Escalation flow — Marketing & Sales
Out-of-scope detected
→
Unsubscribe check
→
Email to SBG marketing team
→
HubSpot record updated
→
Conversation log appended
What's happening in the background
1
HubSpot deal property change fires webhook
A deal's lead_source property is set in HubSpot → webhook fires to the n8n main webhook. The source value (web, social, bark, abandoned call, list) routes to the matching trigger workflow.
2
Contact name validated & cleaned via AI
An information extractor checks the first name, last name, email, and deal fields. If the name looks invalid (numbers, "bot", "test"), isValidFirstName is set to false and a fallback greeting ("Hi there") is used.
3
SMS variant selected via weighted A/B test
The Select SMS Variant workflow queries Supabase for active variants matching the lead source, runs a weighted random selection, and returns the chosen message template for the first SMS.
4
First-touch SMS sent via → MessageMedia
The selected message is posted to 's conversations API with the customer's phone number. routes it through MessageMedia using the SBG sender number, with a callback URL for delivery status.
5
Customer reply received & routed to AI bot
MessageMedia delivers the inbound reply to n8n → synced to → AI bot loads contact, custom fields (simplified via the GetContact sub-workflow), and the last 4–5 messages of chat history.
6
Conversation logged to HubSpot notes
After every AI response, the full conversation log is formatted as HTML and posted as a HubSpot note associated with the contact's deal — full visibility for the sales team.
1
Aircall missed call fires webhook
n8n receives the Aircall event, checks if the caller has a mobile number. If it's a landline, a team email alert is sent instead of an SMS.
2
contact looked up & first SMS sent
The contact is fetched from . The bot sends the first recovery SMS within ~60 seconds, acknowledging the missed call and asking for a callback booking.
3
Customer replies — SMS handler picks it up
MessageMedia delivers the inbound reply to n8n via . The SMS handler loads full contact info and the last few chat history messages for context.
4
Bot identifies timezone & fetches calendar slots
Postcode is used to set the customer's Australian timezone (WA = Perth schedule 6:30–12:00, all others = 9:30–15:00). Live calendar availability is fetched and offered to the customer.
5
Callback booked & confirmed
The bot books the selected slot into Google Calendar, updates the contact record (product, timezone, postcode), and sends a confirmation SMS.
6
All messages saved to chat memory &
Outbound messages are checked against Postgres chat memory to avoid duplicates, then appended. Conversation is synced to contact notes for team visibility.
1
Aircall event received
Completed or missed calls on Aircall fire a webhook to n8n, logging call outcome against the HubSpot contact.
2
Pipeline status updated
n8n pushes the new pipeline stage to HubSpot — e.g. "Consultation Complete", "No Show", "Needs Follow-up".
3
Google Sheets reporting updated
HostMetric App status changes are mirrored to a Google Sheet for live reporting and team visibility.
4
Post-call SMS triggered
If the call outcome warrants it (e.g. no answer), the ops bot fires an SMS to the customer to re-engage.
5
Escalations handled
If a callback ASAP is requested, the escalation workflow fires immediately and alerts the right team member.