All integrations

Beeper

ChannelProvider official

Matrix rooms and bridged messaging networks through Beeper.

Read the full channel docs

Install

Install eve, Chat SDK, the Beeper Matrix adapter, and a state adapter:

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

The in-memory state store is for local development. Use Redis or PostgreSQL in production. The adapter is vendor-official.

Quick start

Create agent/channels/matrix.ts:

ts
// agent/channels/matrix.tsimport { createMatrixAdapter } from "@beeper/chat-adapter-matrix";import { createMemoryState } from "@chat-adapter/state-memory";import { chatSdkChannel } from "eve/channels/chat-sdk";
export const { bot, channel, send } = chatSdkChannel({  userName: "My Agent",  adapters: {    matrix: createMatrixAdapter(),  },  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 });});
await bot.initialize();
export default channel;

See the Beeper Matrix adapter documentation for all supported events and credentials.

Configure

Set the Matrix homeserver, access token, and bot identity environment variables documented by Beeper. This adapter consumes Matrix sync rather than webhooks, so call bot.initialize() and run eve in a long-lived Node.js process. It requires Node.js 22 or newer and a durable state adapter in production. See the Chat SDK channel docs for eve session dispatch, state, streaming, and human-in-the-loop behavior.