n8n

How to Automate Google Sheets Contact Updates?

Keep your contact list tidy in Google Sheets with one click. The flow collects people data, formats it the right way, and writes it into your sheet without duplicates. It suits marketing teams that need a clean list for emails or ads.

You start it manually in n8n. A data node creates sample customer records. A Set step renames name to Full name, keeps only ID and Email, and adds Created time. The Google Sheets step signs in with OAuth and uses upsert to add new rows or update existing rows by ID, so you do not get repeats. This keeps your sheet structure consistent and easy to use for campaigns.

You only need a Google account and a sheet with matching headers. Expect faster prep and fewer copy paste mistakes. It works well for building a simple contact list, testing data flows, or handing a cleaned list to your sales or email tool. If your sheet has more columns, adjust the range to match your headers so all fields land in the right place.

What are the key features?

  • Manual start so you can run and review results at any time
  • Built in data generator creates sample people records for quick testing
  • Set step renames fields to Full name, keeps only needed fields, and adds Created time
  • Google Sheets upsert writes new rows or updates existing rows based on ID
  • OAuth sign in to Google Sheets for secure and simple access
  • Inline notes explain the field mapping choices for easy learning

What are the benefits?

  • Reduce manual list updates from 60 minutes to 5 minutes per run
  • Cut copy paste errors by up to 90 percent with fixed field mapping
  • Prevent duplicates by matching rows on the ID column
  • Keep Google Sheets ready for campaigns with consistent headers

How do you set it up?

  1. Import the template into n8n: Create a new workflow in n8n > Click the three dots menu > Select 'Import from File' > Choose the downloaded JSON file.
  2. You'll need accounts with Google Sheets. See the Tools Required section above for links to create accounts with these services.
  3. Create a Google Sheet with headers in row 1 that match your fields, for example ID, Full name, Email, and Created time. Place them in columns A, B, C, and D.
  4. Open the Google Sheets node. In the Credential field, click Create new credential, choose Google Sheets OAuth2, then follow the on screen steps to sign in with your Google account. Give the credential a clear name like Sheets Main.
  5. In the Google Sheets node, set the Spreadsheet to your target file and confirm the Range covers all columns you need. If you include Created time, use A:D. If the range is A:C, remove the extra field or expand the range.
  6. Double click the Set node. Confirm the fields: ID, Full name, Email, and Created time. Make sure Keep Only Set is turned on so only these fields are sent to Google Sheets.
  7. Open the Customer Datastore node and review the sample output so you know what fields are coming in. This helps you verify the mappings in the Set node.
  8. Click Execute Workflow. After it runs, open your Google Sheet and confirm rows appear under the correct headers. Check that IDs are in column A.
  9. Run it a second time to test upsert. If the same IDs exist, the rows should update, not duplicate. If you see duplicates, confirm the ID header is spelled exactly the same and is in the first column.
  10. Troubleshooting tips: If you get a permission error, reauthorize the Google Sheets credential. If values land in the wrong columns, match your sheet headers to the Set node field names and adjust the Range to cover all columns.

Tools Required

$24 / mo or $20 / mo billed annually to use n8n in the cloud. However, the local or self-hosted n8n Community Edition is free.

Google Sheets

Sign up

Free: $0 (Google Sheets API usage has no additional cost; quota limits apply)

Similar Templates

Join Futurise to access 1,200+ automation templates

Get instant access to ready-made automation workflows for n8n, Make.com, AI agents, and more. Download, customise, and deploy in minutes.