@elitedcs/ghl-mcp 3.75.0 → 3.76.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.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,54 @@
1
1
  # Changelog
2
2
 
3
+ ## 3.76.0 — the workflows you cannot edit, and the audit that said they were fine
4
+
5
+ GoHighLevel tightened what its workflow builder will save. Workflows built from older
6
+ snapshots carry three things it now refuses: step ids that are not proper UUIDs, wait
7
+ units written in the singular ("1 day" instead of "days"), and an older shape of the
8
+ internal notification step. **They run exactly as before. What broke is editing them.**
9
+ Change one step, save, and GoHighLevel rejects the whole workflow, naming steps you never
10
+ touched, so the error looks unrelated to the edit that caused it.
11
+
12
+ Measured across 23 accounts on 2026-09-01: 486 workflows, 78 affected. On one account,
13
+ 20 of 43, while `audit_workflows` reported `status: "ok"`. That was the part that was
14
+ ours: the audit reassured you about the exact thing biting you.
15
+
16
+ **The audit now tells you.** Four new warning categories, never errors, because the
17
+ workflows genuinely run. Two say *it runs, you cannot edit it* (`legacy_step_id`,
18
+ `legacy_wait_unit`). Two say the reverse, *it saves, it runs, and it silently does
19
+ nothing* (`missing_required_attribute`, `missing_integration`). The advice for each is
20
+ opposite, so they are named separately.
21
+
22
+ **We no longer write the ids GoHighLevel refuses.** A build session could hand the
23
+ builder a step id like `oc-wait2` and we would save a workflow this same product could
24
+ never update again. A new step now gets a proper id, and every reference to it follows:
25
+ next, previous, siblings, if/else branches and their condition rows, goal references,
26
+ goto targets, and the branch table a multi-path step (Find Opportunity, Facebook
27
+ messenger) keeps inside itself.
28
+ Singular wait units and the old notification shape are corrected silently on every
29
+ write, because neither changes an id.
30
+
31
+ **A step that is already saved is never re-minted, and this is the important part.** A
32
+ contact part-way through a workflow is bound to the step they are waiting on. Change or
33
+ remove that step and they are dropped mid-sequence, silently, and there is no way to put
34
+ them back where they were. So every workflow write now checks who is parked first and
35
+ refuses to remove or alter a step somebody is standing on, or a step that step depends
36
+ on. There is no force flag. Deleting a whole workflow is the one exception: it refuses,
37
+ tells you how many people are inside, and you re-run naming that number. A workflow
38
+ already carrying bad ids is repaired by choice, step by step, with the parked count in
39
+ hand; the guide in your library, "Workflows that will not save", walks through it and
40
+ leads with the part that costs leads.
41
+
42
+ **Install slots stopped burning on a machine that cannot write its device file.** A
43
+ relative or unwritable config directory, or a read-only volume, meant the last-resort
44
+ identity was random, and every restart claimed a fresh slot until the licence capped.
45
+ The headline version of this was fixed in 3.69.0; this closes the fallback behind it.
46
+ That identity is now deterministic (user, platform, architecture, deliberately not the
47
+ hostname, which changes on a new network). Stated cost: two machines that share all
48
+ three and also cannot write their device file share one slot, which errs in your favour.
49
+
50
+ Counts unchanged: 248 tools, 51 modules, free tier 112.
51
+
3
52
  ## 3.75.0 — what you install is only what you bought
4
53
 
5
54
  Your install shipped a 49KB page for a product that is not on sale, and named that
@@ -26,7 +75,9 @@ with a browser window — pass `open=true` when you actually want it opened.
26
75
 
27
76
  Counts unchanged: 248 tools, 51 modules, free tier 112.
28
77
 
29
- ## Unreleased — your income is not all one shape
78
+ ## Also in 3.75.0 — your income is not all one shape
79
+
80
+ _This entry was headed "Unreleased" in the 3.75.0 package by mistake; the tools it describes shipped in 3.75.0._
30
81
 
31
82
  Not part of the GHL Command licence; these tools answer with a notice. The commercial
32
83
  record could hold exactly one kind of thing: a
package/README.md CHANGED
@@ -897,7 +897,7 @@ Built by **[Elite DCs, LLC](https://elitedcs.com)** — a digital marketing and
897
897
 
898
898
  **Tech stack:** TypeScript, Node.js, esbuild, MCP SDK, Zod, GHL API v2, Firebase Auth
899
899
 
900
- **Version:** 3.75.0
900
+ **Version:** 3.76.0
901
901
 
902
902
  ---
903
903