On form submit, the route writes full_name, email (lowercased and trimmed), phone and mailing_address back onto the contacts row when values are present. The write is best-effort — a missing column can't break the customer's submission.
Also called: contact record updates itself · legal name on file · customer details sync
- 1submit-form builds an updates object from formData.identity.legalName, contact_info.email, contact_info.phone and the formatted mailing address.
- 2Only non-empty values are included, so a blank answer never wipes existing data.
- 3The update is applied to the contact and any error is swallowed: 'Best-effort — table may not have all of these columns yet; ignore errors so the customer flow doesn't break on a missing column.'
The route names the intent directly: 'Mirror the most-current legal info into the contact record so future invoices/contracts pull the latest.' The lead record is usually built from a form fill or a CRM import; the intake form is the first time the customer states their own legal name and address, and that answer should win from then on.
- Contact records stuck on lead-capture data after the customer corrects it
- Manual re-entry of the same details into invoices and later contracts
See it on your own jobs
Twenty minutes, your numbers, no slide deck. We’ll build one of your real buildings in front of you and send you the estimate link at the end — yours to keep either way.
or keep browsing features →