All integrations

Velt

ChannelProvider official

Add agents to anchored comments across documents, canvases, PDFs, and video.

Read the full channel docs

Install

Install eve, Chat SDK, the Velt adapter, and a state adapter:

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

The in-memory state store is for local development. Use Redis or PostgreSQL in production. This adapter is built and maintained by Velt.

Quick start

Create agent/channels/velt.ts:

ts
// agent/channels/velt.tsimport { createVeltAdapter } from "@veltdev/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: {    velt: createVeltAdapter({      apiKey: process.env.VELT_API_KEY!,      webhookSecret: process.env.VELT_WEBHOOK_SECRET!,      botUserId: "my-agent",      botUserName: "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 Velt adapter documentation for supported events, capabilities, and credentials.

Configure

Create a Velt bot user and webhook, set VELT_API_KEY and VELT_WEBHOOK_SECRET, then send comment events to /eve/v1/velt. The adapter maps documents to channels, annotations to threads, and comments to messages. See the Chat SDK channel docs for eve session dispatch, state, streaming, and human-in-the-loop behavior.