Spreadsheets & reporting
Google Sheets integration
Bring GraftPal data into Google Sheets with a short Apps Script and your API key, then build the reports, pivots and charts your business runs on.
- Category
- Spreadsheets & reporting
- Status
- Available
- Connection
- Via GraftPal API
- Plans
- Scale plan
What it is
What is Google Sheets?
Google Sheets is Google's online spreadsheet, part of Google Workspace. Teams use it for reporting, planning and sharing numbers with people who don't use GraftPal.
- Real-time collaboration
- Pivot tables and charts
- Apps Script for automation
- Free with a Google account
What it does
What Google Sheets does with GraftPal
A live job list
Keep a sheet of upcoming jobs that refreshes on a timer, for people who work from a spreadsheet.
Revenue reporting
Pull payments into a sheet and build monthly revenue pivots and charts.
Lead source analysis
Group leads by source and status to see where your best work comes from.
Feed other tools
Use the sheet as a source for Looker Studio dashboards.
How it works
How Google Sheets works with GraftPal
A small Apps Script requests your data from the GraftPal API and writes it into the sheet on a timer.
GraftPal
Google Sheets
- Google Sheets tabs
How to connect
Connect Google Sheets in 4 steps
API access is part of the Scale plan. On Scale you can create API keys and connect Google Sheets; Starter and Growth workspaces can upgrade at any time.
- 1
Create a GraftPal API key
On the Scale plan, go to Settings → API keys in GraftPal and choose Create API key. Give it a name you will recognise, copy the key and keep it somewhere safe. Keys are read-only and belong to one workspace; you can delete one at any time to cut off access.
- 2
Open Apps Script
In your Google Sheet, choose Extensions → Apps Script and store the key in Project Settings → Script properties as GRAFTPAL_KEY.
- 3
Add a fetch function
Paste a function that calls the endpoint you need and writes the rows to a tab.
const res = UrlFetchApp.fetch("https://app.graftpal.com/api/v1/payments?pageSize=100", { headers: { Authorisation: "Bearer " + PropertiesService .getScriptProperties().getProperty("GRAFTPAL_KEY") }, }) const rows = JSON.parse(res.getContentText()).data - 4
Refresh on a timer
Add a time-driven trigger (Triggers → Add trigger) to run the function every hour or every morning.
API keys are read-only and belong to one workspace. You can see and delete them in Settings → API keys, and access stops the moment a key is deleted.
Related integrations
Teams using this also connect
Looker Studio
Turn GraftPal data into free, shareable Looker Studio dashboards via Google Sheets.
See the Looker Studio integrationMicrosoft Excel
Load GraftPal data into Excel with Power Query and refresh it with one click.
See the Microsoft Excel integrationAirtable
Keep an Airtable base of clients, jobs and invoices filled from GraftPal.
See the Airtable integrationFrequently Asked Questions
Google Sheets integration FAQ
Ready to Run Your Business From One AI-Powered Platform?
Join thousands of freelancers, consultants, and service businesses who replaced their tool stack with GraftPal. One platform. One login. Everything connected, with AI built in.