Skip to content
WorkflowsTutorial

Build a lead-to-CRM automation with Make in an afternoon

Wire a new lead into your CRM and fire an instant text and email, automatically. A speed-to-lead build with Make and GoHighLevel, step by step.

RunbookUpdated July 2, 20266 min read
Build a lead-to-CRM automation with Make in an afternoon
FIG. 01 — FEATURED

This sheet contains partner links. A purchase through one earns Runbook a commission at no additional cost to you. How we make money.

A new lead who hears back in the first few minutes is far more likely to book than one who waits an hour. Most small businesses lose that window because a person has to notice the inquiry, open the system, and type a reply. This build removes the human from that loop: a lead fills any form, lands in your CRM (the software that stores your customers) already labeled by where it came from, and gets a text and email back within seconds. The stack is Make as the glue and GoHighLevel as the CRM. Budget an afternoon; no code involved.

What you'll build

One routine in Make and one workflow in GoHighLevel that hand off to each other:

  • A webhook that catches every new lead. A webhook is simply a unique web address; anything sent to it is caught and acted on instantly.
  • A cleaning and tagging step in Make, so a lead from a Facebook ad and one from your website form arrive in the same shape, labeled by source.
  • A push into GoHighLevel that creates or updates the contact.
  • A follow-up workflow that texts and emails the lead within seconds.

The source can be anything that sends data: a website contact form, a landing page, a Facebook or Instagram lead ad (an ad with a built-in inquiry form), a Typeform. For where these high-intent leads come from in the first place, the branded-demand build covers the capture moment.

Stack

The stack

Make logoMakecatches the lead, cleans and tags it, pushes it onward
GoHighLevel logoGoHighLevelstores the contact and fires the instant SMS plus email
Zapier logoZapierthe swap-in alternative if your form lives somewhere odd
  • Make is the automation glue: a visual builder where you connect steps on a canvas, no code. It charges per small action ("operation"), which matters as volume climbs.
  • GoHighLevel is the CRM and the follow-up engine. It holds the contact record, the labels, and the workflow that sends the text and email.
  • Zapier is an interchangeable alternative for the glue layer.

You need an account on both Make and GoHighLevel. Pricing on each moves often, so check the provider's own pricing page before you commit. Checked June 2026.

Steps

Build the GoHighLevel side first, because you need its webhook address before the Make side has anywhere to send the lead.

The build, in order

1

Create the follow-up workflow in GoHighLevel

Go to Automation > Workflows, click Create Workflow, and choose Start from Scratch. This empty workflow is where the lead will land and the follow-up fires.
2

Add the inbound webhook trigger

Click Add New Trigger, search for Inbound Webhook, and select it. GoHighLevel generates a unique web address. Copy it. This is where Make will send every new lead. Leave this tab open.
3

Capture a sample so GoHighLevel learns the fields

Click into the trigger and use Fetch Sample Request. GoHighLevel now waits for a test lead. You will send one from Make in a later step, which teaches it the field names (name, email, phone, source) so you can connect them.
4

Add the contact and follow-up actions

Below the trigger, click the + to add actions in order: Create/Update Contact (connect name, email, phone), Add Contact Tag (a label like the lead source), then Send SMS and Send Email with your first-touch reply. Click Save, then Publish.
5

Build the catching side in Make

In Make, click Create a new scenario (Make's word for an automated routine). Add the Webhooks app and pick the Custom webhook trigger. Click Add, name it "new-lead", and save. Make generates its own address. This is where your forms and lead ads will send submissions.
6

Listen for a real lead

With the webhook module selected, click Re-determine data structure. Make starts listening. Submit one real test lead through your form. Make catches it and memorizes the field layout, so every later step can reference name, email and phone.
7

Clean and tag the lead

Add a Tools > Set multiple variables module after the webhook. Trim stray spaces, lowercase the email, and set a "source" label based on which form fired. This is how the CRM knows a Facebook lead from a website lead.
8

Push the lead into GoHighLevel

Add an HTTP > Make a request module (the step that sends data to another system). Set the method to POST, paste the GoHighLevel webhook address you copied, set the body type to Raw with content type application/json, and fill in your cleaned fields. Run the scenario once. This is the test lead GoHighLevel was waiting for in step three.
9

Turn it on

Connect the fields inside the GoHighLevel trigger now that it has your sample. Save and publish there. Back in Make, toggle the scenario ON and set it to run immediately. Every new lead now flows end to end on its own.

Once both sides are live, point your real forms and lead ads at the Make webhook address. A form builder has a webhook or integration field for it; a Facebook lead ad needs it added through a connector.

The part that breaks

If a field still shows up empty, the test lead did not include it, so send another with that field filled.

The second thing that breaks budgets is firing on junk. A blank or bot submission still triggers the whole chain and still sends a text. Add a filter in Make right after the webhook that only continues when an email or phone exists. It costs nothing and stops your follow-up going out to garbage.

Copy this

The block to paste into the HTTP > Make a request module. It is written in JSON, the plain-text format systems use to pass data. Replace the values in braces with your Make fields:

{
  "first_name": "{{name}}",
  "email": "{{email_lowercased}}",
  "phone": "{{phone_trimmed}}",
  "source": "{{lead_source}}",
  "tags": ["new-lead", "{{lead_source}}"],
  "consent": true
}

The "source" value lets your follow-up read differently for a paid ad lead versus a website inquiry. The "consent" flag matters: only text and email people who agreed to hear from you, or your messages land in spam. The email deliverability build covers why that reputation is worth protecting.

Upgrade path

Once the core loop runs, layer on:

  • A second step in GoHighLevel that waits an hour, checks whether the lead replied, and nudges if not. Speed wins the first reply. Persistence wins the booking.
  • Routing by source, so a paid-ad lead gets different follow-up than a website inquiry. The "source" label you set makes this one branch away.

If your forms live somewhere unusual, Zapier covers more obscure apps and follows the same pattern. For the paid-traffic side that feeds this build, the Meta Advantage+ build keeps lead ads sending qualified people, and the automation hub tracks the rest.

Your move this week

Build both sides, then send one real test lead through end to end. The moment a test submission triggers an instant text back to your own phone, you have a speed-to-lead loop running while every competitor still checks their inbox by hand.

For the next build, the AI recommendations build shows how to turn those follow-ups and reviews into the signal that gets you recommended by the assistants people now ask first.

Frequently asked questions

How fast does this automation respond to a new lead?

Make runs the scenario the moment the webhook receives a lead, usually within a few seconds. GoHighLevel then sends the SMS and email instantly through its workflow, so a new lead gets a reply in well under a minute instead of hours later.

Do I need to know how to code to build this?

No. Make is a no-code visual builder where you drag modules onto a canvas and connect them. GoHighLevel workflows are built the same way, by adding a trigger and actions from menus. The only thing you paste in is a webhook URL and a sample data structure.

Can I use Zapier instead of Make for this build?

Yes. Zapier follows the same pattern: a webhook or form trigger, a formatting step, then a Create Contact and tag action in your CRM. Make prices by operations rather than by task, which differs at higher volume, and Zapier has wider app coverage if your form lives somewhere unusual.

What happens if the same lead submits the form twice?

GoHighLevel matches incoming contacts by email or phone, so a second submission updates the existing contact instead of creating a duplicate. You can also add a filter in Make to skip rows that are missing an email or phone before they ever reach the CRM.

About Runbook

AI tools and automation builds for marketers. What to use, how to wire it, and the workflow to copy this week. How we work

GET THE NEXT DISPATCH

Run the next build before your competitors read about it.

One short email when an AI tool or automation actually changes the work, with the build to copy.

No send unless there is a build worth running.

// keep_reading

Related builds