Skip to content

Enhance automation assessment flow and marketing workflow interactions - #2

Merged
nicolasgioanni merged 11 commits into
mainfrom
develop
Jul 24, 2026
Merged

Enhance automation assessment flow and marketing workflow interactions#2
nicolasgioanni merged 11 commits into
mainfrom
develop

Conversation

@nicolasgioanni

Copy link
Copy Markdown
Collaborator

This pull request introduces a new "Business Automation Assessment" request flow, improves the existing lead handling and deduplication logic, and enhances the UI for request forms and workflow transitions. The most important changes are summarized below.


New Business Automation Assessment Flow

  • Added a new 8-step "Business Automation Assessment" alongside the existing 4-step Quick Request, with canonical modal links in siteConfig.requestForms and clear documentation in README.md. [1] [2] [3] [4] [5]
  • Introduced supporting components: AssessmentChoiceGroup, AssessmentProgress, and AutomationAssessmentIntro for the new assessment flow. [1] [2] [3]

Lead Submission and Deduplication Improvements

  • Refactored /api/leads route to support both submission types, with improved deduplication, reservation, and completion logic, and clearer error handling for ambiguous or provider errors. [1] [2] [3] [4] [5]
  • Added new environment variables for custom object schema and association keys for GoHighLevel integration. [1] [2]

UI/UX Enhancements

  • Updated the Contact page to feature both request types in a visually distinct grid, improved button variants, and clarified email contact options. [1] [2]
  • Improved workflow and capability group transitions and outlines with new CSS for smoother UI animations and accessibility. [1] [2]

Homepage and Modal Integration

  • Added a prominent "Take the free assessment" CTA on the homepage, integrated with the new assessment modal. [1] [2]

These changes collectively add a new assessment-driven lead flow, improve backend reliability and deduplication, and polish the user experience for both request types.

- The request modal now supports a four-step Quick Request and an eight-step Automation Assessment.
- Server validation now separates submission types and applies body, origin, spam, rate, and duplicate protections.
- Confirmation emails and GoHighLevel records now preserve assessment answers and follow-up preferences.
- Contact content, legal notices, reliability notes, and automated coverage now reflect both request paths.
- Workflow previews now expose synchronized, keyboard-accessible step controls.
- Capability and workflow details now retain connected outlines through restrained closing fades.
- Reduced motion behavior and Playwright coverage now verify both interaction patterns.
- Adds live schema and association discovery with strict runtime validation.
- Creates retry-safe assessment records and contact relations using stable references.
- Preserves Quick Request behavior while adding assessment tags, notes, and completion tracking.
- Hardens provider and Upstash requests with bounded timeouts, validation, and redacted failures.
- Adds coverage for field mapping, idempotency, relation recovery, timeouts, and redacted errors.
- Verifies Quick Request isolation and assessment confirmation behavior.
- Documents required Cloudflare variables, token scope, deployment steps, and production smoke tests.
- Adds reusable GoHighLevel fixtures and server-only test support.
* Added canonical request form URL helpers for Quick Request and Automation Assessment.

* Connected the global request modal provider to validated form query values.

* Preserved existing modal triggers while making Contact page actions shareable links.

* Removed only the form query parameter on modal close while preserving unrelated query data.
* Added unit tests for canonical request form URL parsing and building.

* Added browser coverage for direct links, invalid form values, closing, tab URL sync, focus, and scroll recovery.

* Updated Contact page E2E selectors for real shareable link actions.

* Documented the canonical request modal links and allowed query values.
- Added a shared submission reservation model in route and duplicate tracking for distributed safety.

- Replaced nonce-based assessment id handling with a stable submission ID derived from form type and identity.

- Added explicit lifecycle handling so successful provider writes are committed before reservation release.

- Added deterministic contact identity normalization and a separate contact resolver for email and phone matching.

- Updated GoHighLevel integration to fail closed on ambiguous or conflicting contact identities and continue only when safe.

- Added secure review flag logic to preserve existing nonmatching identity data and avoid destructive field clears.

- Updated lead forms to generate and submit submissionId for stable idempotency.

- Expanded tests around lead route, duplicate checks, schema validation, and new contact identity resolver.
- Updated the deployment guide with the required GoHighLevel scopes for Contact reads and reliable recovery.

- Updated environment variable guidance to include read-only Contact and association requirements for duplicate-safe processing.

- Rewrote the automation assessment reliability document to reflect identity-based submission reservation and recovery behavior.

- Expanded operational runbooks for cooldown, duplicate testing, and manual duplicate-preference verification.

- Refreshed the reliability task checklist to align with the new contact resolution and resume logic.
@nicolasgioanni nicolasgioanni self-assigned this Jul 24, 2026
- Added the test-results directory to .gitignore so generated local test artifacts are no longer tracked or shown as untracked files.
@nicolasgioanni nicolasgioanni added the enhancement New feature or request label Jul 24, 2026
@cloudflare-workers-and-pages

cloudflare-workers-and-pages Bot commented Jul 24, 2026

Copy link
Copy Markdown

Deploying with  Cloudflare Workers  Cloudflare Workers

The latest updates on your project. Learn more about integrating Git with Workers.

Status Name Latest Commit Updated (UTC)
✅ Deployment successful!
View logs
tergion c1a09bb Jul 24 2026, 10:04 PM

@nicolasgioanni nicolasgioanni left a comment

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

All local tests passed

- Restore the expected local testing status on the active review step.
- Keep inactive request forms from mounting duplicate verification widgets.
- Preserve configured production verification and submission behavior.
- Keep focused workflow details open through pointer boundary changes.
- Document Turnstile build-time configuration and loopback fallback behavior.
@nicolasgioanni
nicolasgioanni merged commit 49102ad into main Jul 24, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant