Connect Google Chat to Your AI Agent

Find the intended conversation and summarize its messages or send your supplied update.

8 tools OAuth

Try a Google Chat Task

Copy a prompt into your agent with the oo Skill installed. Add your page links and source notes before running it.

oo Skill Google Chat

Summarize a space conversation

Read relevant messages to extract decisions and unanswered questions.

/oo Google Chat: Read Google Chat space [space] messages for [date range or thread]. Summarize decisions and open questions with message references and available sender names; keep unresolved identities visible.

Send a supplied space update

Post the specified plain-text message to a chosen space or existing thread.

/oo Google Chat: Send Google Chat message [text] to space [space]. Reply in thread [reference if applicable] and report the created message reference.

Start Working with Google Chat

  1. Install OOMOL

    Set up oo CLI and the oo Skill in your agent.

    Install OOMOL →
  2. Connect Google Chat

    Connect through Google authorization with the message and membership permissions needed for your task.

    Connect Google Chat →
  3. Give Your Agent a Task

    Use /oo with the pages to read, the changes to make, and where to save the result.

    Connection Guide →

Choose Your Agent

  • Provide the space or message reference. Direct-message lookup uses a recipient email or user ID and requires an existing conversation.
  • Directory permissions help resolve names; unresolved identities remain unnamed. Confirm the resolved direct-message recipient before sending.

Google Chat Tools

List joined spaces, inspect members and message history, identify existing direct-message peers and send text to a space or thread. AI can summarize decisions while keeping sender identities and conversation references visible.

Conversation records and identities

Read joined conversations, message history and available member identities.

Plain-text messages

Send text to a space or reply in an existing thread.

8 tools

List Spaces

List the Google Chat spaces the authenticated user is a member of, with optional filtering and pagination.

googlechat.list_spaces

Get Space

Retrieve the details of a single Google Chat space.

googlechat.get_space

Find Direct Message

Find the existing direct message space between the authenticated user and one other user, identified by email address or numeric user id. Use this to address a person by identity instead of by an opaque space id: a direct message space has no displayName, so list_spaces can never tell you who a DM is with. Only finds conversations that already exist; it never creates one. Caution when the result is fed to create_message: if the identifier is mistyped but still resolves to another real user this account already has a DM with, this action succeeds and returns that person's space, and the returned space id is opaque, so it cannot be eyeballed to confirm the recipient. The result therefore carries peer, the person the space actually belongs to, named by Google Chat or the Workspace directory: read it back to the user and confirm the name before sending. Nothing enforces that check. Naming the peer needs the chat.memberships.readonly and directory.readonly scopes plus the People API on top of the scope below. When the peer cannot be resolved at all (listing the members or reading your own People id failed), peer is null and peerError says why, while the space itself is still returned. A resolved peer can still be unnamed: displayName is null for an AMBIGUOUS peer, for a BOT or SELF peer Google Chat did not name, and for a HUMAN peer the directory could not name (profileUnavailableReason then says why). Treat a null peer or a null displayName as an unconfirmed recipient.

googlechat.find_direct_message

Get Direct Message Peer

Name the other participant of a direct message space. Under user authentication Google Chat may report a member only as users/{id}, so a name or email Chat leaves out is looked up in the Workspace directory through the People API. Use it to tell who a direct message from list_spaces is with. Rejects spaces that are not direct messages. A HUMAN peer that cannot be named still comes back with its users/{id} and a profileUnavailableReason; BOT and SELF peers carry only what Google Chat reports, and an AMBIGUOUS peer has a null user and lists its candidates.

googlechat.get_direct_message_peer

List Space Members

List the members of any Google Chat space, including group spaces, with each person's name and email. Like Google Chat's default, it leaves out memberships held through a Google Group and people who were invited but have not joined. Under user authentication Google Chat may report a member only as users/{id}, so every human on a page whose name or email Chat leaves out is looked up in the Workspace directory through the People API in one batch. Returns one page at a time; pass nextPageToken back as pageToken for the next page. Members whose profile cannot be read keep their users/{id} with a null displayName and a profileUnavailableReason.

googlechat.list_space_members

List Messages

List the message history of a Google Chat space, with optional filtering, ordering, and pagination. A name or email Google Chat leaves out for a human sender is filled in from the Workspace directory, which needs the directory.readonly scope and the People API on top of the scope below; without them such a sender keeps its users/{id} with a null displayName and a profileUnavailableReason, and the messages are still returned.

googlechat.list_messages

Get Message

Retrieve a single Google Chat message by its resource name, or by space and message ID. A name or email Google Chat leaves out for a human sender is filled in from the Workspace directory, which needs the directory.readonly scope and the People API on top of the scope below; without them the sender keeps its users/{id} with a null displayName and a profileUnavailableReason, and the message is still returned.

googlechat.get_message

Create Message

Send a plain-text message to a Google Chat space, optionally as a reply inside an existing thread. Under user authentication the Chat API only accepts plain text, so cards and attachments are not supported. When thread is provided but messageReplyOption is omitted, this action sends REPLY_MESSAGE_OR_FAIL rather than the Google default, which would silently ignore the thread and start a new one. messageReplyOption only applies to named spaces (spaceType=SPACE). Reusing a requestId returns the message that was already created instead of sending a new one.

googlechat.create_message

Frequently Asked Questions

Can lookup create a new direct conversation?

No. It finds an existing direct-message space. Check the peer identity before sending to it.

Can I send cards or attachments?

This connection sends plain text under user authentication. Cards and attachments are not accepted.

Why might a sender have no name?

Google Chat may expose only a user ID. Directory access and the People API help resolve names, but inaccessible profiles remain unnamed.

Connect Google Chat

About Google Chat ↗