Enhance automation assessment flow and marketing workflow interactions - #2
Merged
Conversation
- 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.
- Added the test-results directory to .gitignore so generated local test artifacts are no longer tracked or shown as untracked files.
Deploying with
|
| Status | Name | Latest Commit | Updated (UTC) |
|---|---|---|---|
| ✅ Deployment successful! View logs |
tergion | c1a09bb | Jul 24 2026, 10:04 PM |
nicolasgioanni
commented
Jul 24, 2026
nicolasgioanni
left a comment
Collaborator
Author
There was a problem hiding this comment.
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.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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
siteConfig.requestFormsand clear documentation inREADME.md. [1] [2] [3] [4] [5]AssessmentChoiceGroup,AssessmentProgress, andAutomationAssessmentIntrofor the new assessment flow. [1] [2] [3]Lead Submission and Deduplication Improvements
/api/leadsroute 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]UI/UX Enhancements
Homepage and Modal Integration
These changes collectively add a new assessment-driven lead flow, improve backend reliability and deduplication, and polish the user experience for both request types.