Using Wait for Reply with iMessage Workflows
Learn how to use "Wait for Reply" workflow steps with iMessage in GoHighLevel when using WhatSnap's custom gateway integration.
When using iMessage through WhatSnap in GoHighLevel workflows, you may encounter an issue where the "Wait for Reply" step doesn't function as expected with custom actions. This guide explains why this happens and how to work around it effectively.
❌ The Problem
If you're using WhatSnap custom actions to send iMessages and then add a "Wait for Reply" step in your workflow, you'll notice:
The "Wait for Reply" step doesn't recognize the custom action
This happens because GoHighLevel doesn't register custom actions as valid message types that can be waited on. The workflow will skip the wait step and continue immediately.
Example of What Doesn't Work:
1. Send Message (WhatSnap Custom Action - iMessage)
2. Wait for Contact Reply ❌ (This gets skipped)
3. Send Follow-up Message✅ The Solution
To make the "Wait for Reply" step work with iMessage, you need to follow these conditions:
🔧 1. Configure Account for iMessage Only
Ensure your WhatSnap account is configured to use iMessage as the primary/only messaging channel:
In WhatSnap Dashboard, locate your iMessage device
Verify it's set as the SMS Channel Override (not as a separate channel)
This ensures all SMS actions route through iMessage automatically
SMS Channel Override: When enabled, WhatSnap replaces your GHL SMS channel, so all standard SMS actions automatically use iMessage for iPhone users.
📩 2. Use Standard SMS Action Instead of Custom Action
Even though you're using iMessage under the hood, GoHighLevel will send the message as iMessage if the recipient is an iPhone user—as long as you're using the standard SMS action.
Why This Works:
GoHighLevel recognizes standard SMS actions for "Wait for Reply" functionality
WhatSnap's SMS Channel Override ensures the message sends via iMessage
The recipient still receives it as an iMessage (blue bubble)
Replies are properly tracked by the wait step
💡 Example Workflow Setup
Here's how to build your workflow correctly:
✅ Working Workflow
Trigger: Tag added → "new-lead"
1. Send SMS (Standard Action)
Message: "Hi {{first_name}}, thanks for reaching out!
Are you available for a quick call tomorrow?"
→ Sends as iMessage if recipient has iPhone
→ Sends as SMS if recipient has Android
2. Wait for Contact Reply
Duration: 24 hours
→ Now works! Detects replies properly
3. IF Reply Contains "yes"
→ Send SMS: "Great! I'll call you tomorrow at 10 AM"
4. IF Reply Contains "no"
→ Send SMS: "No problem! What day works better for you?"
5. IF No Reply (timeout)
→ Send SMS: "Just following up on my previous message..."🔁 Visual Workflow Example
🔧 Step-by-Step Configuration
Step 1: Verify SMS Channel Override
Ensure your iMessage account is set to override the SMS channel:
Go to WhatSnap Dashboard in GHL
Navigate to Connected Accounts or Devices
Find your iMessage device
Click Settings or menu (⋮)
Verify "SMS Channel Override" is enabled
If not enabled, toggle it on and save
What This Does:
Routes all standard SMS actions through your iMessage account
Maintains compatibility with GHL's built-in workflow features
Automatically selects iMessage or SMS based on recipient device type
Step 2: Create Workflow with Standard Actions
Build your workflow using standard GHL actions:
In GoHighLevel, go to Automations → Workflows
Create a new workflow or edit existing one
Add "Send Message" action (not custom action)
Select "SMS" as the channel type
Compose your message with personalization
Add "Wait for Contact Reply" step
Configure wait duration (e.g., 24 hours, 48 hours)
Add conditional branches based on reply content
Add follow-up actions for each scenario
Important:
Use the standard SMS action, not WhatSnap custom action
The message will automatically route via iMessage
The wait step will now properly track replies
Step 3: Test the Workflow
Verify your workflow functions correctly:
Test Contact Setup:
Use a contact with the iMessage account tag
Ensure contact has a valid iPhone number
Assign contact to workflow trigger
Trigger the Workflow:
Manually trigger workflow or use trigger condition
Verify first message sends as iMessage (check Mac Messages app)
Confirm message shows as blue bubble on recipient's iPhone
Test Reply Detection:
Have recipient reply to the message
Verify workflow detects the reply
Check that appropriate conditional branch executes
Confirm follow-up message sends
Test Timeout:
Trigger workflow with a contact who won't reply
Wait for timeout duration to elapse
Verify timeout branch executes
Confirm reminder/follow-up message sends
Testing Tip: Use a second iPhone you control for testing to verify both reply and timeout scenarios work correctly.
🚫 What NOT to Do
❌ Don't Use Custom Action for Initial Message
This Won't Work:
1. Send Message (WhatSnap Custom Action - iMessage)
2. Wait for Contact Reply ❌ (Skipped)
3. Respond with another messageWhy It Fails:
GoHighLevel doesn't track replies against custom actions
The wait step is immediately skipped
Workflow continues without waiting for reply
Conditional branching based on reply doesn't work
❌ Don't Mix Custom and Standard Actions
Avoid This Pattern:
1. Send SMS (Standard Action) ✅
2. Wait for Reply ✅
3. Send Message (Custom Action) ⚠️ (Inconsistent)Why It's Problematic:
Inconsistent message routing
Harder to troubleshoot
May confuse contact (different sender behavior)
✅ What Works - Summary Table
iMessage Sending
✅ Yes
✅ Yes
Wait for Reply
❌ No
✅ Yes
Reply Detection
❌ No
✅ Yes
Conditional Branching
❌ No
✅ Yes
Timeout Handling
❌ No
✅ Yes
iOS/Android Auto-Detection
⚠️ Manual
✅ Automatic
📋 Common Workflow Patterns
Pattern 1: Qualification Workflow
Trigger: New lead added
1. Send SMS (Standard): "Hi {{first_name}}, are you looking to
buy or sell a property?"
2. Wait for Reply (48 hours)
3. IF Reply contains "buy"
→ Tag: "buyer"
→ Send SMS: "Great! I'll send you our current listings..."
4. IF Reply contains "sell"
→ Tag: "seller"
→ Send SMS: "Perfect! Let's schedule a home evaluation..."
5. IF No Reply
→ Send SMS: "Just checking in - still interested?"Pattern 2: Appointment Confirmation
Trigger: Appointment booked
1. Send SMS (Standard): "Hi {{first_name}}, your appointment
is scheduled for {{appointment_date}}. Reply YES to confirm."
2. Wait for Reply (24 hours)
3. IF Reply contains "yes" or "confirm"
→ Tag: "appointment-confirmed"
→ Send SMS: "Great! See you then!"
4. IF Reply contains "no" or "cancel"
→ Tag: "appointment-cancelled"
→ Send SMS: "No problem, would you like to reschedule?"
5. IF No Reply
→ Send SMS: "Reminder: Please confirm your appointment for tomorrow"Pattern 3: Sales Follow-Up Sequence
Trigger: Demo completed
1. Send SMS (Standard): "Hi {{first_name}}, thanks for the demo!
Do you have any questions I can answer?"
2. Wait for Reply (24 hours)
3. IF Reply received
→ Respond based on content
→ Assign to "engaged-leads"
4. IF No Reply
→ Wait 2 days
→ Send SMS: "Just following up - still interested?"
→ Wait for Reply (24 hours)
5. IF Still No Reply
→ Assign to "cold-follow-up" campaign🔍 Troubleshooting
Issue: Wait Step Still Not Working
Symptoms:
Using standard SMS action
Wait step still gets skipped
No reply detection
Solutions:
Check SMS Channel Override:
Verify it's enabled in WhatSnap settings
May need to reconnect device
Restart WhatSnap Gateway app on Mac
Verify Contact Has Account Tag:
Contact must have iMessage account tag (e.g.,
whatsnap-account-imessage)Check tag is properly assigned
Tag must match your iMessage device tag
Check Workflow Configuration:
Ensure using "Wait for Contact Reply" (not "Wait for Action")
Verify timeout duration is reasonable
Check conditional branches are properly configured
Test with Fresh Workflow:
Create new simple test workflow
Use single message → wait → response pattern
Verify basic functionality works
Then add complexity
Issue: Messages Send as SMS, Not iMessage
Symptoms:
Messages appear as green bubbles on recipient's iPhone
Should be blue bubbles (iMessage)
Solutions:
Verify Recipient Has iMessage:
Confirm recipient has iPhone with iMessage enabled
Send test message directly from Mac Messages app
If it sends as green bubble there too, recipient doesn't have iMessage active
Check Mac iMessage Setup:
Verify iMessage is signed in on Mac
Check Messages in iCloud is enabled
Ensure phone number is selected (not email)
See: iMessage Setup Guide
Verify WhatSnap Connection:
Check WhatSnap Gateway app is running
Verify device shows "Connected" in dashboard
Restart gateway app if needed
Issue: Replies Not Detected
Symptoms:
Contact replies to message
Workflow doesn't proceed
Reply visible in GHL conversations but not triggering workflow
Solutions:
Check Reply Shows in GHL:
Open contact's conversation tab
Verify reply appears there
If not, WhatSnap sync issue (check gateway app)
Verify Wait Step Configuration:
Check wait step is "Wait for Contact Reply" not "Wait for Action"
Ensure contact matches wait step target
Check timeout hasn't already elapsed
Test Conditional Logic:
Reply must match conditional criteria (if using "contains" logic)
Check for typos in condition keywords
Use broader conditions for testing (e.g., "Reply contains anything")
📚 Related Documentation
For more information about iMessage workflows and setup:
iMessage Setup Guide - Complete iMessage installation and configuration
Workflow Automation - Advanced workflow strategies
Messaging Basics - Understanding message routing
Tag Management - How account tags work
iMessage Troubleshooting - Fix iMessage connection issues
📌 Key Takeaways
Remember: If you're using iMessage with WhatSnap and want to use "Wait for Reply" in workflows:
✅ Enable SMS Channel Override in WhatSnap settings
✅ Use standard SMS actions in your workflows (not custom actions)
✅ The message will automatically route as iMessage for iPhone users
✅ "Wait for Reply" will now work properly and track responses
This approach gives you full workflow functionality while leveraging iMessage's superior engagement rates.
Questions? Contact WhatSnap support at support@whatsnap.ai for help with workflow configuration.
Last updated
