All integrations

Google Chat

ChannelChat SDK

Google Chat spaces and DMs via the Chat SDK.

Read the full channel docs

Install

Install eve, the Chat SDK core (chat), the Google Chat adapter, and a state adapter:

bash
npm install eve@latest chat @chat-adapter/gchat @chat-adapter/state-memory

The in-memory state store is fine for local development; use a durable state adapter (Redis, PostgreSQL) in production so thread subscriptions survive restarts.

Quick start

Create agent/channels/gchat.ts. Register Chat SDK handlers on bot, call send to hand each turn to eve, and export the channel:

ts
// agent/channels/gchat.tsimport { createGoogleChatAdapter } from "@chat-adapter/gchat";import { createMemoryState } from "@chat-adapter/state-memory";import { chatSdkChannel } from "eve/channels/chat-sdk";
export const { bot, channel, send } = chatSdkChannel({  userName: "My Agent",  adapters: { gchat: createGoogleChatAdapter() },  state: createMemoryState(),});
bot.onNewMention(async (thread, message) => {  await thread.subscribe();  await send(message.text, { thread });});
bot.onSubscribedMessage(async (thread, message) => {  await send(message.text, { thread });});
export default channel;

Credentials come from the createGoogleChatAdapter config or the adapter's environment variables; see the Google Chat adapter docs.

Configure

The adapter mounts its webhook at /eve/v1/gchat. Point your Google Chat app's HTTP endpoint at it. The adapter owns provider auth, verification, and delivery, while eve owns session dispatch, streaming, typing, and human-in-the-loop. See the Chat SDK channel docs for routes, streaming, and state options.