Connect SMSForms to Your CRM (Zapier Integration)

Send SMSForms.io lead notifications to external services like Zapier, Make, or your CRM

For power users who want leads flowing directly into their business systems

Do You Need This?

Probably not. Most SMSForms users are perfectly happy with email notifications.

This guide is for you if:

  • You use a CRM like HubSpot, Salesforce, or Pipedrive
  • You use Zapier or Make to automate your business
  • You want leads going directly into Google Sheets
  • You want instant Slack notifications when leads come in

If you just want emails when leads arrive, you're already set. You can skip this entirely.

What This Does

When someone completes a lead form, SMSForms can automatically (instantly) send that lead to other tools you use.

Examples:

  • New lead → automatically creates a deal in your CRM
  • New lead → automatically adds a row to your tracking spreadsheet
  • New lead → automatically sends a Slack message to your sales team

You set it up once, then forget about it.

What You Need

  1. A free Zapier account (sign up here)
  2. 10 minutes

That's it.

Setup Instructions

Step 1: Create Your Webhook in Zapier

  1. Log into Zapier
  2. Click "Create Zap"
  3. For the trigger, search for "Webhooks by Zapier"
  4. Select "Catch Hook"
  5. Click Continue

Zapier will show you a URL that looks like this:

https://hooks.zapier.com/hooks/catch/12345678/abcd123/

Copy that entire URL. You'll need it in the next step.

Step 2: Add the Webhook to SMSForms

  1. Go to  Settings  in your SMSForms dashboard
  2. Scroll down to "Webhook Integration"
  3. Check the box that says "Enable Webhook Integration"
  4. Paste your Zapier URL into the  "Completed Lead Webhook URL"  field
  5. Click  "Save Changes"

That's it. Your webhook is now connected.

Step 3: Test It

  1. Send a text to your SMSForms number
  2. Complete the entire lead form (answer all 6 questions)
  3. Go back to Zapier and click  "Test Trigger"
  4. You should see your test lead data appear in Zapier

If you see the data, it's working.  Move to Step 4.

If you don't see anything:

  • Make sure you clicked "Save Changes" in SMSForms
  • Make sure you completed all 6 questions in the SMS form
  • Wait 30 seconds and try "Test Trigger" again

Step 4: Tell Zapier What to Do With Your Leads

Now you connect Zapier to wherever you want leads to go.

Popular options:

  • Google Sheets:   Add each lead as a new row
  • HubSpot/Salesforce:   Create a new deal or contact
  • Slack:   Send a message to your team channel
  • Trello/Asana:   Create a task to follow up

Zapier will walk you through mapping the fields. The lead data includes:

  • Customer name
  • Email address
  • Phone number
  • Service they requested
  • Property address
  • Timeline
  • Photos (if they sent any)

Once you're done, turn your Zap  ON.

Completed Lead Payload Example

Payload Example

 {

   "event": "lead.completed",

   "timestamp": "2025-11-20T15:30:00.000Z",

   "business": {

     "id": "550e8400-e29b-41d4-a716-446655440000",

     "name": "Acme Landscaping",

     "phone": "+15551234567"

   },

   "lead": {

     "id": "conversation-uuid-here",

     "name": "John Smith",

     "email": "john@example.com",

     "phone": "+15559876543",

     "service": "Lawn Mowing",

     "address": "123 Main St, Springfield, IL 62701",

     "timeline": "Next week",

     "additional_details": "Need weekly service, backyard is fenced",

     "media_urls": [

       "https://api.twilio.com/2010-04-01/Accounts/AC.../Messages/MM.../Media/ME001"

     ],

     "started_at": "2025-11-20T15:25:00.000Z",

     "completed_at": "2025-11-20T15:30:00.000Z",

     "message_count": 8

   }

 }

 Field Descriptions

 | Field                   | Type   | Description                                                            |    

 |-------------------------|--------|------------------------------------------------------------------------|    

 | event                   | string | Always "lead.completed"                                                |    

 | timestamp               | string | ISO 8601 timestamp when webhook was sent                               |    

 | business.id             | string | Your SMSForms business ID                                              |    

 | business.name           | string | Your business display name                                             |    

 | business.phone          | string | Your SMSForms phone number                                             |    

 | lead.id                 | string | Unique conversation ID                                                 |    

 | lead.name               | string | Customer's full name (Q1)                                              |    

 | lead.email              | string | Customer's email address (Q2)                                          |    

 | lead.phone              | string | Customer's phone number                                                |    

 | lead.service            | string | Service they're interested in (Q3)                                     |    

 | lead.address            | string | Customer's full address (Q4)                                           |    

 | lead.timeline           | string | When they need service (Q5)                                            |    

 | lead.additional_details | string | Any extra information provided (Q6) - may be undefined if not answered |    

 | lead.media_urls         | array  | URLs to photos/videos customer sent (up to 15)                         |    

 | lead.started_at         | string | ISO 8601 timestamp when conversation started                           |    

 | lead.completed_at       | string | ISO 8601 timestamp when lead was completed                             |    

 | lead.message_count      | number | Total SMS messages exchanged                                           |

What About Incomplete Leads?

You can also get notified when someone starts but doesn't finish the form.

To set this up:

  1. In SMSForms Settings, paste a webhook URL into  "Incomplete Lead Webhook URL"
  2. You can use the same Zapier URL or create a separate Zap

Incomplete leads are sent 6 hours after the conversation expires if the customer didn't finish.

Most people skip this.  It's only useful if you want to follow up with people who started but didn't finish.

Incomplete Lead Payload Example

Payload Example

 {

   "event": "lead.incomplete",

   "timestamp": "2025-11-20T21:30:00.000Z",

   "business": {

     "id": "550e8400-e29b-41d4-a716-446655440000",

     "name": "Acme Landscaping",

     "phone": "+15551234567"

   },

   "lead": {

     "id": "conversation-uuid-here",

     "name": "Sarah Johnson",

     "email": "sarah@example.com",

     "phone": "+15559876543",

     "service": "Tree Trimming",

     "address": "",

     "timeline": "",

     "started_at": "2025-11-20T15:25:00.000Z",

     "questions_answered": 3

   }

 }

 

Field Descriptions

 | Field                   | Type   | Description                                                 |

 |-------------------------|--------|-------------------------------------------------------------|

 | event                   | string | Always "lead.incomplete"                                    |

 | timestamp               | string | ISO 8601 timestamp when webhook was sent                    |

 | business.id             | string | Your SMSForms business ID                                   |

 | business.name           | string | Your business display name                                  |

 | business.phone          | string | Your SMSForms phone number                                  |

 | lead.id                 | string | Unique conversation ID                                      |

 | lead.name               | string | Customer's name (Q1) - always present for incomplete leads  |

 | lead.email              | string | Customer's email (Q2) - always present for incomplete leads |

 | lead.phone              | string | Customer's phone number                                     |

 | lead.service            | string | Service requested (Q3) - "Not specified" if stopped at Q2   |

 | lead.address            | string | Customer address (Q4) - empty string if not answered        |

 | lead.timeline           | string | Project timeline (Q5) - empty string if not answered        |

 | lead.started_at         | string | ISO 8601 timestamp when conversation started                |

 | lead.questions_answered | number | Number of questions answered (2-5)                          |

Using Make Instead of Zapier?

The process is almost identical:

  1. In Make, create a new scenario
  2. Add a  "Webhooks"  module
  3. Choose  "Custom webhook"
  4. Copy the webhook URL Make gives you
  5. Paste it into SMSForms Settings (same as Step 2 above)
  6. Test it and build your scenario

Troubleshooting

"My webhook isn't working"

Check these:

  1. Did you check the "Enable Webhook Integration" box in Settings?
  2. Did you click "Save Changes"?
  3. Did you complete a full test lead (all 6 questions answered)?
  4. Is your Zap turned ON in Zapier?
  5. Does your webhook URL start with https://?

"I'm getting an error message"

  • Make sure you copied the complete webhook URL with no spaces
  • Try creating a new webhook in Zapier and using that URL instead
  • Check that your Zap is turned on

Still stuck?

Email us at support@smsforms.io with:

  • A screenshot of your webhook settings in SMSForms
  • What app you're trying to connect to
  • Any error message you're seeing

We'll get you sorted out.

Important Notes

  • Your email notifications still work.  Even if webhooks fail, you'll still get emails.
  • This is completely optional.  Most users don't need this.
  • You can turn it off anytime.  Just uncheck the box in Settings.
  • We automatically retry if there's an error.  If Zapier is down, we'll try 3 times.

Questions?

"Can I send leads to multiple places?"
Yes. One Zap can split to multiple destinations (Google Sheets AND your CRM AND Slack, for example).

"Does this cost extra?"
No. Webhooks are included with your SMSForms subscription. You may need a paid Zapier plan depending on how many leads you get.

"What if I don't use Zapier or Make?"
If you have a developer, they can use our webhook to connect to any system. Email support@smsforms.io for technical documentation.

"Will this slow down my lead notifications?"
No. Webhooks happen in the background and don't affect email delivery.

Need Help?

If you get stuck, email support@smsforms.io. Include:

  • What you're trying to connect to
  • Where you're stuck in the setup process
  • Any error messages

We respond within 24 hours, if not sooner!

Remember: Most users don't need this.  If you're happy with email notifications, you're all set. This is purely for power users who want deeper integrations.

Ready to transform your lead generation?

Customers prefer texting! Join businesses that are capturing better leads with intelligent SMS conversations.