Lead forms
Website Leads Into AccuLynx: Six Roofing Forms and the Order of Operations Behind Each
AccuLynx's API has no call named Create Lead. A website lead becomes a job in the Lead milestone, built in an order AccuLynx documents. Most form connections skip a step or two of that order, and that is where the duplicate contacts and the leads with no source come from.
October 30, 2026 · 11 min read
The short answer
A website form can create AccuLynx leads through the API in AccuLynx's documented order: search for the contact and create one only if needed, look up the IDs for lead source, job category, work type and trade type, then create the job, which starts in the Lead milestone. Our server validates each form first and queues any failed send.
On this page
- The shared inbox that everyone calls the integration
- No single create-lead call, and why AccuLynx's sequence is the right one
- The field map, from form question to AccuLynx field
- Repeat visitors, junk submissions and the double-clicked submit button
- Rate limits, timeouts and a lead that waits its turn
- AccuLynx's built-in capture, its partners, and when a zap will do
- Which form to connect first, and what the connection costs
The shared inbox that everyone calls the integration
On many roofing sites the form does one thing: it emails an address three people can read. Somebody copies the name into AccuLynx when they get a minute, picks a lead source from memory and types "from website" in the notes. On a quiet Tuesday this works. In a storm week the inbox becomes a job board nobody owns, and a lead source report that says Website for half the year cannot tell you which page, ad or postcard earned the call. The AccuLynx integration hub covers everything a site can connect; this page is about forms.
A roofing site usually carries six forms, and each deserves its own route into AccuLynx.
Free inspection
The workhorse. Name, phone, address and what prompted the request. It becomes a lead under your inspection job category, and if the site offers times it books the visit too, as the online booking page explains.
Estimate request
A homeowner who has already decided the roof is done. Ask about material or house size only if your salespeople use the answers; otherwise the extra boxes are just homework for her.
Storm damage
Hail, wind or a tree. A question about water coming in sets the job's priority to Urgent, High or Normal. Storm intake has its own guide: storm and insurance leads.
Contact
Warranty questions, vendor pitches, a neighbor asking about gutters. A topic question sends roofing requests to AccuLynx and the rest to an inbox.
Commercial bid
Property managers and building owners. Company name and job title fill the contact's company fields, and the lead gets your commercial job category instead of the residential one.
Financing interest
A homeowner who asks about payments before price. The lead carries a note that financing came up, and the page explains your options, like the financing page on our roofing demo.
No single create-lead call, and why AccuLynx's sequence is the right one
AccuLynx removed its V1 documentation and recommends V2, where leads are created with the Create Job endpoint. A lead is simply a job in the Lead milestone. AccuLynx publishes a guide, Create a Lead/Job from a Third-Party System, that sets the order, and we follow it closely, because each step exists to prevent a specific mess.
- 1.Search before creating. The server searches AccuLynx's contacts for a match and creates a contact only when nothing turns up. Skip this and every repeat visitor becomes a second copy of herself.
- 2.Set the contact type. If none is sent, AccuLynx defaults to Customer. That suits homeowners and may not suit a property manager your office files differently.
- 3.Look up the IDs. Lead source, job category, work type and trade type are each sent as an ID fetched from your account, never as typed text. AccuLynx's guide is blunt about it: "Do not pass configured values as free text."
- 4.Create the job. It lands in the Lead milestone with no assigned rep, linked to the contact as its primary contact, with the property address, priority and notes.
- 5.Add what comes after. An initial appointment if the form booked one, a job message for anything over 1,000 characters, a sales rep if you route by rule, and custom fields if you track ad clicks.
The guide also tells integrators to store the contact ID, the job ID, their own lead ID, the lead source ID and sync timestamps. We keep all five in the site's log, which is how anyone in your office can trace a submission to its job months later without filing a support ticket.

The field map, from form question to AccuLynx field
Before any code, we agree a field map with your office: each question on each form, the AccuLynx field it fills and the rule that decides the value. This is the map we start from. It uses only fields AccuLynx documents on its Create Contact and Create Job references and its lead source endpoint.
| Form question | AccuLynx field | House rule |
|---|---|---|
| First and last name | Contact: firstName, lastName | Two boxes, so nobody in the office splits a name by guesswork |
| Phone | Contact: phoneNumbers (number, type) | Exactly 10 digits; type is Home, Mobile or Work |
| Contact: emailAddresses | Checked for a plausible address before sending | |
| Mailing address | Contact: mailingAddress | Asked only on commercial and landlord forms, where it differs from the roof |
| Company and title | Contact: companyName, companyJobTitle | Commercial bid form only |
| Who is asking: owner, manager, tenant | Contact: contactTypeIds | Left blank, AccuLynx defaults to Customer |
| Property address | Job: locationAddress | The roof, which is not always where the owner lives |
| Which form, page and campaign | Job: leadSource (id), parent or child | Picked from your active lead sources; the API cannot create new ones |
| What kind of job | Job: jobCategory, workType | IDs from your account's own lists |
| Roof, gutters, siding or windows | Job: tradeTypes | One or more trade type IDs |
| Is water coming in right now? | Job: priority | Urgent, High or Normal |
| Tell us what is going on | Job: notes, then a job message | Notes hold up to 1,000 characters; the full text goes to Create Job Message |
Two notes on that map. Lead sources must already exist in AccuLynx, and only active ones come back from the API, so the office creates them first, including child sources under a parent for each campaign you want to tell apart. And ad click IDs have no standard home: we store the Google click ID in a job custom field or the notes, as our marketing attribution guide explains. Texting consent and AccuLynx's opt-out data are covered on the SMS page.
Repeat visitors, junk submissions and the double-clicked submit button
A connected form takes on a new duty: whatever it sends lands in the Lead milestone, where people triage it every morning. Spam an inbox once absorbed now eats a coordinator's morning and teaches the office to distrust the website. So the cleaning happens on our server first.
- Server checks, every time. The browser's checks are a courtesy that bots skip. The server checks again: a ten-digit phone, a street address, a message that is not a list of links.
- Quiet bot traps. An invisible field only bots fill, and a minimum time on the page before submit. No puzzles for a homeowner reading the form on a ladder.
- One submission, one job. Each submission gets an ID on the site before it is sent. A double-clicked button or a retried send finds the ID already used and stops, so AccuLynx never receives two jobs from one form.
- Returning homeowners. When the contact search finds her, the new job hangs on her existing contact. Whether a second form inside a week becomes another job or a message on the first is your office's rule, written into the field map.
- A holding pen for the doubtful. A submission that fails a soft check waits in a review list on the site, out of AccuLynx and out of the trash.
AccuLynx's in-app lead form now shows possible matching records as staff type, per its Spring 2026 update; the website should be just as careful. Forms that have stopped sending entirely are a job for our form repair service.
Rate limits, timeouts and a lead that waits its turn
AccuLynx publishes rate limits in two places, and the numbers do not match. Its Rate Limits guide describes an IP-based limit of 30 requests per second, a ban "on the order of 30 seconds to a few minutes, typically" for exceeding it, and 10 requests per second per key afterward. A changelog entry instead puts POST, PUT and DELETE endpoints at 6000 requests per hour and 12000 per day, answering 429 Too Many Requests over the limit and recommending exponential backoff. We respect both and assume neither replaced the other. One form needs only a handful of calls, so an ordinary week never comes close; a storm week might. That is why every send runs from a queue.
- 1
Saved before it is sent
The submission is written to the site's database under its own ID before any call to AccuLynx, so a lead never exists only in transit.
- 2
Sent from the server
The key lives in server settings. AccuLynx's docs warn that anyone holding a key can expose or change company data and say to treat it like a password. It never reaches the browser.
- 3
Backed off on a 429
If AccuLynx answers Too Many Requests or times out, the queue waits longer before each retry, as AccuLynx recommends.
- 4
Logged in plain words
Each attempt is recorded with the contact and job IDs AccuLynx returned, in a log someone who is not a developer can read.
- 5
Handed to a person
After repeated failures, an alert names the form, the error and the homeowner's phone, so the office can call her while the fix happens.
The homeowner asks
An inspection request, a storm-damage form or a booking, on the roofer's own website.
The site checks and sends
The server validates it, keeps the API key to itself, and sends the lead to AccuLynx.
AccuLynx gets a lead
Name, address, phone, the roof problem and the source, filed where the office already works.
The office books the inspection
No retyping, no clipboard in the truck, and the source rides along to the signed contract.
AccuLynx's built-in capture, its partners, and when a zap will do
Check whether you need a custom connection before paying for one. As of October 2026, AccuLynx's plan page lists "Embedded web forms" as an Elite-only feature. The only public description we found is a 2021 AccuLynx post saying you can embed a custom form on your website that creates a lead once a visitor fills it out. No setup article is public, so we cannot tell you how it embeds or what it collects; your AccuLynx rep can.
Other documented routes, as of October 2026: AccuLynx's native Zapier app has a Create Lead action and uses an AccuLynx API key. The CallRail AppConnection turns tracked calls and form submissions into unassigned leads, writing the lead source, form name, tracking number and campaign into the notes. RoofQuote PRO by Roofle captures website quote requests as unassigned leads. AccuLynx also lists Angi Leads, SalesRabbit and Spotio as lead partners, and Jotform says its own integration turns each submission into an AccuLynx lead.
A built-in or partner route is enough when
- You are on Elite and the embedded form suits your design
- A quote widget or call tracking already brings most of your leads
- Volume is low and someone reviews every lead by hand anyway
- Nobody needs click IDs, categories or trade types set at intake
A server-side connection pays its way when
- Each form needs its own category, work type and trade type
- Ad budgets depend on knowing which click became a contract
- A failed send must be retried and somebody told
- The form has to fit your site, not the other way around
The plugin and Zapier trade-offs get a full page in WordPress vs custom for AccuLynx. If the site itself is the obstacle, moving from WordPress to Next.js covers the rebuild, and the AccuLynx API guide covers what else the connection can read and write.
Which form to connect first, and what the connection costs
Connect the form with the most money behind it first. For most roofers that is the free inspection form on paid landing pages, because it carries the click IDs that conversion tracking setup and PPC advertising depend on. Then the storm form, before the season rather than during it.
For American Roofing & Waterproofing in Phoenix we built a multi-step estimate form and a custom instant-quote tool, and our own LeadBolt software answers website, Google, Meta, Angi, Yelp and phone leads in under a minute. Both are in our work. Neither is an AccuLynx integration, and we do not claim the Phoenix client uses AccuLynx.
Connecting forms on an existing site is quoted after a free review, and our API integrations page puts a typical two-system connection at one to three weeks. A new site is a fixed price from $1,500 with booking included, and a custom estimate flow is from $575, depending on complexity, on the web design pricing page, with 0% financing at 25% down. Start with a free site audit of your current forms, hold them against the launch checklist, or call (210) 346-0848.
Questions roofers ask about AccuLynx integration
AccuLynx's plan page lists Embedded web forms as an Elite-only feature, as of October 2026, and a 2021 AccuLynx post describes embedding a form that creates a lead when a visitor submits it. No public setup guide exists, so ask your AccuLynx rep how it embeds and what it collects before deciding you need a custom connection.
No. AccuLynx's API reads active lead sources, including child sources, and can set a job's lead source, but it has no endpoint for creating one. Your office creates sources in AccuLynx first, and the website picks from them. Inactive sources are not returned, so we keep a fallback source in case someone retires the one a form uses.
Because AccuLynx creates every API job in the Lead milestone with no assigned representative. That is by design: the office assigns. If you want a rule, such as one rep per county or per trade, the site can assign a rep right after the job exists through AccuLynx's Update Company Representative endpoint.
A job's notes field holds up to 1,000 characters. AccuLynx's own guide says longer notes belong in a job message, so the site writes a short summary to the notes and the full text, untrimmed, as a message on the job. Nothing the homeowner typed gets cut off.
Yes. AccuLynx's Zapier app has Create Lead, Create Contact and Create Job actions, plus searches for lead sources, job categories, trade types and work types, and it uses an AccuLynx API key. For a low-volume site it can be a sensible start; the WordPress vs custom guide covers where a zap starts to strain.
Not if the integration searches first, as AccuLynx's guide instructs. The site looks for an existing contact and attaches the new job to it when it finds one. Whether a second request becomes a new job or a message on an open one is a rule your office sets in the field map.
Keep reading
- Inspection bookingAccuLynx Online Booking: The Homeowner Picks the Hour, and the Job Carries ItLet homeowners book a roof inspection on your website: open times read from an AccuLynx calendar, the lead created, the chosen time set on the job.
- Source, click, contractAccuLynx Lead Sources That Survive the Trip From a Google Ad to a Signed RoofSet up AccuLynx lead sources that mean something, carry the GCLID into each job, send signed contracts to Google Ads, and copy a sample monthly ROI report.
- Reports, records, one screenAccuLynx Reporting Meets the Ad Account: Custom Roofing Dashboards Built From the RecordsWhat AccuLynx reports, ReportsPlus and DataMart cover, why report rows are not in the API, and a sample roofing KPI dashboard joined to ad and call data.
- Texting, on the recordAccuLynx SMS for Roofing Websites: Fast Text-Backs the Whole Office Can ReadThe AccuLynx API cannot send a text. How a roofing website texts back fast through your own provider, logs each message in AccuLynx and honors opt-outs.
- Roofing CRM comparisonAccuLynx vs JobNimbus vs Roofr, Judged From the Website's Side of the FenceAccuLynx vs JobNimbus vs Roofr on what a roofing website needs: API access, webhooks, Zapier, web forms, booking and texting, from each vendor's own pages.
- Zaps, plugins and serversAccuLynx on a WordPress Site: When a Zap Will Do and When the Server Should Take OverWordPress.org lists no plugin from AccuLynx. When a Zapier zap or form connector is enough, and when a server-side build earns its cost in saved leads.
- Everything in AccuLynx IntegrationSee the section
Map every form on your site to an AccuLynx lead
Send us your forms and a screenshot of your lead sources. We will draft the field map, show what each form loses today, and quote the connection.
Which of these sounds like you? (pick any)
Rather talk now? Call (210) 346-0848.