Web leads into JobNimbus
JobNimbus Lead Forms: Roofing Inquiries That Arrive With a Workflow, a Status and a Source
The contact form on most roofing sites is the only member of staff who never learned JobNimbus. It cannot pick a workflow, does not know the lead sources, and hands everything it hears to an inbox. That is fixable in a week or two.
November 4, 2026 · 9 min read
The short answer
A JobNimbus lead form sends a website inquiry straight into JobNimbus through its API as a contact, with the workflow and status your office uses for new web leads, a lead source that matches one in your JobNimbus settings, and the homeowner's message saved as an activity. Status-based automations then assign the rep and send the first text.
On this page
- The staff member who never learned JobNimbus
- Workflow, status, source: speaking JobNimbus's language
- Form question to JobNimbus field, line by line
- One porch, three submissions and a bot
- Zapier, Roofle, naturalForms or a server connection
- The first text, sent by JobNimbus itself
- Which form to connect first, and the price
The staff member who never learned JobNimbus
Look at what a roofing website actually collects. A homeowner with a water stain asks about a leak. Another wants a replacement estimate after the neighbor's new roof went up. A property manager wants a bid on three flat roofs. A storm-week visitor wants a free inspection. Each of those means a different workflow, a different status, a different urgency and often a different salesperson, and an emailing form treats them all as one undifferentiated paragraph.
Storm or hail inspection
High volume, high urgency, usually a storm-specific lead source so the season can be counted later.
Replacement estimate
A sales lead that deserves a job record from the start, with the address and roof age if known.
Leak or repair
Fast, small and often a phone call in disguise. The form should show the number for active leaks.
Gutters, siding or windows
Exterior work that may follow a different job workflow than roofing in your JobNimbus account.
Commercial bid
Fewer leads, larger tickets, a company name, and a different person who should see it first.
Financing interest
A flag on the record, not a separate pipeline, so the rep opens with the payment question.
A JobNimbus connection gives each of those forms its own instructions. The rest of this page covers what JobNimbus needs to accept them, where each answer lands, how duplicates are caught, and what it costs. For the wider picture, start at the JobNimbus integration hub; for what roofing companies and gutter contractors need from the rest of the site, those industry pages go further, and storm-season intake has a page of its own in storm lead intake.
Workflow, status, source: speaking JobNimbus's language
JobNimbus's help center describes workflows made of statuses and stages, with separate workflows for contacts, jobs and work orders. Its public API reference spells out the minimum for a new contact, as of November 2026: a name (first, last, both, a display name or a company name), a record_type_name, which is the workflow, and a status_name. A job needs a name, a record_type_name and a status_name. In both cases source_name is optional, and if the website sends one it "must match a lead source in the customer's settings."

That last rule is where most do-it-yourself connections stumble. A form that sends "Google Ads" to an account whose source is named "Google PPC" is sending a name JobNimbus does not have. So before the build, we export your lead sources and statuses from the account, agree which ones the website will use, and store them as exact strings. If a new source is needed for a storm campaign, your office adds it in JobNimbus first; the API reference does include a create-lead-source request, but its documentation is thin, and the person who owns your reports should own that list.
Form question to JobNimbus field, line by line
The field map is written and signed off before any code. Here is the version we start from on a roofing or exterior site, using only fields that appear in JobNimbus's public reference, as of November 2026.
| Form question | JobNimbus field | Note |
|---|---|---|
| First and last name | first_name, last_name | One of the name fields is required |
| Company (commercial bids) | Company name or display_name | Satisfies the name rule on its own |
| Mobile phone | mobile_phone | Also used to look for an existing contact |
email | Checked for an existing contact before creating one | |
| Property address | address_line1, city, state_text, zip | Validated on our server before sending |
| Which form they used | record_type_name and status_name | The workflow and status agreed for that form |
| Campaign or page | source_name | Must exactly match a lead source in your settings |
| Homeowner's message | An activity with note | Linked by primary.id, so the words stay on the record |
| Preferred inspection times | A task with date_start | Linked by related.id for the office to confirm |
| Our own lead ID | external_id | Lets a retry find the record instead of duplicating it |
Two fields deserve a word. Custom fields are useful for roof age or insurance status, but JobNimbus's help says custom fields are not included in its outbound webhook action, so anything a later automation must forward belongs in a standard field or tag. And the Google click ID: we keep it on our server with the JobNimbus record ID, ready for conversion tracking when the job is sold.
One porch, three submissions and a bot
Roofing leads duplicate themselves. A homeowner fills in the inspection form, then the storm form, then calls. A canvasser from Spotio or SalesRabbit already entered the same house on Saturday. JobNimbus's list requests accept filters written in Elasticsearch syntax, so before creating anything, our server searches contacts by email and phone and attaches the new request to the match as an activity. Only when nothing matches does it create a contact.
- Validation on our server. Phone numbers, emails, ZIP codes inside your service area and a required name, checked before JobNimbus is touched.
- Spam filtering. Hidden honeypot fields, timing checks and rate limits per visitor, so the 3 a.m. bot does not become a contact in a new-lead status.
- A queue for bad moments. JobNimbus publishes no rate limits that we could find, so writes go through a queue with conservative pacing and backoff, and a failed send is retried rather than lost.
- Idempotent writes. Each submission carries our own ID in
external_id, so a retry finds the record it already made. - A readable log. The office can see each submission, what went to JobNimbus and what came back.
Zapier, Roofle, naturalForms or a server connection
There is more than one honest road in. JobNimbus's own Zapier app has Create Contact and Create Job actions, and a 2017 JobNimbus blog post showed website forms flowing in through Zapier. Its integrations page lists Roofle, whose instant roof quotes pass leads to JobNimbus, naturalForms for custom digital forms, and lead tools such as mySalesman and Toolsey. For a shop with one simple form and low volume, a zap is a fair answer, and we will say so.
When a zap or partner tool is enough
- One or two forms, all going to the same workflow and status
- Low volume outside storm season
- Nobody needs click IDs or duplicate matching
- Roofle's quote widget already does the selling
When the server should do it
- Several forms with different workflows, statuses and reps
- Storm weeks, canvass leads and repeat visitors to de-duplicate
- Ad tracking that must survive to the signed contract
- A fast page with no third-party script holding a key
One practical question for Essentials and Pro accounts: JobNimbus caps integrations at 2 and 5, and does not say whether a Zapier account or a custom API key counts. Ask before you build. Comparing roofing platforms first? See AccuLynx vs JobNimbus vs Roofr, or how the same job works on AccuLynx lead forms.
The first text, sent by JobNimbus itself
Here is a tidy division of labor. The website sets the right status; JobNimbus does the rest. Engage, sold in JobNimbus's Communications Bundle, offers "Two-way texting and email, right inside JobNimbus," and its automations can "Automatically send a text message right from the software when your customer's status changes." So a web lead that lands in a status called, say, New Web Lead can trigger a task for the rep and a welcome text, with every reply visible in JobNimbus rather than on a salesman's personal phone.
JobNimbus's help sets the rules for those automated texts: "Customers must explicitly opt-in to texting before receiving automated text messages," automations "will only send texts between 8am and 9pm" local time, and they should not exceed 10 texts per second. So the form asks for texting consent in plain words, unchecked by default, and we record it on the contact. This is not legal advice; your counsel approves the wording. For how fast that first reply should be, LeadBolt is our own proof: the speed-to-lead product we built replies to new contractor leads inside a minute (it is in our work, and it is not a JobNimbus integration). The wider plan for follow-up lives on our roofing marketing page.
The website's whole job is to put the lead in the right status. JobNimbus already knows what to do from there.
Which form to connect first, and the price
- 1
Start with the form that loses money
Usually the free inspection or storm form, because volume and speed matter most there. We connect it first and watch a week of real leads.
- 2
Export your workflows, statuses and sources
Your admin shares the list. We agree exact names per form and nothing is guessed.
- 3
Create the key under a narrow access profile
JobNimbus says a key inherits its access profile's permissions, so your admin picks the narrowest one that can create contacts, jobs, activities and tasks.
- 4
Test with labeled records, then go live
Test leads carry an obvious name and are deleted afterward with your office's say-so.
- 5
Add the other forms
Estimate, repair, exterior, commercial and financing forms follow, each with its own map.
Connecting forms on your existing site begins at $575, depending on how many forms and rules are involved, quoted in writing after a free review. A new roofing site from us already includes lead form capture and one custom API integration in every tier, from $1,500 to the recommended $5,750 package; see web design pricing and 0% financing. The JobNimbus API guide has the developer detail, roofing website design and gutter website design cover the pages around the form, and a free site audit shows what your current forms send today.
Questions roofers ask about JobNimbus integration
Yes. JobNimbus's public API reference documents creating contacts, jobs, activities and tasks with an API key, as of November 2026. A server-side connection sends the form straight to JobNimbus with the workflow, status and lead source you choose. Zapier remains a fair option for a single simple form.
Because the reference says a source_name must match a lead source in the account's settings. A spelling or wording difference, such as "Google Ads" against "Google PPC," breaks the match. We export your exact source names before the build and store them as fixed values per form.
It depends on the form. A quick leak question can stay a contact in a new-lead status. A replacement estimate, storm inspection or commercial bid usually earns a job, linked to the contact through its primary field. Your sales manager decides per form, and the field map records the choice.
Into an activity on the contact or job. JobNimbus's reference says an activity should include a note, a record type and the primary record's ID. That keeps the homeowner's own words on the record, where the rep sees them, instead of in an email nobody forwards.
If you use Engage, an automation can send a text when a contact's status changes, so a form that sets the right status starts the text. JobNimbus requires explicit texting opt-in for automated messages and sends them only between 8am and 9pm local time.
No. JobNimbus's help says custom fields are not included in its Webhook automation action, and available fields are limited by record type. Anything a later automation must pass to another system, such as a campaign name, belongs in a standard field or a tag.
Kairos · AI chat and booking
Book the job while the visitor is still on the page
Kairos answers questions from your own services, hours and published prices, offers real open times and books the appointment in the chat, at 2 p.m. or 2 a.m. Today it books into a Google or Microsoft 365 calendar; booking straight into field-service software is rolling out. Clio, its dashboard, shows which pages and ads turned into bookings.
Keep reading
- JobNimbus integrationJobNimbus Integration: Roofing and Exterior Websites That Hand JobNimbus a Finished ContactConnect a roofing, siding or gutter website to JobNimbus: leads with the right workflow and source, texting, webhooks and tracking, and what each costs.
- Developer notesThe JobNimbus API, Documented in Two Places: Keys, Access Profiles, Endpoints and What Is MissingHow the JobNimbus API works for a roofing website: keys and access profiles, the Postman reference, search filters, webhooks and how to scope a build.
- Lead formsWebsite Leads Into AccuLynx: Six Roofing Forms and the Order of Operations Behind EachSend inspection, estimate, storm, contact, commercial and financing forms to AccuLynx as leads with source, category and trade set. Field map and prices.
- Everything in JobNimbus IntegrationSee the section
Stop retyping roofing leads into JobNimbus
Send us the forms on your site and a look at your JobNimbus sources. We will map each form to a workflow and status and quote the connection in writing.
Which of these sounds like you? (pick any)
Rather talk now? Call (210) 346-0848.