Reports, records, one screen
AccuLynx Reporting Meets the Ad Account: Custom Roofing Dashboards Built From the Records
Monday, 7:40 a.m. The owner opens AccuLynx in one tab, the Google Ads account in another and the call tracking login in a third. By 8:15 there is a spreadsheet, a cold coffee and a number nobody would sign. AccuLynx already answers half the question. This page is about the other half.
October 30, 2026 · 10 min read
The short answer
AccuLynx includes pre-built reports, personal or role-based dashboards and marketing expense tracking, with ReportsPlus, Custom Reporting and DataMart sold as add-ons. Report rows are not available through its API. A custom dashboard is built from the underlying job, milestone, financial and lead source records, or from DataMart, and joins them with ad, call and website data AccuLynx does not hold.
On this page
- Monday morning, three tabs and a spreadsheet nobody trusts
- What AccuLynx already measures, as of October 2026
- Why a custom dashboard cannot simply copy an AccuLynx report
- The numbers that live outside AccuLynx
- A sample owner's screen, tile by tile
- How we build it without leaning on the API too hard
- Proof, prices, and when ReportsPlus is enough
Monday morning, three tabs and a spreadsheet nobody trusts
Roofing owners do not lack reports. They lack one that answers the questions they actually ask on Monday: what did we spend, what did it bring in, who is sitting on leads, and how full is the storm pipeline. Those answers live in different buildings. AccuLynx holds the jobs, milestones, reps and approved values. Google and Meta hold the click-level ad data. The call tracking service holds the calls. The website holds the form timestamps and the click IDs.
So the answer gets assembled by hand, which means it arrives late, or it arrives from an agency whose report counts clicks, multiplies by a hopeful average ticket and calls the product revenue. Then there is the dashboard with fourteen charts that someone built in a burst of enthusiasm and nobody has opened since. A useful dashboard is smaller than that, and it says where every number came from. If your web leads still arrive by email and get retyped, fix that first with AccuLynx lead forms; a dashboard can only count what reaches AccuLynx. The whole section starts at our AccuLynx integration hub.
What AccuLynx already measures, as of October 2026
Start with what you already pay for. AccuLynx is a serious reporting tool in its own right, and plenty of contractors never need anything more. Here is what its own pages describe.
Built into both plans
The plan grid lists "Custom reporting," "Personal or role-based dashboards," "Live activity feed," "Marketing expense tracking," "Job profit forecasting" and "Profit & loss analysis" on both Pro and Elite.
Elite-only reports
"Prospecting reports," "Sales pipeline and closing percentage reports" and "Production status and trade reports" appear in the Elite column only.
ReportsPlus
Pre-built dashboards for "management, sales, production, accounting, and office staff," reports on "job milestones, permits, supplements, accounts receivable, materials, dead leads, estimates, and more," and scheduled delivery by email.
Custom Reporting add-on
Listed on the Add-Ons page with one line: "Track KPIs with pre-built or custom dashboards and reports." No price is published.
DataMart
"Direct, unstructured access to your AccuLynx data through Snowflake," aimed at enterprise teams "with technical or analytical experience." The page names Power BI and Tableau.
Appointments and trades
The Fall 2025 update added an Appointments Report "available to all users" and a trade-level report that "breaks down total values by trade."

If a scheduled ReportsPlus email already answers your Monday questions, stop reading and enjoy the coffee. The case for a custom dashboard begins where AccuLynx's data ends: click-level ad data, calls by tracking number, and the minutes between a web form and the first human reply. Those numbers live in other systems, and AccuLynx was never meant to hold them.
Why a custom dashboard cannot simply copy an AccuLynx report
One technical fact shapes every AccuLynx dashboard project. The API's reports group covers scheduled reports only: schedule runs, report instances and their recipients. Get Latest Report Instance returns metadata, namely a reportId, a date, a runInstanceId and a recipientsCount. It does not return the rows. As of October 2026, report data itself is not available through the API.
So a dashboard outside AccuLynx is built one level down, from the records the reports are made of. That is more work. It is also the more honest way to do it, because every figure traces back to a job someone can open. The API documentation is public at apidocs.acculynx.com, and our AccuLynx API guide explains access and keys in plain English.
| Read from | Worth knowing | |
|---|---|---|
| New leads by day | Get Jobs, with dateFilterType set to CreatedDate | A page holds 25 jobs at most, so the sync pages through them |
| Milestone movement | Get Job Milestone History and the Job Milestone Current Changed webhook | Lead, Prospect and Approved are three of the seven milestones the API lists |
| Lead source | The job's leadSource and Get Active Lead Sources for a Company | Inactive sources are not returned; child sources sit under their parent |
| Rep and sales owner | Get Job Representatives and Get Job Sales Owner | Jobs created through the API start unassigned |
| Approved value | Get Job Financials and the Job Financials Approved Value Changed webhook | Read it when it changes, not every hour |
| Inspections set | Get Job Initial Appointment and Get Calendar Appointments | A calendar request should not exceed 90 days |
Larger operations have a second route. DataMart puts AccuLynx data in Snowflake, where a warehouse or a BI tool can query it directly. AccuLynx publishes neither its price nor its refresh interval, so we ask before planning around it. For a company with a handful of reps, the API and a nightly sync are usually plenty.
The numbers that live outside AccuLynx
Custom dashboards earn their cost by joining AccuLynx data with ad, call and website data AccuLynx does not hold. As of October 2026, AccuLynx's integrations page lists no Google Ads, Meta or analytics connection. Its one call tracking partner is CallRail, whose AppConnection opens an unassigned lead and copies the caller's source, the form, the tracking line and the campaign into its notes. Useful, but notes are prose, and prose has to be parsed before it can be charted.
- Ad spend and clicks come from Google Ads and Meta, by campaign and by day. The bridge to a job is the click ID the website saved with the lead, which our marketing attribution guide sets up step by step.
- Calls come from the call tracking account: which number rang, how long the call ran, and whether it turned into a lead.
- Form submissions come from the website's own log, with the moment the homeowner pressed send, the page they were on and the source tags. That timestamp starts every speed-to-lead figure.
- Texts come from the messaging provider when the website texts back, logged to the contact as our AccuLynx SMS page describes.
- Storm dates come from wherever your team tracks hail, so the pipeline can be read against the weather. The intake side of that week is in our storm lead guide.
None of this replaces AccuLynx. It sits beside it. The jobs remain the record of what was sold; the other systems explain why it was sold, and what it cost to find.
A sample owner's screen, tile by tile
Here is the first screen we would sketch for a residential roofer with two sales reps and a storm season. The figures are invented for illustration. They show the shape, not anyone's results. Each tile names the records it reads, so nobody has to take a chart on faith.
| This month (example) | Built from | The decision it informs | |
|---|---|---|---|
| Ad spend against signed contracts | $6,200 spent, 9 signed | Google Ads and Meta spend joined to jobs reaching Approved by click ID | Which campaigns get next month's budget |
| Close rate by lead source | Google search 31%, referrals 52%, door knock 18% | Jobs grouped by lead source, from Lead milestone to Approved | Where the good leads come from |
| Close rate by rep | Rep A 38%, Rep B 24% | Sales owner on each job and its milestone history | Who needs coaching, or fewer leads |
| Web form to first reply | Median 4 minutes | Website form log against the first text sent by the messaging provider | Whether after-hours leads wait until morning |
| Inspections set | 41 of 63 web leads | Initial appointments on jobs created this month | How many leads became a ladder on a roof |
| Storm pipeline | 27 jobs in Lead or Prospect | Jobs in the storm job category, by milestone | Whether to add a crew or a canvasser |
| Approved value by trade | Roofing $188,000, gutters $14,500 | Trade types and approved values on each job | Whether the add-on trades pull their weight |
A dashboard that cannot show its work is just a mood with a color scheme.
Notice what is missing: page views, impressions, likes. They have a place in a marketing review. They do not belong on the screen that decides whether to hire a third rep. Our roofing marketing page covers the channels; this screen only judges them.
How we build it without leaning on the API too hard
- 1
Write down the Monday questions
The owner and sales manager list what the screen must answer. Every tile traces to one of those questions, or it goes.
- 2
Get a key from your administrator
API keys need the AppConnections add-on, and a Location or Company Administrator creates them in AccuLynx. Each location connects separately. Your own admin makes the key, and no AccuLynx password ever comes to us.
- 3
Agree what each number means
Which milestone counts as sold, which lead sources roll up together, which job categories count as storm work. Written down and signed off before any code.
- 4
Sync nightly, listen during the day
A nightly pull pages through jobs by ModifiedDate. Webhooks such as Job Created and Job Milestone Current Changed keep the screen current between pulls. AccuLynx gives listeners 10 seconds to respond and warns of duplicate events, so each event is stored once and processed after the reply.
- 5
Stay under the published limits
AccuLynx publishes two sets of rate limits that do not match each other. We do not gamble on either: requests are queued and back off on a 429.
- 6
Join the outside data
Ad spend, call records and form timestamps land in the same database, keyed by date, campaign and click ID.
- 7
Check it against AccuLynx by hand
The sales manager opens five jobs and compares them with the screen. When the two disagree, AccuLynx wins and we find out why. A health check also alerts us if webhooks stop, since AccuLynx disables subscriptions that return too many errors.
Proof, prices, and when ReportsPlus is enough
We have built this kind of screen before. HomeService WebApp is a contractor command center we redesigned that pulls every open estimate, customer and overdue follow-up onto one screen, with Stripe subscription billing and an automated follow-up engine. It is not an AccuLynx product. It is proof that we build working dashboards on top of field-service data, and it sits with our other projects on our work page.
Building a dashboard beside an existing site counts as integration work, priced after a free review. Most two-system connections take one to three weeks, according to our API integrations page, and the tracking underneath comes from our conversion tracking setup. When the site itself is due for replacement, fixed prices begin at $1,500 with booking included, and portals and web apps begin at $575, depending on complexity, on our web design pricing page. Financing for websites is 0% with a quarter of the price down.
DataCram is a web studio in San Antonio, Texas, building on Next.js with our own Athena CMS and running PPC advertising for contractors across the US. See how we approach roofing websites, run the AccuLynx website checklist before go-live, or call (210) 346-0848.
Questions roofers ask about AccuLynx integration
Not the rows. As of October 2026 the API's reports endpoints cover scheduled reports only, and Get Latest Report Instance returns metadata such as the report ID, date and recipient count. A custom dashboard reads the underlying records instead (jobs, milestones, financials, lead sources, appointments), or uses DataMart's access through Snowflake.
ReportsPlus is AccuLynx's package of pre-built dashboards and reports, with scheduled email delivery. Custom Reporting is an add-on for tracking KPIs with pre-built or custom dashboards. DataMart gives direct access to AccuLynx data through Snowflake for teams with analysts and BI tools. AccuLynx publishes no price for any of them, so ask its sales team.
The ones that change a decision: ad spend against signed contracts, close rate by lead source and by rep, time from web form to first reply, inspections set from web leads, storm pipeline by milestone, and approved value by trade. Impressions and page views belong in the marketing review, not on the owner's screen.
Usually not. A small or mid-sized roofer can sync jobs, milestones and financials through the API overnight and listen to webhooks during the day. AccuLynx describes DataMart as designed for large-scale enterprise-level businesses and for teams with technical or analytical experience, which fits companies that already run a warehouse or Power BI.
Yes, if the website saved the click ID with the lead. AccuLynx lists no Google Ads integration, so the site stores the GCLID in a job custom field or the notes, and the dashboard joins it to ad spend by campaign. Our attribution guide walks through the setup.
As current as the questions require. A nightly sync covers weekly and monthly figures. Webhooks such as Job Created and Job Milestone Current Changed push changes to the dashboard as AccuLynx sends them, so the pipeline tiles move during the day. Ad platform figures follow each platform's own reporting delay.
Keep reading
- 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.
- Developer notesThe AccuLynx API, Read Line by Line: Keys, Jobs, Webhooks and the GapsHow the AccuLynx API works for a roofing website: the add-on and admin key, what V2 can read and write, webhooks, rate limits, and how to scope a build.
- 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.
- 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.
- 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.
- Launch checklistBefore the Domain Switches: A Roofing Website Launch Checklist for AccuLynx ShopsWhat to connect and test before a roofing site that feeds AccuLynx goes live: forms, booking, text-back, duplicates, lead sources, tracking, speed, local SEO.
- Everything in AccuLynx IntegrationSee the section
Get one screen that ties spend to signed roofs
Tell us the three questions you ask every Monday. We will show which ones AccuLynx already answers and quote the rest.
Which of these sounds like you? (pick any)
Rather talk now? Call (210) 346-0848.