- Home
- Resources
- Integrations
- Google Contacts
Google Contacts n8n integrationAutomate Google Contacts with n8n.
Google Contacts holds the addresses your workflows keep asking for. The Google Contacts n8n integration covers 5 operations on a single Contact resource: create, get, get many, update, delete. No trigger node exists here, so a Schedule Trigger or a Webhook starts the run. For teams sharing one address book.
Verified Trustpilot reviews · AI, automation & growth agency
What does the Google Contacts n8n integration actually give you?
The Google Contacts n8n integration is a built-in node that talks to the Google People API on behalf of one Google account. It handles a single resource, Contact, with 5 operations: create a contact, get one by ID, get many with a search query, update an existing record, delete it. Everything runs inside a workflow, so the contact list stops being a place someone updates by hand between two other tasks.
First scenario, intake. A form fills a sheet, a workflow reads the new rows and creates the matching contact with a name, an email and a phone number. Pair it with Google Sheets and the spreadsheet stays the entry point while Google Contacts becomes the clean copy everyone's phone syncs with.
Second scenario, a daily digest. A Schedule Trigger, the n8n node that fires a workflow on a fixed interval, runs contact.getAll each morning, filters on the birthdays returned by the field mask, and posts the list to a channel through Slack. Nobody has to remember, and the message arrives before the first meeting.
Third scenario, hygiene. Before sending a campaign with Gmail, a workflow pulls every contact with Return All, spots the records missing an email address, and pushes the value back with contact.update. The same pattern repairs phone formats or reassigns groups in one pass.
Where the node stops, HTTP Request takes over. It calls any endpoint of the Google People API while reusing the same credential through predefined authentication, which covers anything the 5 operations do not expose. That detour is normal, not a workaround.
Two limits are worth knowing before you build. There is no Google Contacts trigger node, so nothing in n8n watches the address book for changes: the workflow always starts somewhere else. And an update replaces what you send, so the Etag value from a previous read is what protects a record modified by someone else in the meantime.
If you are weighing platforms before committing, the n8n review covers hosting and pricing in detail, and the n8n training walks through building these workflows from an empty canvas.
How do you connect Google Contacts to n8n?
- 01
Open a Google Cloud project and enable the API
Head to the Google Cloud Console, create a project or reuse one, then enable the API the node needs from the API Library. Then open APIs and Services, OAuth consent screen, and fill in the App name and User support email. Pick Internal if every user sits inside your Google Workspace, External for any Google account. Under Branding, add
n8n.cloudas an authorized domain on n8n Cloud, or the domain of your own instance when self-hosting. - 02
Create the OAuth client credentials
Still in APIs and Services, go to Credentials, select Create credentials, then OAuth client ID. Choose Web application as the application type. Copy the OAuth Redirect URL shown in the n8n credential screen and paste it into Authorized redirect URIs. Running n8n locally needs no public domain or certificate: Google accepts a localhost address such as
http://localhost:5678/rest/oauth2-credential/callback. Select Create and keep the page open. - 03
Finish the credential inside n8n
Back in n8n, open Credentials and create a Google OAuth2 credential for this service. Paste the Client ID and Client Secret from the console, then run the sign-in flow. On n8n Cloud, Managed OAuth2 skips the whole console setup for the Google nodes that support it: click Sign in with Google and switch the dropdown to Custom OAuth2 only if you prefer your own app. The credential is created once and shows up in the node dropdown of every workflow.
The 5 operations of the Google Contacts node
The Google Contacts node exposes 5 operations across 1 resources. For each one: the node as you configure it in n8n, the required fields, and our field notes.
Operations index
Contact
5 operationsCreate a contact
contact.createWhat you see in n8n
Notes & use cases
Adds a new person to the Google account behind the credential and returns the created record, including the identifier the other operations expect.
Key parameters
- Given Name and Family Name: the two name fields exposed directly on the node, usually mapped from the incoming item with
{{ $json.givenName }}. - Additional Fields: a collection of 14 optional fields where Emails, Phone and Addresses each add one entry at a time, and Group Names or IDs files the contact into an existing group.
Delete a contact
contact.deleteWhat you see in n8n
Notes & use cases
Removes one person from the address book. The call is final on the Google side, so the workflow should decide carefully before running it.
Key parameters
- Contact ID: the required identifier of the record, taken from a previous read rather than typed, usually
{{ $json.contactId }}from the item coming out of a get many step.
Get a contact
contact.getWhat you see in n8n
Notes & use cases
Reads a single person and returns the parts of the record you ask for, nothing more.
Key parameters
- Contact ID: required, identifies the record to read.
- Fields: a field mask limiting what comes back, from
namesoremailAddressesalone to*for everything. Several values can be selected together. - RAW Data: enabled, the item keeps the exact shape returned by the API instead of the simplified version.
Get many contacts
contact.getAllWhat you see in n8n
Notes & use cases
Lists the contacts of the account, with a prefix search when you only want part of the address book.
Key parameters
- Return All: on, n8n walks every page of the API until the list is complete; off, Limit caps how many contacts come back.
- Use Query and Query: the query matches the start of a field, so
foo nfinds a person named foo name, whileoo nfinds nothing. - Sort Order: orders the result by first name, last name, or by last modification.
Update a contact
contact.updateWhat you see in n8n
Notes & use cases
Modifies an existing person and writes back only the fields you fill in.
Key parameters
- Contact ID: required, points at the record to change.
- Update Fields: a collection of 17 fields covering names, Emails, Phone, Notes, Birthday and the rest.
- Etag: the value read on the contact earlier, which confirms nobody has changed the record since. Skipping it is how two workflows quietly overwrite each other.
Need help automating Google Contacts with n8n?
A person reads every message.
Google Contacts and n8n, the questions that come up next
01Is the Google Contacts n8n integration free?
02Which credential do you need for Google Contacts in n8n?
03What are the limits of the Google Contacts node in n8n?
04Can a workflow react in real time to a new Google Contacts contact?
05n8n or Make for Google Contacts?
Get our weekly integration tips.
No spam. Unsubscribe anytime.


