HL Subaccount — Artifact 10

GHL Workflow Templates

Eight automated workflows powering lead engagement, booking confirmation, pre-arrival, post-stay follow-up, DQ cleanup, and availability checking for Halo Condo.

◆ 8 Workflows ◆ v1.0 ◆ Halo Condo — Trinidad
⚡
5
Engagement Workflows
🔑
1
Critical Booking Workflow
🗑
2
Pipeline & Cleanup

Workflow Library

0
Check Availability (Bot Fallback)
System
⚡ Trigger Customer Reply Message contains keyword
→
🔎 Filter Keywords Match available, availability, book, dates, when, open, free
→
✓ Action 1 HTTP Request GET bookings JSON
→
✓ Action 2 Send Message to Contact Booked dates + booking link
HTTP Request — GET https://haloplacett.com/wp-json/halo/v1/bookings/
Send Message: "Here are our currently booked dates: {{httpResponse.body}} If your dates don't overlap with any of the above, they're available! Book at haloplacett.com/book-direct/"
Fallback Only: The bot's system prompt handles availability checking via the Check Availability action. This workflow is a safety net for when the bot misses availability-related intent. The HTTP response returns a JSON array of booked date ranges.
1
New Lead Welcome
Engagement
⚡ Trigger Contact Created
→
🔎 Filter Source = WhatsApp
→
⏲ Wait 30 Seconds
→
✓ Action Send WhatsApp Template Welcome Message
Tag bot-greeting-complete
Update Contact Field — bot_conversation_summary = "New WhatsApp inquiry — awaiting first response"
2
Booking Link Sent — 3-Day Follow-up
Engagement
⚡ Trigger Tag Applied booking-link-sent
→
⏲ Wait 3 Days
→
🔎 Condition Tag does NOT have successfully-booked
→
✓ Action Send WhatsApp 3-Day Follow-up Message
WhatsApp: "Hi {{contact.name}}, just checking in — did you have a chance to look at the availability for Halo Condo? If you have any questions about the apartment or booking directly, I'm here. haloplacett.com/book-direct/"
Update Contact Field — questions_asked = "No booking after 3 days — gentle follow-up sent"
3
Booking Link Sent — 7-Day Email Follow-up
Engagement
⚡ Trigger Tag Applied booking-link-sent
→
⏲ Wait 7 Days
→
🔎 Condition Tag does NOT have successfully-booked
→
✓ Action Send Email Template Still looking?
Email Template: "Still looking for accommodation in Trinidad?" (ref: 09_Email_Templates)
Add Internal Note: "7-day follow-up email sent — no booking yet"
4
WooCommerce Order → Successfully Booked
Critical
⚡ Trigger Inbound Webhook WooCommerce Order Created
→
✓ Action Search Contact by Email billing_email
GHL Config Note: The webhook URL is provided by GHL in the Workflow builder under "Inbound Webhook" trigger. Configure this URL in WooCommerce → Settings → Webhooks, set to fire on "Order Created".
✓ Branch A — Contact Found
Tag: successfully-booked
Send WhatsApp Template: Booking Confirmation (ref: 08_WhatsApp_Templates)
Update Opportunity: Move to "Direct Booking Confirmed" stage
Update Contact Field: booking_link_sent_at = {order date}
✗ Branch B — Contact NOT Found
Create Contact with: name, email, phone from order
Tag: source-web, successfully-booked
Send WhatsApp Template: Booking Confirmation
Create Opportunity in "Direct Booking Confirmed" stage
5
Pre-Arrival — 48h Before Check-in
Pipeline
⚡ Trigger Tag Applied successfully-booked
→
⏲ Wait Until 48 Hours Before Check-in Date
→
✓ Action Send WhatsApp Template Pre-Arrival Check-in
Tag: pre-arrival
Update Contact Field — bot_conversation_summary = "Pre-arrival check-in instructions sent"
Note: Requires check-in date from the WooCommerce order or a date custom field. If the field is reliably passed, automate. Otherwise, run this workflow manually per booking with a date-based trigger.
6
Post-Stay — Day After Checkout
Pipeline
⚡ Trigger Tag Applied successfully-booked
→
⏲ Wait Until Checkout Date + 1 Day
→
✓ Action Send WhatsApp Template Post-Stay Follow-up
→
✓ Action Send Email Template Post-Stay Thank You
WhatsApp Template: Post-Stay Follow-up (ref: 08_WhatsApp_Templates)
Email Template: Post-Stay Thank You (ref: 09_Email_Templates)
Update Opportunity: Move to "Stay Completed" stage
Add Internal Note: "Post-stay follow-up sent — review requested"
7
DQ — Disqualification Cleanup
System
⚡ Trigger Tag Applied dq-irrelevant
OR dq-out-of-range
→
✓ Action Update Opportunity Move to Lost
→
✓ Action Update Contact Field disqualification_reason
→
✓ Action Add Internal Note Disqualification Log
Update Opportunity: Move to "Disqualified" stage (Lost)
Update Contact Field — disqualification_reason = {dq tag value}
Add Internal Note: "Contact disqualified — {reason}"

Important Notes