- Home
- Resources
- Integrations
- Google Chat
Google Chat n8n integrationAutomate Google Chat with n8n.
Every Google Chat n8n integration comes down to one question: which of the nine operations does the job? The node posts, reads, edits and deletes messages, lists spaces and memberships, and can pause a run until a human answers. No trigger node ships with it, so the workflow starts elsewhere.
Verified Trustpilot reviews · AI, automation & growth agency
What does the Google Chat n8n integration actually cover?
The Google Chat node links an n8n workflow to a Google Workspace chat space. It posts, reads, edits and deletes messages, lists the spaces an account belongs to, and checks who is a member of one. Nine operations spread over three resources, all of them driven by the resource names Google Chat uses internally, such as spaces/AAAAMpdlehY.
Three shapes of workflow cover most of what teams build on it. The first pushes the outcome of something else into a space: a row added to Google Sheets, an invoice marked as overdue, a support ticket left untouched for a day. One message.create call and the space becomes the place where the team sees it, instead of an inbox nobody reads twice.
The second shape asks for a decision. message.sendAndWait posts the question and holds the execution open until someone clicks approve or fills in the form attached to the message. That turns a chat space into the approval step of a process, with the answer available to the nodes that follow.
The third is housekeeping. space.getAll and member.getAll list what exists, which is what an access review needs: who sits in which project space, and which spaces the connected account can still reach. Pair it with Gmail and the report leaves as an email once a month.
Anything outside those nine operations goes through the HTTP Request node, which calls any Google Chat API endpoint while reusing the same credential, the stored connection n8n keeps in its Credentials menu. That is the honest answer for anything the node does not expose: the credential is already there, only the endpoint changes.
Two limits are worth knowing before building. Everything is addressed by resource name, not by display name, so a workflow either picks the space from the dropdown or stores the spaces/* value somewhere. And since there is no Google Chat trigger, inbound events have to come from another node. Teams that need a chat trigger usually keep Slack or Telegram for that side and use Google Chat for outbound notifications. The n8n review goes into that trade-off in more detail.
How do you connect Google Chat to n8n?
- 01
Create the Google Cloud project
Google Chat access hangs off a Google Cloud project, so start there. Create a project in the Google Cloud Console, then enable the APIs the node needs from the Library page. The same project later holds the consent screen and the keys, so anyone else on the team belongs in that project rather than in a second one created on the side.
- 02
Pick OAuth2 or a service account
Two credential types work here. OAuth2 is the recommended one, more widely available and quicker to set up, and acts as the signed-in user. Service Account gives a robot identity with no human behind it. On n8n Cloud, Managed OAuth2 reduces the setup to a Sign in with Google button for the supported Google nodes; self-hosted instances create a Custom OAuth2 app instead.
- 03
Finish the credential in n8n
For Custom OAuth2, add the authorized domain of the instance,
n8n.cloudon the hosted offer or the domain of a self-hosted one, then paste the Client ID and Client Secret into the n8n credential. For a service account, open the downloaded JSON key and copyclient_emailinto Service Account Email andprivate_keyinto Private Key, without the surrounding quote marks.
The nine operations, and what each one needs
The Google Chat node exposes 9 operations across 3 resources. For each one: the node as you configure it in n8n, the required fields, and our field notes.
| Resource | Create | Get | Get Many | Update | Delete | Send and Wait for Response |
|---|---|---|---|---|---|---|
| Member | ✓ | ✓ | ||||
| Message | ✓ | ✓ | ✓ | ✓ | ✓ | |
| Space | ✓ | ✓ |
Operations index
Member
2 operationsGet a member
member.getWhat you see in n8n
Notes & use cases
Pulls back a single membership record, so a workflow can confirm that a given person still belongs to a space before acting on it.
Key parameters
- Member ID: the membership to retrieve, written in the form
spaces/*/members/*, which carries the space and the person in one string. It usually arrives from an earlier node through an expression, the{{ $json.name }}syntax that reads a field off the incoming item.
Get many members
member.getAllWhat you see in n8n
Notes & use cases
Lists everyone who belongs to one space and returns a separate item per membership, which makes the result easy to loop over.
Key parameters
- Space Name or ID: the space to inspect, in the form
spaces/*. Pick it from the dropdown n8n fills in, or pass an ID with an expression. - Return All: on, n8n follows the pages of the API until the whole membership list is in; off, Limit caps how many members come back.
Message
5 operationsCreate a message
message.createWhat you see in n8n
Notes & use cases
Posts a new message into a space and returns its resource name, the value every later operation on that message needs.
Key parameters
- Space Name or ID: where the message lands, in the form
spaces/*, for examplespaces/AAAAMpdlehY. - Message: the body itself, where Text holds the content and Request ID makes the call safe to repeat, since a second call with the same request ID returns the existing message instead of posting a duplicate.
- JSON Parameters: switch it on to send the whole object through Message (JSON).
Delete a message
message.deleteWhat you see in n8n
Notes & use cases
Removes a message from the space for good. Nothing is kept on the n8n side, so a run that deletes at scale should log what it removes first.
Key parameters
- Message Resource Name: the full name of the message, in the format
spaces/{space}/messages/{message}. A system-assigned ID looks likespaces/AAAAAAAAAAA/messages/BBBBBBBBBBB.BBBBBBBBBBB, while a custom ID keeps the name chosen at creation.
Get a message
message.getWhat you see in n8n
Notes & use cases
Reads one message back from Google Chat, which is how a run gets the current text of something it posted earlier, or verifies the message is still there.
Key parameters
- Message Resource Name: the same
spaces/{space}/messages/{message}format used by the delete and update calls, so storing that value when the message is created saves a lookup later on.
Send message and wait for response
message.sendAndWaitWhat you see in n8n
Notes & use cases
Posts a message, then holds the execution open until someone in the space answers. The run resumes with that answer in its output, which is the human step inside an otherwise automatic process.
Key parameters
- Space Name or ID and Message: where the question goes and what it asks.
- Response Type:
approvalfor buttons,freeTextfor a written reply,customFormfor a form built with Form Elements. - Limit Wait Time: caps how long the node waits before the execution moves on.
Update a message
message.updateWhat you see in n8n
Notes & use cases
Rewrites a message that is already in the space instead of posting a second one, so a single thread keeps showing the current state.
Key parameters
- Message Resource Name: the message to rewrite, in the
spaces/{space}/messages/{message}format returned when it was created. - Update Fields: what changes, with Text holding the new content. With JSON Parameters on, Update Fields (JSON) takes the same thing as a JSON object.
Space
2 operationsGet a space
space.getWhat you see in n8n
Notes & use cases
Returns the details of one space from its resource name, the quickest way to confirm a space is reachable and to read its display name before anything is posted there.
Key parameters
- Space ID: the resource name of the space, in the form
spaces/*. Unlike the message operations, this field is a plain text input rather than a dropdown, so the value has to come from the workflow.
Get many spaces
space.getAllWhat you see in n8n
Notes & use cases
Walks through every space the connected account belongs to and returns one item per space, which is how a workflow discovers where it is allowed to post.
Key parameters
- Return All: on, n8n pages through the API until the list is complete; off, Limit sets the maximum number of spaces returned.
Need help automating Google Chat with n8n?
A person reads every message.
Questions that come up next
01Is the Google Chat n8n integration free?
02Which credentials does the Google Chat node need?
03What are the limits of the Google Chat node?
04Does the Google Chat node react in real time?
05n8n or Make for Google Chat?
Get our weekly integration tips.
No spam. Unsubscribe anytime.



