August 16, 2026 · 6 min read
How to track HubSpot form changes: building a forms changelog
No changelog exists for HubSpot forms. Here’s a working DIY pipeline — scheduled exports, jq diffs, alerting — and the list of changes worth watching.
“One click can make a huge difference” is how a community thread politely puts it. A required flag here, a hidden field there — and a workflow stops enrolling, a list stops filling, an MQL number quietly dips. HubSpot keeps no changelog for forms, so the only way to have one is to build it (or install one).
The DIY pipeline
The Forms API returns the complete definition of every form, so a changelog is three moving parts: fetch on a schedule, store, diff.
# 1. fetch all form definitions (paginate with the "after" cursor)
curl "https://api.hubapi.com/marketing/v3/forms?limit=100" \
-H "Authorization: Bearer YOUR_TOKEN" > forms-$(date +%F-%H%M).json
# 2. normalise key order so diffs are stable
jq -S . forms-2026-08-16-0900.json > a.json
jq -S . forms-2026-08-16-1000.json > b.json
# 3. diff
diff -u a.json b.json # or: git diff --no-index a.json b.jsonCommit each snapshot to a git repo and you get history, blame-by-time and diffs for free. Run it with cron, GitHub Actions on a schedule, or any serverless cron. The catch is cadence: run it daily and a form can break at 09:05 and stay broken for 24 hours before your diff even notices.
Changes worth alerting on
- Field added / removed / hidden — hidden fields feed workflows and lead scoring; removing one breaks things invisibly.
- Required toggled — the classic conversion killer (or, the other way, a flood of junk submissions).
- Dropdown / checkbox options changed — downstream lists and reports filter on exact option values.
- reCAPTCHA / spam protection toggled — silently off means bot storm; silently on can block real users.
- Consent text edited (
legalConsentOptions) — a compliance event, not just a form tweak. See our GDPR guide. - Redirect / thank-you behaviour changed — breaks conversion tracking and ad pixels.
- Form deleted — the big one; see how to recover a deleted form.
Adding alerts
Wrap the diff in a script: if the diff is non-empty, send the output to Slack or email. Now you own a small monitoring product — scheduling, retries, token rotation, pagination, storage growth, and the person who built it leaving the company. That’s the honest cost of DIY; it’s all doable, and none of it is your job.
Or automate it
FormRecall runs this exact loop as a service: checks up to every minute, a change-events feed for the whole portal, per-field diffs translated to plain English (“reCAPTCHA disabled”, “Field Phone hidden”, “option ‘Other’ removed”), email alerts within a minute of the change, and one-click restore when the diff is bad news.
Get beta access — first month freethen 50% off any plan for 3 months · lifetime priority support