# Missed Call Text Back

Automatically send an SMS when someone calls your WhatSnap device and you don't answer. This powerful feature helps you never miss a lead opportunity and keeps communication flowing—even when you can't pick up the phone.

{% hint style="success" %}
**Convert Calls to Text**: Missed call text back transforms voice calls into text conversations that sync with GoHighLevel, ensuring no opportunity is lost.
{% endhint %}

## Why Use Missed Call Text Back?

### Benefits

**Never Miss an Opportunity:**

* ✅ Instant acknowledgment even when you can't answer
* ✅ Captures lead information automatically
* ✅ Converts phone calls into trackable text conversations
* ✅ Professional response improves customer experience

**GoHighLevel Integration:**

* ✅ Creates contact in GHL automatically
* ✅ Triggers workflows for follow-up sequences
* ✅ Syncs conversation to CRM
* ✅ Tags contacts for missed call follow-up
* ✅ Notifies team members

**Flexibility:**

* ✅ Works on ANY Android phone (not just WhatSnap devices)
* ✅ Can be installed on client phones directly
* ✅ Trigger from one number, send from another
* ✅ Customizable responses

### Common Use Cases

| Scenario             | Response Example                                                                         | Workflow                                                               |
| -------------------- | ---------------------------------------------------------------------------------------- | ---------------------------------------------------------------------- |
| **After Hours**      | "Thanks for calling! We're closed now. We'll respond to your text first thing tomorrow." | Create contact, tag "after-hours", send to morning follow-up workflow  |
| **Busy/Driving**     | "Can't answer right now, but I got your call! Text me and I'll respond ASAP."            | Create contact, notify assigned user, tag "urgent-callback"            |
| **Text-Only Number** | "This number is for texting only. Please send me an SMS and I'll help you right away!"   | Create contact, tag "text-only", send to SMS nurture sequence          |
| **Sales Lead**       | "Thanks for your interest! I'll call you back within 30 minutes. What can I help with?"  | Create contact, tag "hot-lead", assign to sales rep, set callback task |

## How It Works

### System Overview

{% @mermaid/diagram content="graph TD;
A\["📞 Missed Call Occurs<br/>on Android"] --> B\["📱 IFTTT App<br/>Detects Missed Call"];
B --> C\["🌐 IFTTT Sends<br/>Webhook to GHL"];
C --> D\["⚙️ GHL Workflow<br/>Receives Data"];
D --> E\["👤 Create/Update<br/>Contact"];
E --> F\["📲 Send SMS<br/>via WhatSnap"];
F --> G\["✅ Caller Receives<br/>Text Response"];
D --> H\["🏷️ Tag Contact"];
D --> I\["📋 Create Task"];
D --> J\["🔔 Notify Team"];

```
classDef android fill:#e3f2fd,stroke:#1976d2,stroke-width:2px,color:#000000;
classDef ifttt fill:#f3e5f5,stroke:#7b1fa2,stroke-width:2px,color:#000000;
classDef ghl fill:#e8f5e8,stroke:#00695c,stroke-width:2px,color:#000000;
classDef success fill:#fff3e0,stroke:#e65100,stroke-width:2px,color:#000000;

class A,B android;
class C ifttt;
class D,E,F,H,I,J ghl;
class G success;" %}
```

**Process Flow:**

1. Someone calls your Android phone
2. You don't answer (missed call)
3. IFTTT app detects the missed call
4. IFTTT sends webhook to GoHighLevel
5. GHL workflow receives caller information
6. Workflow creates/updates contact
7. Workflow sends automated SMS response
8. Additional actions: tagging, tasks, notifications

{% hint style="info" %}
**Important**: The IFTTT app must run in the background to capture missed calls. It will not work if the phone is turned off.
{% endhint %}

## Prerequisites

Before setting up missed call text back:

* ✅ **Android device** with your WhatSnap SMS account
* ✅ **IFTTT account** (free tier works)
* ✅ **IFTTT app** installed on Android device
* ✅ **GoHighLevel account** with workflow access
* ✅ **WhatSnap** connected and working for SMS

**Optional but Recommended:**

* 📱 Dedicated Android device for business calls/SMS
* 🔋 Device plugged in and always on
* 📶 Reliable internet connection (WiFi or mobile data)

## Setup Guide

### Part 1: Create GoHighLevel Workflow

First, set up the workflow in GHL that will receive the missed call data and send the SMS.

{% stepper %}
{% step %}

#### Create New Workflow

1. Log in to **GoHighLevel**
2. Navigate to **Automation** → **Workflows**
3. Click **"Create Workflow"**
4. Name it: **"Missed Call Text Back"**
5. Choose **"Sub-account workflow"** (or Agency if applicable)
   {% endstep %}

{% step %}

#### Add Inbound Webhook Trigger

1. Click **"Add Trigger"** (or the **+** icon)
2. Select **"Inbound Webhook"**
3. The system generates a **Webhook URL**
4. **Copy this URL** - you'll need it for IFTTT setup
5. Click **"Save Trigger"**

{% hint style="warning" %}
**Important**: Keep this webhook URL secure. Anyone with this URL can trigger your workflow.
{% endhint %}
{% endstep %}

{% step %}

#### Test Webhook (Optional - Recommended)

Before proceeding, let's test that the webhook works:

1. In the webhook trigger settings, note the **"Test Webhook"** section
2. We'll come back here after setting up IFTTT
3. For now, keep the workflow open
   {% endstep %}

{% step %}

#### Add Create/Update Contact Action

1. Click **"+"** to add a new action after the webhook trigger
2. Select **"Contact"** → **"Create/Update Contact"**
3. Configure the contact action:

**Phone Number:**

* Click **"Add Field"** → **"Phone"**
* Click the phone field value
* Navigate to: **"Inbound Webhook"** → **"Custom"** → Select **"Phone-num"**
  * (We'll map this from IFTTT data)

**Contact Name:**

* Click **"Add Field"** → **"Name"** (or "First Name")
* Click the name field value
* Navigate to: **"Inbound Webhook"** → **"Custom"** → Select **"Contact-name"**

**Tags:**

* Click **"Add Field"** → **"Tags"**
* Add: `missed-call`, `follow-up-needed`
* Add your WhatSnap device tag: `whatsnap-account-[your-device]`

4. Click **"Save Action"**
   {% endstep %}

{% step %}

#### Add Send SMS Action

1. Click **"+"** to add another action
2. Select **"SMS"** → **"Send SMS Message"** (or "Send Message" depending on your channel setup)
3. Configure the SMS:

**To:**

* Use the contact from previous step (should auto-populate)

**Message:**

```
Hi {{contact.first_name | default: "there"}}! 

I saw you called but couldn't answer. I got your call and will get back to you shortly.

In the meantime, feel free to text me here with any questions!

- [Your Name/Business]
```

**Custom Variables Available:**

* `{{contact.first_name}}` - Contact's name
* `{{contact.phone}}` - Contact's phone
* `{{contact.full_name}}` - Full name

4. Click **"Save Action"**
   {% endstep %}

{% step %}

#### Add Additional Actions (Optional)

Consider adding these actions for better workflow:

**Assign to User:**

1. Add action: **"Contact"** → **"Assign to User"**
2. Select the user/team member who should handle missed calls

**Create Task:**

1. Add action: **"Task"** → **"Create Task"**
2. Title: "Call back - {{contact.full\_name}}"
3. Assign to appropriate team member
4. Due: 1 hour from now

**Send Internal Notification:**

1. Add action: **"Notification"** → **"Send Internal Notification"**
2. Or: **"SMS"** → **"Send SMS"** to your personal number
3. Message: "Missed call from {{contact.full\_name}} ({{contact.phone}}). Auto-text sent."

**Wait for Reply:**

1. Add action: **"Wait"** → **"Wait for Condition"**
2. Condition: Contact sends SMS reply
3. Or: Wait 1 hour if no reply
4. Branch: If replied → Continue conversation
5. Branch: If no reply → Send follow-up or create escalation task
   {% endstep %}

{% step %}

#### Save and Publish Workflow

1. Review all actions
2. Click **"Save"** or **"Publish"**
3. Ensure workflow status is **"Active"**
4. Keep the **webhook URL** handy for IFTTT setup
   {% endstep %}
   {% endstepper %}

### Part 2: Set Up IFTTT Applet

Now configure IFTTT to detect missed calls and send data to GoHighLevel.

{% stepper %}
{% step %}

#### Create IFTTT Account

1. Visit [ifttt.com](https://ifttt.com)
2. Click **"Sign Up"** (if you don't have an account)
3. Create account (email or Google sign-in)
4. Verify your email if prompted

{% hint style="info" %}
**Free Account Works**: IFTTT's free tier allows limited applets, which is sufficient for missed call text back functionality.
{% endhint %}
{% endstep %}

{% step %}

#### Install IFTTT App on Android

1. Open **Google Play Store** on your Android device
2. Search for **"IFTTT"**
3. Install the **IFTTT** app (by IFTTT)
4. Open the app and **sign in** with the same account you created
5. Grant required permissions when prompted

**Important Permissions:**

* 📞 Phone call access (to detect missed calls)
* 🔔 Notification access
* 🔋 Battery optimization disabled (keep app running)
  {% endstep %}

{% step %}

#### Create New Applet

1. In IFTTT (desktop or mobile), click **"Create"** (+ icon)
2. You'll see the "If This Then That" builder
   {% endstep %}

{% step %}

#### Configure "IF THIS" Trigger

1. Click on **"If This"**
2. Search for **"Android Phone Call"** in the search bar
3. Select **"Android Phone Call"** service
4. Connect your Android device if prompted
5. Choose trigger: **"Any incoming phone call missed"**
6. Click **"Create trigger"**

**Your trigger is now set**: Whenever a call is missed on your Android, this applet will activate.
{% endstep %}

{% step %}

#### Configure "THEN THAT" Action

1. Click on **"Then That"**
2. Search for **"Webhooks"**
3. Select **"Webhooks"** service
4. Choose action: **"Make a web request"**
   {% endstep %}

{% step %}

#### Configure Webhook Request

Fill in the webhook configuration:

**URL:**

* Paste the **GoHighLevel webhook URL** you copied earlier
* Example: `https://services.leadconnectorhq.com/hooks/abc123xyz...`

**Method:**

* Select **"POST"**

**Content Type:**

* Select **"application/json"**

**Body:**

```json
{
    "Contact-name": "{{ContactName}}",
    "Phone-num": "{{FromNumber}}"
}
```

{% hint style="info" %}
**Field Mapping**:

* `Contact-name` will contain the caller's name from your contacts
* `Phone-num` will contain the caller's phone number
* These match the custom fields we set up in the GHL workflow
  {% endhint %}

**Using the "Add ingredient" Button:**

Alternatively, you can build the body using IFTTT's interface:

1. Click **"Add ingredient"** next to Body
2. Select **{{ContactName}}** for the name field
3. Select **{{FromNumber}}** for the phone field

The format might look different (without the braces) but it works the same.
{% endstep %}

{% step %}

#### Review and Create Applet

1. Review your applet configuration:
   * **IF**: Android Phone Call - Any incoming phone call missed
   * **THEN**: Webhooks - Make a web request to GHL
2. Click **"Continue"** or **"Create action"**
3. Give your applet a name (optional): "Missed Call to GHL"
4. Click **"Finish"**

{% hint style="success" %}
**Applet Created!** Your IFTTT applet is now active and will trigger on missed calls.
{% endhint %}
{% endstep %}

{% step %}

#### Enable Background Running

**Critical Step for Android:**

1. Open **Settings** on your Android device
2. Navigate to **Apps** → **IFTTT**
3. **Battery** → Set to **"Unrestricted"**
4. **Background data** → Enable
5. **Notifications** → Enable

**Manufacturer-Specific:**

* **Xiaomi/MIUI**: Enable "Autostart" for IFTTT
* **Huawei/EMUI**: Set IFTTT to "Manage manually" in App launch
* **Samsung**: Disable "Put app to sleep"

{% hint style="danger" %}
**Must Run in Background**: If Android kills the IFTTT app, it cannot detect missed calls. Ensure background restrictions are disabled.
{% endhint %}
{% endstep %}
{% endstepper %}

### Part 3: Test the Setup

{% stepper %}
{% step %}

#### Perform Test Call

1. From another phone (or ask someone), **call your Android device**
2. **Let it ring** but **do not answer**
3. Let it go to voicemail or stop ringing
4. This creates a "missed call"
   {% endstep %}

{% step %}

#### Verify IFTTT Detected Call

1. Open IFTTT app on your Android
2. Go to **Activity** or **My Applets**
3. Check your "Missed Call to GHL" applet
4. Should show recent activity (may take 1-2 minutes)
   {% endstep %}

{% step %}

#### Check GoHighLevel Workflow

1. Return to your **GoHighLevel workflow**
2. Click on the **Inbound Webhook trigger**
3. Click **"Fetch Sample Requests"** or **"View Recent"**
4. You should see the incoming webhook data:

```json
{
  "Contact-name": "John Doe",
  "Phone-num": "+15551234567"
}
```

5. If you see the data, click on it and **"Save Trigger"**
   {% endstep %}

{% step %}

#### Verify Contact Creation

1. Go to **GoHighLevel Contacts**
2. Search for the test caller's phone number
3. Contact should be created with:
   * Phone number
   * Name (if available)
   * Tags: `missed-call`, `follow-up-needed`, and your device tag
     {% endstep %}

{% step %}

#### Verify SMS Was Sent

1. Check the test caller's phone
2. Should receive the automated SMS response
3. Message should match your workflow SMS template

{% hint style="success" %}
**Complete!** If the SMS was received, your missed call text back is working end-to-end.
{% endhint %}
{% endstep %}

{% step %}

#### Test Edge Cases

**Test these scenarios:**

**Known Contact:**

* Ensure contact updates rather than duplicates
* Name should populate from existing contact

**Unknown Number:**

* Should create new contact
* Name may be "Unknown" or blank

**Multiple Missed Calls:**

* Should trigger each time
* Check if you want to limit frequency
  {% endstep %}
  {% endstepper %}

## Advanced Configurations

### Limit Response Frequency

Prevent sending multiple texts to the same person:

**Method 1: Tag-Based Filter**

In your GHL workflow, add a condition before sending SMS:

1. After "Create Contact" action, add **"If/Else"**
2. Condition: Contact does NOT have tag `responded-missed-call-today`
3. IF True → Send SMS + Add tag `responded-missed-call-today`
4. IF False → Skip SMS

**Remove tag daily:**

* Separate workflow with daily schedule trigger
* Remove tag `responded-missed-call-today` from all contacts

**Method 2: Time-Based Wait**

1. Add **"Wait"** action after SMS is sent
2. Wait for: 4 hours (or your preferred interval)
3. Add tag: `missed-call-cooldown`
4. In main workflow, add condition: IF contact has `missed-call-cooldown`, skip SMS
5. Use another workflow to remove `missed-call-cooldown` tag after 24 hours

### Send from Different Number

You can detect missed calls on one device and send SMS from another:

**Use Case:**

* Client's personal phone has IFTTT installed
* Missed calls trigger workflow
* SMS sent from WhatSnap business device

**Setup:**

1. Install IFTTT on client's personal Android phone
2. Configure webhook to send to your GHL workflow
3. In GHL workflow, when creating contact, add your **WhatSnap device tag**
4. SMS sends from your WhatSnap business number, not client's personal number

{% hint style="info" %}
**Agency Use Case**: Install IFTTT on your clients' phones to help them never miss leads, while responses come from their professional WhatSnap SMS number.
{% endhint %}

### Different Responses by Time of Day

**After Hours Response:**

1. Add **"If/Else"** condition in workflow
2. Condition: Current time is between 6 PM - 8 AM
3. IF True → Send "We're closed, will respond in the morning" message
4. IF False → Send standard missed call message

**Weekend Response:**

1. Condition: Current day is Saturday or Sunday
2. Custom message for weekend calls

### Trigger Different Workflows by Caller

**Known Contacts vs. New Leads:**

1. Add **"If/Else"** after webhook
2. Condition: Contact exists in GHL
3. IF Existing → Send personalized "Sorry I missed you, \[Name]!" message
4. IF New → Send "Thanks for calling! How can I help?" message

**VIP Clients:**

1. Condition: Contact has tag `vip-client`
2. IF VIP → Different message + immediate notification to you + high-priority task
3. IF Standard → Normal missed call flow

## Troubleshooting

### IFTTT Not Detecting Missed Calls

<details>

<summary>Applet doesn't trigger on missed calls</summary>

**Possible Causes:**

* IFTTT app killed by battery optimization
* Permissions not granted
* Phone is off
* Wrong trigger selected

**Solutions:**

1. Check IFTTT app is running (open the app)
2. Go to Settings → Apps → IFTTT → Battery → Set to "Unrestricted"
3. Disable battery optimization for IFTTT
4. Ensure "Phone" permission is granted
5. Re-create the applet if still not working
6. Some devices (very cheap or heavily restricted) may not support IFTTT properly

</details>

### Webhook Not Reaching GoHighLevel

<details>

<summary>IFTTT triggers but GHL workflow doesn't receive data</summary>

**Possible Causes:**

* Wrong webhook URL
* Webhook URL expired
* Workflow is not active
* Internet connection issues on Android

**Solutions:**

1. Copy fresh webhook URL from GHL workflow
2. Paste into IFTTT applet again (edit applet)
3. Ensure GHL workflow status is "Active" not "Draft"
4. Test webhook using "Fetch Sample Requests" in GHL
5. Check IFTTT activity log for errors

</details>

### SMS Not Sending

<details>

<summary>Contact created but SMS not sent</summary>

**Possible Causes:**

* Contact doesn't have WhatSnap device tag
* WhatSnap device offline
* SMS action misconfigured
* Contact in DND

**Solutions:**

1. Check contact has your WhatSnap device tag in GHL
2. Verify WhatSnap device is connected (check dashboard)
3. Review SMS action in workflow (correct message template)
4. Check contact is not in "Do Not Disturb"
5. Test by manually sending SMS to the contact

</details>

### Duplicate Contacts Created

<details>

<summary>Each missed call creates a new duplicate contact</summary>

**Possible Causes:**

* Phone number format mismatch
* "Create/Update Contact" using wrong field
* IFTTT sending number in different format

**Solutions:**

1. Ensure using "Create/Update Contact" not just "Create Contact"
2. Check phone number field is correctly mapped
3. Standardize phone format (E.164: +15551234567)
4. Test with known contact to see if it updates vs. creates new

</details>

## Best Practices

### Message Templates

**Professional but Friendly:**

```
Hi {{contact.first_name | default: "there"}}! I saw you called - sorry I missed you. 

Text me here and I'll respond ASAP. Or I'll call you back within [timeframe].

- [Your Name]
```

**After Hours:**

```
Thanks for calling! Our office hours are [hours]. 

Text me your question and I'll respond first thing [tomorrow morning / Monday morning].

Need immediate help? Call [emergency number].
```

**Sales/Lead:**

```
Hey {{contact.first_name}}! Just missed your call. 

I'm excited to help you with [your service]. Text me here or I'll call you back within 30 minutes!

- [Your Name], [Your Title]
```

**Appointment-Based:**

```
Hi! I saw you called. 

Looking to book an appointment? Text me your preferred date/time, or book instantly here: [booking link]

Talk soon!
```

### Workflow Optimization

**Key Actions to Include:**

* ✅ Create/update contact with phone and name
* ✅ Add tags: `missed-call`, `follow-up-needed`, device tag
* ✅ Send immediate auto-response SMS
* ✅ Assign to appropriate team member
* ✅ Create callback task (due 1-2 hours)
* ✅ Send internal notification to team
* ✅ Wait for reply, then trigger conversation workflow

**Avoid:**

* ❌ Sending multiple texts in short succession (looks spammy)
* ❌ Overly long auto-response messages
* ❌ Not tagging contacts (can't track missed calls)
* ❌ Forgetting to add device tag (SMS won't route properly)

### Client Installations

**For Agencies Installing on Client Phones:**

1. **Get Permission**: Always get explicit permission before installing IFTTT on client devices
2. **Document Setup**: Provide client with documentation on what's installed and why
3. **Battery Impact**: Warn clients IFTTT may have minor battery impact
4. **Privacy**: Explain what data is captured (just missed call info, not call content)
5. **Support**: Provide support for if they need to disable or troubleshoot

## Next Steps

After setting up missed call text back:

1. [**Call Forwarding**](https://whatsnap.gitbook.io/whatsnap-docs/faq/calls/call-forwarding) - Forward calls to numbers with GHL integration
2. [**Verified Caller ID**](https://whatsnap.gitbook.io/whatsnap-docs/faq/calls/verified-caller-id) - Display your WhatSnap number for outbound calls
3. [**Making Calls**](https://whatsnap.gitbook.io/whatsnap-docs/faq/calls/making-calls) - Understand call capabilities with WhatSnap
4. [**Workflow Automation**](https://whatsnap.gitbook.io/whatsnap-docs/conversations/workflow-automation) - Advanced GHL workflow strategies

***

**Need Help?** Contact WhatSnap support at <support@whatsnap.ai> for assistance with your missed call text back setup.
