GoHighLevel CRM dashboard tutorial showing contacts and pipeline management

GoHighLevel CRM Tutorial: Full Walkthrough for Beginners

Step-by-step GoHighLevel CRM tutorial covering contacts, pipelines, automations, and workflow builders — from your initial setup to daily use.

GoHighLevel's CRM isn't a bolted-on feature — it's the core of the entire platform. Every automation, every funnel, every SMS sequence, and every pipeline runs through the contact record. If you understand the CRM, you understand how GHL works. If you skip it, everything else feels disconnected.

I've set up GoHighLevel CRM systems for agencies, local businesses, and service providers. This tutorial walks through the full CRM from scratch — the way I actually configure it for clients, not the way the marketing page describes it.

Disclosure: This post contains affiliate links. If you sign up through my links, I may earn a commission at no extra cost to you.

Start a free 14-day GoHighLevel trial →


Quick Summary

  • GoHighLevel's CRM manages contacts, pipelines, opportunities, and all communication from one unified dashboard
  • Contacts are the foundation — every automation, workflow, and campaign triggers from the contact record
  • Pipelines let you visually track leads through your sales process with drag-and-drop stages
  • Smart Lists replace manual segmentation with dynamic, auto-updating contact groups
  • Workflows connect everything — automating follow-ups, stage changes, task creation, and notifications

Getting Your CRM Set Up Right

Before adding a single contact, configure these foundational elements. Getting this right first saves hours of cleanup later.

Custom Fields

GoHighLevel ships with standard fields (name, email, phone, address), but real CRM power comes from custom fields tailored to your business.

Navigate to Settings → Custom Fields and create fields for the data points that actually drive your decisions:

  • Lead Source (dropdown) — where the contact came from (Google Ads, referral, Facebook, website form)
  • Service Interest (dropdown or multi-select) — what they're looking for
  • Budget Range (dropdown) — qualification tier
  • Notes (multi-line text) — free-form context

The key principle: only create fields you'll actively use for segmentation, automation triggers, or reporting. Every field you create adds a maintenance burden. I typically start clients with 5–8 custom fields and add more only when a workflow specifically needs them.

Tags vs. Custom Fields

GHL gives you both tags and custom fields. Here's the practical distinction:

  • Tags are best for binary states and quick filters — "VIP," "Do Not Call," "Attended Webinar," "Hot Lead"
  • Custom Fields are best for structured data with specific values — lead source, budget range, service type

Use tags for workflow triggers and quick visual identification. Use custom fields for data you need to report on or segment precisely.

Contact Sources

Every contact in GHL gets a source attribution — how they entered your system. Configure your sources in Settings → Custom Values so they're consistent:

  • Form submissions auto-tag with the form name
  • Manual imports can be tagged during upload
  • API integrations (Zapier, n8n, Make) should pass source data in the import payload

Clean source data is what lets you eventually answer "which channel is actually generating our best leads?" — a question most small businesses can't answer because their CRM data is messy from day one.


The Contact Record: Your Command Center

Click any contact in GHL and you'll see the unified contact view. This is where the CRM earns its value — everything about that person lives in one place.

What You See

  • Contact details — name, email, phone, address, all custom fields
  • Conversation history — every SMS, email, Facebook message, Instagram DM, Google chat, and phone call in one chronological thread
  • Activity timeline — form submissions, page visits, email opens, link clicks, appointment bookings
  • Opportunities — which pipeline stages this contact appears in
  • Tasks — assigned follow-ups and to-dos
  • Notes — manual notes from your team
  • Payments — invoices and transaction history

The unified conversation view is the feature that makes most people switch to GHL from their previous CRM. Instead of checking your email inbox, then your SMS app, then your Facebook messages, then your voicemail — every inbound and outbound communication lives on one screen.

Manually Adding Contacts

Contacts → Add Contact lets you create records one at a time. Useful for walk-ins, phone inquiries, or networking contacts. Fill in what you have — GHL doesn't require all fields.

Practical tip: always add at least a phone number OR email. A contact with neither is a dead record — you can't reach them through any automated channel.

Bulk Importing Contacts

Contacts → Import accepts CSV files. Map your CSV columns to GHL fields during import. Key considerations:

  • Clean your CSV first — remove duplicates, standardize phone formats, fill missing fields where possible
  • Map a tag for the import batch (e.g., "Import-June-2026") so you can identify and manage imported contacts as a group
  • Set DND (Do Not Disturb) appropriately — if these contacts haven't opted in to your communications, mark them DND to avoid compliance issues

GHL handles duplicate detection by email and phone. If a contact already exists with the same email or phone, the import updates the existing record rather than creating a duplicate.


Pipelines: Visualizing Your Sales Process

Pipelines are GHL's visual representation of your sales process. If you've used Trello or a Kanban board, the concept is familiar — contacts move through stages from left to right as they progress toward a sale.

Creating Your First Pipeline

Navigate to Opportunities → Pipelines → Create Pipeline. You'll define:

  1. Pipeline name — match your actual sales process ("New Client Pipeline," "Renovation Projects," "Patient Intake")
  2. Stages — the steps a lead moves through

A common pipeline for a service business:

StagePurpose
New LeadJust entered the system, hasn't been contacted
ContactedInitial outreach made, waiting for response
QualifiedConfirmed fit — budget, timeline, need verified
Proposal SentQuote or proposal delivered
NegotiationBack-and-forth on terms or scope
WonDeal closed, ready for onboarding
LostDidn't close — track the reason

Start simple. You can always add stages later. I've seen businesses create 15-stage pipelines before their first lead comes in — then they never update the stages because it's too complicated to manage. Five to seven stages is the sweet spot for most businesses.

Working With Opportunities

Each card on the pipeline board is an opportunity — a potential deal attached to a contact. One contact can have multiple opportunities (e.g., a returning customer with a new project).

Click an opportunity to see:

  • Contact details (linked from the contact record)
  • Stage history — when the opportunity entered each stage
  • Monetary value — expected deal size
  • Expected close date
  • Owner — which team member owns this deal
  • Activity and notes

Drag opportunities between stages to update their status. This triggers any automations you've built on stage changes — which is where pipelines become truly powerful.

Pipeline Automations

The real value of pipelines isn't the visual board — it's the automations that fire when opportunities move between stages. Common triggers:

  • Moved to "Contacted" → Start a follow-up SMS/email sequence
  • Moved to "Qualified" → Notify the sales team, create a task to send proposal
  • Moved to "Proposal Sent" → Start a 3-day follow-up sequence if no response
  • Moved to "Won" → Send welcome email, create onboarding tasks, notify the team
  • Moved to "Lost" → Add to a nurture sequence, tag with the loss reason

This is where GHL's CRM transitions from a database to an actual revenue engine. Most CRMs just store data. GHL acts on it.


Smart Lists: Dynamic Segmentation

Smart Lists are saved filters that automatically update as contacts match (or stop matching) your criteria. Think of them as living segments.

Creating a Smart List

Navigate to Contacts → Smart Lists → Create. Build your filter with conditions:

  • Tag is "Hot Lead" AND Last Activity within 7 days → Active hot leads
  • Lead Source is "Google Ads" AND Pipeline Stage is "New Lead" → Fresh paid leads needing outreach
  • Tag is "Customer" AND Last Contact more than 90 days ago → Customers due for re-engagement

Smart Lists update in real time. When a contact meets the criteria, they appear. When they no longer meet it, they disappear. No manual list management required.

Practical Smart List Examples

Smart ListCriteriaUse Case
Leads to Call TodayNew leads, no outreach in 24hrsDaily call list
Stale ProposalsProposal sent, 5+ days, no responseFollow-up triggers
VIP CustomersCustomer tag + $5K+ lifetime valuePriority support
Re-engagement PoolCustomer + 90+ days since last contactReactivation campaigns
DND ContactsDo Not Disturb enabledCompliance audit

I set up Smart Lists for every client during onboarding. They replace the "pull a report" mentality with always-current visibility into key segments.


Workflows: The Automation Engine

GHL Workflows are the visual automation builder that connects your CRM data to actions. If pipelines are where you track progress, workflows are where you automate the response.

If you haven't explored workflows yet, I wrote a deep dive on GHL automation workflows that covers the full builder in detail. Here's how they connect to the CRM specifically.

CRM-Triggered Workflows

Every workflow starts with a trigger. CRM-relevant triggers include:

  • Contact Created — fires when a new contact enters the system
  • Contact Tag Added/Removed — fires when a specific tag changes
  • Pipeline Stage Changed — fires when an opportunity moves stages
  • Contact DND Updated — fires when communication preferences change
  • Task Completed — fires when an assigned task is marked done
  • Custom Field Changed — fires when a specific field value updates

A Real Workflow Example: New Lead Follow-Up

Here's a workflow I build for virtually every client:

Trigger: Contact Created (from any source)

Steps:

  1. Wait 2 minutes — let the form confirmation page load, avoids feeling bot-like
  2. Send SMS — "Hi {first_name}, thanks for reaching out to {company}. I'll personally follow up within the hour. — {assigned_user}"
  3. Send Email — Welcome email with what to expect and key info
  4. Create Task — "Call {first_name}" assigned to the contact owner, due in 1 hour
  5. Internal Notification — Slack/email alert to the team: "New lead: {first_name} {last_name}{lead_source}"
  6. Wait 24 hours
  7. If/Else: Was the contact called? (check for call activity)
    • Yes → End workflow
    • No → Send follow-up SMS, escalate task to manager

This single workflow replaces what used to require three separate tools and manual coordination. The contact record captures every touchpoint — the SMS, the email, the task creation, the internal notification — all visible in the activity timeline.


Conversations: Unified Inbox

The Conversations tab is GHL's unified inbox. Every message — SMS, email, Facebook Messenger, Instagram DM, Google Business Messages, WhatsApp, and even live chat — appears in one feed.

For CRM purposes, this means:

  • No context switching — respond to any channel from one screen
  • Full history — scroll up to see every previous interaction with this contact
  • Assignment — conversations can be assigned to team members
  • Snippets — saved reply templates for common responses
  • Automation integration — conversations can trigger workflows (e.g., if a contact replies "interested," auto-move them to the next pipeline stage)

If your business communicates across multiple channels (and most do), the unified inbox alone justifies the platform. I covered this in detail in my GoHighLevel review — it's consistently the feature that gets the strongest reaction during demos.


Tasks and Calendar

Tasks

GHL's task system ties directly to contacts. Every task is associated with a contact record and appears both in the global task list and on the individual contact view.

Common task workflows:

  • Auto-create tasks when leads enter specific pipeline stages
  • Set due dates relative to the trigger event (e.g., "Call within 2 hours of form submission")
  • Assign to team members based on round-robin rules or territory
  • Mark complete to trigger next workflow steps

Calendar and Appointments

The built-in calendar handles scheduling with automatic CRM updates:

  • Booking pages — shareable scheduling links (like Calendly, but built in)
  • Auto-create contacts — new bookings from unknown visitors create contact records automatically
  • Pipeline integration — bookings can auto-move opportunities to a "Meeting Scheduled" stage
  • Reminders — automated SMS and email reminders reduce no-shows

Reporting and Dashboard

GHL's reporting gives you CRM-level analytics without exporting to spreadsheets:

  • Pipeline value — total dollar value at each stage
  • Conversion rates — percentage of leads moving between stages
  • Lead source performance — which sources generate the most opportunities
  • Team performance — deals won/lost per team member
  • Activity metrics — calls made, emails sent, tasks completed

The dashboard widgets can be customized to show the metrics that matter to your business. For agencies managing multiple clients, the agency dashboard provides a roll-up view across all sub-accounts.


Five Things I Wish I'd Known Day One

After setting up GHL CRM for dozens of businesses, these are the lessons that save the most time:

  1. Build workflows before importing contacts. If you import 5,000 contacts and then build your "New Contact Created" workflow, those 5,000 contacts won't trigger it. Workflows only fire on new events. Set up your automations first, then import.

  2. Use pipeline automation aggressively. Manual pipeline updates don't scale. Every stage change should trigger at least one automated action — even if it's just an internal notification. If nobody acts on a stage change, why is that stage there?

  3. Tag discipline matters. Create a tagging convention before your team starts adding random tags. I use a prefix system: source:google-ads, status:vip, campaign:summer-2026. It prevents the inevitable tag soup that makes segmentation impossible.

  4. Set up DND rules immediately. GHL's DND (Do Not Disturb) system prevents you from contacting people who've opted out. Configure it during setup, not after you've accidentally texted someone who asked to stop.

  5. The mobile app is essential. GHL's mobile app gives you the full conversation view, pipeline board, and task list. For local businesses where the owner is the primary salesperson, the mobile app means no leads slip through while you're on a job site.


What GoHighLevel CRM Doesn't Do

Being honest about limitations:

  • No native project management. GHL tracks leads and sales, not project delivery. You'll still need a separate tool for post-sale project management (Asana, Monday.com, etc.)
  • Reporting has limits. For advanced analytics, you'll likely export data or integrate with a BI tool. The built-in reports cover the basics well but don't offer custom report builders
  • Learning curve is real. The platform does a lot, which means there's a lot to learn. Expect 2–4 weeks before your team is comfortable. The investment pays off — but it is an investment

For a detailed breakdown of what you'll pay, see my GHL pricing guide.


Getting Started

The fastest path to a working GHL CRM:

  1. Sign up for a 14-day free trial — no credit card required
  2. Configure custom fields and tags — 30 minutes
  3. Build your first pipeline — 20 minutes
  4. Create one workflow — start with the new lead follow-up above — 45 minutes
  5. Import your existing contacts — time depends on data quality
  6. Set up Smart Lists — 15 minutes per list

Within half a day, you'll have a working CRM that automatically responds to new leads, tracks them through your sales process, and alerts your team when action is needed.

If you want someone to handle the setup, book a free strategy session at Automation Warrior — I've built this exact system for businesses across industries and can get you running in days instead of weeks.

Start your free GoHighLevel trial →


Frequently Asked Questions

Is GoHighLevel just a CRM?

No. GoHighLevel is an all-in-one platform that includes CRM, email marketing, SMS marketing, funnel builder, website builder, appointment scheduling, reputation management, and more. The CRM is the central hub that connects all these tools. Read my full GoHighLevel review for the complete breakdown.

Can I import contacts from another CRM into GoHighLevel?

Yes. GoHighLevel accepts CSV imports, and most CRMs (HubSpot, Salesforce, ActiveCampaign, Pipedrive) can export contacts as CSV. During import, you map your columns to GHL fields. Duplicates are detected automatically by email and phone number.

How much does GoHighLevel CRM cost?

GoHighLevel starts at $97/month (Starter plan), which includes the full CRM, pipeline management, and automation features. The Unlimited plan ($297/month) removes contact and sub-account limits. See my detailed pricing breakdown for the full comparison.

Does GoHighLevel have a mobile app?

Yes. The GHL mobile app (iOS and Android) includes the conversation inbox, pipeline view, task management, and contact records. It's fully functional — not a stripped-down version. For business owners who need to respond to leads on the go, it's essential.

Can GoHighLevel replace my current CRM and email tool?

For most small-to-mid businesses and agencies, yes. GHL replaces separate CRM, email marketing, SMS, scheduling, and funnel tools with one platform. The main case where it might not replace your existing setup is if you need enterprise-grade reporting or deep project management features.

Ready to automate your business?

Book a free call →