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.

AvailableVia GraftPal APIScale plan
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

1

A live job list

Keep a sheet of upcoming jobs that refreshes on a timer, for people who work from a spreadsheet.

2

Revenue reporting

Pull payments into a sheet and build monthly revenue pivots and charts.

3

Lead source analysis

Group leads by source and status to see where your best work comes from.

4

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

  • Leads
  • Clients
  • Jobs
  • Invoices
  • Payments
  • Services

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. 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. 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. 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: { Authorization: "Bearer " + PropertiesService
        .getScriptProperties().getProperty("GRAFTPAL_KEY") },
    })
    const rows = JSON.parse(res.getContentText()).data
  4. 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.

Frequently 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.

Free 14-day trial
Cancel anytime
Start Your Free Trial→