Integration · Roofing CRM

Roofbird leads, inside AccuLynx.

AccuLynx already has a column your team sorts by every day. Roofbird's ranking drives it — so the best roofs rise to the top of a list nobody has to be trained to read.

AccuLynx is where established roofing companies run the whole job, and the risk with bolting a lead source onto a platform that deep is that the new data lands somewhere nobody looks. A custom field on a job screen is a custom field on a job screen. It gets ignored.

The way around that is to use a field the platform already treats as important. AccuLynx jobs carry a native priority of Urgent, High or Normal, and it is one of the things production and sales already filter on. Roofbird sets it from the rank: the worst roofs in an area come in Urgent, the next tier High, the rest Normal. Nothing gets configured, nobody gets trained, and the ranking shows up in a column your team was already reading.

One thing to know before you start: AccuLynx only issues API keys to accounts that have enabled their AppConnections add-on. That is their requirement, not ours, and there is no way around it — so turn it on first, or nothing here will connect.

How to connect AccuLynx to Roofbird

  1. 1

    Enable AppConnections in AccuLynx

    In the AccuLynx Market, open Add-Ons, find AppConnections and enable it. Until this is on, AccuLynx will not create an API key for anyone — this is the step people get stuck on, so do it first.

  2. 2

    Create a key and paste it into Roofbird

    With AppConnections on, create an authorization key named Roofbird and paste it into Roofbird's Integrations page. We read your contact types, your lead sources and your state list once, so that later pushes do not have to guess at any of them.

  3. 3

    Make a lead source called Roofbird

    AccuLynx does not allow a lead source to be created over the API, only used. So make one in AccuLynx named Roofbird and we will attribute every lead to it, which is what makes your source reporting tell the truth. Skip this and everything still works, the leads just arrive without a source.

  4. 4

    Send a batch and sort by priority

    Send your best leads from a scan area. Each one arrives as a contact and a job, with the assessment in the job notes and priority set from the rank. Filter your AccuLynx job list to Urgent and you are looking at the worst roofs we found.

  5. 5

    Map custom fields if you want the numbers on the job

    If you keep custom fields on jobs, map Roofbird rank % and anything else you want as its own column. AccuLynx identifies custom fields internally rather than by name, so we read your field list from your account and you pick from it — there is nothing to type twice.

Why a lead becomes two records

AccuLynx requires a contact before a job can exist, so creating a lead is two writes: the person, then the work. That is their model and it is a reasonable one — a homeowner is not a job, and the same homeowner can have several. The failure mode this creates is worth knowing about, because we handle it explicitly. If the contact is created and then the job write fails — a timeout, a rate limit, a network blip — a naive integration retries from the start and leaves a second copy of the same homeowner in your database. We keep the contact id from the first attempt, so the retry finishes the job it started rather than creating a duplicate person. Custom fields are a third write, and a failure there is treated as non-fatal on purpose. By that point the job exists with its notes and its priority, which is nearly all of the value. Losing the whole lead because one custom field would not take is a bad trade.

What arrives on the job, and what had to be budgeted

The job notes carry the assessment: the rank, why this house now, a pre-written opener, the roof condition, material, estimated squares, the estimated job value range, the imagery date, and links to the satellite and Street View frames. AccuLynx caps job notes at a thousand characters, and text custom fields at five hundred. We build the note in priority order and stop at the cap rather than letting it be truncated by the vendor — which matters, because a vendor truncation cuts the end, and the end is where the links live. The most useful sentence for someone standing on a driveway is at the top. The imagery date is in there deliberately and always. A read from four-year-old Street View is a read of a roof that may since have been replaced, and a rep should be able to see how old the picture was before they open with what we saw on it.

Addresses, and a detail that catches integrations out

AccuLynx shapes an address two different ways inside the same API version. On a contact's mailing address, the state and country are internal ids that have to be looked up. On a job's location address, they are plain strings. Same vendor, same release. We resolve their state and country tables once when you connect and keep both forms, which is the sort of thing that is invisible when it works and produces a stream of validation errors when it does not. Phone numbers have their own rule: AccuLynx wants exactly ten digits, so anything that does not normalise cleanly is dropped rather than sent and rejected. One malformed number should not fail a lead. And every number on the Do Not Call registry is marked as not textable, so your own texting tools do not pick it up, with the count of registry numbers stated in the note.

FAQ

Why can't I create an AccuLynx API key?

Because AppConnections is not enabled on the account. AccuLynx gates API keys behind that add-on, so enable it in the Market under Add-Ons and the key option appears. This is the single most common reason an AccuLynx integration will not start.

How does Roofbird decide Urgent, High or Normal?

From the comparative rank inside the scan area, plus whether the lead carries a timing signal. The worst roofs and anything with a live trigger come in as Urgent, the next band as High, the remainder as Normal. You can turn the behaviour off if your team uses priority for something else.

Will this overwrite notes my team wrote?

No. A lead whose details have not changed is skipped entirely rather than re-sent, and the feature that reads your existing AccuLynx records writes only to custom fields you explicitly mapped — never to notes. Records you already own are yours.

Do the leads come in as jobs in my production pipeline?

They come in as jobs at the earliest milestone, which is what a lead is. Nothing enters production, nothing is scheduled, and no estimate is created. It is a person and an address with a reason to visit attached.

Can Roofbird score the leads already in AccuLynx?

Yes, and it is usually the more interesting direction. Point it at the records you already have and it reads every roof and hands back who is worth chasing now, from a list you already trust and already have the phone numbers for.

Read next

See it in your AccuLynx job list

Enable AppConnections, connect a key, and send one scan area's worth of leads. Filter to Urgent and judge the ranking on your own streets.

Get started free →