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.

Quick Solution: Use the standard SMS action in your workflow instead of a custom action, and it will automatically send via iMessage when the contact has an iMessage-compatible device.


❌ 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:

  1. In WhatSnap Dashboard, locate your iMessage device

  2. Verify it's set as the SMS Channel Override (not as a separate channel)

  3. This ensures all SMS actions route through iMessage automatically

📩 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

1

Step 1: Verify SMS Channel Override

Ensure your iMessage account is set to override the SMS channel:

  1. Go to WhatSnap Dashboard in GHL

  2. Navigate to Connected Accounts or Devices

  3. Find your iMessage device

  4. Click Settings or menu (⋮)

  5. Verify "SMS Channel Override" is enabled

  6. 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

2

Step 2: Create Workflow with Standard Actions

Build your workflow using standard GHL actions:

  1. In GoHighLevel, go to AutomationsWorkflows

  2. Create a new workflow or edit existing one

  3. Add "Send Message" action (not custom action)

  4. Select "SMS" as the channel type

  5. Compose your message with personalization

  6. Add "Wait for Contact Reply" step

  7. Configure wait duration (e.g., 24 hours, 48 hours)

  8. Add conditional branches based on reply content

  9. 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

3

Step 3: Test the Workflow

Verify your workflow functions correctly:

  1. Test Contact Setup:

    • Use a contact with the iMessage account tag

    • Ensure contact has a valid iPhone number

    • Assign contact to workflow trigger

  2. 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

  3. 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

  4. 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


🚫 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 message

Why 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

Feature
Works with Custom Action
Works with Standard SMS

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:

  1. Check SMS Channel Override:

    • Verify it's enabled in WhatSnap settings

    • May need to reconnect device

    • Restart WhatSnap Gateway app on Mac

  2. 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

  3. Check Workflow Configuration:

    • Ensure using "Wait for Contact Reply" (not "Wait for Action")

    • Verify timeout duration is reasonable

    • Check conditional branches are properly configured

  4. 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:

  1. 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

  2. Check Mac iMessage Setup:

    • Verify iMessage is signed in on Mac

    • Check Messages in iCloud is enabled

    • Ensure phone number is selected (not email)

  3. 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:

  1. Check Reply Shows in GHL:

    • Open contact's conversation tab

    • Verify reply appears there

    • If not, WhatSnap sync issue (check gateway app)

  2. 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

  3. 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")


For more information about iMessage workflows and setup:


📌 Key Takeaways


Questions? Contact WhatSnap support at support@whatsnap.ai for help with workflow configuration.

Last updated