Skip to content

Ask the docs

Answers come only from these docs and are written by an AI model (Gemini), so check the linked pages. Your question is not kept. Do not include personal details or keys.

Receive and send messages on WhatsApp, iMessage and Telegram through one API.

Bring your existing agent to the apps people already use. Flow Messaging gives it one HTTP API and event format for WhatsApp, iMessage and Telegram, with SDKs for TypeScript and Python.

Keep your model and tools. Receive a message, run your agent and reply to the same conversation; Flow handles channel delivery and sending rules.

TypeScript
import { FlowMessaging, contentText } from "@flow-engineer/messaging";
const flow = new FlowMessaging(); // reads FLOW_MESSAGING_KEY
for await (const event of flow.events.stream({ types: ["message.received"] })) {
const said = contentText(event.data.message.content);
await event.conversation.reply("You said: " + said, {
idempotencyKey: event.id,
});
}

Install with npm install @flow-engineer/messaging. The quickstart gets you a test key and a Telegram sandbox conversation before running this loop.

Check it worked: send a message from your phone and receive it back as “You said: …”.

You doFlow does
Receive eventsDelivers one event format through signed webhooks, a live stream or polling
Reply into a conversationUses that conversation’s sender and channel
Send one kind per endpointSends exactly that, or refuses it with 422 and a hint; converts nothing
Retry with the same keyDeduplicates the API request
Follow delivery eventsReports sent or failed, plus delivered and read where supported

See sending rules for reply windows, pacing and new-contact budgets. These rules apply whether you send over HTTP, a stream or a webhook response.

The SDKs are open source under Apache-2.0 in flow-engineer/sdk. The HTTP API is versioned by date; pin a version for production.