@elitedcs/ghl-mcp 3.83.0 → 3.83.1
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.
- package/CHANGELOG.md +15 -0
- package/README.md +1 -1
- package/dist/index.js +1 -1
- package/package.json +1 -1
- package/skills/blueprint/README.md +5 -3
- package/skills/blueprint/SKILL.md +6 -6
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,21 @@
|
|
|
2
2
|
|
|
3
3
|
## Unreleased
|
|
4
4
|
|
|
5
|
+
## 3.83.1 — the Blueprint skill stops asking for the funnel 3.83.0 removed
|
|
6
|
+
|
|
7
|
+
3.83.0 took funnels out of Blueprint installation, but the installed skill was not
|
|
8
|
+
updated with it. `skills/blueprint/SKILL.md` still listed `funnels` among the arrays
|
|
9
|
+
its plan must carry, and still asked "Build this funnel inside GoHighLevel, or as a
|
|
10
|
+
custom site you host?" with GoHighLevel as the stated default. The skill ships inside
|
|
11
|
+
the package, so anyone running Blueprint produced a plan carrying a key their own
|
|
12
|
+
plan format forbids and their own build step refuses.
|
|
13
|
+
|
|
14
|
+
The skill and its README now say plainly that Blueprint builds no funnel, page or
|
|
15
|
+
website, and that pages are a separate job after the account exists, on hosting the
|
|
16
|
+
member owns. A test pins the skill and the plan format together so they cannot
|
|
17
|
+
disagree again.
|
|
18
|
+
|
|
19
|
+
|
|
5
20
|
## 3.83.0 — a build you can check, and no funnel at the end of it
|
|
6
21
|
|
|
7
22
|
**Blueprint no longer builds a funnel, a page, or a website of any kind.** GoHighLevel's own page
|
package/README.md
CHANGED
package/dist/index.js
CHANGED
|
@@ -28540,7 +28540,7 @@ var require_package = __commonJS({
|
|
|
28540
28540
|
"package.json"(exports2, module2) {
|
|
28541
28541
|
module2.exports = {
|
|
28542
28542
|
name: "@elitedcs/ghl-mcp",
|
|
28543
|
-
version: "3.83.
|
|
28543
|
+
version: "3.83.1",
|
|
28544
28544
|
mcpName: "io.github.drjerryrelth/ghl-command",
|
|
28545
28545
|
description: "GoHighLevel MCP Server for Claude. 250 tools \u2014 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.",
|
|
28546
28546
|
main: "dist/index.js",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@elitedcs/ghl-mcp",
|
|
3
|
-
"version": "3.83.
|
|
3
|
+
"version": "3.83.1",
|
|
4
4
|
"mcpName": "io.github.drjerryrelth/ghl-command",
|
|
5
5
|
"description": "GoHighLevel MCP Server for Claude. 250 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",
|
|
@@ -17,11 +17,13 @@ The skill produces the reviewable build plan and the two-part checklist, and sto
|
|
|
17
17
|
|
|
18
18
|
## What you get back
|
|
19
19
|
|
|
20
|
-
- A build plan for the account: pipeline and stages, custom fields, tags, the intake form,
|
|
20
|
+
- A build plan for the account: pipeline and stages, custom fields, tags, the intake form, email and SMS sequences, and the workflows that wire them together. Blueprint does not build a funnel, a page or a website.
|
|
21
21
|
- Two checklists: what Blueprint will build automatically once you approve, and what only you can do in the GHL UI or with an outside service (A2P, Stripe, calendar, phone number, sending domain), in the order you need to do it.
|
|
22
22
|
|
|
23
23
|
Every reference in the plan is a name, not a raw GoHighLevel ID. That is what stops the silent-failure bug where one dead ID skips every action under it and the workflow still shows green.
|
|
24
24
|
|
|
25
|
-
##
|
|
25
|
+
## Pages and funnels are a separate job
|
|
26
26
|
|
|
27
|
-
|
|
27
|
+
Blueprint sets up the account. It does not build a funnel, a page or a website of any kind, and a plan that asks for one is refused rather than half-built. GoHighLevel's own page builder was not good enough to hand a client, so it was taken out.
|
|
28
|
+
|
|
29
|
+
When you do want pages, that is its own job after the account exists: a **custom site you host** on Cloudflare or Vercel and wire back to your sub-account. It is for technically-capable users. You need your own host account and CLI, a GHL Private Integration token you store as a host secret, and comfort with a one-time command-line deploy. The product generates the site, hands you the exact verified wiring values, and runs a live verification gate, but it never deploys for you and never holds your keys.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: blueprint
|
|
3
|
-
description: Turn a GHL Command client intake into a complete, reviewable GoHighLevel account build plan — the GHL Command Blueprint. Detects Agency OS for a deeper brief (else uses the built-in intake form), selects an industry preset, generates a structured build plan (pipeline, fields, tags, calendar, form,
|
|
3
|
+
description: Turn a GHL Command client intake into a complete, reviewable GoHighLevel account build plan — the GHL Command Blueprint. Detects Agency OS for a deeper brief (else uses the built-in intake form), selects an industry preset, generates a structured build plan (pipeline, fields, tags, calendar, form, email/SMS, workflows) with symbolic refs not real IDs. Blueprint does not build funnels, pages or websites of any kind, and renders a two-part approval checklist (what GHL Command builds automatically vs. what you must do manually, in order). The plan stops at the human approve gate; GHL-native staging then runs via apply_build_plan. Pages and funnels are a separate job after the account exists, on hosting the member owns. Triggers on build my Blueprint, run Blueprint, GHL Command Blueprint, build a client account, watch it build a client, new client account, client onboarding build, build plan, account build spec, external funnel, host my own funnel.
|
|
4
4
|
compatibility: Claude Code, Claude Cowork, Claude.ai
|
|
5
5
|
---
|
|
6
6
|
|
|
@@ -17,7 +17,7 @@ This skill produces a **build plan** (the contract in `references/brief-schema.m
|
|
|
17
17
|
```
|
|
18
18
|
Detect brief source ─► Source the brief (§2A) ─► Select preset ─► Fill skeleton ─► Derive handoffs ─► Generate copy ─► Assemble plan (per-funnel target) ─► Quality gate ─► Render approval view
|
|
19
19
|
│
|
|
20
|
-
|
|
20
|
+
pages/funnels: SEPARATE, after the account ──────────────────────────────────────────────────────────────────────────────────►│ stage GHL side (apply_build_plan) ─► generate + inject site ─► deploy preview→confirm→promote ─► verify_funnel gate ─► done
|
|
21
21
|
```
|
|
22
22
|
|
|
23
23
|
Read `references/preset-format.md` once; it defines the tokens (`{{...}}`), `conditionalOn`, `fillFrom`, and `copyDirection` you will resolve. Read `references/agency-os-detection.md` for the brief-source decision. Read `references/approval-view.md` for the final render. Read `references/external-funnel.md` only when a funnel is `target: "external"` (the capability gate + site gen/deploy + verify lane).
|
|
@@ -80,7 +80,7 @@ Default for REVIEW: **outlines** (`subject` + `bodyOutline` + `mergeTags` for em
|
|
|
80
80
|
|
|
81
81
|
## STEP 7 — Assemble the plan (§5)
|
|
82
82
|
|
|
83
|
-
Emit a §5-conforming object: `schemaVersion`, `planId`, `briefId`, `preset`, `summary`, then the object arrays (`pipelines`, `customFields`, `tags`, `customValues`, `calendars`, `forms`, `
|
|
83
|
+
Emit a §5-conforming object: `schemaVersion`, `planId`, `briefId`, `preset`, `summary`, then the object arrays (`pipelines`, `customFields`, `tags`, `customValues`, `calendars`, `forms`, `emails`, `sms`, `workflows`, `handoffs`) — **never a `funnels` key, not even an empty one: the plan schema forbids it and `apply_build_plan` halts on it**, `buildOrder`, and an empty `idMap`. Keep strictly to contract fields (the MCP validators may be strict). Record provenance (preset id + version, brief source) in the `summary` text, not as an extra field. Use GHL-correct enums: `dataType` ∈ {TEXT, LARGE_TEXT, NUMERICAL, PHONE, **MONETORY**, CHECKBOX, SINGLE_OPTIONS, MULTIPLE_OPTIONS, FLOAT, DATE, TEXTBOX_LIST, FILE_UPLOAD, SIGNATURE}; `calendarType` ∈ {round_robin, event, class_booking, collective, service_booking}.
|
|
84
84
|
|
|
85
85
|
Workflow actions stay **logical** (type + key params + refs). Do not emit GHL-native action JSON — the executor expands logical actions via `action-schemas.json` and owns the failure-prone shapes (`internal_update_opportunity` node-level discriminator, `internal_notification`/task-notification nesting, `remove_from_workflow` dual id, `wait` `startAfter`, `attachments:[]`, `html` vs `body`, node `next`/`parentKey` chaining). All object pointers are refs. Max 40 actions per workflow; split longer flows into linked + exit workflows.
|
|
86
86
|
|
|
@@ -90,7 +90,7 @@ Workflow actions stay **logical** (type + key params + refs). Do not emit GHL-na
|
|
|
90
90
|
|
|
91
91
|
**Branching + appointment-relative actions.** `find_opportunity` is the only branching action and MUST be the last action in its workflow (its found/notFound branches do not rejoin). `wait_appointment` ("N before the appointment") only works in a workflow with an `appointment` trigger. The MCP validator enforces both, plus unique object names within each type and a 40-node cap (a workflow containing a `find_opportunity` branch cannot be auto-split).
|
|
92
92
|
|
|
93
|
-
**
|
|
93
|
+
**Blueprint builds no funnel, page or website.** GoHighLevel's own page builder was not good enough to hand a client, so it was removed from installation: the plan schema forbids a `funnels` key and `apply_build_plan` halts on one. Never ask which way to build a funnel and never put one in the plan. If the brief asks for pages or a funnel, say plainly that Blueprint sets up the account and that pages are a separate job afterwards, on hosting they own, wired back to the account. That lane is STEP 10 and it runs only after the account exists and the plan is approved.
|
|
94
94
|
|
|
95
95
|
## STEP 8 — Quality gate (run on yourself before showing anything)
|
|
96
96
|
|
|
@@ -115,9 +115,9 @@ Invite edits (rename / drop / reorder / adjust). Re-render after edits. End by s
|
|
|
115
115
|
|
|
116
116
|
**Workflows default to DRAFT — prompt before publishing.** `apply_build_plan` builds workflows DRAFT unless `publishWorkflows:true`. Before any workflow goes live, ASK the operator: "Publish these now, or leave them DRAFT for review?" Pass `publishWorkflows:true` only on an explicit yes. Workflows gated by an unmet handoff (e.g. SMS workflows behind `handoff.a2p`) never auto-publish even when opted in; pass satisfied handoffs in `metHandoffs` to lift their gate. If any funnel is `target: "external"`, also run STEP 10 after approval.
|
|
117
117
|
|
|
118
|
-
## STEP 10 —
|
|
118
|
+
## STEP 10 — Pages and funnels: a separate job, after the account
|
|
119
119
|
|
|
120
|
-
|
|
120
|
+
Only when the member asks for pages after the account is built. Never part of the plan. Run the lane in `references/external-funnel.md`. Summary:
|
|
121
121
|
1. **Stage the GHL side.** Confirm the active sub-account, then `apply_build_plan` `mode:"dry_run"` → show the report → on the operator's go, `mode:"execute"`. Capture the returned `externalWiring` bundle (verified custom-field IDs, `bookingUrl`, trigger tag) and the speed-to-lead workflow id. If `externalWiring.unresolved` is non-empty, stop and re-run execute — never wire a form to an unresolved field.
|
|
122
122
|
2. **Generate + inject the site.** Generate the site with `frontend-design` from the page outlines + brand. Inject the lead form keyed by the bundle's **verified `fieldId`s** (custom fields under `custom: {<fieldId>: value}`, never name-guessed; option values must match GHL option values), the `bookingUrl` into the booking CTA, a honeypot, and Turnstile for production. Fail closed (never a silent success).
|
|
123
123
|
3. **Deploy — the user runs every command; the product deploys nothing and never handles the token.** Scaffold `wrangler.toml` (vars only); the user sets `GHL_PIT` as a host secret themselves. Deploy to a preview URL → confirm → promote to production. Never silently clobber a live deployment.
|