Dial adapter enables SMS, MMS, iMessage bots
Chat SDK now supports Dial with the new vendor-official adapter.
Build bots that send and receive SMS, MMS, and iMessage on a real phone number, with bidirectional media and inbound voice-call transcripts. Replies use the standard Chat SDK thread and message APIs, with HMAC-verified webhooks and stable per-conversation threading.
import { Chat } from "chat";
import { createMemoryState } from "@chat-adapter/state-memory";
import { createDialAdapter } from "@getdial/chat-sdk-adapter";
export const bot = new Chat({
userName: "Dial Bot",
adapters: {
dial: createDialAdapter({
apiKey: process.env.DIAL_API_KEY,
fromNumberId: process.env.DIAL_FROM_NUMBER_ID,
webhookSecret: process.env.DIAL_WEBHOOK_SECRET,
}),
},
state: createMemoryState(),
});
bot.onNewMention(async (thread, message) => {
await thread.post(`heard you: ${message.text}`);
});
Each phone conversation becomes a Chat SDK thread. Texts and media arrive as messages on that thread, and when a voice call ends, its transcript appears there too. Subscriptions, handlers, posts, and per-thread state work the same as with any other Chat SDK adapter.
Read the Dial documentation to get started.
Fetched July 8, 2026

