Products

Ships to

iMessage API for AI agents

Build AI agents on iMessage. Blue bubbles, no Mac servers.

Apple has no public iMessage API. Flow gives your agent one: send and receive blue-bubble messages with tapbacks, typing indicators, read receipts, group chats, voice notes and attachments.

Real iMessage threads on a dedicated number. Nothing to run on a Mac.

What you can build

The agents people text
like they text a friend.

Companions

A companion that lives in your messages

It keeps the thread going, remembers what matters and checks in at the right moment, with tapbacks and voice notes like a person.

Food

Reorder dinner in one text

The usual order, saved address and card. One message replaces six taps.

Dating

A matchmaker in your texts

Suggests matches, plans the date and books the table.

Wellness

Check-ins that feel personal

A two-minute breathing break, sent when it helps, not when it nags.

Brand examples are illustrations of what could be built, not those companies' products.

The usual way vs. Flow

iMessage was never built for developers.
Flow makes it an API.

Building it yourself~4 weeks+

  1. Find a way in: no official API 2–3 days
  2. Mac server and Apple ID per number 3–5 days
  3. Relay, webhooks, attachments 1 week
  4. Agent loop, memory, groups 1 week
  5. Keep it alive: flagging, restarts ongoing

Apple’s official route, Messages for Business, needs an approved provider, enterprise onboarding and live agents during business hours.

With Flow Frameworkan afternoon

  1. Create the project1 min
  2. Write your tools1–2 hrs
  3. Test, get a number, go live30 min
tools/plan-date.ts
import { tool } from "@flow-engineer/flow";
import { z } from "zod";

export default tool({
  name: "plan_date",
  description: "Find a restaurant and hold a table for the date.",
  input: z.object({ city: z.string(), when: z.string() }),
  run: async ({ city, when }) => api.tables.hold({ city, when }),
});

How Flow works

Write it once. Ship it to iMessage and everywhere else.

  • Tools, not plumbingYou write what the agent can do. Flow handles webhooks, retries, ordering, media and each channel’s formatting.
  • Memory per customerEach customer’s conversation is kept between chats, so they can pick up where they left off.
  • Tested before it’s liveScenario tests with simulated users run before every release, and every turn is traced after.

Get started

How to build an iMessage agent with Flow.

  1. Create a Flow project

    Run npx @flow-engineer/flow new my-agent, or ask Claude Code or Codex to set it up. You get one folder: the agent’s instructions, its tools, its skills and its tests.

  2. Write what it can do as tools

    Each job is a TypeScript function with a typed input that calls your API: check an order, book a slot, find a deal. No protocol code.

  3. Test it on simulated users

    Run npx @flow-engineer/flow test. Simulated users try the scenarios that matter, including people who change their mind or ask for something your agent should refuse.

  4. Get an iMessage number

    Flow gives your agent a dedicated number with real blue-bubble iMessage: tapbacks, typing indicators, read receipts, group chats, voice notes and attachments.

  5. Go live

    Share the number or a link that opens the chat. The same project runs on WhatsApp and Telegram too.

terminal
$ npx @flow-engineer/flow new my-agent
$ cd my-agent
$ npx @flow-engineer/flow test
✓ 24 scenarios passing

Already have an agent? Use the Flow Messaging API from any language.

Guide

iMessage agents, explained.

Does Apple have an iMessage API?

Not a public one. Apple offers Messages for Business, which is for large brands through approved providers, shows up as a business chat rather than a personal blue bubble, and only starts when the customer writes first. Agents that text like a person, such as companions and concierges, use an iMessage API like Flow’s instead.

What can an iMessage agent do?

  • Send and receive blue-bubble messages from a dedicated number
  • Tapbacks, typing indicators and read receipts
  • Group chats
  • Voice notes, photos and files both ways
  • Remember each person between conversations

Do I need a Mac?

Not with Flow. The do-it-yourself route means a Mac that stays on, an Apple ID per number and a relay to keep alive. Flow runs that side, and your agent talks to an API.

Why iMessage for a consumer agent?

In the US, iMessage is where people already text friends and family. An agent there needs no app download and no sign-up, which is why the new wave of consumer agents (companions, travel concierges, matchmakers, family organisers) launch in text messages first.

Messages for Business vs an iMessage API

Messages for Business suits enterprise support with live agents on hand. An iMessage API suits products where the agent is the experience: it can text first, sit in a group chat and feel like a contact, not a support desk.

Can I use ChatGPT or Claude as the brain?

Yes. Flow lets you choose the model, and the agent uses your tools for the real work, so you can switch models without touching the iMessage side.

FAQ

iMessage questions,
answered.

Is there an iMessage API for developers?

Apple has no public iMessage API. Flow provides one for AI agents: send and receive iMessages with tapbacks, typing indicators, read receipts, group chats and attachments.

Can a bot send blue bubbles?

Yes. Messages from a Flow iMessage number are real iMessages, shown as blue bubbles.

Do I need a Mac server?

No. Flow runs the iMessage side; your agent calls an API and receives webhooks.

Can the agent join group chats?

Yes. It can be added to group chats and reply there like any participant.

Does it support tapbacks and typing indicators?

Yes, plus read receipts, voice notes, photos and files.

What about Android users?

Run the same agent on WhatsApp and Telegram from the same Flow project, so Android users reach it there.

How is this different from Apple Messages for Business?

Messages for Business is Apple’s enterprise support channel through approved providers, started by the customer. An iMessage API lets your agent text like a contact, including messaging first.

Which language is Flow Framework in?

TypeScript. Agents in other languages can use the Flow Messaging API over REST.

Put your agent in people’s blue bubbles.

One open-source TypeScript project. The same agent on WhatsApp, Telegram, ChatGPT, Claude and more.