Connect Google Sheets
Add a row to a Google Sheet for every new lead, automatically.
In short: Bread & Butter adds one row per lead to a Google Sheet you choose, as soon as we capture their email address. Every sheet gets the same four columns, which we write for you: Email Address, First Name, Last Name and Profile URL. You start with a blank sheet; there's nothing to map. You choose which leads are sent, either a lead stage or a funnel you've saved. Google Sheets is available on the Free plan and the Pro plan. For the full Intelligence Brief, use a Webhook or Zapier Webhook instead.
Step 1: Create a Google service account
Bread & Butter writes to your sheet through a Google service account, a separate Google identity you create for this purpose.
Enable the Google Sheets API
- Open the Google Cloud Console.
- Click the project dropdown at the top and choose New Project.
- Enter a Project Name, choose your Organization and Location, and click Create.
- Make sure the new project is selected in the top dropdown.
-
In the left menu, go to APIs & Services.

-
Click Enable APIs and Services.

-
Under Google Workspace, click Google Sheets API, then Enable.

Create the service account and its key
-
In the left menu, go to IAM & Admin > Service Accounts.

- Click + Create Service Account.
- Enter a Service account name, for example "breadbutter-sheets", and click Create and Continue.
- Skip Select a role: the service account doesn't need one, because it gets access by being shared on your sheet in step 2. Click Continue, then Done.
-
Open the new service account and copy its email address, for example
breadbutter-sheets@project-id.iam.gserviceaccount.com. You'll share your sheet with it in step 2.
-
Go to the Keys tab and click Add Key > Create new key.

- Choose JSON and click Create. A JSON key file downloads to your computer. Keep it safe; you'll upload it in step 3.
Step 2: Prepare a blank sheet
- In Google Sheets, create a new, blank spreadsheet.
- Rename the tab at the bottom to something descriptive, like "Leads". Avoid names that look like cell references, such as "Tab1".
- Leave row 1 empty. Bread & Butter writes the header row itself. If row 1 already has anything in it, the connection is refused, so your existing data is never overwritten.
- Click Share, paste the service account email from step 1, set it to Editor, uncheck Notify people and click Share.
- Copy the Spreadsheet ID from the address bar: the long string between
/d/and/edit. For example, indocs.google.com/spreadsheets/d/1BxiMVs0XRA5nFMdKvBdBZjgmUUqptlbs74OgvE2upms/edit, the ID is1BxiMVs0XRA5nFMdKvBdBZjgmUUqptlbs74OgvE2upms.
Step 3: Create the integration in Bread & Butter
- In Bread & Butter, open Integrations and choose the Google Sheets tile.
- Integration name: a name your team will recognize, like "Google Sheets - Engaged Leads".
- JSON file: upload the key file from step 1.
- Spreadsheet ID and Sheet name: paste the ID from step 2 and enter the tab name exactly, for example "Leads".
- Trigger: choose which leads are sent, either a lead stage (Engaged Lead is the default) or a funnel you've saved.
- Click Save & close. Bread & Butter writes the header row, and a row is added for every new lead from then on.
What goes in the sheet
Four columns, always in this order:
| Column | What it holds |
|---|---|
| Email Address | The lead's email address |
| First Name | Their first name |
| Last Name | Their last name |
| Profile URL | A link to their full profile in Bread & Butter |
A row is added as soon as we capture the lead's email address. The columns can't be changed. For the research, scores and journey, open the Profile URL, or send the Intelligence Brief to your CRM, Slack or a webhook instead.
Google Sheets integrations set up before 9.6
They keep working exactly as they are. If you edit one, it switches to the four columns above and needs a new blank sheet, so your existing sheet and its data stay untouched.