How to send contact data to a Google Sheets spreadsheet from a workflow
In the workflow, click + and add the Google Sheets action. Connect your Google account, pick the drive, the spreadsheet and the worksheet, click Refresh Headers and map each column to a contact field. Save the action and publish: every contact that goes through creates a new row.
Updated on
Before you start
- Have a Google account with access to the spreadsheet you'll use.
- Prepare the sheet: in the first row, type the column titles (e.g. Name, Email, Phone, Source). That row is the header the workflow reads.
- Check the exact name of the file and of the worksheet tab.
Where to find it
Automation › Workflows › (open the workflow) › + › Google Sheets
Step by step
Create one row per contact
- Open the workflow and click the + where you want to record the data.
- Search for Google Sheets and choose the Create Spreadsheet Row operation.
- In Google Account, pick the connected account. If there's none yet, click to connect, sign in to Google and authorize the connection.
- Choose the Drive, the Spreadsheet and the Worksheet.
- Click Refresh Headers to load the titles from the first row.
- Pick the Starting Column and Ending Column the workflow should fill in.
- For each column, choose the contact data to record (name, email, phone, custom field…).
- Click Save Action and publish. The new row is appended at the bottom of the sheet.
Find and update a contact's row
- Add the Google Sheets action with the Lookup Spreadsheet Row operation.
- Pick the account, spreadsheet and worksheet, and set the column and value to search for (e.g. column "Email" equals the contact's email).
- Right after it, add another Google Sheets action with the Update Spreadsheet Row Using Lookup operation.
- Map the columns to the new values (e.g. column "Stage" = "Customer").
- Save the action and publish. The row found by the lookup is updated; the others stay as they are.
Tips
- If you change column titles or their order in the sheet, go back to the action and click Refresh Headers; otherwise data lands in the wrong column.
- Values found by a lookup are available as variables in the following actions and can be used in an If/Else (e.g. "if the row exists, update; else, create").
- The delete operation clears the row's contents but doesn't remove the row from the sheet.
Common problems
- No columns show up to map → The first row of the sheet is empty or the column range is wrong. Fill in the headers, click Refresh Headers and check the starting and ending columns.
- The action fails with an access error → The connected Google account doesn't have access to the sheet. Share the sheet with that account or connect the right account.
- The lookup doesn't find the row → The searched value isn't exactly the same as in the sheet (spaces, capitalization). Normalize the data, for example by searching by email.
- Duplicate rows get created → The workflow is running more than once for the same contact. Run a lookup first and update if the row already exists, or review the workflow's re-entry settings.
Frequently asked questions
Can I record several contacts at once in the same row?
No. Each contact goes through the workflow on its own and creates or updates its own row.
Can I share the sheet with my team?
Yes. It's a regular Google sheet: share it like any other file.
Was this helpful?
Thanks for your feedback.
