All integrations

AgentPhone

ChannelProvider official

SMS, MMS, iMessage, and voice conversations through AgentPhone.

Read the full channel docs

Install

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

bash
npm install eve@latest chat @agentphone/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 AgentPhone.

Quick start

Create agent/channels/agentphone.ts:

ts
// agent/channels/agentphone.tsimport { createAgentPhoneAdapter } from "@agentphone/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: {    agentphone: createAgentPhoneAdapter({      apiKey: process.env.AGENTPHONE_API_KEY!,      agentId: process.env.AGENTPHONE_AGENT_ID!,      webhookSecret: process.env.AGENTPHONE_WEBHOOK_SECRET!,    }),  },  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 AgentPhone adapter documentation for supported events, capabilities, and credentials.

Configure

Create an AgentPhone agent, set AGENTPHONE_API_KEY, AGENTPHONE_AGENT_ID, and AGENTPHONE_WEBHOOK_SECRET, then point its webhook at /eve/v1/agentphone. The adapter handles SMS, MMS, iMessage, and completed voice-call transcripts. See the Chat SDK channel docs for eve session dispatch, state, streaming, and human-in-the-loop behavior.