Guide · Updated November 12, 2026
How to export Housecall Pro data to Google Sheets
There are four practical ways to get Housecall Pro data into Google Sheets. Which one fits depends on your plan and how often you need fresh numbers. The steps below come from Housecall Pro's own help center, and each section links its source.
| Method | Plan needed | Stays up to date? | Effort |
|---|---|---|---|
| 1. Built-in list export (Jobs, Customers, Estimates) | Any (Admin user) | No, it's a snapshot | Repeat each time |
| 2. Report / dashboard export | Any (needs reporting permission) | No, it's a snapshot | Repeat each time |
| 3. Zapier | Check Housecall Pro's plan page | New events only | Build and maintain Zaps |
| 4. Housecall Pro API | MAX | Yes, if scheduled | Developer or an add-on |
Method 1: Export the Jobs, Customers or Estimates list
Only employees who are Admins can export the Customers and Jobs lists.
- In Housecall Pro, click Jobs (or Customers) in the left navigation.
- Optional for jobs: click Edit columns to choose columns, and Filter to narrow by created, scheduled, completed or paid dates, lead source, tags, status, employees and more.
- Click the Actions button and choose Export.
- Confirm the email address and click Send file.
- Housecall Pro emails a CSV file from
notifications@housecallpro.com. If it hasn't arrived within an hour, check spam.
Sources: Housecall Pro Help Center, How to Import & Export Jobs and Customers and Job & Estimate List Reporting.
Import the CSV into Google Sheets
- Download the CSV attachment from the email.
- In Google Sheets, open your reporting spreadsheet and go to File → Import → Upload.
- Choose Replace current sheet if this tab only holds the export, or Insert new sheet(s) to keep history.
- Keep "Convert text to numbers, dates, and formulas" on so totals and dates can be summed and filtered.
Jobs_raw) and build pivots and charts on a separate tab that references it. Then next week's import only replaces the raw tab, and your reports keep working.Method 2: Export a report or dashboard card
Housecall Pro's Reporting tab has dozens of ready-made reports (Jobs, Estimates, Leads, Service plans, Payments, Custom). You can customize columns and filters, save reports, and export them.
- Reports: Reporting → Reports, open a report, adjust date range and columns, then click Export in the upper right.
- Dashboard Jobs/Estimates cards: click the eye icon on the card, set filters and dates, click the Excel icon, then choose Download CSV or Send by email.
Employees need the Access Reporting permission to use the Reporting tab. Housecall Pro can also schedule reports to be emailed. Scheduled reports arrive as PDFs, though, so they're useful to read but not to feed a spreadsheet.
Sources: Managing Reports, Navigating Your Dashboard Reports, Exported Report Breakdown.
Method 3: Zapier (new records only)
Housecall Pro's help center shows how to build a Zap with the trigger New Scheduled Job in Housecall Pro and the action Create Spreadsheet Row in Google Sheets, mapping fields such as Customer Display Name to your columns. This works well as a running log of new jobs. It doesn't backfill past jobs, and to update a row when a job changes you need extra lookup-and-update steps.
Source: Zapier Integration Overview.
Method 4: The Housecall Pro API (MAX plan)
The Housecall Pro Public API is only available on the MAX plan. An Admin creates a key under My Apps → All Apps → API Key Management → Generate API Key, and can choose Full access or Read-only. For reporting, choose Read-only. Housecall Pro warns that a key gives access to all of the account's data, so only share it with a developer or tool you trust.
The API lives at https://api.housecallpro.com. List endpoints include GET /jobs, GET /customers, GET /estimates and GET /invoices. They return pages (page, page_size, total_pages, total_items; default page size 10) and can be sorted with sort_by (for example updated_at) and sort_direction. Housecall Pro's authentication page shows the API-key header format as:
Authorization: Token YOUR_API_KEY
A minimal Google Apps Script that pulls the first page of jobs into the active sheet looks like this:
function pullJobs() {
const key = PropertiesService.getUserProperties().getProperty('HCP_KEY'); // never hard-code keys
const res = UrlFetchApp.fetch(
'https://api.housecallpro.com/jobs?page=1&page_size=100&sort_by=updated_at&sort_direction=desc',
{ headers: { Authorization: 'Token ' + key, Accept: 'application/json' }, muteHttpExceptions: true });
const body = JSON.parse(res.getContentText());
const rows = body.jobs.map(j => [j.id, j.invoice_number, j.work_status, j.total_amount, j.updated_at]);
const sh = SpreadsheetApp.getActiveSheet();
sh.getRange(1, 1, 1, 5).setValues([['id','invoice_number','work_status','total_amount','updated_at']]);
if (rows.length) sh.getRange(2, 1, rows.length, 5).setValues(rows);
}
A production version also needs to loop through all pages, update existing rows instead of appending duplicates, handle errors and rate limits, and run on a schedule. Independent developers report that money fields come back as integer cents, so test against your own account before you trust totals.
Sources: API Overview (Housecall Pro Help Center), Authentication, Get Jobs, Get Invoices (Housecall Pro Public API docs).
FieldSheet Sync is not affiliated with Housecall Pro. Menu names may change. If a step doesn't match your screen, check the linked help article.