All integrations

Resend

ChannelProvider official

Send and receive threaded email through Resend via the Chat SDK.

Read the full channel docs

Install

Install eve, Chat SDK, the Email (Resend) adapter, and a state adapter:

bash
npm install eve@latest chat @resend/chat-sdk-adapter @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/resend.ts:

ts
// agent/channels/resend.tsimport { createResendAdapter } from "@resend/chat-sdk-adapter";import { createMemoryState } from "@chat-adapter/state-memory";import { chatSdkChannel } from "eve/channels/chat-sdk";
export const { bot, channel, send } = chatSdkChannel({  userName: "My Agent",  adapters: {    resend: createResendAdapter({      fromAddress: process.env.RESEND_FROM_ADDRESS!,      fromName: "My Agent",    }),  },  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;

See the Email (Resend) adapter documentation for all supported events and credentials.

Configure

Verify a sending domain in Resend, set RESEND_API_KEY, RESEND_WEBHOOK_SECRET, and RESEND_FROM_ADDRESS, then point the Resend inbound webhook at /eve/v1/resend. This is a vendor-official Chat SDK adapter. See the Chat SDK channel docs for eve session dispatch, state, streaming, and human-in-the-loop behavior.