Quick summary
A WordPress estimate workflow needed a simple public form and more useful private follow-up tools. An admin-only plugin brought lead context, status handling, and management features into an internal workflow.
The problem
The handyman site needed a request-estimate workflow that stayed simple for visitors but saved enough lead detail for real follow-up, source tracking, and internal status management.
What I checked
- Public estimate form fields and required intake details
- Lead source, landing-page, and referrer capture needs
- UTM field handling and follow-up requirements
- Admin-side lead views, notes, and export needs
- Spam protection, thank-you routing, and owner notifications
What I changed
- Built an admin-only CRM plugin for estimate leads and follow-up workflows
- Saved lead source, landing page, referring URL, and UTM fields with each submission
- Added nonce protection, sanitization, honeypot filtering, and local lead-table storage to the form flow
- Set the form to redirect to `/thank-you/` when available and send owner notifications when configured
- Added dashboard views, lead detail screens, status updates, reminders, and CSV export
Result
The site gained a cleaner estimate intake path that stayed visitor-friendly while giving the business usable lead context and follow-up controls inside WordPress.
How this relates to your project
Public forms and private operations have different requirements. API and workflow development can define how an inquiry becomes an internal record without exposing the administrative process to visitors.
What I'd watch next
- Whether owner notification settings stay configured after future plugin or hosting changes
- Whether uploaded photo handling and lead-table growth need maintenance rules later
- Whether UTM naming stays consistent across traffic sources and campaigns