@elitedcs/ghl-mcp 3.61.0 → 3.62.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,410 @@
1
+ <!doctype html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="utf-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1">
6
+ <title>GHL Command — User Guide</title>
7
+ <!-- guides-hash: 95cbfe7f949954d7 -->
8
+ <style>
9
+ :root{
10
+ --bg:#F2F4F6; --surface:#FFFFFF; --ink:#1C2833; --muted:#5B6B78; --line:#DDE3E8;
11
+ --accent:#0E6E5C; --accent-hover:#0B5A4B; --accent-soft:#E3F1EC;
12
+ --full-bg:#F7ECD9; --full-ink:#8A5A10;
13
+ --em-bg:#E5EDF8; --em-ink:#2C5E9E;
14
+ --bubble:#F6F8F9; --shadow:0 1px 3px rgba(28,40,51,.07);
15
+ }
16
+ @media (prefers-color-scheme: dark){
17
+ :root{
18
+ --bg:#10181F; --surface:#18222B; --ink:#E8EDF1; --muted:#93A3B0; --line:#26323C;
19
+ --accent:#3FB99C; --accent-hover:#55CBAF; --accent-soft:#173029;
20
+ --full-bg:#332916; --full-ink:#E0B15E;
21
+ --em-bg:#182838; --em-ink:#7FAEE0;
22
+ --bubble:#141D25; --shadow:0 1px 3px rgba(0,0,0,.35);
23
+ }
24
+ }
25
+ *{box-sizing:border-box}
26
+ body{margin:0;background:var(--bg);color:var(--ink);
27
+ font:18px/1.6 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;}
28
+ .serif{font-family:"Charter","Iowan Old Style",Georgia,serif}
29
+ a{color:var(--accent)}
30
+ button{font:inherit;cursor:pointer}
31
+ code{background:var(--bubble);border:1px solid var(--line);border-radius:5px;padding:1px 6px;font-size:.88em}
32
+ :focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}
33
+
34
+ /* top bar */
35
+ .topbar{position:sticky;top:0;z-index:10;background:var(--surface);border-bottom:1px solid var(--line);}
36
+ .topbar-in{max-width:1180px;margin:0 auto;padding:12px 20px;display:flex;align-items:center;gap:16px;flex-wrap:wrap}
37
+ .brand{display:flex;align-items:baseline;gap:9px;white-space:nowrap;text-decoration:none;color:var(--ink)}
38
+ .brand b{font-size:17.5px;letter-spacing:.06em}
39
+ .brand span{color:var(--muted);font-size:15px}
40
+ .search{flex:1;min-width:220px;max-width:520px;position:relative}
41
+ .search input{width:100%;padding:10px 14px 10px 38px;border:1.5px solid var(--line);border-radius:9px;
42
+ background:var(--bg);color:var(--ink);font-size:17.5px}
43
+ .search input:focus{border-color:var(--accent);outline:none}
44
+ .search svg{position:absolute;left:12px;top:50%;transform:translateY(-50%);width:16px;height:16px;
45
+ stroke:var(--muted);fill:none;stroke-width:2}
46
+ .cta{background:var(--accent);color:#fff;text-decoration:none;border-radius:9px;padding:9px 18px;font-weight:600;font-size:16px;white-space:nowrap}
47
+ .cta:hover{background:var(--accent-hover)}
48
+
49
+ /* shell */
50
+ .shell{max-width:1180px;margin:0 auto;padding:26px 20px 60px}
51
+ main{max-width:1180px}
52
+
53
+ /* library */
54
+ .lead h1{margin:2px 0 6px;font-size:34px;line-height:1.2;text-wrap:balance;font-weight:650}
55
+ .lead p{margin:0 0 6px;color:var(--muted);max-width:60ch}
56
+ .catsec{margin-top:34px}
57
+ .catsec h2{font-size:15px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);
58
+ margin:0 0 12px;padding-bottom:8px;border-bottom:1px solid var(--line)}
59
+ .cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(265px,1fr));gap:14px}
60
+ .card{background:var(--surface);border:1px solid var(--line);border-radius:9px;padding:16px 16px 13px;
61
+ box-shadow:var(--shadow);text-align:left;color:var(--ink);display:flex;flex-direction:column;gap:7px;
62
+ text-decoration:none;transition:border-color .12s, transform .12s}
63
+ .card.pub:hover{border-color:var(--accent);transform:translateY(-1px)}
64
+ @media (prefers-reduced-motion: reduce){.card,.card:hover{transition:none;transform:none}}
65
+ .card h3{margin:0;font-size:18.5px;line-height:1.3;font-weight:640}
66
+ .card p{margin:0;color:var(--muted);font-size:16px;flex:1}
67
+ .meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:3px}
68
+ .pill{font-size:13px;font-weight:600;border-radius:999px;padding:2.5px 9px;letter-spacing:.02em}
69
+ .pill.free{background:var(--accent-soft);color:var(--accent)}
70
+ .pill.full{background:var(--full-bg);color:var(--full-ink)}
71
+ .time{font-size:14px;color:var(--muted);font-variant-numeric:tabular-nums}
72
+ .open{margin-left:auto;font-size:14px;color:var(--accent);font-weight:600}
73
+ .card.locked{opacity:.62}
74
+ .card.locked .pill,.card.locked .time{display:none}
75
+ .applabel{font-size:13px;font-weight:600;border-radius:999px;padding:2.5px 9px;
76
+ background:var(--bg);color:var(--muted);border:1px dashed var(--line)}
77
+ .noresults{display:none;margin-top:40px;color:var(--muted)}
78
+ .noresults b{color:var(--ink)}
79
+
80
+ /* email capture */
81
+ .capture{margin-top:48px;background:var(--surface);border:1px solid var(--line);border-radius:12px;
82
+ padding:24px;max-width:640px;box-shadow:var(--shadow)}
83
+ .capture h2{margin:0 0 6px;font-size:21px}
84
+ .capture p{margin:0 0 14px;color:var(--muted);font-size:16px}
85
+ .capture form{display:flex;gap:10px;flex-wrap:wrap}
86
+ .capture input{flex:1 1 180px;padding:11px 13px;border:1.5px solid var(--line);border-radius:9px;
87
+ background:var(--bg);color:var(--ink);font-size:16px}
88
+ .capture input:focus{border-color:var(--accent);outline:none}
89
+ .capture button{background:var(--accent);color:#fff;border:none;border-radius:9px;padding:11px 20px;font-weight:600}
90
+ .capture button:hover{background:var(--accent-hover)}
91
+ .capture-done{color:var(--accent);font-weight:600}
92
+
93
+ /* guide detail */
94
+ .gview{max-width:760px}
95
+ .back{color:var(--accent);text-decoration:none;font-size:16.5px;display:inline-block;margin-bottom:18px}
96
+ .back:hover{text-decoration:underline}
97
+ .gtitle{font-size:36px;margin:0 0 8px;line-height:1.15;text-wrap:balance;font-weight:600}
98
+ .gpromise{font-size:20px;color:var(--muted);margin:0 0 14px;max-width:56ch}
99
+ .gmeta{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-bottom:30px}
100
+ .gsec{margin:30px 0}
101
+ .gsec h2{font-size:23px;margin:0 0 12px;font-weight:600}
102
+ .gsec ul{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:7px}
103
+ .gsec li{max-width:62ch}
104
+ .gpara{max-width:62ch;margin:10px 0}
105
+ .steps{counter-reset:s;list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}
106
+ .steps li{display:flex;gap:12px;align-items:baseline;max-width:62ch}
107
+ .steps li::before{counter-increment:s;content:counter(s);flex:0 0 22px;height:22px;border-radius:50%;
108
+ background:var(--accent-soft);color:var(--accent);font-size:14px;font-weight:700;
109
+ display:inline-flex;align-items:center;justify-content:center;transform:translateY(3px)}
110
+ .prompt{display:flex;gap:10px;align-items:center;background:var(--bubble);border:1px solid var(--line);
111
+ border-radius:11px;padding:13px 15px;margin-bottom:9px;max-width:640px}
112
+ .prompt q{flex:1;font-family:"Charter","Iowan Old Style",Georgia,serif;font-style:italic;font-size:19px;quotes:"“" "”"}
113
+ .copy{flex:0 0 auto;border:1px solid var(--line);background:var(--surface);color:var(--accent);
114
+ border-radius:7px;padding:5px 12px;font-size:14px;font-weight:600}
115
+ .copy:hover{border-color:var(--accent)}
116
+ .copy.done{background:var(--accent);border-color:var(--accent);color:#fff}
117
+ .wrongtbl{border-collapse:collapse;width:100%;max-width:680px;font-size:16.5px}
118
+ .wrongtbl th{text-align:left;font-size:14px;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);
119
+ padding:0 14px 8px 0;border-bottom:1px solid var(--line)}
120
+ .wrongtbl td{padding:10px 14px 10px 0;border-bottom:1px solid var(--line);vertical-align:top}
121
+ .wrongtbl td:first-child{color:var(--muted)}
122
+ .know,.chat{background:var(--surface);border:1px solid var(--line);border-radius:11px;padding:16px;
123
+ max-width:640px;box-shadow:var(--shadow)}
124
+ .chat{display:flex;flex-direction:column;gap:10px}
125
+ .chat-cap{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
126
+ .msg{max-width:86%;padding:10px 14px;border-radius:11px;font-size:15.5px;line-height:1.5}
127
+ .msg.user{align-self:flex-end;background:var(--accent-soft);border-bottom-right-radius:3px}
128
+ .msg.claude{align-self:flex-start;background:var(--bubble);border:1px solid var(--line);border-bottom-left-radius:3px}
129
+ .flow{max-width:460px;margin:4px 0}
130
+ .fnode{display:flex;align-items:center;gap:10px;background:var(--surface);border:1px solid var(--line);
131
+ border-radius:8px;padding:9px 13px;font-size:14.5px}
132
+ .fnode .tag{flex:0 0 auto;font-size:11.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;
133
+ border-radius:4px;padding:2px 7px}
134
+ .tag.sms{background:var(--accent-soft);color:var(--accent)}
135
+ .tag.em{background:var(--em-bg);color:var(--em-ink)}
136
+ .tag.wait{background:var(--bg);color:var(--muted);border:1px solid var(--line)}
137
+ .fconn{width:2px;height:13px;background:var(--line);margin-left:26px}
138
+ .fstop{display:flex;align-items:center;gap:8px;margin-top:10px;font-size:14px;color:var(--accent);font-weight:600}
139
+ .fstop::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--accent)}
140
+ .pro{background:var(--surface);border:1px solid var(--line);border-top:3px solid var(--full-ink);
141
+ border-radius:11px;padding:18px;max-width:700px;box-shadow:var(--shadow)}
142
+ .pro-head{display:flex;align-items:center;gap:10px;margin-bottom:12px;flex-wrap:wrap}
143
+ .pro-head b{font-size:16px}
144
+ .pro-body{font-family:"Charter","Iowan Old Style",Georgia,serif;font-style:italic;font-size:16.5px;
145
+ line-height:1.65;white-space:pre-line;margin:0}
146
+
147
+ /* footer */
148
+ .foot{border-top:1px solid var(--line);background:var(--surface);margin-top:20px}
149
+ .foot-in{max-width:1180px;margin:0 auto;padding:20px;display:flex;gap:18px;flex-wrap:wrap;align-items:center;
150
+ color:var(--muted);font-size:15px}
151
+ .foot-in span{flex:1;min-width:260px}
152
+ .foot a{white-space:nowrap}
153
+ .gfoot{margin-top:44px;padding-top:16px;border-top:1px solid var(--line);color:var(--muted);font-size:15px;max-width:62ch}
154
+
155
+ /* toast */
156
+ .toast{position:fixed;left:50%;bottom:26px;transform:translate(-50%,8px);background:var(--ink);color:var(--bg);
157
+ border-radius:9px;padding:10px 18px;font-size:15px;opacity:0;pointer-events:none;transition:opacity .18s, transform .18s;
158
+ max-width:88vw;text-align:center}
159
+ .toast.show{opacity:1;transform:translate(-50%,0)}
160
+ </style>
161
+ </head>
162
+ <body id="top">
163
+ <header class="topbar"><div class="topbar-in">
164
+ <a class="brand" href="#top"><b>GHL&nbsp;COMMAND</b><span>User Guide</span></a>
165
+ <div class="search"><svg viewBox="0 0 24 24"><circle cx="11" cy="11" r="7"/><path d="m20 20-3.8-3.8"/></svg>
166
+ <input id="q" type="search" placeholder="What do you want to do? Try: count contacts" aria-label="Search the guides"></div>
167
+ </div></header>
168
+ <div class="shell">
169
+ <main>
170
+ <div class="lead">
171
+ <h1>What do you want to get done?</h1>
172
+ <p>Every guide is a job, in plain English: find it below, copy a prompt, paste it to Claude. This copy ships inside GHL Command and updates with the product — cards marked "Coming in an update" arrive automatically.</p>
173
+ </div>
174
+ <div class="catsec"><h2>Getting set up</h2><div class="cards"><a class="card pub" href="#g-install-ghl-command" data-k="install connect setup start windows mac workflow builder browser login step 2 full version"><h3>Install GHL Command</h3><p>One install, two short steps, whether you are on the Free plan or the full license. Nothing left to add later.</p><div class="meta"><span class="pill free">Free plan</span><span class="time">~6 minutes</span><span class="open">Read below &#8595;</span></div></a>
175
+ <button class="card locked" type="button" data-k="switch subaccount location client account change" data-toast="This guide arrives in a product update — your install picks it up automatically." title="Coming in a product update." aria-label="Switch between client accounts. Coming in a product update."><h3>Switch between client accounts</h3><p>Point Claude at any of your sub-accounts by name, and confirm which one is active.</p><div class="meta"><span class="pill free">Free plan</span><span class="time">seconds</span><span class="applabel">Coming in an update</span></div></button></div></div>
176
+ <div class="catsec"><h2>Contacts and leads</h2><div class="cards"><a class="card pub" href="#g-count-and-report-contacts" data-k="count how many contacts report number leads week month total added"><h3>Count and report your contacts</h3><p>Ask for a number, get the real number, with the date range printed next to it.</p><div class="meta"><span class="pill free">Free plan</span><span class="time">~10 seconds</span><span class="open">Read below &#8595;</span></div></a>
177
+ <button class="card locked" type="button" data-k="list find contacts export spreadsheet csv excel search" data-toast="This guide arrives in a product update — your install picks it up automatically." title="Coming in a product update." aria-label="Find and list contacts. Coming in a product update."><h3>Find and list contacts</h3><p>Pull a clean list into a spreadsheet you can open in Excel or Google Sheets.</p><div class="meta"><span class="pill free">Free plan</span><span class="time">~1 min</span><span class="applabel">Coming in an update</span></div></button>
178
+ <button class="card locked" type="button" data-k="bulk tag untag update clean duplicates many contacts smart lists" data-toast="This guide arrives in a product update — your install picks it up automatically." title="Coming in a product update." aria-label="Bulk tag and clean up. Coming in a product update."><h3>Bulk tag and clean up</h3><p>Tag, untag, or update hundreds of contacts in one instruction.</p><div class="meta"><span class="pill full">Full license</span><span class="time">~2 min</span><span class="applabel">Coming in an update</span></div></button>
179
+ <button class="card locked" type="button" data-k="weekly report account snapshot health summary" data-toast="This guide arrives in a product update — your install picks it up automatically." title="Coming in a product update." aria-label="Weekly account report. Coming in a product update."><h3>Weekly account report</h3><p>One ask, a full snapshot of the account's week: leads, appointments, pipeline moves.</p><div class="meta"><span class="pill free">Free plan</span><span class="time">~1 min</span><span class="applabel">Coming in an update</span></div></button></div></div>
180
+ <div class="catsec"><h2>Automations</h2><div class="cards"><a class="card pub" href="#g-build-nurture-sequence" data-k="nurture sequence drip texts emails follow up workflow build"><h3>Build a nurture sequence</h3><p>A follow-up machine that texts, emails, waits, and stops the second someone replies.</p><div class="meta"><span class="pill full">Full license</span><span class="time">~15 minutes</span><span class="open">Read below &#8595;</span></div></a>
181
+ <button class="card locked" type="button" data-k="exit workflow remove tag note notify replied" data-toast="This guide arrives in a product update — your install picks it up automatically." title="Coming in a product update." aria-label="Add an exit workflow. Coming in a product update."><h3>Add an exit workflow</h3><p>Cleanly pull people out of a sequence when they reply, tag them, and get notified.</p><div class="meta"><span class="pill full">Full license</span><span class="time">~5 min</span><span class="applabel">Coming in an update</span></div></button>
182
+ <button class="card locked" type="button" data-k="audit workflows broken silent failure check review existing validate" data-toast="This guide arrives in a product update — your install picks it up automatically." title="Coming in a product update." aria-label="Audit your workflows. Coming in a product update."><h3>Audit your workflows</h3><p>Find silent failures and dead ends in existing workflows before your client does.</p><div class="meta"><span class="pill free">Free plan</span><span class="time">~2 min</span><span class="applabel">Coming in an update</span></div></button>
183
+ <button class="card locked" type="button" data-k="if else branch condition vip tag field split" data-toast="This guide arrives in a product update — your install picks it up automatically." title="Coming in a product update." aria-label="Branch on tags and fields. Coming in a product update."><h3>Branch on tags and fields</h3><p>If they are a VIP, send this. Otherwise, send that. Built correctly the first time.</p><div class="meta"><span class="pill full">Full license</span><span class="time">~5 min</span><span class="applabel">Coming in an update</span></div></button></div></div>
184
+ <div class="catsec"><h2>Pipelines and sales</h2><div class="cards"><button class="card locked" type="button" data-k="pipeline stages create new client setup opportunity" data-toast="This guide arrives in a product update — your install picks it up automatically." title="Coming in a product update." aria-label="Stand up a pipeline. Coming in a product update."><h3>Stand up a pipeline</h3><p>Stages, fields, and tags for a new client in one conversation.</p><div class="meta"><span class="pill full">Full license</span><span class="time">~10 min</span><span class="applabel">Coming in an update</span></div></button>
185
+ <button class="card locked" type="button" data-k="opportunities move deals track stuck value update" data-toast="This guide arrives in a product update — your install picks it up automatically." title="Coming in a product update." aria-label="Track and move opportunities. Coming in a product update."><h3>Track and move opportunities</h3><p>Move deals between stages, update values, and see what is stuck.</p><div class="meta"><span class="pill full">Full license</span><span class="time">~1 min</span><span class="applabel">Coming in an update</span></div></button>
186
+ <button class="card locked" type="button" data-k="invoices estimates payments send record coupons products" data-toast="This guide arrives in a product update — your install picks it up automatically." title="Coming in a product update." aria-label="Invoices and estimates. Coming in a product update."><h3>Invoices and estimates</h3><p>Create, send, and track invoices and estimates without opening GHL.</p><div class="meta"><span class="pill full">Full license</span><span class="time">~3 min</span><span class="applabel">Coming in an update</span></div></button>
187
+ <button class="card locked" type="button" data-k="documents contracts proposals signature send" data-toast="This guide arrives in a product update — your install picks it up automatically." title="Coming in a product update." aria-label="Documents and contracts. Coming in a product update."><h3>Documents and contracts</h3><p>Proposals and contracts sent for signature and tracked from Claude.</p><div class="meta"><span class="pill full">Full license</span><span class="time">~5 min</span><span class="applabel">Coming in an update</span></div></button></div></div>
188
+ <div class="catsec"><h2>Client builds and pages</h2><div class="cards"><button class="card locked" type="button" data-k="blueprint client account build intake onboarding new complete template" data-toast="This guide arrives in a product update — your install picks it up automatically." title="Coming in a product update." aria-label="The Blueprint: build a client account. Coming in a product update."><h3>The Blueprint: build a client account</h3><p>From intake form to a complete, reviewed account build you approve before it runs.</p><div class="meta"><span class="pill full">Full license</span><span class="time">~1 hour</span><span class="applabel">Coming in an update</span></div></button>
189
+ <button class="card locked" type="button" data-k="page studio compose website landing pages funnel" data-toast="This guide arrives in a product update — your install picks it up automatically." title="Coming in a product update." aria-label="Page Studio: pages and sites. Coming in a product update."><h3>Page Studio: pages and sites</h3><p>Compose landing pages and full sites that render correctly in GHL.</p><div class="meta"><span class="pill full">Full license</span><span class="time">~20 min</span><span class="applabel">Coming in an update</span></div></button>
190
+ <button class="card locked" type="button" data-k="clone site copy rebrand landing page existing url" data-toast="This guide arrives in a product update — your install picks it up automatically." title="Coming in a product update." aria-label="Clone and rebrand a site. Coming in a product update."><h3>Clone and rebrand a site</h3><p>Rebuild an existing page for a new client, with a rights check and a review report.</p><div class="meta"><span class="pill full">Full license</span><span class="time">~30 min</span><span class="applabel">Coming in an update</span></div></button></div></div>
191
+ <div class="catsec"><h2>Booking and calendars</h2><div class="cards"><button class="card locked" type="button" data-k="calendar create booking consult slots availability" data-toast="This guide arrives in a product update — your install picks it up automatically." title="Coming in a product update." aria-label="Set up a booking calendar. Coming in a product update."><h3>Set up a booking calendar</h3><p>A consult calendar with the right slots, buffers, and confirmation messages.</p><div class="meta"><span class="pill full">Full license</span><span class="time">~10 min</span><span class="applabel">Coming in an update</span></div></button>
192
+ <button class="card locked" type="button" data-k="appointments today schedule upcoming who list" data-toast="This guide arrives in a product update — your install picks it up automatically." title="Coming in a product update." aria-label="See and manage appointments. Coming in a product update."><h3>See and manage appointments</h3><p>Who is booked today, this week, or for a specific client, in one ask.</p><div class="meta"><span class="pill free">Free plan</span><span class="time">seconds</span><span class="applabel">Coming in an update</span></div></button></div></div>
193
+ <div class="catsec"><h2>Email and SMS</h2><div class="cards"><button class="card locked" type="button" data-k="send message text email contact conversation campaigns" data-toast="This guide arrives in a product update — your install picks it up automatically." title="Coming in a product update." aria-label="Send texts and emails. Coming in a product update."><h3>Send texts and emails</h3><p>Message any contact from Claude, in your voice, on the right channel.</p><div class="meta"><span class="pill full">Full license</span><span class="time">seconds</span><span class="applabel">Coming in an update</span></div></button>
194
+ <button class="card locked" type="button" data-k="email template design create campaign builder" data-toast="This guide arrives in a product update — your install picks it up automatically." title="Coming in a product update." aria-label="Build email templates. Coming in a product update."><h3>Build email templates</h3><p>Reusable, branded templates created and edited without the GHL editor.</p><div class="meta"><span class="pill full">Full license</span><span class="time">~10 min</span><span class="applabel">Coming in an update</span></div></button>
195
+ <button class="card locked" type="button" data-k="conversations inbox read unread replies check messages" data-toast="This guide arrives in a product update — your install picks it up automatically." title="Coming in a product update." aria-label="Review your conversations. Coming in a product update."><h3>Review your conversations</h3><p>Catch up on replies and unread threads across every channel.</p><div class="meta"><span class="pill free">Free plan</span><span class="time">~1 min</span><span class="applabel">Coming in an update</span></div></button></div></div>
196
+ <div class="catsec"><h2>Content and social</h2><div class="cards"><button class="card locked" type="button" data-k="social posts schedule planner facebook instagram queue" data-toast="This guide arrives in a product update — your install picks it up automatically." title="Coming in a product update." aria-label="Plan social posts. Coming in a product update."><h3>Plan social posts</h3><p>Queue and schedule posts across your connected social accounts.</p><div class="meta"><span class="pill full">Full license</span><span class="time">~5 min</span><span class="applabel">Coming in an update</span></div></button>
197
+ <button class="card locked" type="button" data-k="blog posts publish draft seo articles" data-toast="This guide arrives in a product update — your install picks it up automatically." title="Coming in a product update." aria-label="Publish blog posts. Coming in a product update."><h3>Publish blog posts</h3><p>Draft, format, and publish posts to your GHL blog.</p><div class="meta"><span class="pill full">Full license</span><span class="time">~10 min</span><span class="applabel">Coming in an update</span></div></button>
198
+ <button class="card locked" type="button" data-k="courses memberships lessons offers community" data-toast="This guide arrives in a product update — your install picks it up automatically." title="Coming in a product update." aria-label="Courses and memberships. Coming in a product update."><h3>Courses and memberships</h3><p>Course outlines, lessons, and offers built in your membership area.</p><div class="meta"><span class="pill full">Full license</span><span class="time">~20 min</span><span class="applabel">Coming in an update</span></div></button></div></div>
199
+ <div class="catsec"><h2>Forms and reviews</h2><div class="cards"><button class="card locked" type="button" data-k="form create intake survey fields submissions" data-toast="This guide arrives in a product update — your install picks it up automatically." title="Coming in a product update." aria-label="Create forms and read submissions. Coming in a product update."><h3>Create forms and read submissions</h3><p>Intake forms built to spec, and submissions pulled into a clean summary.</p><div class="meta"><span class="pill full">Full license</span><span class="time">~10 min</span><span class="applabel">Coming in an update</span></div></button>
200
+ <button class="card locked" type="button" data-k="reviews reputation see ratings google respond" data-toast="This guide arrives in a product update — your install picks it up automatically." title="Coming in a product update." aria-label="Watch your reviews. Coming in a product update."><h3>Watch your reviews</h3><p>See new reviews across clients without logging into each account.</p><div class="meta"><span class="pill free">Free plan</span><span class="time">seconds</span><span class="applabel">Coming in an update</span></div></button>
201
+ <button class="card locked" type="button" data-k="trigger links tracking click automations" data-toast="This guide arrives in a product update — your install picks it up automatically." title="Coming in a product update." aria-label="Trigger links. Coming in a product update."><h3>Trigger links</h3><p>Create tracked links that fire automations when clicked.</p><div class="meta"><span class="pill full">Full license</span><span class="time">~2 min</span><span class="applabel">Coming in an update</span></div></button></div></div>
202
+ <div class="catsec"><h2>Account admin</h2><div class="cards"><button class="card locked" type="button" data-k="custom fields objects records associations create" data-toast="This guide arrives in a product update — your install picks it up automatically." title="Coming in a product update." aria-label="Custom fields and objects. Coming in a product update."><h3>Custom fields and objects</h3><p>The fields and records your niche needs, created correctly the first time.</p><div class="meta"><span class="pill full">Full license</span><span class="time">~5 min</span><span class="applabel">Coming in an update</span></div></button>
203
+ <button class="card locked" type="button" data-k="users phone numbers media export snapshots webhooks admin settings" data-toast="This guide arrives in a product update — your install picks it up automatically." title="Coming in a product update." aria-label="Account admin basics. Coming in a product update."><h3>Account admin basics</h3><p>Users, phone numbers, media, and account exports without hunting through menus.</p><div class="meta"><span class="pill full">Full license</span><span class="time">seconds</span><span class="applabel">Coming in an update</span></div></button></div></div>
204
+ <div class="noresults" id="noresults"><p><b>No guides match that yet.</b> Try a different word, like "contacts" or "workflow".</p></div>
205
+
206
+ <section class="gview" id="g-build-nurture-sequence">
207
+ <h1 class="gtitle serif">Build a nurture sequence</h1>
208
+ <p class="gpromise">A follow-up machine that texts, emails, waits, and stops the second someone replies.</p>
209
+ <div class="gmeta"><span class="pill full">Full license</span><span class="time">~15 minutes</span><span class="time">Works in Claude Desktop and Claude Code</span></div>
210
+ <div class="gsec"><h2>What you'll get</h2>
211
+ <ul>
212
+ <li>A ready-to-review workflow in your GHL account: texts, emails, and waits in the right order, every message written out.</li>
213
+ <li>Stop-on-reply built in, so nobody gets a robot follow-up after a human conversation has started.</li>
214
+ <li>A matching exit workflow: when someone replies, they leave the nurture, get tagged, and you get notified.</li>
215
+ </ul>
216
+ </div>
217
+ <div class="gsec"><h2>Quick start</h2>
218
+ <div class="prompt"><q>Build a 7-day nurture for new leads: text right away, email an hour later, then follow up daily until they reply.</q><button class="copy" type="button">Copy</button></div>
219
+ <div class="prompt"><q>Show me the full plan first. Do not build anything until I approve it.</q><button class="copy" type="button">Copy</button></div>
220
+ </div>
221
+ <div class="gsec"><h2>The pro prompt</h2>
222
+ <div class="pro"><div class="pro-head"><b>The exact ask we run on real client accounts</b><span class="pill full">Proven live</span><button class="copy" type="button">Copy</button></div><p class="pro-body">Build a nurture workflow in my [Radiance Med Spa] account called &quot;New Lead Nurture 7 Day&quot;. Trigger: when the tag [new-lead] is added.
223
+ The sequence: (1) Immediately, text: &quot;Hi {{first name}}, this is [Dana] from [Radiance Med Spa]. Thanks for reaching out about our [body contouring special]! Want me to grab you a free consult this week?&quot; (2) Wait 1 hour, then send an email, subject &quot;Your consult is waiting&quot;, friendly, three short paragraphs, one button to my booking link. (3) Wait 1 day, then text a soft check-in. (4) Wait 2 days, then email a before-and-after story from a real client. (5) Wait 3 days, then text a last-call message about the special ending.
224
+ Stop the sequence the moment they reply on any channel. Also build the exit workflow: when they reply, remove them from the nurture, tag them [warm-lead], add a note with what they said, and notify me.
225
+ Before you build anything: show me every message written out for my approval, and verify my account's real pipeline, tag, and calendar IDs so nothing fails silently.</p></div>
226
+ <p class="gpara">Everything in [brackets] is yours to change. The last paragraph is the safety net: it makes Claude plan first and check your account's real setup before touching it.</p>
227
+ </div>
228
+ <div class="gsec"><h2>What Claude builds</h2>
229
+ <div class="flow">
230
+ <div class="fnode"><span class="tag sms">Text</span>instant hello, offer a consult</div>
231
+ <div class="fconn"></div>
232
+ <div class="fnode"><span class="tag wait">Wait 1 hour</span>then</div>
233
+ <div class="fconn"></div>
234
+ <div class="fnode"><span class="tag em">Email</span>&quot;Your consult is waiting&quot; + booking button</div>
235
+ <div class="fconn"></div>
236
+ <div class="fnode"><span class="tag wait">Wait 1 day</span>then</div>
237
+ <div class="fconn"></div>
238
+ <div class="fnode"><span class="tag sms">Text</span>soft check-in</div>
239
+ <div class="fconn"></div>
240
+ <div class="fnode"><span class="tag wait">Wait 2 days</span>then</div>
241
+ <div class="fconn"></div>
242
+ <div class="fnode"><span class="tag em">Email</span>before-and-after story</div>
243
+ <div class="fconn"></div>
244
+ <div class="fnode"><span class="tag sms">Text</span>last call</div>
245
+ <div class="fstop">the whole track stops the moment they reply, on any channel</div>
246
+ </div>
247
+ </div>
248
+ <div class="gsec"><h2>What happens when you ask</h2>
249
+ <ol class="steps">
250
+ <li>Claude shows you the full plan: every message written out, every wait, in order. Nothing is built yet.</li>
251
+ <li>You edit in plain English: &quot;make step 3 warmer&quot;, &quot;move the last text to day 5&quot;. Then approve.</li>
252
+ <li>Claude checks your account's real pipelines, tags, and calendars first, then builds the workflow and the exit workflow, and hands you the link to review in GHL.</li>
253
+ </ol>
254
+ </div>
255
+ <div class="gsec"><h2>Good to know</h2>
256
+ <ul>
257
+ <li>GHL's editor struggles past about 40 steps in one workflow. Claude knows this and splits long sequences automatically.</li>
258
+ <li>Messages come out in your voice if you give Claude a sample first: paste one text you would actually send and say &quot;write like this&quot;.</li>
259
+ <li>The nurture and its exit workflow are a pair. If you ever remove one, ask Claude to update the other, so nothing points at a workflow that is gone.</li>
260
+ </ul>
261
+ </div>
262
+ <div class="gsec"><h2>Where people go wrong</h2>
263
+ <div style="overflow-x:auto"><table class="wrongtbl"><tr><th>What happened</th><th>The fix</th></tr><tr><td>&quot;It built the workflow but nothing ever sends.&quot;</td><td>Say &quot;audit this workflow&quot;. GHL fails silently when something inside is misconfigured; the audit finds it in seconds.</td></tr><tr><td>&quot;The messages sound generic.&quot;</td><td>Give Claude your voice before building: paste a real text you have sent and say &quot;write like this&quot;.</td></tr><tr><td>&quot;I want to change one message.&quot;</td><td>Say &quot;update step 3's text to...&quot; and never rebuild from scratch. Updates keep everything connected.</td></tr></table></div>
264
+ </div>
265
+ <div class="gsec"><h2>Related guides</h2>
266
+ <ul>
267
+ <li>add-an-exit-workflow</li>
268
+ <li>audit-your-workflows</li>
269
+ </ul>
270
+ </div>
271
+ <p class="gfoot"><a class="back" href="#top">&#8593; All guides</a> &nbsp;&middot;&nbsp; Stuck? Email support@ghlcommand.com and a human answers.</p>
272
+ </section>
273
+
274
+ <section class="gview" id="g-count-and-report-contacts">
275
+ <h1 class="gtitle serif">Count and report your contacts</h1>
276
+ <p class="gpromise">Ask for a number, get the real number, with the date range printed next to it.</p>
277
+ <div class="gmeta"><span class="pill free">Free plan</span><span class="time">~10 seconds</span><span class="time">Works in Claude Desktop and Claude Code</span></div>
278
+ <div class="gsec"><h2>What you'll get</h2>
279
+ <ul>
280
+ <li>The number GHL's own contact index reports for your window. If Claude cannot verify a count, it says so instead of guessing.</li>
281
+ <li>The date window spelled out next to every figure, in your account's timezone.</li>
282
+ <li>The same number GHL would show you at that moment, without opening GHL.</li>
283
+ </ul>
284
+ </div>
285
+ <div class="gsec"><h2>Say this</h2>
286
+ <div class="prompt"><q>How many new contacts did we add in the last 7 days?</q><button class="copy" type="button">Copy</button></div>
287
+ <div class="prompt"><q>How many contacts did the Phoenix account add in July?</q><button class="copy" type="button">Copy</button></div>
288
+ <div class="prompt"><q>Compare new contacts this week to last week.</q><button class="copy" type="button">Copy</button></div>
289
+ <div class="prompt"><q>List my new contacts from this week and give me a spreadsheet.</q><button class="copy" type="button">Copy</button></div>
290
+ </div>
291
+ <div class="gsec"><h2>What it looks like</h2>
292
+ <div class="chat"><span class="chat-cap">Your Claude conversation</span>
293
+ <div class="msg user">How many new contacts did we add in the last 7 days?</div>
294
+ <div class="msg claude"><b>29 new contacts</b>, counted from Jul 30 through Aug 6, Arizona time, straight from GHL's contact index. Want the list as a spreadsheet?</div>
295
+ </div>
296
+ </div>
297
+ <div class="gsec"><h2>What happens when you ask</h2>
298
+ <ol class="steps">
299
+ <li>Claude asks GHL's contact index directly. One call, about a second.</li>
300
+ <li>It repeats the exact window it counted, for example: &quot;Jul 30 through Aug 6, Arizona time.&quot; You always know what the number means.</li>
301
+ <li>If a number cannot be verified, Claude says so and shows why. It will not guess.</li>
302
+ </ol>
303
+ </div>
304
+ <div class="gsec"><h2>Good to know</h2>
305
+ <ul>
306
+ <li>A brand-new contact can take up to half a minute to show up in GHL's index. If a count looks one short, ask again in a moment.</li>
307
+ <li>Counts use the date a contact was added to the account. Counting by other dates, like appointments booked, is a different ask. See the booking guides.</li>
308
+ <li>This works fully on the Free plan. No upgrade needed.</li>
309
+ </ul>
310
+ </div>
311
+ <div class="gsec"><h2>Where people go wrong</h2>
312
+ <div style="overflow-x:auto"><table class="wrongtbl"><tr><th>What happened</th><th>The fix</th></tr><tr><td>&quot;I asked for a count and got a long list.&quot;</td><td>Say &quot;how many&quot;, not &quot;show me&quot;. A count is one number. A list is a spreadsheet.</td></tr><tr><td>&quot;The number seems off by one.&quot;</td><td>Contacts added in the last half minute may not be indexed yet. Ask again.</td></tr><tr><td>&quot;I wanted last month, it counted this month.&quot;</td><td>Name the dates: &quot;from July 1 to July 31&quot;. Claude will echo the window back so you can check.</td></tr></table></div>
313
+ </div>
314
+ <div class="gsec"><h2>Related guides</h2>
315
+ <ul>
316
+ <li>find-and-list-contacts</li>
317
+ <li>weekly-account-report</li>
318
+ </ul>
319
+ </div>
320
+ <p class="gfoot"><a class="back" href="#top">&#8593; All guides</a> &nbsp;&middot;&nbsp; Stuck? Email support@ghlcommand.com and a human answers.</p>
321
+ </section>
322
+
323
+ <section class="gview" id="g-install-ghl-command">
324
+ <h1 class="gtitle serif">Install GHL Command</h1>
325
+ <p class="gpromise">One install, two short steps, whether you are on the Free plan or the full license. Nothing left to add later.</p>
326
+ <div class="gmeta"><span class="pill free">Free plan</span><span class="time">~6 minutes</span><span class="time">Works in Claude Desktop and Claude Code</span></div>
327
+ <div class="gsec"><h2>What you'll get</h2>
328
+ <ul>
329
+ <li>GHL Command connected to your GoHighLevel account, ready to work from Claude.</li>
330
+ <li>The same install whether you are on the Free plan or the full license. Upgrading later is just pasting a new license key. Nothing to reinstall.</li>
331
+ <li>The complete install: every tool present, nothing more to download later. Your license decides what runs. The Free plan reads, counts, and audits; the full license also builds and sends.</li>
332
+ </ul>
333
+ </div>
334
+ <div class="gsec"><h2>The two steps</h2>
335
+ <ol class="steps">
336
+ <li><b>Paste one command.</b> Open a terminal (Mac) or Command Prompt (Windows) and run: <code>npx -y @elitedcs/ghl-mcp cli install</code>. The installer walks you through connecting your account and your license key. When it finishes, Claude will tell you: &quot;Step 1 of 2 done.&quot;</li>
337
+ <li><b>One 60-second browser login.</b> Say to Claude: &quot;Unlock the Workflow Builder.&quot; A Chrome window opens, you log into GoHighLevel like you always do, and you are done. This is how GHL itself trusts the workflow tools. Then restart Claude once. One restart, not two.</li>
338
+ </ol>
339
+ </div>
340
+ <div class="gsec"><h2>Say this</h2>
341
+ <div class="prompt"><q>Set up GHL Command with my license key.</q><button class="copy" type="button">Copy</button></div>
342
+ <div class="prompt"><q>Unlock the Workflow Builder.</q><button class="copy" type="button">Copy</button></div>
343
+ <div class="prompt"><q>Run a health check on my GHL Command install.</q><button class="copy" type="button">Copy</button></div>
344
+ </div>
345
+ <div class="gsec"><h2>Good to know</h2>
346
+ <ul>
347
+ <li>Step 2 is part of the install, not an extra. Until it is done, Claude will keep reminding you the install is one step from finished. Nothing will pretend to be complete when it is not.</li>
348
+ <li>If anything says &quot;not working&quot; afterward, say &quot;run a health check&quot;: it tests every connection and tells you in plain English what, if anything, needs attention.</li>
349
+ <li>Stuck at any point? Email support@ghlcommand.com and a human answers.</li>
350
+ </ul>
351
+ </div>
352
+ <div class="gsec"><h2>Where people go wrong</h2>
353
+ <div style="overflow-x:auto"><table class="wrongtbl"><tr><th>What happened</th><th>The fix</th></tr><tr><td>&quot;It said step 1 of 2 done. Is it broken?&quot;</td><td>No, it is honest. Do step 2 (the browser login) and you are finished.</td></tr><tr><td>&quot;The workflow tools give errors after the login.&quot;</td><td>Restart Claude completely. Quit and reopen. The new login only loads on a fresh start.</td></tr><tr><td>&quot;I upgraded to paid. Do I reinstall?&quot;</td><td>No. Say &quot;set up GHL Command&quot; and paste only your email and new key. Everything you set up before is kept.</td></tr></table></div>
354
+ </div>
355
+ <p class="gfoot"><a class="back" href="#top">&#8593; All guides</a> &nbsp;&middot;&nbsp; Stuck? Email support@ghlcommand.com and a human answers.</p>
356
+ </section>
357
+ </main>
358
+ </div>
359
+ <footer class="foot"><div class="foot-in">
360
+ <span>GHL Command runs your GoHighLevel account from Claude. This guide library ships with every install, free or paid.</span>
361
+ <a href="https://ghlcommand.com/skills/">Web version</a><a href="https://ghlcommand.com">ghlcommand.com</a>
362
+ </div></footer>
363
+ <div class="toast" id="toast" role="status"></div>
364
+ <script>
365
+ var toast = document.getElementById('toast');
366
+ var toastT;
367
+ function showToast(msg) {
368
+ toast.textContent = msg; toast.classList.add('show');
369
+ clearTimeout(toastT); toastT = setTimeout(function () { toast.classList.remove('show'); }, 2600);
370
+ }
371
+
372
+ document.querySelectorAll('.card.locked').forEach(function (c) {
373
+ c.addEventListener('click', function () {
374
+ showToast(c.getAttribute('data-toast') || 'This guide lives in the app. Every install, free or paid, includes the full library.');
375
+ });
376
+ });
377
+
378
+ var q = document.getElementById('q');
379
+ if (q) q.addEventListener('input', function () {
380
+ var t = q.value.trim().toLowerCase(); var any = false;
381
+ document.querySelectorAll('.card').forEach(function (c) {
382
+ var hay = (c.textContent + ' ' + (c.getAttribute('data-k') || '')).toLowerCase();
383
+ var hit = !t || hay.indexOf(t) !== -1;
384
+ c.style.display = hit ? '' : 'none'; if (hit) any = true;
385
+ });
386
+ document.querySelectorAll('.catsec').forEach(function (s) {
387
+ var vis = Array.prototype.some.call(s.querySelectorAll('.card'), function (c) { return c.style.display !== 'none'; });
388
+ s.style.display = vis ? '' : 'none';
389
+ });
390
+ var nr = document.getElementById('noresults');
391
+ if (nr) nr.style.display = any ? 'none' : 'block';
392
+ });
393
+
394
+ document.querySelectorAll('.copy').forEach(function (b) {
395
+ b.addEventListener('click', function (e) {
396
+ e.stopPropagation(); e.preventDefault();
397
+ var bubble = b.closest('.prompt'), pro = b.closest('.pro');
398
+ var txt = bubble ? bubble.querySelector('q').textContent : pro.querySelector('.pro-body').textContent;
399
+ var done = function () {
400
+ b.textContent = 'Copied'; b.classList.add('done');
401
+ setTimeout(function () { b.textContent = 'Copy'; b.classList.remove('done'); }, 1600);
402
+ };
403
+ if (navigator.clipboard && navigator.clipboard.writeText)
404
+ navigator.clipboard.writeText(txt).then(done).catch(function () { showToast('Select the text and copy it manually.'); });
405
+ else showToast('Select the text and copy it manually.');
406
+ });
407
+ });
408
+ </script>
409
+ </body>
410
+ </html>
package/package.json CHANGED
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "name": "@elitedcs/ghl-mcp",
3
- "version": "3.61.0",
3
+ "version": "3.62.0",
4
4
  "mcpName": "io.github.drjerryrelth/ghl-command",
5
- "description": "GoHighLevel MCP Server for Claude. 234 tools — full CRM, automation, marketing control, account-wide workflow audit, live funnel-capture verification, and the only programmatic GHL workflow builder, now multi-tenant across client accounts.",
5
+ "description": "GoHighLevel MCP Server for Claude. 235 tools — full CRM, automation, marketing control, account-wide workflow audit, live funnel-capture verification, and the only programmatic GHL workflow builder, now multi-tenant across client accounts.",
6
6
  "main": "dist/index.js",
7
7
  "bin": {
8
8
  "ghl-mcp": "dist/index.js"
@@ -17,7 +17,8 @@
17
17
  "templates/external-funnel/README.md",
18
18
  "README.md",
19
19
  "CHANGELOG.md",
20
- "skills"
20
+ "skills",
21
+ "guide"
21
22
  ],
22
23
  "scripts": {
23
24
  "build": "esbuild src/index.ts --bundle --platform=node --target=node20 --format=cjs --outfile=dist/index.js --packages=external && esbuild src/capture-helper.ts --bundle --platform=node --target=node20 --format=cjs --outfile=dist/capture-helper.js --packages=external",