Your First GoHighLevel Lead and Booking System
A step-by-step walkthrough for building your first complete lead-to-appointment system in GoHighLevel — from form to pipeline to calendar booking.

The Problem: Leads Without a System
A lead form on your website is not a lead system. It is a bucket with a hole in it. Without a pipeline to track the lead, a calendar to book the appointment, and an automation to follow up, most inquiries sit in an inbox until the prospect calls your competitor.
This walkthrough builds the complete path — from a visitor submitting a form to a booked appointment on your calendar — using GoHighLevel's native tools. No Zapier, no external scheduling software, no disconnected spreadsheets.
What You Will Build
By the end of this guide, you will have:
1. A lead capture form hosted on a GoHighLevel landing page 2. A sales pipeline with stages that mirror your real process 3. A booking calendar with automated confirmation 4. A workflow that connects all three: form submission creates a contact, opens an opportunity, and sends a booking link
Step 1: Create Your Sales Pipeline
Before capturing leads, define where they go. Navigate to Pipelines and create a new pipeline. Name it after your primary service — for example, "Roofing Estimates" or "Discovery Calls."
Add stages that reflect your actual sales process:
- New Lead - Contacted - Appointment Scheduled - Proposal Sent - Won - Lost
Each stage is a column on your Kanban board. Every lead you capture will move left to right through these stages.
Step 2: Build Your Lead Capture Form
Go to the Form Builder and create a new form. Keep it short — name, phone, email, and one qualifying question. Long forms reduce completion rates.
Key settings:
- Map the form to create a contact on submission - Assign a tag like "lead-website" so you can segment later - Redirect on submission to a thank-you page or directly to your calendar booking link
Publish the form and embed it on a landing page or your existing website.
Step 3: Set Up Your Booking Calendar
Navigate to Calendars and create a new calendar. Configure:
- Availability — your working hours and buffer times between appointments - Duration — how long each appointment lasts - Calendar sync — connect your personal Google or Outlook calendar so GoHighLevel blocks conflicts automatically - Booking confirmation — an automated SMS and email sent to the prospect immediately upon booking
Generate the booking link. You will use this in your workflow.
Step 4: Connect the Workflow
This is where the three pieces become one system. Navigate to Workflows and create a new workflow.
Trigger
Set the trigger to Form Submitted and select the form you built in Step 2.
Actions
Add these actions in sequence:
1. Create Contact — GoHighLevel does this automatically from the form, but confirm the field mapping is correct. 2. Create/Update Opportunity — Add the contact to your pipeline in the "New Lead" stage. 3. Send SMS — Send an immediate text: "Hi [name], thanks for reaching out! Here is a link to grab a time on our calendar: [booking link]. Looking forward to it." 4. Send Email — Send a matching email with the same booking link for redundancy. 5. Update Opportunity Stage — Move the opportunity to "Contacted."
Conditional logic
Add a branch: if the prospect books an appointment (detected via the calendar event trigger), move the opportunity to "Appointment Scheduled" and send a confirmation message. If they do not book within 48 hours, trigger a follow-up reminder.
Step 5: Test the Full System
Before going live, test every step:
1. Submit the form yourself with a test contact 2. Confirm the contact appears in your CRM 3. Confirm an opportunity opens in the "New Lead" stage 4. Confirm you receive the SMS and email with the booking link 5. Book an appointment through the link 6. Confirm the appointment appears on your calendar 7. Confirm the opportunity moves to "Appointment Scheduled"
If any step fails, the most common cause is a misconfigured trigger or a field mapping mismatch. Check that your form fields map to the correct contact fields.
Step 6: Add Missed-Call Text-Back
Once your form system is live, add missed-call text-back so phone leads are not lost either. When a call goes unanswered, the caller automatically receives a text with your booking link — closing the loop on both web and phone lead sources.
Common Mistakes to Avoid
1. Building the form before the pipeline. Leads arrive with nowhere to go. Always create the pipeline first. 2. Forgetting calendar sync. Without syncing your personal calendar, GoHighLevel may double-book you. 3. Sending the booking link only in email. SMS open rates are dramatically higher. Send both. 4. No follow-up for non-bookers. Most leads will not book on the first contact. Add a 48-hour reminder.
Want to build this system on your own account? Start your GoHighLevel trial and follow the steps above with live data.
Ready to Implement This in Your Business?
Explore GoHighLevel and test native Voice AI agents, conversation pipelines, and speed-to-lead automations risk-free on your first sub-account.
Affiliate notice: We may earn a commission if you sign up through our link at no extra cost to you.
Continue Exploring
Tutorials & SetupSet Up Missed Call Follow Up in GoHighLevel
Missed-call text-back is the highest-ROI automation in GoHighLevel. Here is the exact step-by-step setup, including the workflow version with smart deduplication.
Tutorials & SetupBest GoHighLevel Tutorials for Each Setup Stage
Not sure which tutorial to watch first? This guide maps the best GoHighLevel learning resources to each stage of setup — from absolute beginner to advanced automation.
GoHighLevel GuidesIs GoHighLevel Right for Your Service Business or Agency?
Before you switch CRMs, ask the right questions. An honest breakdown of which service businesses and agencies benefit most from GoHighLevel — and where it falls short.
