Skip to main content

Point your website forms at Service VIN

Keep the site you have — every shop gets a personal intake URL, and any form that POSTs to it lands in your Leads pipeline automatically.

Sales & front office10 in this section

You don't rebuild your website to use Service VIN — you point the forms you already have at it. The Website forms page shows your shop's personal intake endpoint (POST /api/leads/intake?shop=YOUR-SLUG), a paste-ready HTML form, and a JavaScript fetch version. The endpoint accepts JSON, form-encoded or multipart posts, so it works with Webflow, WordPress, Squarespace, Wix, Framer, plain HTML — or a Zapier/Make "Webhooks → POST" step from any form tool.

Connecting an existing form

  1. 1

    Copy your endpoint

    Open Leads → Website forms and copy the POST URL shown at the top — it already includes your shop slug.

  2. 2

    Point the form at it

    For a plain HTML form, set action to the endpoint and method="POST". For site builders, use their "custom form action" or webhook option; for anything else, add a Zapier/Make POST step.

  3. 3

    Keep your field names — mostly

    There's no field mapping to configure. Common names just work (see the table below), and anything unrecognized is kept on the lead as extra form data.

  4. 4

    Send a test

    Submit the form with your own details. The lead appears in Leads within seconds, marked follow-up-now, with your message as the first note on its timeline.

Fields the endpoint understands

FieldAlso acceptedWhat happens
namefull_name, your-name, or first_name + last_nameSplit into first/last automatically.
email / phonee-mail, your-email / tel, mobile, cellOne of the two is required; phone is normalized to +1… format.
vehiclecar, make_modelLands on the lead's vehicle profile.
serviceservices, interested_inComma-separated → service interest.
messagenotes, comments, detailsBecomes the first note on the timeline.
source / formutm_source, lead_source / form_name, form_idAttribution — source defaults to "website"; form auto-tags the lead so you can filter by form.
_gotchabotcheck, honeypotHidden spam trap — a filled value silently drops the bot.

Built-in protections

The endpoint is rate-limited per IP, honeypot fields silently drop bots, and link-stuffed messages get tagged possible-spam instead of blocked. Repeat submissions from the same phone or email merge into the existing open lead — the new message lands on its timeline rather than creating a duplicate. Your automations can trigger off lead.created for instant auto-replies.

Troubleshooting

Test submissions never appear in Leads.

Why: The URL is missing or has the wrong ?shop= slug, or the request isn't actually a POST.

Fix: Re-copy the endpoint from /leads/forms verbatim, and confirm your form or webhook step uses POST.

Real customers get through but your own tests vanish.

Why: Browser autofill put text in the hidden _gotcha honeypot field, so the submission was treated as a bot.

Fix: Make sure the honeypot input has autocomplete="off" and stays empty, then test in a private window.

Some leads arrive tagged possible-spam.

Why: The message body was stuffed with links, which is the classic spam signature.

Fix: Nothing to fix — they still land in your pipeline; the tag just tells you to eyeball them before replying.

Common questions

Does a submission need both an email and a phone?

No — one or the other. Phone is worth encouraging on your form: it's normalized so SMS win-back and the Inbox can match the customer later.

Can I tell which page or campaign a lead came from?

Yes. Pass source (or utm_source) and a form name in hidden fields — every lead keeps both, so you can see which page actually books jobs.

Was this helpful?

Ready to run your shop on Service VIN?

Every feature in these docs is in the free trial — card required, nothing charged for 14 days.