Skip to main content

KB-004: Client Onboarding Checklist - Complete Guide

Purpose: Complete client onboarding systematically with detailed instructions for each step

Who This Is For: Implementation team members, client success managers

What You'll Learn:

  • Complete pre-onboarding preparation
  • Step-by-step instructions for all mandatory, important, and optional tasks
  • WHY each step matters (not just HOW)
  • Troubleshooting for common issues at each step
  • Post-onboarding validation procedures

Prerequisites:


How to Use This Document

This is a reference guide, not a reading guide.

  • Use the Task Quick Reference to see all tasks at a glance
  • Jump to specific tasks using the table of contents
  • Check off items as you complete them
  • Refer to troubleshooting sections when issues arise
  • Use time estimates to plan your onboarding schedule

Estimated Total Time: 4-6 hours for complete onboarding (excluding DNS propagation wait times)


Terminology

These terms are used consistently throughout this document:

TermDefinition
Client OnboardingThe complete client journey from signed contract to go-live (~14 business days). Umbrella term for the entire process.
ImplementationTechnical setup and configuration work within onboarding (configuring GHL sub-account, workflows, automations).
SetupInitial one-time configurations (DNS, email domain, payment gateway) that must complete before other work.
Go-LiveMilestone when the client's GHL sub-account becomes operational and client begins active use.
SnapshotPre-configured GHL sub-account template with standardized workflows, automations, and custom values.
Sub-AccountIndividual client workspace within GoHighLevel, created by applying a snapshot.

Table of Contents

  1. Pre-Onboarding Phase (30 min)
  2. Mandatory Tasks (3-4 hours)
  3. Important Tasks (1-2 hours)
  4. Optional Tasks (30-60 min)
  5. Post-Onboarding Validation (30 min)
  6. Client Training Handoff (1 hour)
  7. Troubleshooting Guide (reference as needed)

Task Quick Reference

Mandatory Tasks (Must Complete)

#TaskTimePriority
M1Add snapshot to sub-account10 minCritical
M2Complete business profile5 minCritical
M3Connect domain/subdomain30 min + waitCritical
M4Connect email dedicated domain20 min + waitCritical
M5Connect funnels to domain45 minCritical
M6Add phone number10 minCritical
M7Setup user calendar15 minCritical
M8Assign users to calendars10 minCritical
M9Assign user in APPT canceled workflow5 minCritical
M10Add database reactivation SMS copy15 minCritical
M11Add voicemail recording20 minCritical
M12Configure referral automations20 minCritical
M13Fill out ExtendlyOS custom values form30 minCritical

Total Mandatory Time: ~3.5 hours + DNS propagation (24-48 hours)

Important Tasks (Should Complete)

#TaskTimePriority
I1Configure virtual meetings vs. phone calls15 minHigh
I2Draft unused workflows15 minHigh
I3Configure link tree custom values20 minMedium
I4Submit A2P Registration30 min + 7-10 days waitHigh
I5Website SetupVaries (3-15 days)Medium

Optional Tasks (Nice to Have)

#TaskTimePriority
O1Enable/disable auto text back5 minLow
O2Add additional products15 minLow

Internal Setup Tasks (Must Complete Before Client Work)

#TaskTimePriority
S1Create client Google Drive folder10 minCritical
S2Create client ClickUp folder5 minCritical
S3Create payment tracking contact in Agency sub-account5 minCritical

Total Internal Setup Time: ~20 minutes


1. Pre-Onboarding Phase

Goal: Gather all necessary information before touching GoHighLevel Time Required: 30 minutes Importance: Critical - Missing information causes delays and errors

1.1 Client Information Gathering

Create a pre-onboarding form or checklist and collect the following from the client:

Essential Business Information (Must Have)

Basic Identity:

  • Business legal name (as it appears on documents)
  • Business "doing business as" (DBA) name (if different)
  • Primary business phone (must include country code: +15555551234)
  • Primary business email (preferably branded domain, not Gmail/Yahoo)
  • Business physical address (full address including zip code)
  • Business hours of operation (e.g., "Mon-Fri 9AM-5PM, Sat 10AM-2PM")
  • Business EIN (if applicable, for business profile)

Digital Presence:

  • Website URL (if they have one)
  • Domain for GHL pages - Options:
    • New subdomain on existing domain (recommended: go.clientdomain.com)
    • Completely new domain dedicated to GHL
    • Temporary GHL subdomain (can change later)
  • Email sending domain (recommended: reply.clientdomain.com or mail.clientdomain.com)
  • Business logo file - Requirements:
    • Horizontal format (not square)
    • Transparent background (PNG preferred)
    • Minimum 300px wide
    • Appropriate for email headers

Social Media & Review Platforms:

  • Facebook business page URL (not personal profile)
  • Instagram business account URL
  • LinkedIn company page URL (not personal)
  • Twitter/X business account URL
  • TikTok business account URL (if applicable)
  • YouTube channel URL (if applicable)
  • Google My Business review link - How to find it
  • Yelp business page URL (if applicable)

Additional Info:

  • Industry/vertical (Real Estate, Home Services, Prof Services, etc.)
  • Service area (geographic region served)
  • Target customer description (who they serve)
  • Average customer value (for pipeline reporting)

Nice-to-Have Information

Branding:

  • Primary brand color (hex code: #XXXXXX)
  • Secondary brand color (hex code: #XXXXXX)
  • Preferred fonts (headline and body text)

Social Proof:

  • 6 customer testimonials (each max 255 characters)
  • Testimonial author names

Team:

  • Team member names (up to 3 for calendar pages)
  • Team member headshots (professional photos)
  • Team member roles/specialties

Marketing:

  • 4 lead magnet offers (downloadable guides, checklists, etc.)
  • Referral program details (what's the offer?)
  • Current promotions (if any)

How to Get Google My Business Review Link:

  1. Go to Google My Business (business.google.com)
  2. Select your business location
  3. Click "Home" in left sidebar
  4. Look for "Get more reviews" card
  5. Click "Share review form"
  6. Copy the short URL (looks like: g.page/yourbusiness/review)

OR Use This Format:

https://search.google.com/local/writereview?placeid=[YOUR_PLACE_ID]

To find Place ID:

  1. Google your business name
  2. View page source (right-click → View Page Source)
  3. Search for "ludocid"
  4. The long number after ludocid is your Place ID

1.2 Internal Setup Tasks

Goal: Set up internal systems to track and manage the client before starting GHL configuration Time Required: 20 minutes Importance: Critical - These systems enable team collaboration and payment tracking

S1: Create Client Google Drive Folder

Purpose: Centralized storage for client deliverables, assets, and internal documentation

Steps:

  1. Navigate to Client_Delivery Shared Drive
  2. Create a new folder using naming convention: clientname (lowercase-with-hyphens, no year suffix)
    • Example: acme-plumbing, rotary-ski, kraneworks
    • Must match repository folder name in 09-clients/
  3. Create the standard subfolder structure:
    clientname/
    ├── symphony-core-client-collaboration/ # Client Full Access
    │ ├── active-projects/
    │ ├── media-files/
    │ ├── deliverables/
    │ ├── resources/
    │ └── communications/
    ├── brand-assets-master/ # Client View-Only
    │ ├── design-kit/
    │ ├── logos/
    │ └── guidelines/
    ├── confidential-internal/ # Internal Only
    │ ├── contracts/
    │ ├── financials/
    │ └── notes/
    └── work-in-progress/ # Internal Only
    ├── drafts/
    └── reviews/
  4. Set permissions:
    • symphony-core-client-collaboration/: Share with client (Editor)
    • brand-assets-master/: Share with client (Viewer only)
    • confidential-internal/: No client access
    • work-in-progress/: No client access

Reference: See Google Drive Organization Standard for detailed folder specifications


S2: Create Client ClickUp Folder

Purpose: Project management and task tracking for client delivery work

Steps:

  1. Open ClickUp: Symphony Core Workspace
  2. Navigate to Client Delivery space
  3. Locate the ClientA template folder
  4. Duplicate the folder:
    • Right-click on ClientA → Duplicate
    • Rename to: [ClientName]-[Year] (e.g., Rotary-ski-2025, Upscale-Legal-2025)
  5. Verify the active-work list is created inside the new folder
  6. Update any placeholder text in tasks with actual client information

Naming Convention:

  • Use client's common name (not full legal name)
  • Include year: 2025
  • Use hyphens between words
  • Examples: JPFloors-2025, MCG-RealEstate-2025, Southbury-plaza-2025

S3: Create Payment Tracking Contact in Agency Sub-account

Purpose: Track client relationship and payment status in the agency's master contact list

Steps:

  1. Navigate to the Agency Customer Smart List
  2. Click + Add Contact (or the + icon)
  3. Fill in client information:
    • Name: Primary contact name
    • Company: Client business name
    • Email: Primary contact email
    • Phone: Primary contact phone
  4. Set Contact Type to: Customer
  5. Save the contact

Why This Matters:

  • Enables payment method tracking (yellow banner reminder if missing)
  • Creates master list of all paying clients
  • Supports client relationship management at agency level

Note: This is different from contacts within the client's own sub-account. This contact lives in Symphony Core's agency-level sub-account for internal tracking.


1.3 Snapshot Selection

Decision Tree: Which Snapshot to Use?

What industry is the client in?

├─ Real Estate (agents, brokers, property management)
│ └─ Use: z.sc.Real-Estate-Base-2025-[DATE]-v[#]

├─ Professional Services (attorneys, accountants, consultants, financial advisors)
│ └─ Use: z.sc.Prof-Services-Base-2025-[DATE]-v[#]

├─ Home Services (HVAC, plumbing, electrical, roofing, landscaping, cleaning)
│ └─ Use: z.sc.Small-Biz-Base-2025-[DATE]-v[#]

├─ E-commerce (online stores, digital products)
│ └─ Use: z.sc.Ecommerce-Base-2025-[DATE]-v[#]

├─ International / Non-US (businesses operating outside United States)
│ └─ Use: z.sc.non-US-Base-2025-[DATE]-v[#]

└─ Other / Unsure
└─ Action: Review [KB-002](/kb-002-automation-ecosystem) for module descriptions
└─ Consult: Team lead or technical specialist

Version Selection:

  • Always use the latest version (highest v# number)
  • Check KB Status Document for current recommended versions
  • If unsure, ask team lead which version to use

1.4 Setting Client Expectations

Timeline Communication:

Provide realistic timeline to client:

  • Day 1-2: Initial setup (snapshot load, form completion, domain configuration)
  • Days 3-5: DNS propagation wait (domains must resolve)
  • Days 6-7: Integration setup (calendar, email, phone)
  • Days 8-10: Testing and refinement
  • Days 11-14: Final QA and client training
  • Total: 10-14 days from start to full go-live

What Client Must Provide:

  • Business information (see checklist above)
  • Access to domain registrar (GoDaddy, Cloudflare, etc.) for DNS changes
  • Access to business email account (for calendar connection)
  • Access to Google My Business (if not already connected)
  • Time for training session (1-2 hours)

What Symphony Core Will Handle:

  • Complete system setup and configuration
  • All technical integrations
  • Template customization
  • Workflow activation
  • Testing and validation
  • Team training

Setting Boundaries:

  • First 30 days: Included setup support
  • Ongoing: Monthly retainer covers optimization and updates
  • Out of scope: Major custom development (requires separate agreement)
  • Response time: Business day responses (not 24/7 support)

2. Mandatory Tasks (Core Setup)

These tasks are absolutely required for a functional system. Do not skip any.


TASK M1: Add Snapshot to Sub-Account

Why This Matters: The snapshot is the foundation - everything else builds on it.

Prerequisites:

  • Client sub-account created in GoHighLevel
  • Appropriate snapshot identified (see snapshot selection above)

Time Required: 10 minutes (including verification)

Step-by-Step Instructions

Step 1: Navigate to Snapshots

  1. In GoHighLevel, click your profile picture (top right)
  2. Select "Account Snapshots" from dropdown
  3. You'll see library of available snapshots

Step 2: Find Correct Snapshot

  1. Search for snapshot by name (e.g., "z.sc.Real-Estate-Base")
  2. Verify you're selecting the correct industry
  3. Check version number (use latest unless directed otherwise)
  4. Note the date in snapshot name (should be recent)

Step 3: Load Snapshot

  1. Click on the snapshot name
  2. Click "Load Snapshot" button (top right)
  3. In modal, select client's sub-account from dropdown
  4. Important: Review what will be loaded:
    • Workflows
    • Funnels
    • Forms
    • Calendars
    • Email templates
    • SMS templates
  5. Click "Load Snapshot" to confirm

Step 4: Wait for Completion

  • Loading takes 2-5 minutes depending on snapshot size
  • Progress bar shows status
  • Do NOT navigate away during loading
  • You'll see "Snapshot loaded successfully" message when complete

Verification Checklist

After snapshot loads, verify these elements exist:

  • Workflows - Navigate to Automations, see folders with B-prefix (B-007, B-004, etc.)
  • Funnels - Navigate to Sites → Funnels, see multiple folders with funnels
  • Forms - Navigate to Marketing → Forms, see ExtendlyOS form and other forms
  • Calendars - Navigate to Calendars, see multiple calendar types
  • Email Templates - Navigate to Marketing → Emails, see template folders
  • Custom Values - Navigate to Settings → Custom Values, see list of values
  • Pipelines - Navigate to Opportunities, see configured pipeline stages

Troubleshooting

Issue: Snapshot fails to load

  • Cause: Sub-account may have conflicting content
  • Solution:
    1. Check if sub-account has existing workflows/funnels
    2. If yes, backup or delete conflicting content
    3. Retry snapshot load
    4. If still fails, contact technical support

Issue: Snapshot loads but elements missing

  • Cause: Partial load or snapshot corruption
  • Solution:
    1. Note what's missing (workflows? funnels? both?)
    2. Try loading snapshot again (it may complete missing elements)
    3. If still incomplete, load into fresh sub-account
    4. Document issue for technical team

Issue: Not sure which snapshot to use

  • Solution: Refer to snapshot selection decision tree above
  • Escalate: If industry doesn't fit standard categories, consult team lead

Success Criteria

✅ Snapshot loaded without errors ✅ All verification checklist items present ✅ No missing workflows or funnels ✅ Client sub-account shows in snapshot's "Linked Sub-Accounts" section

Next Step: Proceed to Task M2 (Complete Business Profile)


TASK M2: Complete Business Profile

Why This Matters: Legal compliance, professional appearance, payment processing requirements

Prerequisites:

  • Client business information gathered
  • Business EIN available (if applicable)

Time Required: 5 minutes

Step-by-Step Instructions

Step 1: Navigate to Business Profile

  1. In client's sub-account, click Settings (left sidebar)
  2. Click "Business Profile"

Step 2: Enter Business Information

Fill out all fields:

Business Details:

  • Business Name: Full legal name or DBA
  • Address Line 1: Street address
  • Address Line 2: Suite/unit number (if applicable)
  • City: City name
  • State/Province: Select from dropdown
  • Postal Code: ZIP code
  • Country: Select from dropdown
  • Phone: Primary business phone (format: +15555551234)
  • Email: Primary business email

Tax Information:

  • Business EIN: Enter if applicable
  • Business Type: Select from dropdown (LLC, Corporation, Sole Proprietor, etc.)

Additional Settings:

  • Website: Business website URL
  • Timezone: Select correct timezone (CRITICAL for automation timing)

Step 3: Upload Business Logo

  • Click "Upload Logo" button
  • Select logo file from computer (PNG recommended)
  • Crop if needed
  • Save

Step 4: Save Changes

  • Click "Save" button at bottom of page
  • Verify success message appears

Verification Checklist

  • All required fields completed (no red errors)
  • Phone number in correct format (+1 country code)
  • Timezone matches client's location
  • Logo uploaded and displays correctly
  • EIN entered (if applicable)
  • Changes saved successfully

Troubleshooting

Issue: Phone number won't save

  • Cause: Missing country code or incorrect format
  • Solution: Format must be: +[country code][area code][number]
    • Example: +15555551234 (US number)
    • Example: +442012345678 (UK number)

Issue: Logo won't upload

  • Cause: File too large or wrong format
  • Solution:
    • Check file size (should be under 5MB)
    • Convert to PNG format if other format
    • Resize if over 2000px wide
    • Try different file

Issue: Address validation error

  • Cause: Address format not recognized
  • Solution:
    • Verify address exists via Google Maps
    • Use standard USPS format
    • Spell out directional abbreviations
    • Try removing suite/unit number if issue persists

Success Criteria

✅ All required fields completed ✅ Business information accurate ✅ Logo displays correctly ✅ Timezone set correctly ✅ Changes saved without errors

Next Step: Proceed to Task M3 (Connect Domain/Subdomain)


TASK M3: Connect Domain or Subdomain

Why This Matters: Funnels and pages won't load without a connected domain. This is critical infrastructure.

Prerequisites:

  • Client has domain name (example.com)
  • Access to domain registrar (GoDaddy, Cloudflare, Namecheap, etc.)
  • Decided whether to use subdomain or new domain

Time Required: 30 minutes + 24-48 hours DNS propagation

Recommended Approach: Use subdomain on client's existing domain (e.g., go.clientdomain.com)

Step-by-Step Instructions

Step 1: Choose Domain Strategy

Option A: Subdomain on Existing Domain (Recommended)

  • Client keeps main website on main domain (example.com)
  • GHL pages on subdomain (go.example.com or app.example.com)
  • Advantages: Professional, doesn't interfere with existing website
  • Disadvantages: Requires DNS access to existing domain

Option B: New Separate Domain

  • Purchase new domain just for GHL (clientapp.com)
  • All GHL pages on this domain
  • Advantages: Complete control, no conflict with existing site
  • Disadvantages: Additional cost, less brand consistency

Option C: Use Client's Main Domain

  • Only if client has NO existing website
  • All GHL pages replace any existing site
  • Advantages: Simplest for client
  • Disadvantages: Loses existing website (if any)

For this guide, we'll use Option A (subdomain) as it's most common.

Step 2: Add Domain in GoHighLevel

  1. In client sub-account, navigate to SettingsDomains
  2. Click "+ Connect Domain" button (top right)
  3. Select domain type: "Funnel/Website" (not Email Domain - that's separate)
  4. Enter subdomain name: go.clientdomain.com (or chosen subdomain)
  5. Click "Continue"

Step 3: Note DNS Records

GHL will display DNS records you need to add. Copy these carefully:

Record 1: A Record

Type: A
Name: go (or @ if using root domain)
Value: [IP address provided by GHL]
TTL: 3600 (or Auto)

Record 2-4: CNAME Records

Type: CNAME
Name: [various prefixes provided by GHL]
Value: [domains provided by GHL]
TTL: 3600 (or Auto)

Take a screenshot or copy these values - you'll need them in the next step.

Step 4: Add DNS Records at Domain Registrar

For GoDaddy:

  1. Log in to GoDaddy.com
  2. Navigate to "My Products" → "Domains"
  3. Find the domain, click "DNS" button
  4. Click "Add" button
  5. Add A record:
    • Type: A
    • Name: go (the subdomain prefix)
    • Value: [IP from GHL]
    • TTL: 600 (or default)
  6. Click "Save"
  7. Repeat for each CNAME record

For Cloudflare:

  1. Log in to Cloudflare.com
  2. Select the domain
  3. Go to "DNS" tab
  4. Click "Add record"
  5. Add A record:
    • Type: A
    • Name: go
    • IPv4 address: [IP from GHL]
    • Proxy status: DNS only (gray cloud, NOT proxied)
    • TTL: Auto
  6. Save
  7. Repeat for CNAME records
  8. Important: Make sure proxy is OFF (gray cloud, not orange)

For Other Registrars:

  • Process is similar
  • Look for "DNS Management" or "DNS Settings"
  • Add A and CNAME records as provided by GHL
  • If unsure, search: "[Registrar Name] add DNS records"

Step 5: Wait for DNS Propagation

  • DNS changes take 24-48 hours to propagate fully
  • Often works in 2-4 hours, but be patient
  • During this time, domain will show "Pending" in GHL

Step 6: Verify SSL Certificate

After DNS propagates (usually 24-48 hours):

  1. Return to Settings → Domains in GHL
  2. Check domain status:
    • Should show "Connected" with green checkmark
    • SSL status should show "Active" or "Certificate Issued"
  3. If SSL not active after 48 hours:
    • Click "Re-issue SSL" button
    • Wait 10-15 minutes
    • Refresh page

Step 7: Test Domain

  1. Click domain name in GHL
  2. Click "View Sample Page" or visit: http://go.clientdomain.com
  3. Should see GHL sample page (not error)
  4. Verify URL shows HTTPS (secure connection)
  5. No browser security warnings

Verification Checklist

  • Domain added in GHL (Settings → Domains)
  • All DNS records added correctly at registrar
  • DNS propagated (domain shows "Connected" in GHL)
  • SSL certificate active (HTTPS works)
  • No browser security warnings
  • Test page loads at domain URL

Troubleshooting

Issue: DNS not propagating after 48 hours

  • Check: DNS records entered correctly (no typos)
  • Check: DNS records active at registrar (not paused)
  • Tool: Use https://dnschecker.org to check propagation globally
  • Solution:
    • Verify records match GHL exactly
    • Check for conflicting records (delete any old A records for same subdomain)
    • Wait up to 72 hours for full propagation

Issue: SSL certificate not activating

  • Check: DNS fully propagated (use dnschecker.org)
  • Solution:
    • Wait for full DNS propagation
    • Click "Re-issue SSL" button in GHL
    • Wait 15 minutes after re-issue
    • If still fails after 72 hours, contact GHL support

Issue: "This site can't be reached" error

  • Cause: DNS records not correct or not propagated
  • Solution:
    • Verify A record points to correct IP
    • Verify CNAME records exist
    • Wait longer for propagation
    • Check registrar for any errors/warnings

Issue: Cloudflare proxy blocking SSL

  • Cause: Cloudflare's proxy interferes with GHL SSL
  • Solution:
    • In Cloudflare DNS settings, click orange cloud to turn gray (DNS only)
    • Wait 10 minutes
    • Re-issue SSL in GHL

Success Criteria

✅ Domain shows "Connected" status in GHL ✅ SSL certificate active (HTTPS works) ✅ Test page loads without errors ✅ No browser security warnings ✅ DNS propagation complete

Next Step: Proceed to Task M4 (Connect Email Dedicated Domain)


TASK M4: Connect Email Dedicated Domain

Why This Matters: Email deliverability. Without this, emails go to spam. This is NON-NEGOTIABLE.

Prerequisites:

  • Client has domain (same domain as Task M3 or different)
  • Access to domain registrar DNS settings
  • Decided on email subdomain (e.g., reply.clientdomain.com or mail.clientdomain.com)

Time Required: 20 minutes + 24-48 hours verification

Recommended Subdomain: reply.clientdomain.com or mail.clientdomain.com

IMPORTANT: This is DIFFERENT from Task M3. M3 was for website pages. M4 is for email sending.

Step-by-Step Instructions

Step 1: Add Email Domain in GoHighLevel

  1. In client sub-account, navigate to SettingsEmail Services
  2. Click "Dedicated Domain and IP" section
  3. Click "+ Add Domain" button
  4. Enter email subdomain: reply.clientdomain.com
  5. Click "Submit" or "Add"

Step 2: Note Email DNS Records

GHL will display email authentication DNS records. These are different from the website domain records.

You need to add 3-4 records:

Record 1: TXT Record (SPF)

Type: TXT
Name: @ (or clientdomain.com)
Value: v=spf1 include:_spf.mx.leadconnectorhq.com ~all

Record 2: TXT Record (DKIM)

Type: TXT
Name: ghl._domainkey.reply (specific name provided by GHL)
Value: [long cryptographic key provided by GHL]

Record 3: TXT Record (DMARC)

Type: TXT
Name: _dmarc
Value: v=DMARC1; p=none; rua=mailto:dmarc@clientdomain.com

Record 4: CNAME Record (Tracking Domain)

Type: CNAME
Name: reply (your chosen subdomain)
Value: [domain provided by GHL]

Take a screenshot - you need these exact values.

Step 3: Add Email DNS Records at Registrar

Similar to Task M3, but different records:

For GoDaddy:

  1. Navigate to DNS management (same as Task M3)
  2. Add each TXT and CNAME record as provided
  3. For TXT records, paste full value including quotes (if provided)
  4. Save each record

For Cloudflare:

  1. Navigate to DNS tab
  2. Add records as TXT or CNAME type
  3. Important: Set proxy to "DNS only" (gray cloud)
  4. Paste values exactly as provided

Common Mistake: Forgetting to include the include: in SPF record - must be exact.

Step 4: Wait for Verification

  • Email DNS records typically verify in 2-24 hours
  • Return to Settings → Email Services → Dedicated Domain
  • Check verification status:
    • SPF: Verified ✓
    • DKIM: Verified ✓
    • DMARC: Verified ✓

Step 5: Test Email Sending

Once verified:

  1. Create a test contact with your email
  2. Send a manual email from contact record
  3. Check your inbox (and spam folder)
  4. Email should arrive from @reply.clientdomain.com

Verification Checklist

  • Email subdomain added in GHL
  • All DNS records (SPF, DKIM, DMARC, tracking) added correctly
  • Records verified (green checkmarks in GHL)
  • Test email sent successfully
  • Test email received (check inbox and spam)
  • Email shows correct "from" address

Troubleshooting

Issue: Records not verifying after 24 hours

  • Check: Records entered exactly as provided (no typos)
  • Check: TXT records don't have truncation (some registrars split long values)
  • Tool: Use https://mxtoolbox.com to check SPF and DKIM
  • Solution:
    • Verify each record independently
    • For SPF: mxtoolbox.com/spf.aspx
    • For DKIM: mxtoolbox.com/dkim.aspx
    • Correct any errors found

Issue: Emails still going to spam

  • Cause: Multiple possible:
    • Domain too new (no sending reputation)
    • Sending too many emails too fast (rate limiting)
    • Content triggers spam filters
  • Solution:
    • Warm up domain: Start with 10-20 emails/day, gradually increase
    • Improve email content (avoid spam trigger words: "free", "guaranteed", etc.)
    • Add unsubscribe link to every email
    • Encourage recipients to add to contacts

Issue: SPF record conflict

  • Cause: Multiple SPF records (only one allowed per domain)
  • Solution:
    • Check existing SPF record at root domain
    • Merge: v=spf1 include:_spf.mx.leadconnectorhq.com include:otherprovider.com ~all
    • Only one TXT record with v=spf1

Issue: DKIM not verifying

  • Cause: Record value truncated or incorrect name
  • Solution:
    • Verify subdomain name exactly matches GHL (ghl._domainkey.reply)
    • Check that full DKIM value copied (can be very long)
    • Some registrars require quotes around value, others don't
    • Try with and without quotes if failing

Success Criteria

✅ Email domain shows "Verified" status ✅ All authentication records (SPF, DKIM, DMARC) verified ✅ Test email sent successfully ✅ Test email delivered to inbox (not spam) ✅ Email displays correct sender domain

Next Step: Proceed to Task M5 (Connect Funnels to Domain)


TASK M5: Connect Funnels to Domain

Why This Matters: Funnels won't be publicly accessible until connected to your domain. This makes landing pages, calendars, and forms live.

Prerequisites:

  • Task M3 completed (domain connected and SSL active)
  • Funnels exist from snapshot load
  • DNS fully propagated

Time Required: 45 minutes (depends on number of funnels)

Step-by-Step Instructions

Step 1: Navigate to Funnels

  1. In client sub-account, go to SitesFunnels
  2. You'll see folders containing funnels from the snapshot
  3. Each folder represents a marketing funnel or calendar page

Step 2: Identify Funnels to Connect

Common funnels in Extendly snapshot:

  • Calendars Folder - Appointment booking pages (PRIORITY)
  • Main Funnels - Lead capture pages
  • Request Callback - Callback form pages
  • Thank You Pages - Confirmation pages
  • Link Tree - Multi-link landing page

Priority Order:

  1. Calendar pages (critical for booking)
  2. Main lead capture funnels
  3. Thank you/confirmation pages
  4. Everything else

Step 3: Connect First Funnel to Domain

  1. Click into a funnel folder (start with Calendars)
  2. Click on the funnel name to open funnel builder
  3. Click "Settings" icon (gear icon, top right)
  4. In funnel settings modal:
    • Domain: Select your connected domain (go.clientdomain.com)
    • Path: Choose URL path (e.g., /calendar or /book-appointment)
    • Example full URL: go.clientdomain.com/calendar
  5. Click "Save"
  6. Click "Publish" button (top right)
  7. Wait for "Funnel published successfully" message

Step 4: Test the Funnel

  1. Copy the full funnel URL (e.g., https://go.clientdomain.com/calendar)
  2. Open in new browser tab (incognito mode recommended)
  3. Verify:
    • Page loads without errors
    • HTTPS is working (secure padlock)
    • All images load correctly
    • Forms are functional
    • Calendar shows available times

Step 5: Repeat for All Funnels

For each funnel:

  1. Decide on URL path (keep it short, SEO-friendly)
  2. Connect to domain
  3. Publish
  4. Test
  5. Document the URL in a spreadsheet (you'll need these for automation setup)

URL Naming Best Practices:

  • Keep paths short: /calendar NOT /book-an-appointment-with-us
  • Use hyphens: /book-call NOT /bookcall or /book_call
  • Avoid spaces and special characters
  • Make it memorable: /schedule NOT /cal-booking-page-v2

Step 6: Create Funnel URL Reference Document

Create a simple reference showing all funnel URLs:

Client: [Client Name]
Domain: go.clientdomain.com
Date: [Today's Date]

CALENDAR PAGES:
- Main Calendar: go.clientdomain.com/calendar
- Discovery Call: go.clientdomain.com/discovery
- 15-Min Quick Call: go.clientdomain.com/quick-call

LEAD PAGES:
- Main Lead Form: go.clientdomain.com/contact
- Free Consultation: go.clientdomain.com/free-consult

THANK YOU PAGES:
- General Thank You: go.clientdomain.com/thank-you
- Calendar Thank You: go.clientdomain.com/thanks-scheduled

Save this document - you'll reference it constantly.

Verification Checklist

For EACH funnel:

  • Funnel connected to correct domain
  • URL path is short and memorable
  • Funnel published successfully
  • Page loads at published URL
  • HTTPS working (no security warnings)
  • All images and assets load
  • Forms are functional (if applicable)
  • Calendar shows times (if applicable)
  • URL documented in reference sheet

Troubleshooting

Issue: Funnel won't publish

  • Cause: Domain not fully connected or SSL not active
  • Solution:
    • Verify Task M3 completed (domain shows "Connected")
    • Verify SSL certificate active
    • Wait for DNS propagation if recent
    • Try publishing again in 10 minutes

Issue: Funnel URL shows 404 error

  • Cause: Path conflict or DNS issue
  • Solution:
    • Check if another funnel uses same path (paths must be unique)
    • Change the path to something different
    • Clear browser cache and retry
    • Verify domain DNS still resolving correctly

Issue: Images not loading on funnel

  • Cause: Images referencing old domain or missing
  • Solution:
    • Edit funnel in builder
    • Re-upload images if broken
    • Ensure images hosted on GHL, not external links
    • Publish again after fixing

Issue: "Path already in use" error

  • Cause: Another funnel already using that URL path
  • Solution:
    • Choose different path
    • OR find the other funnel using that path and change it
    • Paths must be unique across all funnels

Issue: Calendar not showing available times

  • Cause: Calendar not configured yet (that's Task M7)
  • Solution:
    • Note for now, will fix in Task M7
    • Page structure should still load correctly
    • Proceed with connecting funnel

Success Criteria

✅ All priority funnels connected to domain ✅ All funnels published successfully ✅ Each funnel loads at its URL ✅ HTTPS working on all pages ✅ Forms functional (where applicable) ✅ Funnel URL reference document created

Next Step: Proceed to Task M6 (Add Phone Number)


TASK M6: Add Phone Number to Account

Why This Matters: SMS and phone call automation requires a phone number. Without this, 50% of communication automation won't work.

Prerequisites:

  • Client has phone number to use, OR
  • Ready to purchase new number through GHL

Time Required: 10 minutes

Cost: $2-5/month per number (client cost)

Step-by-Step Instructions

Step 1: Decide on Phone Number Strategy

Option A: Use Client's Existing Business Number

  • Advantages: Familiar to customers, already on marketing materials
  • Disadvantages: Cannot port to GHL (will forward), may have conflicts
  • Best for: Clients who want to keep existing number visible

Option B: Purchase New Number Through GHL

  • Advantages: Full control, native integration, best for automation
  • Disadvantages: Additional cost, unfamiliar to existing customers
  • Best for: Most clients (recommended)

Option C: Use Twilio Number (Advanced)

  • Advantages: More carrier options, international numbers
  • Disadvantages: Requires Twilio account, more complex setup
  • Best for: Special cases only

For this guide, we'll use Option B (purchase through GHL) - most common.

Step 2: Navigate to Phone Number Settings

  1. In client sub-account, go to SettingsPhone Numbers
  2. Click "+ Buy Phone Number" button

Step 3: Search for Available Numbers

  1. Search by Area Code:

    • Enter client's preferred area code (e.g., 555)
    • GHL shows available numbers in that area code
  2. OR Search by City/State:

    • Select state from dropdown
    • Select city
    • View available numbers
  3. Look for "Good" Numbers:

    • Easy to remember (repeating digits)
    • Avoid confusing patterns
    • Toll-free (800, 888, etc.) if client prefers

Step 4: Purchase the Number

  1. Select a number from available list
  2. Review pricing (typically $2-5/month)
  3. Click "Buy" or "Purchase"
  4. Confirm purchase
  5. Wait for confirmation (usually instant)

Step 5: Configure Number Settings

After purchase, configure:

  1. Number Name: Give it a descriptive name

    • Example: "Main Business Line"
    • Example: "Appointment Reminders"
  2. Voicemail Settings:

    • Enable voicemail: YES
    • Voicemail greeting: Will add in Task M11
  3. Call Forwarding (Optional):

    • Forward to: Client's mobile (if they want missed calls forwarded)
    • Forward after: 30 seconds (or preferred duration)
  4. SMS Settings:

    • Enable SMS: YES
    • Enable MMS: YES (for images)
    • Auto-responder: OFF (workflows will handle this)

Step 6: Set as Default Number

  1. In phone number settings, find the new number
  2. Click "Set as Default"
  3. This makes it the default for all automation

Step 7: Test the Number

Test Inbound SMS:

  1. Send SMS to the new number from your mobile
  2. Check in GHL: Conversations → should see your message
  3. Reply from GHL
  4. Verify you receive reply on mobile

Test Outbound SMS:

  1. Create test contact in GHL
  2. Send manual SMS from contact record
  3. Verify you receive it on your mobile

Test Calls:

  1. Call the number from your mobile
  2. Should ring or go to voicemail
  3. If forwarding enabled, should forward to client's phone

Verification Checklist

  • Phone number purchased successfully
  • Number shows in Settings → Phone Numbers
  • Number set as default
  • Voicemail enabled
  • SMS enabled
  • Inbound SMS test successful
  • Outbound SMS test successful
  • Call test successful (rings or forwards)
  • Number documented in client reference doc

Troubleshooting

Issue: No numbers available in area code

  • Cause: High demand area, limited inventory
  • Solution:
    • Try nearby area codes
    • Try toll-free (800, 888, 877, etc.)
    • Check back in 24 hours (inventory refreshes)
    • Use Twilio integration for more options

Issue: Purchase fails

  • Cause: Billing issue or account limitation
  • Solution:
    • Check agency billing account has valid payment method
    • Verify sub-account has phone number allocation available
    • Contact GHL support if issue persists

Issue: SMS not sending or receiving

  • Cause: Number not fully activated or carrier issue
  • Solution:
    • Wait 15 minutes after purchase (activation time)
    • Verify SMS enabled in number settings
    • Check if test contact has valid mobile number
    • Try different test phone
    • Check for carrier filtering (some carriers block automated SMS)

Issue: Calls not forwarding

  • Cause: Forwarding number incorrect or not saved
  • Solution:
    • Verify forwarding number format (+15555551234)
    • Test forwarding number can receive calls
    • Check forwarding enabled in settings
    • Try call forwarding to different number

Issue: International number needed

  • Cause: Client outside US or needs international
  • Solution:
    • Use Twilio integration (Settings → Integrations → Twilio)
    • Purchase number directly from Twilio
    • Connect Twilio account to GHL
    • Follow Twilio setup guide

Success Criteria

✅ Phone number purchased and active ✅ Number set as default ✅ SMS sending and receiving works ✅ Calls work (ring or forward correctly) ✅ Voicemail enabled ✅ Number documented for reference

Next Step: Proceed to Task M7 (Setup User Calendar)


TASK M7: Setup User Calendar Integration

Why This Matters: Calendars won't show available times without integration to actual calendar (Google, Outlook, iCal). This is critical for appointment booking.

Prerequisites:

  • Client uses Google Calendar, Outlook, or Office 365
  • Access to client's calendar account (login credentials)
  • Client willing to connect calendar to GHL

Time Required: 15 minutes per user

Step-by-Step Instructions

Step 1: Determine Calendar Type

Common Options:

  • Google Calendar (most common - easiest integration)
  • Microsoft Outlook/Office 365 (common for businesses)
  • iCal (Apple Calendar - less common, more complex)

For this guide, we'll cover Google Calendar (most common) and Outlook.

Step 2: Navigate to Calendar Settings

  1. In client sub-account, go to SettingsCalendars
  2. Click "Calendar Connections" tab

Step 3a: Connect Google Calendar

  1. Click "+ Connect Calendar"
  2. Select "Google Calendar"
  3. Click "Connect Google Calendar" button
  4. Google login window appears:
    • Enter client's Google email
    • Enter client's Google password
    • Click "Allow" when prompted for permissions
  5. GHL will request access to:
    • Read calendar events (to check availability)
    • Create calendar events (when booking)
    • Update calendar events (for cancellations)
  6. Click "Allow" or "Accept"
  7. Return to GHL - should see "Connected successfully"

Step 3b: Connect Outlook Calendar (Alternative)

  1. Click "+ Connect Calendar"
  2. Select "Outlook/Office 365"
  3. Click "Connect Outlook Calendar" button
  4. Microsoft login window appears:
    • Enter Microsoft email
    • Enter password
    • Complete 2FA if enabled
    • Click "Accept" for permissions
  5. Return to GHL - should see "Connected successfully"

Step 4: Configure Calendar Settings

After connection, configure:

  1. Select Which Calendar to Use:

    • If multiple calendars exist, choose primary business calendar
    • Typically "Primary" or "Work"
  2. Sync Direction:

    • Two-way sync (recommended): GHL ↔ Calendar
    • One-way sync: GHL → Calendar only
  3. Event Details:

    • Event title format: [Appointment with {{contact.name}}]
    • Include location: YES
    • Include description: YES

Step 5: Set Availability Rules

  1. Go to SettingsCalendarsAvailability

  2. For each day of the week:

    • Set business hours (e.g., 9:00 AM - 5:00 PM)
    • Add breaks if needed (lunch 12-1 PM)
    • Mark days off (Sundays, Saturdays if not working)
  3. Buffer Time Settings:

    • Before appointment: 5-15 minutes (prep time)
    • After appointment: 5-15 minutes (buffer between meetings)
    • Minimum notice: 2 hours (can't book appointment starting in less than 2 hours)
    • Date range: 60 days (how far in advance can book)

Example Availability:

Monday: 9:00 AM - 5:00 PM
Tuesday: 9:00 AM - 5:00 PM
Wednesday: 9:00 AM - 5:00 PM
Thursday: 9:00 AM - 12:00 PM, 1:00 PM - 5:00 PM (lunch break)
Friday: 9:00 AM - 3:00 PM
Saturday: Closed
Sunday: Closed

Buffer before: 10 minutes
Buffer after: 10 minutes
Minimum notice: 4 hours
Booking range: 30 days

Step 6: Test Calendar Sync

Test 1: Check Existing Events Sync

  1. Look at client's calendar (Google or Outlook)
  2. Note an existing event time
  3. In GHL, create test calendar (Settings → Calendars)
  4. Try to book during existing event time
  5. Should show as "unavailable" ✓

Test 2: Create Test Booking

  1. Go to client's calendar page (funnel from Task M5)
  2. Select available time slot
  3. Fill out booking form
  4. Submit booking
  5. Check client's calendar - event should appear
  6. Check GHL - contact and opportunity should be created

Test 3: Two-Way Sync

  1. In client's Google/Outlook calendar, create manual event
  2. Wait 5 minutes
  3. Try to book that time in GHL
  4. Should show as unavailable (sync working)

Verification Checklist

  • Calendar connected (Google or Outlook)
  • Connection shows "Active" status
  • Correct calendar selected (if multiple exist)
  • Two-way sync enabled
  • Availability hours configured for all days
  • Buffer times set appropriately
  • Minimum notice configured
  • Test booking successful
  • Event appears in client's actual calendar
  • Existing events block GHL availability

Troubleshooting

Issue: Calendar won't connect - authentication fails

  • Cause: Incorrect credentials or 2FA issue
  • Solution:
    • Verify email/password correct
    • Complete 2FA if required
    • Try "incognito mode" for clean login
    • Check if account has admin restrictions (enterprise accounts)
    • For enterprise: May need IT admin to approve GHL app

Issue: Calendar connected but not syncing

  • Cause: Sync settings or permissions issue
  • Solution:
    • Disconnect and reconnect calendar
    • Check sync direction setting (should be two-way)
    • Verify permissions granted (check Google/Microsoft account permissions)
    • Wait 10 minutes (initial sync can be slow)
    • Manually trigger sync (Settings → Calendar → "Sync Now")

Issue: Wrong calendar syncing (client has multiple)

  • Cause: Selected wrong calendar from dropdown
  • Solution:
    • Go to Settings → Calendar Connections
    • Click "Edit" on connection
    • Select correct calendar from dropdown
    • Save changes
    • Test again

Issue: Availability showing wrong times

  • Cause: Timezone mismatch
  • Solution:
    • Check client's timezone (Settings → Business Profile)
    • Check calendar timezone (in Google/Outlook settings)
    • Ensure both match client's actual location
    • Update if needed
    • Re-sync calendar

Issue: All times showing as unavailable

  • Cause: Availability not configured or too restrictive
  • Solution:
    • Check availability hours (Settings → Calendars → Availability)
    • Verify at least some hours marked available
    • Check minimum notice not too long (shouldn't be days)
    • Check booking range allows future dates
    • Verify calendar not completely booked

Issue: Events not appearing in client's calendar

  • Cause: Sync direction wrong or connection issue
  • Solution:
    • Verify two-way sync enabled
    • Check calendar connection still active
    • Disconnect and reconnect if needed
    • Test with new booking
    • Check if events going to different calendar

Success Criteria

✅ Calendar connected and active ✅ Correct calendar selected ✅ Two-way sync working ✅ Availability configured correctly ✅ Test booking creates event in client's calendar ✅ Existing calendar events block GHL availability ✅ Timezone settings correct

Next Step: Proceed to Task M8 (Assign Users to Calendars)


TASK M8: Assign Users to Calendars

Why This Matters: Calendar pages need to be linked to specific team members. Without this, bookings won't assign correctly.

Prerequisites:

  • Task M7 completed (calendar integration connected)
  • Calendar funnels published (Task M5)
  • Know which team member handles appointments

Time Required: 10 minutes

Step-by-Step Instructions

Step 1: Navigate to Calendar Configuration

  1. In client sub-account, go to Calendars (not Settings → Calendars)
  2. You'll see list of calendars from snapshot
  3. Common calendars:
    • "Main Appointment Calendar"
    • "Discovery Call Calendar"
    • "Quick 15-Minute Call"

Step 2: Edit Calendar Settings

For each calendar:

  1. Click the calendar name to open settings
  2. Find "Assigned User" section
  3. Select user from dropdown:
    • If client has team: Select appropriate team member
    • If solo operator: Select client's main user account

Step 3: Configure Team Assignment

For Solo Operators:

  • Assign all calendars to the single user (client)
  • Simple, straightforward

For Teams:

  • Option A: Round Robin (multiple team members share calendar)

    • Add multiple users
    • Set distribution method: Equal distribution
    • Enable "Round Robin" mode
    • Bookings automatically distribute among team
  • Option B: Specific Assignment (each calendar → specific person)

    • Sales calendar → Sales rep
    • Technical consultation → Tech specialist
    • Initial consultation → Account manager

Step 4: Link Calendar to Connected Calendar

  1. In calendar settings, find "Calendar Connection" section
  2. Select the connected calendar (from Task M7)
  3. This links the GHL calendar to the actual Google/Outlook calendar

Step 5: Configure Notification Settings

For each assigned user:

  1. Email Notifications:

    • New appointment booked
    • Appointment canceled
    • Appointment rescheduled
    • Appointment reminder (10 min before)
  2. SMS Notifications:

    • New appointment booked (optional, can be noisy)
    • Appointment starting soon (10 min reminder)

Step 6: Save and Test

  1. Save calendar settings
  2. Test booking:
    • Go to calendar page (funnel)
    • Book test appointment
    • Verify:
      • Event appears in assigned user's calendar
      • User receives notification
      • Contact record shows correct assigned user

Verification Checklist

For EACH calendar:

  • User assigned correctly
  • Calendar connection selected
  • Notifications configured
  • Test booking successful
  • Event appears in user's actual calendar
  • User receives booking notification
  • Contact record shows assigned user

Troubleshooting

Issue: No users available in dropdown

  • Cause: No users created in sub-account
  • Solution:
    • Go to Settings → Team
    • Add user (client or team member)
    • Return to calendar settings
    • Select newly added user

Issue: Event not appearing in user's calendar

  • Cause: Calendar connection not linked correctly
  • Solution:
    • Verify Task M7 completed (calendar connected)
    • Check calendar connection dropdown selection
    • Ensure connection shows "Active"
    • Reconnect calendar if needed

Issue: User not receiving notifications

  • Cause: Notification settings not enabled or email incorrect
  • Solution:
    • Check notification checkboxes enabled
    • Verify user's email address correct (Settings → Team)
    • Check spam folder
    • Test with different email
    • Verify notification workflow not paused

Issue: Round robin not distributing evenly

  • Cause: Team members have different availability
  • Solution:
    • Check each team member's calendar availability settings
    • Verify all have similar hours configured
    • Check if some team members' calendars are fuller
    • Adjust distribution weights if needed

Success Criteria

✅ All calendars have assigned users ✅ Calendar connections linked correctly ✅ Notifications configured for all users ✅ Test bookings assign to correct users ✅ Users receiving booking notifications ✅ Events appearing in users' actual calendars

Next Step: Proceed to Task M9 (Assign User in APPT Canceled Workflow)


TASK M9: Assign User in Appointment Canceled Workflow

Why This Matters: When appointments cancel, a specific person needs to be notified to follow up. Without this assignment, canceled appointments fall through the cracks.

Prerequisites:

  • Workflows loaded from snapshot (Task M1)
  • Know which team member handles cancellations

Time Required: 5 minutes

Step-by-Step Instructions

Step 1: Navigate to Workflows

  1. In client sub-account, go to Automations (left sidebar)
  2. Look for folder: "B-007 - Calendar Automations"
  3. Open the folder

Step 2: Find the Appointment Canceled Workflow

  1. Look for workflow named: "APPT - Appointment Canceled" or similar
  2. Click to open workflow builder

Step 3: Locate User Assignment Action

  1. Scroll through workflow steps
  2. Look for action: "Assign to User" or "Create Task"
  3. This action typically appears early in workflow

Step 4: Assign the User

  1. Click the "Assign to User" action
  2. In action settings:
    • Assign to: Select user from dropdown
    • Typically: Sales manager, account manager, or client owner
  3. Task Title: "Appointment Canceled - Follow Up Needed"
  4. Task Priority: High
  5. Task Description: Auto-populated with contact details
  6. Click "Save"

Step 5: Configure Notification

Still in workflow, find notification action:

  1. Look for "Send Email" or "Send SMS" action (to assigned user)
  2. Verify it sends to: Assigned user
  3. Message should include:
    • Contact name
    • Canceled appointment time
    • Cancelation reason (if captured)
    • Link to contact record

Step 6: Save and Publish Workflow

  1. Click "Save" (top right)
  2. Ensure workflow is "Active" (toggle should be green)
  3. If paused, click toggle to activate

Step 7: Test the Workflow

  1. Create test appointment (book on calendar page)
  2. Cancel the appointment (from GHL or calendar page)
  3. Verify:
    • Task created for assigned user
    • User receives notification
    • Contact record updated

Verification Checklist

  • APPT Canceled workflow found
  • User assigned in "Assign to User" action
  • Task settings configured (title, priority, description)
  • Notification action configured
  • Workflow saved
  • Workflow active (not paused)
  • Test cancelation creates task
  • Assigned user receives notification

Troubleshooting

Issue: Can't find APPT Canceled workflow

  • Cause: Workflow might have different name or not loaded
  • Solution:
    • Search workflows for "cancel" or "appt"
    • Check B-007 folder thoroughly
    • If missing, contact technical support (should be in snapshot)

Issue: No users in assignment dropdown

  • Cause: No users added to sub-account
  • Solution:
    • Go to Settings → Team
    • Add user
    • Return to workflow and assign

Issue: Task not being created on cancelation

  • Cause: Workflow paused or trigger not configured
  • Solution:
    • Check workflow active (green toggle)
    • Verify trigger: "Appointment/Event Status Changed" → "Canceled"
    • Test with real appointment cancelation
    • Check workflow execution history (in workflow settings)

Issue: Notification not sending

  • Cause: Email/SMS action not configured or paused
  • Solution:
    • Check notification action exists
    • Verify recipient email correct
    • Check workflow history for errors
    • Test email deliverability (Task M4)

Success Criteria

✅ APPT Canceled workflow identified ✅ User assigned correctly ✅ Task configuration complete ✅ Notification configured ✅ Workflow active ✅ Test cancelation creates task ✅ Assigned user notified

Next Step: Proceed to Task M10 (Add Database Reactivation SMS Copy)


TASK M10: Add Database Reactivation SMS Copy

Why This Matters: The 52-week nurture campaign (B-004 module) requires SMS message copy. Without this, the "forever follow-up" system won't send anything.

Prerequisites:

  • B-004 workflows loaded from snapshot
  • Phone number added (Task M6)
  • Client business information available

Time Required: 15 minutes

Step-by-Step Instructions

Step 1: Understand Database Reactivation

What it is:

  • 52-week SMS nurture sequence (one message per week for a year)
  • Plus annual email sequence (12 emails, one per month)
  • Keeps business "top of mind" for dormant prospects
  • Automatically reactivates cold leads

Step 2: Navigate to B-004 Workflows

  1. Go to Automations
  2. Find folder: "B-004 - Database Reactivation & Nurture"
  3. Open folder

Step 3: Locate SMS Workflows

You'll see multiple workflows:

  • Week 1 SMS
  • Week 2 SMS
  • Week 3 SMS
  • ... (continues to Week 52)

Step 4: Customize SMS Messages

Option A: Use Extendly Template SMS (Recommended for Speed)

The snapshot includes pre-written SMS templates. You just need to customize placeholders:

  1. Open "Week 1 SMS" workflow
  2. Find "Send SMS" action
  3. Edit message, replace placeholders:
    • {{business.name}} → Client's business name
    • {{business.website}} → Client's website
    • {{business.phone}} → Business phone number
  4. Review message for tone/fit
  5. Save

Repeat for at least first 12 weeks (critical period).

Option B: Write Custom SMS Messages

If client wants completely custom messages:

  1. Work with client to draft 52 SMS messages
  2. Each should be:
    • 160 characters or less (ideally)
    • Value-driven (tips, insights, offers)
    • Clear call-to-action
    • Branded voice
  3. Input each message into respective week's workflow

Example SMS Messages:

Week 1:

Hi `{{contact.first_name}}`, it's `{{business.name}}`! Just checking in.
Looking for help with [service]? We're here when you need us.
Reply HELP for immediate assistance.

Week 4:

Quick tip from `{{business.name}}`: [Useful industry tip].
Need help implementing this? Give us a call: `{{business.phone}}`

Week 8:

`{{contact.first_name}}`, we're offering a [special promotion] this month.
Interested? Book a quick call: `{{business.calendar_link}}`

Step 5: Add Custom Values to SMS

Use custom values for personalization:

  1. In SMS message editor, click "Insert Custom Value" button
  2. Common values to use:
    • {{contact.first_name}} - Personalizes message
    • {{contact.company}} - If B2B
    • {{custom_values.business_name}} - Your client's name
    • {{custom_values.website}} - Link to client's site

Step 6: Configure Email Sequence

Same folder contains email workflows:

  1. Find "Month 1 Email" through "Month 12 Email"
  2. Edit each email:
    • Subject line
    • Email body
    • Images/branding
    • Call-to-action
  3. Use email templates if available

Step 7: Activate Workflows

  1. After editing SMS/email content, save each workflow
  2. Ensure each workflow is Active (green toggle)
  3. Check trigger: "Tag Added" → "Database Reactivation" (or similar)

Verification Checklist

  • B-004 folder located
  • SMS workflows identified (Week 1-52)
  • At least first 12 SMS messages customized
  • Custom values inserted correctly
  • Placeholders replaced with actual info
  • Email workflows reviewed
  • All edited workflows saved
  • All workflows active (not paused)
  • Test message sent successfully

Troubleshooting

Issue: SMS messages have placeholder errors

  • Cause: Custom value doesn't exist or typo
  • Solution:
    • Verify custom value name exactly (case-sensitive)
    • Check Settings → Custom Values for available values
    • Use correct syntax: {{custom_values.name}}

Issue: Too many workflows to customize (52 weeks)

  • Cause: It's a lot of work
  • Solution:
    • Start with first 12 weeks (critical period)
    • Customize remaining weeks over time
    • Or use Extendly's pre-written templates as-is
    • Batch-customize: Same message structure, vary details

Issue: SMS too long

  • Cause: Over 160 characters
  • Solution:
    • Shorten message
    • Remove unnecessary words
    • Use link shortener for URLs
    • Split into two messages if absolutely needed (not ideal)

Issue: Workflows not sending

  • Cause: Not activated or trigger not configured
  • Solution:
    • Verify workflows active
    • Check trigger settings
    • Test by manually adding tag to test contact
    • Review workflow execution history

Success Criteria

✅ B-004 workflows identified ✅ First 12 SMS messages customized ✅ Custom values inserted correctly ✅ Email sequence reviewed ✅ All workflows saved and active ✅ Test SMS sent successfully ✅ Messages reflect client's brand voice

Next Step: Proceed to Task M11 (Add Voicemail Recording)


TASK M11: Add Voicemail Recording

Why This Matters: Professional voicemail greeting builds credibility and provides instructions to callers when unavailable.

Prerequisites:

  • Phone number added (Task M6)
  • Voicemail greeting audio file OR ability to record

Time Required: 20 minutes

Step-by-Step Instructions

Step 1: Prepare Voicemail Script

Write a professional voicemail greeting. Recommended structure:

"Thank you for calling [BUSINESS NAME].

We're unable to take your call right now, but your call is important to us.

Please leave your name, number, and a brief message, and we'll return
your call within [TIMEFRAME].

For immediate assistance, visit us at [WEBSITE] or text us at [PHONE NUMBER].

Thank you!"

Example Scripts:

Professional Services:

"You've reached [Business Name]. We're currently with other clients but want
to help you too. Please leave your name, number, and what you need help with.
We'll call you back within 4 business hours. For faster service, text this
number or visit [website]. Thanks for calling!"

Home Services:

"Thanks for calling [Business Name], your trusted [service type] experts.
We're on a job site right now, but we check messages every hour. Leave your
name, number, and what you need, and we'll call you right back. For emergencies,
text this number. Thank you!"

Step 2: Record Voicemail Greeting

Option A: Record Using GHL (Recommended)

  1. Go to SettingsPhone Numbers
  2. Click on your phone number
  3. Find "Voicemail" section
  4. Click "Record Greeting"
  5. Click "Allow" for microphone access
  6. Click "Record" button
  7. Read your script clearly
  8. Click "Stop"
  9. Play back to review
  10. If good, click "Save"
  11. If not, click "Re-record"

Option B: Upload Pre-Recorded File

  1. Record audio file on your computer:
    • Format: MP3 or WAV
    • Quality: Clear, professional
    • Length: 15-30 seconds max
  2. In GHL voicemail settings, click "Upload Greeting"
  3. Select file from computer
  4. Preview playback
  5. Save

Option C: Professional Voicemail Service

For highest quality:

  1. Use service like Fiverr or Voices.com
  2. Hire professional voice talent
  3. Provide script
  4. Receive MP3 file
  5. Upload to GHL (Option B above)

Step 3: Configure Voicemail Settings

In phone number settings, configure:

  1. Voicemail Enabled: YES
  2. Greeting: Your uploaded/recorded greeting
  3. Voicemail to Email: YES (sends voicemail audio to client's email)
  4. Email Recipients: Client's email address
  5. Voicemail Transcription: YES (if available - converts audio to text)
  6. Play beep after greeting: YES

Step 4: Set Up Voicemail Workflow (Optional but Recommended)

Create workflow to handle voicemails:

  1. Go to Automations
  2. Create new workflow: "Voicemail Follow-Up"
  3. Trigger: "Voicemail Received"
  4. Actions:
    • Create task for assigned user: "New Voicemail - [Contact Name]"
    • Send SMS to caller: "Thanks for your message! We'll call you back within [timeframe]."
    • Add tag: "Voicemail Follow-Up Needed"
  5. Save and activate

Step 5: Test Voicemail

  1. Call the business number from your mobile
  2. Let it go to voicemail
  3. Listen to greeting (verify it plays correctly)
  4. Leave test message
  5. Verify:
    • Voicemail recorded
    • Voicemail appears in GHL (Conversations)
    • Email notification sent (if enabled)
    • Transcription created (if enabled)
    • Workflow triggered (if created)

Verification Checklist

  • Voicemail script written
  • Greeting recorded or uploaded
  • Audio quality clear and professional
  • Voicemail settings configured
  • Voicemail to email enabled
  • Email recipient correct
  • Test call made
  • Voicemail plays correctly
  • Test voicemail received in GHL
  • Email notification received
  • Transcription working (if available)

Troubleshooting

Issue: Recording not saving

  • Cause: Browser permission or file format issue
  • Solution:
    • Check browser microphone permission (allow)
    • Try different browser (Chrome recommended)
    • If uploading, verify file format (MP3 or WAV)
    • Check file size (under 5MB)

Issue: Poor audio quality

  • Cause: Background noise or bad microphone
  • Solution:
    • Record in quiet environment
    • Use quality microphone (not laptop mic)
    • Speak clearly, close to mic
    • Consider professional recording service

Issue: Voicemail not playing for callers

  • Cause: Voicemail not enabled or settings issue
  • Solution:
    • Verify voicemail enabled in phone settings
    • Check greeting file uploaded correctly
    • Test call from different phone
    • Verify phone number active

Issue: Voicemail emails not sending

  • Cause: Email address incorrect or notification disabled
  • Solution:
    • Verify email address correct (check for typos)
    • Check "Voicemail to Email" enabled
    • Test with different email address
    • Check spam folder

Issue: Transcription not working

  • Cause: Feature not available or audio quality too poor
  • Solution:
    • Verify GHL account has transcription feature
    • Check voicemail audio quality
    • Some plans don't include transcription
    • Manual review may be needed

Success Criteria

✅ Professional voicemail greeting script written ✅ Greeting recorded with clear audio ✅ Voicemail settings configured ✅ Voicemail to email enabled ✅ Test voicemail successful ✅ Greeting plays correctly for callers ✅ Voicemails captured in GHL ✅ Email notifications working

Next Step: Proceed to Task M12 (Configure Referral Automations)


TASK M12: Configure Referral Automations

Why This Matters: Referral automation (B-016 module) turns satisfied customers into advocates. Systematic referral generation is a key growth engine.

Prerequisites:

  • B-016 workflows loaded from snapshot
  • Phone number and email domain configured
  • Client referral incentive decided

Time Required: 20 minutes

Step-by-Step Instructions

Step 1: Understand the Referral System

What it does:

  • Automatically requests referrals after positive interactions
  • Tracks referral sources attribution
  • Sends thank-you rewards to referrers
  • Nurtures referred leads differently (higher conversion)

Trigger Points:

  • After positive review submitted
  • After deal closed (won status)
  • After successful project completion
  • On request (manual trigger)

Step 2: Navigate to B-016 Workflows

  1. Go to Automations
  2. Find folder: "B-016 - Referral Automations"
  3. Open folder

Step 3: Review Referral Workflows

Common workflows in B-016:

  • "Referral Request - Email" - Asks for referrals via email
  • "Referral Request - SMS" - Asks via text message
  • "Referral Received" - Triggered when referred contact enters
  • "Thank Referrer" - Rewards person who made referral
  • "Referral Tracking" - Attribution and reporting

Step 4: Customize Referral Request Messages

Email Referral Request:

  1. Open "Referral Request - Email" workflow
  2. Edit email template:

Subject Line: "Know someone who needs [Your Service]?"

Email Body Template:

Hi `{{contact.first_name}}`,

Thank you for trusting [BUSINESS NAME] with [service you provided]!

We're looking to help more [type of customers] like you. Do you know anyone
who might benefit from our services?

Refer a friend and you'll both receive [INCENTIVE]:
- [Benefit 1]
- [Benefit 2]

Simply share this link: [REFERRAL LINK]

Or reply to this email with their contact info and we'll reach out.

Thanks for spreading the word!

[Your Name]
[Business Name]

SMS Referral Request:

Open "Referral Request - SMS" workflow:

Hi `{{contact.first_name}}`! Thanks for being a great customer of [BUSINESS NAME].
Know someone who needs [service]? Refer them here: [SHORT LINK]
You both get [INCENTIVE]!

Step 5: Define Referral Incentive

Work with client to decide:

Common Referral Incentives:

  • Discount: "Both get $50 off next service"
  • Cash/Credit: "Get $100 credit for each referral"
  • Gift Cards: "Receive $25 Amazon gift card"
  • Free Service: "Free [service add-on] with referral"
  • Donation: "We'll donate $50 to charity of your choice"

Add incentive to custom values:

  1. Go to Settings → Custom Values
  2. Find: referral_incentive
  3. Set value: "[Your chosen incentive]"

Step 6: Configure Referral Tracking

Set Up Referral Form:

  1. Go to Marketing → Forms
  2. Find "Referral Submission Form"
  3. Customize fields:
    • Referrer name (who's making referral)
    • Referred person name
    • Referred person email
    • Referred person phone
    • Optional: Relationship to referrer
  4. Embed form on website or use direct link

Configure Source Tracking:

  1. Each referral should tag contact with source
  2. In "Referral Received" workflow:
    • Tag: "Referral - [Referrer Name]"
    • Custom value: referral_source = "Customer Referral"
  3. This enables attribution reporting

Step 7: Set Up Referrer Thank You

In "Thank Referrer" workflow:

Actions:

  1. Send immediate thank you (SMS or email):

    Thanks for the referral! We've reached out to [Referred Name].
    When they become a customer, you'll receive [INCENTIVE].
  2. Create task for team to follow up with referred lead

  3. When referred lead converts (separate workflow):

    • Send reward fulfillment message
    • Deliver incentive (discount code, gift card, etc.)
    • Add tag: "Referrer - Rewarded"

Step 8: Activate Workflows

  1. Save all edited workflows
  2. Ensure all workflows Active (green toggle)
  3. Verify triggers configured correctly

Step 9: Test Referral System

End-to-End Test:

  1. Create test contact (yourself)
  2. Trigger referral request (manually add tag or mark deal won)
  3. Verify referral request email/SMS sent
  4. Submit referral form with another test contact
  5. Verify:
    • Referred contact created
    • Source tagged correctly
    • Thank you sent to referrer
    • Team task created to follow up

Verification Checklist

  • B-016 workflows identified
  • Referral incentive defined
  • Referral request email customized
  • Referral request SMS customized
  • Referral form configured
  • Source tracking configured
  • Thank you workflow configured
  • Reward fulfillment workflow configured
  • All workflows saved and active
  • End-to-end test successful

Troubleshooting

Issue: Referral links not working

  • Cause: Form not published or link incorrect
  • Solution:
    • Verify referral form published
    • Check form URL active
    • Test link in incognito browser
    • Use link shortener for cleaner URLs

Issue: Attribution not tracking

  • Cause: Tags not configured in workflow
  • Solution:
    • Add "Add Tag" action in referral received workflow
    • Tag format: "Referral - {{referrer.full_name}}"
    • Also set custom value for reporting

Issue: Referrers not getting rewards

  • Cause: Reward workflow not triggered or not configured
  • Solution:
    • Check trigger: "Opportunity Stage Changed" → "Won"
    • Add condition: "Has tag: Referral Source"
    • Verify reward delivery action configured
    • Test with complete referral → conversion

Issue: Too many referral requests (annoying customers)

  • Cause: No frequency limits
  • Solution:
    • Add condition: "Has not been tagged: Referral Requested"
    • Add tag after sending request to prevent duplicates
    • Set time-based limits (max once every 6 months)

Success Criteria

✅ Referral incentive defined and documented ✅ Referral request messages customized ✅ Referral tracking form configured ✅ Source attribution working ✅ Thank you automation configured ✅ Reward fulfillment workflow ready ✅ End-to-end test successful ✅ Team knows how to manually trigger if needed

Next Step: Proceed to Task M13 (Fill Out ExtendlyOS Custom Values Form)


TASK M13: Fill Out ExtendlyOS Custom Values Form

Why This Matters: This is THE MOST IMPORTANT TASK. The ExtendlyOS form populates all 98 custom values that power every automation. Skip this and nothing will work properly.

Prerequisites:

  • All client information gathered (see Pre-Onboarding Phase)
  • All previous mandatory tasks completed (particularly domains, funnels, phone)
  • 30 minutes of uninterrupted time

Time Required: 30 minutes

CRITICAL: Do this task carefully. Errors here propagate throughout entire system.

Step-by-Step Instructions

Step 1: Navigate to ExtendlyOS Form

  1. In client sub-account, go to MarketingForms
  2. Search for: "ExtendlyOS" or "Custom Values Configuration"
  3. Click form name to view
  4. Click "Preview" to open fillable form

OR:

  1. Go to SitesFunnels
  2. Find funnel with ExtendlyOS form
  3. Open published URL
  4. Fill out as if you're the client

Step 2: Gather All Required Information

Before you start filling, have ready:

From Pre-Onboarding checklist:

  • Business name, phone, address, email, website
  • Logo files
  • Social media URLs
  • Google Review link
  • Calendar URLs (from Task M5)
  • Email domain (from Task M4)
  • Phone number (from Task M6)
  • Team member names
  • Brand colors
  • Service offerings
  • Testimonials (6 short quotes)
  • Lead magnet offers (4 items)

Step 3: Complete Form Sections

The ExtendlyOS form has 6 pages:

PAGE 1: Business Basics

  • Legal business name
  • "Doing Business As" name (if different)
  • Primary phone (from Task M6)
  • Primary email
  • Physical address
  • Business hours
  • Timezone

PAGE 2: Digital Presence

  • Website URL
  • Facebook page URL
  • Instagram handle
  • LinkedIn company page
  • Twitter handle
  • TikTok (if applicable)
  • YouTube channel
  • Google My Business review link (CRITICAL for B-009)

PAGE 3: GHL System URLs

  • Main calendar URL (from Task M5)
  • Discovery call calendar URL
  • Quick call calendar URL
  • Main lead form URL
  • Thank you page URL
  • Email sending domain (from Task M4: reply.clientdomain.com)

PAGE 4: Branding & Visual

  • Logo URL (upload to GHL Media first, then paste URL)
  • Primary brand color (hex code: #XXXXXX)
  • Secondary brand color (hex code: #XXXXXX)
  • Business tagline/slogan
  • Elevator pitch (one sentence)

PAGE 5: Services & Offerings

  • Primary service 1 (name + short description)
  • Primary service 2
  • Primary service 3
  • Average service value (for pipeline)
  • Lead magnets (downloadable offers):
    • Lead magnet 1: Title + description
    • Lead magnet 2: Title + description
    • Lead magnet 3: Title + description
    • Lead magnet 4: Title + description

PAGE 6: Social Proof & Team

  • Testimonial 1: Quote (max 255 char) + Name
  • Testimonial 2: Quote + Name
  • Testimonial 3: Quote + Name
  • Testimonial 4: Quote + Name
  • Testimonial 5: Quote + Name
  • Testimonial 6: Quote + Name
  • Team member 1: Name + Role
  • Team member 2: Name + Role
  • Team member 3: Name + Role

Step 4: Submit the Form

  1. Review ALL fields one more time (errors are hard to fix later)
  2. Verify URLs work (click each one)
  3. Verify no typos in business name (appears everywhere)
  4. Click "Submit"

Step 5: Verify Custom Values Populated

  1. Go to SettingsCustom Values
  2. Scroll through list
  3. Verify values populated:
    • business_name ✓
    • business_phone ✓
    • business_email ✓
    • calendar_url ✓
    • email_domain ✓
    • google_review_link ✓
    • (... and 92 more)

Step 6: Test Custom Values in Automation

Quick Test:

  1. Go to any email template (Marketing → Emails)
  2. Open template, click "Send Test"
  3. Check if custom values render correctly:
    • {{custom_values.business_name}} should show actual business name
    • {{custom_values.calendar_url}} should show actual URL
  4. If showing blank or {{custom_values.XXX}}, value didn't populate

Step 7: Fix Any Missing Values

If any values didn't populate:

Option A: Re-submit Form (if many missing)

  • Fill out ExtendlyOS form again
  • Submit
  • Check custom values again

Option B: Manual Entry (if only few missing)

  1. Go to Settings → Custom Values
  2. Find missing value
  3. Click to edit
  4. Enter value manually
  5. Save

Verification Checklist

  • ExtendlyOS form located
  • All required information gathered beforehand
  • All 6 pages completed fully
  • All URLs tested and working
  • No typos in business name or contact info
  • Form submitted successfully
  • Custom values populated in Settings
  • Test email/SMS shows values correctly
  • No custom values showing as {{placeholders}}

Troubleshooting

Issue: Can't find ExtendlyOS form

  • Cause: Form not loaded from snapshot or different name
  • Solution:
    • Search forms for "config" or "setup"
    • Check in funnels for configuration page
    • If missing, contact technical support

Issue: Form submission fails or doesn't save

  • Cause: Browser issue or server timeout
  • Solution:
    • Copy all your answers to notepad (SAVE YOUR WORK)
    • Try different browser
    • Clear browser cache
    • Submit again
    • If still fails, enter values manually (Settings → Custom Values)

Issue: Custom values not populating after submission

  • Cause: Form not connected to custom values properly
  • Solution:
    • Wait 5 minutes (processing delay)
    • Refresh custom values page
    • Re-submit form
    • If still not working, manual entry required

Issue: URLs not rendering correctly in automation

  • Cause: URL format incorrect or missing https://
  • Solution:
    • All URLs must start with https:// or http://
    • No spaces in URLs
    • Test each URL in browser before submitting
    • Update custom value if incorrect

Issue: Values showing in custom values but not in emails/SMS

  • Cause: Syntax error in template
  • Solution:
    • Check syntax: {{custom_values.name}} (exact format)
    • No spaces: NOT {{ custom_values.name }}
    • Case sensitive: business_name NOT Business_Name
    • Re-edit template with correct syntax

Issue: Don't have all information yet

  • Cause: Client didn't provide everything
  • Solution:
    • Fill what you have now
    • Mark missing items as "[PENDING]" or"[TBD]"
    • Create task to gather missing info
    • Re-submit form when info available
    • System will work partially until complete

Success Criteria

✅ ExtendlyOS form completed 100% ✅ All custom values populated in Settings ✅ No placeholder values showing in automation ✅ Test emails render correctly ✅ Test SMS renders correctly ✅ All URLs functional ✅ Business information accurate ✅ Ready for automation activation

CONGRATULATIONS! You've completed all 13 mandatory tasks. The system foundation is now built.

Next Step: Proceed to Section 3 (Important Tasks) or Section 5 (Validation)


3. Important Tasks (Enhanced Functionality)

These tasks significantly improve functionality but aren't absolutely required for basic operation.


TASK I1: Configure Virtual Meetings vs. Phone Calls

Why This Matters: Some clients use video conferencing, others use phone calls. Configuration determines what info is collected and sent in confirmations.

Time Required: 15 minutes

Quick Instructions

  1. Go to each Calendar settings (Calendars)
  2. For each calendar, decide: Virtual meeting OR Phone call
  3. If Virtual Meeting:
    • Enable "Meeting Location" field
    • Set location type: Zoom, Google Meet, or Custom link
    • Configure integration (connect Zoom/Meet account)
    • Confirmation emails will include meeting link
  4. If Phone Call:
    • Disable location field
    • Enable "Phone Number" collection on booking form
    • Confirmation will include "We'll call you at [number]"
  5. Test booking for each calendar type
  6. Verify confirmation includes correct info

TASK I2: Draft Unused Workflows

Why This Matters: Active workflows that aren't configured can send broken messages or cause errors. Pausing them prevents issues.

Time Required: 15 minutes

Quick Instructions

  1. Go to Automations
  2. Review all workflow folders
  3. Identify workflows NOT being used:
    • Advanced features client doesn't need
    • Industry-specific workflows for other verticals
    • Optional modules not configured
  4. For each unused workflow:
    • Open workflow
    • Toggle to "Draft" or "Paused" (red)
  5. Document which workflows paused (for future reference)
  6. Common workflows to pause:
    • E-commerce workflows (if not e-commerce)
    • International workflows (if US-only)
    • Advanced features not set up

Recommended: Keep Active:

  • All B-007 (Calendar Automations)
  • All B-004 (Database Reactivation)
  • All B-009 (Review Automations)
  • All B-016 (Referral Automations)
  • All B-011 (Lead Forms)

Why This Matters: Link tree page provides central hub for all client links (calendar, social media, resources). Popular for bio links (Instagram, TikTok).

Time Required: 20 minutes

Quick Instructions

  1. Go to Settings → Custom Values
  2. Find link tree related custom values:
    • linktree_headline
    • linktree_subheadline
    • linktree_link_1_text
    • linktree_link_1_url
    • (... through link_6)
  3. Configure 4-6 important links:
    • Link 1: "Book Appointment" → Calendar URL
    • Link 2: "Request Quote" → Lead form URL
    • Link 3: "Leave Review" → Google review link
    • Link 4: "View Services" → Website services page
    • Link 5: "Follow on Instagram" → Instagram URL
    • Link 6: "Download Free Guide" → Lead magnet URL
  4. Go to Sites → Funnels → Find Link Tree funnel
  5. Publish to domain (Task M5 process)
  6. Test: Visit link tree page, click all links
  7. Add link tree URL to client's social media bios

TASK I4: Submit A2P Registration

Why This Matters: A2P (Application-to-Person) registration is required by US carriers to send SMS messages from your GoHighLevel phone number. Without A2P approval, SMS delivery rates will be severely limited or blocked entirely.

Prerequisites:

  • Phone number purchased (Task M6)
  • Client has EIN number (for US-based businesses)
  • Access to subdomain for consent page (go.DOMAIN.com/consent)

Time Required: 30 minutes to submit + 7-10 business days for approval

CRITICAL: This must be completed before client can effectively use SMS automation.

Step-by-Step Instructions

Step 1: Understand A2P Requirements

What is A2P?

  • Application-to-Person messaging registration
  • Required by US mobile carriers (AT&T, Verizon, T-Mobile, etc.)
  • Verifies your business is legitimate and not sending spam
  • Mandatory for all business SMS in the United States

When to Submit:

  • After phone number is purchased and configured
  • Before client goes live with SMS automations
  • Allow 7-10 business days for approval

Step 2: Gather Required Information

Before starting registration, collect:

Business Information:

  • Legal business name
  • Business EIN (Employer Identification Number) - REQUIRED for US businesses
  • Business address
  • Business phone number
  • Business email
  • Business website URL
  • Industry/vertical

Technical Requirements:

  • Subdomain access to add consent page
  • Example: go.clientdomain.com/consent
  • This page must display SMS consent/opt-in information

Use Case Information:

  • Describe how SMS will be used (appointment reminders, marketing, notifications, etc.)
  • Estimated monthly SMS volume
  • Sample message content

Step 3: Review GoHighLevel A2P Documentation

  1. Visit the complete A2P guide: https://help.gohighlevel.com/support/solutions/folders/155000000021

  2. Review all articles in this knowledge base section:

    • A2P registration overview
    • Required information checklist
    • Brand registration process
    • Campaign registration process
    • Common approval issues
    • Troubleshooting guide

Step 4: Create SMS Consent Page

Why: Carriers require proof that customers consent to receive SMS.

Option A: Add Consent to Existing Website

  1. Create page at: clientdomain.com/sms-consent or go.clientdomain.com/consent
  2. Include required elements:
    • Clear explanation of SMS program
    • What messages customers will receive
    • Frequency (e.g., "up to 4 messages per month")
    • How to opt-in (text keyword, web form, etc.)
    • How to opt-out (reply STOP)
    • Message and data rates may apply
    • Link to privacy policy
    • Link to terms of service

Option B: Use GHL Funnel

  1. Create consent page funnel in GHL
  2. Publish to domain (Task M5 process)
  3. URL example: go.clientdomain.com/consent

Sample Consent Page Content:

SMS Program Terms & Conditions

By providing your phone number and opting in, you agree to receive text messages
from [BUSINESS NAME] at the number provided. Message frequency varies.

Message and data rates may apply. Reply STOP to opt-out at any time.

For help, reply HELP or contact us at [PHONE] or [EMAIL].

View our Privacy Policy: [LINK]
View our Terms of Service: [LINK]

Step 5: Submit A2P Registration via GoHighLevel

  1. In client sub-account, go to SettingsPhone Numbers
  2. Click on the phone number requiring A2P registration
  3. Look for "A2P Registration" or "10DLC Registration" section
  4. Click "Register" or "Start Registration"

Step 6: Complete Brand Registration

Brand = Your Client's Business

Fill out brand registration form:

  1. Business Legal Name: As registered with IRS
  2. EIN: 9-digit employer identification number (REQUIRED)
  3. Business Type: LLC, Corporation, Sole Proprietor, etc.
  4. Business Address: Physical address (not PO Box)
  5. Business Industry: Select from dropdown
  6. Business Website: Primary business website URL
  7. Business Description: Brief description (2-3 sentences)
  8. Consent Page URL: Link to SMS consent page created in Step 4

Step 7: Complete Campaign Registration

Campaign = How SMS Will Be Used

For each type of SMS messaging:

  1. Campaign Name: Descriptive name (e.g., "Appointment Reminders", "Marketing Promotions")
  2. Use Case: Select from dropdown:
    • Customer Care (support, appointment reminders)
    • Marketing (promotional messages)
    • Mixed (combination)
  3. Sample Messages: Provide 2-3 example SMS messages
  4. Opt-In Method: Describe how customers consent (web form, keyword, verbal, etc.)
  5. Opt-Out Method: Typically "Reply STOP"
  6. Help Method: Typically "Reply HELP"

Step 8: Submit and Pay Registration Fee

  1. Review all information for accuracy
  2. Registration Fee: Typically $4-15 (varies by carrier requirements)
  3. Fee charged to GHL billing account
  4. Submit registration
  5. Save confirmation number/receipt

Step 9: Monitor Approval Status

  1. Return to Settings → Phone Numbers → A2P Registration
  2. Check status:
    • Pending: Awaiting carrier review
    • Approved: Ready to send SMS
    • Rejected: Needs corrections (see rejection reason)
  3. Timeline: 7-10 business days typical
  4. Notification: GHL sends email when status changes

Step 10: Handle Approval or Rejection

If Approved:

  1. Verify SMS capabilities enabled
  2. Test sending SMS (Task M6 testing)
  3. Activate SMS automations
  4. Document approval date in client notes

If Rejected:

  1. Review rejection reason (in GHL notification)
  2. Common reasons:
    • Missing or invalid EIN
    • Consent page doesn't meet requirements
    • Sample messages violate carrier policies
    • Business information mismatch
  3. Correct the identified issues
  4. Re-submit registration
  5. Wait for re-review (typically 3-5 days)

Verification Checklist

  • EIN number obtained and verified
  • SMS consent page created and published
  • Brand registration submitted with accurate information
  • Campaign registration submitted with sample messages
  • Registration fee paid
  • Confirmation/receipt saved
  • Status monitoring scheduled
  • Client notified of 7-10 day wait time
  • Approval received (or rejection handled)
  • SMS functionality tested after approval

Troubleshooting

Issue: Client doesn't have EIN

  • Cause: Sole proprietor or international business
  • Solution:
    • US sole proprietors: Use SSN or apply for EIN (free, instant)
    • International business: Check if A2P required (may not apply)
    • Alternative: Use client's personal number temporarily (not recommended)

Issue: Consent page requirements unclear

  • Cause: Carrier guidelines evolving
  • Solution:
    • Review latest GHL documentation (link in Step 3)
    • Copy successful consent page template
    • Ensure all required elements present
    • Contact GHL support for review before submitting

Issue: Registration rejected for "sample messages"

  • Cause: Messages violate carrier content policies
  • Solution:
    • Avoid: Cryptocurrency, cannabis, debt collection, loans, work-from-home
    • Remove: Excessive punctuation (!!!), all caps, URL shorteners
    • Clarify: Business name and purpose in every sample
    • Make opt-out obvious: "Reply STOP to opt-out"
    • Re-submit with revised samples

Issue: Registration taking longer than 10 days

  • Cause: Carrier backlog or additional review needed
  • Solution:
    • Check status in GHL (may show additional info)
    • Contact GHL support after 15 business days
    • Have confirmation number ready
    • In meantime: Use email automation instead of SMS

Issue: Need to send SMS before approval

  • Cause: A2P approval pending but client needs SMS now
  • Solution (TEMPORARY ONLY):
    • Use personal mobile number with GHL app (limited)
    • Use email-to-SMS (less reliable)
    • Set expectations: SMS automation limited until A2P approved
    • Prioritize A2P approval follow-up

Success Criteria

✅ EIN obtained and documented ✅ SMS consent page created and accessible ✅ Brand registration submitted successfully ✅ Campaign registration submitted successfully ✅ Registration fee paid ✅ Approval received from carriers ✅ SMS sending tested and working ✅ Client notified they can use SMS automations ✅ A2P approval date documented

Next Step: Proceed with SMS-based automations (Task M10 - Database Reactivation SMS, etc.)


TASK I5: Website Setup

Why This Matters: Many clients need website support as part of their onboarding - either migrating an existing site, rebuilding from another platform, or creating a brand new site.

Prerequisites:

  • Client website requirements identified
  • Domain ownership confirmed
  • Website strategy determined (migration/redesign/new build)

Time Required: Varies significantly:

  • Migration: 3-5 days
  • Redesign from existing: 7-10 days
  • Brand new build: 10-15+ days

IMPORTANT: This task is highly variable. Assess each client's needs and adjust timeline accordingly.

Step-by-Step Instructions

Step 1: Determine Website Strategy

Meet with client to identify which path applies:

Path A: WordPress Migration

  • Client has existing WordPress site
  • Hosted with another provider (GoDaddy, Bluehost, etc.)
  • Want to move hosting to Symphony Core Agency (SCA)
  • Keep existing design and functionality
  • Timeline: 3-5 days

Path B: Redesign from Existing Platform

  • Client has site on Wix, Squarespace, Webflow, etc.
  • Cannot migrate (platform doesn't export to WordPress)
  • Want to recreate design in WordPress
  • Maintain existing content and structure
  • Timeline: 7-10 days

Path C: Brand New Website

  • No existing website, OR
  • Complete redesign/rebuild needed
  • Starting from scratch
  • Platform Options:
    • WordPress (most common, most flexible)
    • GHL Native (funnels/sites builder, simpler but less powerful)
  • Timeline: 10-15+ days

Document the chosen path in client implementation notes.


Path A: WordPress Migration (Existing WP Site)

Prerequisites:

  • Access to current hosting account
  • WordPress admin credentials
  • Database access (if available)
  • List of current plugins and themes

Migration Process:

Step 1: Pre-Migration Assessment

  1. Audit current site:
    • WordPress version
    • PHP version
    • Active plugins (list all)
    • Active theme
    • Custom functionality
    • Database size
    • Media library size
  2. Identify potential issues:
    • Outdated plugins (check compatibility)
    • Custom code (may need adjustment)
    • Large media libraries (migration time)
    • Email forms (need re-configuration)

Step 2: Backup Current Site

  1. Install backup plugin (UpdraftPlus, All-in-One WP Migration, etc.)
  2. Create complete backup:
    • WordPress files
    • Database
    • Media uploads
    • Themes and plugins
  3. Download backup to local computer
  4. Verify backup integrity (test restore if possible)

Step 3: Prepare SCA Hosting Environment

  1. Set up WordPress on SCA hosting
  2. Match PHP version to current site (if possible)
  3. Install SSL certificate
  4. Configure server settings

Step 4: Migrate Website

  1. Upload backup to SCA hosting
  2. Restore using migration plugin
  3. Update WordPress configuration:
    • Site URL
    • Home URL
    • Database connection (if changed)
  4. Regenerate .htaccess file
  5. Clear all caches

Step 5: Verify Functionality Test thoroughly:

  • Homepage loads correctly
  • All pages accessible
  • Navigation menus working
  • Contact forms functional (re-configure SMTP)
  • Images loading
  • Plugins active and working
  • Theme displaying correctly
  • Mobile responsive
  • Search functionality (if applicable)
  • E-commerce (if applicable)

Step 6: Update DNS

  1. Document current DNS settings (backup)
  2. Update A record to point to SCA hosting
  3. Wait for propagation (24-48 hours)
  4. Monitor during propagation
  5. Verify site loads from new hosting

Step 7: Post-Migration Optimization

  1. Update all plugins to latest versions
  2. Update WordPress core (if needed)
  3. Configure backup schedule on SCA hosting
  4. Set up security plugins
  5. Configure caching (if not already)
  6. Test site speed (GTmetrix, Google PageSpeed)

Path B: Redesign from Existing Platform (Wix, Squarespace, etc.)

Prerequisites:

  • Access to current platform
  • Design assets (if available)
  • Content export (if possible)
  • Logo and brand assets

Redesign Process:

Step 1: Content and Asset Gathering

  1. Export content from current platform:
    • Page text (copy/paste into document)
    • Images (download all)
    • Videos (download or note embed URLs)
    • Documents/PDFs (download)
    • Contact forms (note fields and settings)
  2. Screenshot every page of current site:
    • Desktop view
    • Mobile view
    • Note special features or functionality
  3. Document site structure:
    • Create sitemap
    • Note menu structure
    • Identify custom pages/features

Step 2: WordPress Setup on SCA

  1. Install WordPress on SCA hosting
  2. Choose appropriate theme:
    • Match style of existing site, OR
    • Use client-preferred theme, OR
    • Use popular flexible theme (Astra, GeneratePress, etc.)
  3. Install essential plugins:
    • Page builder (Elementor, Beaver Builder, etc.)
    • Contact form (WPForms, Gravity Forms, etc.)
    • SEO (Yoast, RankMath)
    • Security (Wordfence, etc.)

Step 3: Rebuild Design in WordPress

  1. Homepage: Recreate using page builder
    • Match layout from screenshots
    • Use exported images
    • Apply brand colors and fonts
    • Test responsiveness
  2. Additional Pages: Recreate each page
    • About, Services, Contact, etc.
    • Import content from export documents
    • Match original design intent
  3. Navigation: Set up menus
    • Main navigation
    • Footer navigation
    • Mobile menu
  4. Contact Forms: Recreate all forms
    • Match original fields
    • Configure email notifications
    • Test submissions

Step 4: Import and Configure Content

  1. Add all page content
  2. Upload and insert images
  3. Configure SEO settings (titles, descriptions)
  4. Set up redirects (if URLs changed)
  5. Configure integrations (if applicable)

Step 5: Test Thoroughly

  • All pages recreated
  • Content accurate
  • Images displaying correctly
  • Forms working and sending emails
  • Mobile responsive on all devices
  • Links working (internal and external)
  • Browser compatibility (Chrome, Firefox, Safari, Edge)

Step 6: Launch

  1. Get client approval on design
  2. Update DNS to point to new WordPress site
  3. Wait for propagation
  4. Monitor for issues
  5. Deactivate old platform (after confirming new site stable)

Path C: Brand New Website Build

Prerequisites:

  • Client requirements documented
  • Sitemap approved
  • Content strategy defined
  • Brand assets available (logo, colors, images)

New Build Process:

Step 1: Requirements Gathering

  1. Discover client needs:
    • What pages needed? (Home, About, Services, Contact, Blog, etc.)
    • What functionality? (Contact forms, booking, e-commerce, etc.)
    • What integrations? (CRM, email marketing, payment processing, etc.)
    • Who's the audience? (B2B, B2C, local, national, etc.)
  2. Create sitemap:
    Home
    ├── About
    ├── Services
    │ ├── Service 1
    │ ├── Service 2
    │ └── Service 3
    ├── Blog
    ├── Contact
    └── Get Quote
  3. Define success metrics:
    • Lead generation
    • Appointment booking
    • Product sales
    • Information/education

Step 2: Choose Platform

Option A: WordPress (Recommended for most clients)

  • Pros: Flexible, powerful, extensive plugins, client can manage content
  • Cons: More complex, requires maintenance, security considerations
  • Best for: Businesses needing robust websites, blogs, e-commerce, custom features

Option B: GoHighLevel Native Sites

  • Pros: Simpler, integrated with GHL, drag-and-drop, no separate hosting
  • Cons: Less flexible, limited plugins/integrations, tied to GHL
  • Best for: Simple brochure sites, landing pages, clients wanting all-in-one GHL solution

Decision Factors:

FactorWordPressGHL Native
ComplexityMedium-HighLow
FlexibilityVery HighLimited
BloggingExcellentBasic
E-commerceExcellent (WooCommerce)Limited
SEOExcellentGood
IntegrationExtensiveGHL-focused
MaintenanceRequiredMinimal

Document platform choice and rationale.

Step 3: Design and Wireframing

  1. Create wireframes for key pages (homepage, service page, contact)
  2. Get client approval on layout
  3. Define color scheme (use brand colors)
  4. Choose typography
  5. Source or create images/graphics

Step 4: Development

If WordPress:

  1. Install WordPress on SCA hosting
  2. Install and configure theme
  3. Install required plugins
  4. Build pages using page builder
  5. Configure contact forms
  6. Set up blog (if needed)
  7. Configure SEO settings
  8. Implement tracking (Google Analytics, etc.)

If GHL Native:

  1. Create site/funnel in GHL Sites builder
  2. Use templates or build from scratch
  3. Design each page with drag-and-drop
  4. Connect forms to GHL contacts
  5. Integrate GHL calendars
  6. Configure tracking

Step 5: Content Addition

  1. Write or import page content
  2. Optimize for SEO (keywords, headings, meta descriptions)
  3. Add images with alt text
  4. Create clear calls-to-action
  5. Proofread all content

Step 6: Testing

  • All pages complete
  • All links working
  • Forms submitting correctly
  • Mobile responsive
  • Cross-browser compatible
  • Fast loading (under 3 seconds)
  • SEO basics in place
  • Analytics tracking working
  • Security hardened (WordPress)

Step 7: Launch

  1. Get client final approval
  2. Update DNS (if not already pointed to hosting)
  3. Verify SSL active
  4. Submit to Google Search Console
  5. Create XML sitemap
  6. Monitor for issues in first 48 hours

Verification Checklist (All Paths)

Technical:

  • Website loads correctly
  • SSL certificate active (HTTPS)
  • DNS configured correctly
  • All pages accessible
  • Forms functional and tested
  • Mobile responsive
  • Fast loading times

Content:

  • All content present and accurate
  • Images optimized and loading
  • SEO basics implemented
  • Contact information correct
  • Calls-to-action clear

Integration:

  • GHL calendar embedded (if applicable)
  • Forms connected to GHL (if applicable)
  • Analytics tracking live
  • Email form notifications working

Client:

  • Client trained on updates (if applicable)
  • Client has login credentials
  • Client approves final result
  • Documentation provided

Troubleshooting

Issue: Migration fails or site breaks

  • Cause: Plugin compatibility, server configuration mismatch
  • Solution:
    • Restore from backup
    • Update plugins before migration
    • Migrate in stages (database, files, media separately)
    • Check error logs for specific issues

Issue: Site slow after migration/build

  • Cause: Unoptimized images, no caching, heavy plugins
  • Solution:
    • Install caching plugin (WP Super Cache, W3 Total Cache)
    • Optimize images (Smush, ShortPixel)
    • Enable CDN (Cloudflare)
    • Audit and disable unnecessary plugins

Issue: Forms not working after migration

  • Cause: SMTP configuration lost, email sending blocked
  • Solution:
    • Reconfigure form plugin settings
    • Set up SMTP (use WP Mail SMTP plugin)
    • Test with multiple email addresses
    • Check spam folders

Issue: Design doesn't match original

  • Cause: Theme limitations, missing CSS, fonts not loading
  • Solution:
    • Use custom CSS to match details
    • Install original fonts (Google Fonts, Adobe Fonts)
    • Adjust theme settings
    • Use page builder for precise control

Success Criteria

✅ Website strategy determined and documented ✅ Appropriate path chosen (Migration/Redesign/New Build) ✅ Website developed and tested ✅ All functionality working ✅ Client approved final result ✅ DNS configured and propagated ✅ SSL active ✅ Analytics tracking implemented ✅ Client trained on updates (if self-managing) ✅ Website launch complete

Next Step: Proceed with GHL funnel/form integration to website (if applicable)


4. Optional Tasks (Advanced Features)


TASK O1: Enable/Disable Auto Text Back

Time: 5 minutes

Some clients want every inbound text to get instant auto-reply, others prefer manual response only.

  1. Go to Settings → Phone Numbers → Click number
  2. Find "Auto Reply" settings
  3. Enable or disable based on client preference
  4. If enabled, customize message:
    Thanks for texting [BUSINESS NAME]! We'll respond within [TIMEFRAME].
    For immediate help, call us at [PHONE] or visit [WEBSITE].

TASK O2: Add Additional Products to CRM

Time: 15 minutes

Add client's services/products as CRM products for invoicing.

  1. Go to Payments → Products
  2. Click "+ Add Product"
  3. For each service:
    • Product name
    • Price
    • Description
    • SKU (optional)
  4. Save each product
  5. Products now available in invoice creation and proposal generation

5. Post-Onboarding Validation

Before declaring "done," run these comprehensive tests.

Time Required: 30 minutes


5.1 Complete Lead-to-Close Test

Simulate entire customer journey:

Step 1: Submit Lead Form

  1. Go to main lead capture page (funnel)
  2. Submit form with test contact info
  3. Verify:
    • Confirmation page loads
    • Contact created in GHL
    • Opportunity created
    • Welcome email sent
    • Welcome SMS sent (if configured)
    • Lead form automation triggered

Step 2: Book Appointment

  1. Using test contact, book appointment on calendar
  2. Verify:
    • Appointment created
    • Event in user's actual calendar (Google/Outlook)
    • Confirmation email sent to contact
    • Reminder automation scheduled

Step 3: Test Appointment Reminders

  1. In workflow, manually trigger 10-min reminder (for testing)
  2. Verify:
    • SMS reminder sent
    • Email reminder sent
    • Meeting Status Update Form delivered (THE HUB from B-007)

Step 4: Test Meeting Status Update Form

  1. Fill out the form (as if meeting happened)
  2. Select outcome: "Deal Closed"
  3. Enter deal value: $1,000
  4. Submit
  5. Verify:
    • Opportunity updated to "Won"
    • Deal value updated
    • Won workflow triggers
    • Invoice automation starts (if configured)
    • Review request sent (B-009)

Step 5: Test Review Automation

  1. Simulate positive review (leave 5-star review)
  2. Verify:
    • Thank you message sent
    • Referral request sent (B-016)
  3. Simulate negative review (leave 2-star review)
  4. Verify:
    • Private feedback request (NOT public review site)
    • Internal alert to team

Step 6: Test Appointment Cancelation

  1. Create another appointment
  2. Cancel it
  3. Verify:
    • Cancelation workflow triggers (Task M9)
    • Task created for assigned user
    • No-show recovery sequence starts

5.2 Deliverability Tests

Email Testing:

  1. Send test email to 3+ email providers:
    • Gmail
    • Outlook/Hotmail
    • Yahoo
  2. Check each inbox AND spam folder
  3. Verify emails arriving in inbox (not spam)
  4. Check formatting looks correct
  5. Click links to verify they work

SMS Testing:

  1. Send test SMS to 3+ carriers:
    • Verizon
    • AT&T
    • T-Mobile
  2. Verify all arrive
  3. Verify links work
  4. Check formatting (no weird characters)

5.3 Integration Verification

Domain/SSL Check:

  1. Visit all funnel URLs
  2. Verify HTTPS (green padlock)
  3. No browser security warnings
  4. Images load correctly
  5. Forms submit successfully

Calendar Integration:

  1. Create manual event in client's calendar
  2. Wait 5 minutes
  3. Try to book that time in GHL
  4. Should show "unavailable"
  5. Delete event, time should become available

Phone Number:

  1. Call number, verify voicemail works
  2. Text number, verify received in GHL
  3. Send outbound text, verify received on mobile

5.4 Custom Values Audit

  1. Go to Settings → Custom Values
  2. Search for "undefined" or "pending" or "TBD"
  3. Fix any placeholder values
  4. Spot-check 10 random custom values
  5. Verify they match client's actual info

6. Client Training Handoff

Prepare client for successful use of their new system.

Time Required: 1 hour training session


6.1 Training Agenda

Section 1: Dashboard Overview (10 min)

  • Where to log in
  • Dashboard metrics
  • What each number means
  • Navigation basics

Section 2: Conversations (15 min)

  • How to view incoming texts/emails
  • How to reply
  • How to start new conversation
  • Phone call handling

Section 3: Contacts & Opportunities (15 min)

  • Contact records overview
  • How to add notes
  • Pipeline stages
  • Moving deals through pipeline
  • Using tasks

Section 4: Calendar Management (10 min)

  • Viewing booked appointments
  • Rescheduling/canceling
  • Blocking time off
  • Adjusting availability

Section 5: Key Automations (10 min)

  • What's automated (no action needed)
  • What requires manual input
  • Meeting Status Update Form (THE HUB) - CRITICAL
  • Review requests
  • Referral system

Q&A (10 min)


6.2 Client Handoff Checklist

Provide client with:

  • Login credentials
  • Training recording (if recorded)
  • Quick reference guide (1-page cheat sheet)
  • Support contact info
  • Funnel URLs document (all their pages)
  • Meeting Status Update Form instructions (emphasize importance)
  • Review management instructions
  • 30-day support scope outline

7. Troubleshooting Guide

Common issues and fast solutions.


Issue: Workflows not triggering

Symptoms: Contacts entering system but no automation happening

Check:

  1. Workflow active? (green toggle)
  2. Trigger configured correctly?
  3. Check workflow execution history for errors
  4. Test trigger manually

Common Causes:

  • Workflow paused
  • Trigger condition too specific
  • Contact already has tag (won't re-trigger)
  • Time-based trigger not scheduled correctly

Issue: Emails going to spam

Symptoms: Test emails in spam folder

Immediate Actions:

  1. Verify email domain DNS records (Task M4)
  2. Check SPF, DKIM, DMARC all verified
  3. Slow down sending (warm up domain)
  4. Improve email content (remove spam trigger words)
  5. Add unsubscribe link

Long-term:

  • Domain reputation building (2-4 weeks)
  • Consistent sending volume
  • High engagement rates (people opening/clicking)

Issue: Calendar not showing availability

Symptoms: All times show "unavailable"

Check:

  1. Calendar integration connected? (Task M7)
  2. Availability hours configured?
  3. User's calendar not completely booked?
  4. Minimum notice not too restrictive?
  5. Booking range allows future dates?
  6. Timezone set correctly?

Issue: Custom values not showing in messages

Symptoms: Emails/SMS showing {{custom_values.name}} instead of actual value

Check:

  1. Custom value exists? (Settings → Custom Values)
  2. Syntax correct? (case-sensitive, no spaces)
  3. Value actually populated? (not blank)
  4. Correct format: {{custom_values.name}} not {{customvalues.name}}

Issue: Phone/SMS not working

Symptoms: Can't send/receive texts or calls

Check:

  1. Phone number active? (Settings → Phone Numbers)
  2. Number set as default?
  3. SMS enabled in settings?
  4. Carrier filtering? (some carriers block automation)
  5. Test with different phone number

Issue: Funnel/page not loading

Symptoms: 404 error or blank page

Check:

  1. Funnel published? (not just saved)
  2. Connected to domain? (Task M5)
  3. Domain SSL active? (Task M3)
  4. Path unique? (no conflicts)
  5. DNS propagated?

Document Information

  • Version: 2.0 (Complete Draft)
  • Created: 2025-10-29
  • Last Updated: 2025-10-29
  • Status: Complete - Ready for Team Review
  • Target Audience: Implementation team, client success managers
  • Completion Status: 100% - All 13 mandatory tasks, 3 important tasks, 2 optional tasks, validation, client training, and troubleshooting complete
  • Word Count: ~12,000 words (~50 pages)
  • Next Review: 2025-11-12 (Phase 1 team review)
  • Owner: Symphony Core Knowledge Management Team

Related Documents:


Change Log:

DateVersionChangesAuthor
2025-10-291.0Partial initial draft - first 4 mandatory tasks completedClaude Code
2025-10-292.0Complete draft - all 13 mandatory tasks, important tasks, optional tasks, validation procedures, client training, and troubleshooting guideClaude Code

Usage Notes:

  • This is a comprehensive reference guide, not meant to be read cover-to-cover
  • Use Task Quick Reference (top of document) to jump to specific tasks
  • Verification checklists ensure nothing is missed
  • Troubleshooting sections provide quick solutions to common issues
  • Estimated total onboarding time: 4-6 hours (excluding DNS propagation wait times)

Feedback: If you find errors, missing information, or have suggestions for improvement, please contact the Knowledge Management Team or submit an issue.