Skip to content

Features

Real conversations aren't plain text.

People react, reply to one message in a busy thread, send a photo of the roof, edit a typo, unsend the wrong address, drop a voice note from the car. If your automation only sees plain strings, it is reading a transcript with the meaning stripped out.

autoMessage reads what Messages actually stores — group threads, reactions, attachments, replies, edits, unsends and read receipts — and makes all of it available to your dashboard, your API calls, your webhooks and your AI tools.

What syncs, and what you can send

Two different questions, and we keep them separate. Reading is close to complete, because Messages stores it all on your Mac. Sending is narrower, because Messages only exposes so much to automation.

Message typeSyncs inYou can send
Text — iMessageBlue bubble, from your numberYesYes
Text — SMS / RCSGreen bubble; needs Text Message ForwardingYesYes
Group chatsParticipants and group name includedYesReplies into existing groups
Tapbacks / reactionsAll six, including removalsYes—
AttachmentsPhotos, video, files, stickersYes—
Voice notesFlagged, with played stateYes—
Threaded repliesLinked to the message replied toYes—
EditsCaught even hours laterYes—
UnsendsRetraction and its timestampYes—
Read receiptsDelivered and read timestampsYesMark as read
Send effectsSlam, loud, invisible inkYes—
Subject linesRare, but preservedYes—

A dash means reading only. Sending attachments and tapbacks is on the roadmap; we would rather list it here as missing than imply it works.

In more detail

Group chats

A group thread syncs with every participant and its name, and you can send into it through the API by passing the conversation ID instead of a number. A reply into a group you are already in never counts against your new-outreach limit — it is a conversation, not cold outbound.

Tapbacks

All six reactions sync — heart, thumbs up, thumbs down, haha, exclamation and question — attached to the message they land on, with the sender and the time. Removing a reaction syncs too, so the state you read is the current one.

Attachments and stickers

Photos, videos and files arrive with a URL your code can fetch, plus mime type, filename and size. Stickers are flagged separately so you can tell a sticker from a photo without guessing at the file.

Voice notes

Voice messages sync as their own type, labelled, with whether the recipient has played it yet. A transcript is not something Messages gives us, so you get the audio and the metadata, not text.

Replies, edits and unsends

A threaded reply carries a pointer to the message it answers. An edit updates the body and records when it was edited. An unsend marks the message retracted rather than quietly deleting your record of it — and because the connector re-reads messages whose timestamps move, an edit or unsend hours after the fact still lands.

Read receipts

Delivered and read timestamps sync on both directions where Messages reports them, so you can tell a message that was ignored from one that was never seen. You can also mark a thread read through the API.

Why the rich types matter

A thumbs-up on "Tuesday at 2 works?" is a confirmation. An agent that only reads text sees no reply at all and chases a client who already answered. A threaded reply four messages up is answering a different question than the one you just asked. An unsent message your CRM still shows is a wrong address someone is about to drive to.

This is also the line between a finished product and a library. The free self-hosted frameworks in this category document reactions, threaded replies, edits, unsends, read receipts and effects as unavailable in local mode. We sync all six. See that comparison →

Everywhere at once

There is one sync, and every surface reads the same data. A group thread with reactions and a photo appears in your dashboard, in the REST API, in your webhook payloads, and to any AI client connected through the MCP server — and it is still a normal thread on your iPhone that you can pick up and type into by hand.

Questions

Can I send to a group chat?
Yes, into a group thread that already exists on your Mac — pass the conversation ID instead of a phone number. Replies into a group do not count against your new-outreach limit. Creating a brand-new group through the API is not supported; start it once on your phone and it is available from then on.
Do tapbacks and reactions come through?
Yes. All six reaction types sync onto the message they target, with the sender and timestamp, and removals sync as well. Sending a tapback is not supported — Messages gives no automation hook for it, so a reaction has to be tapped by a human.
Can I send photos or files?
Not yet. Inbound attachments sync with a fetchable URL, mime type, filename and size, and stickers are flagged. Outbound sending is text only today.
What about edits and unsends?
Both sync. The connector re-reads messages whose edit or retraction timestamps move, so a message edited or unsent well after it arrived still updates your record instead of going stale.
Does any of this need extra setup?
No, with one exception: green-bubble SMS and RCS need Text Message Forwarding switched on for that Mac in your iPhone settings. Everything else works as soon as the connector is signed in with Full Disk Access.

Your number. Every message type.

$59/month, 14-day free trial, no card to start.

See pricing