Skip to content

iMessage

iMessage works two ways on the Mac where APX runs, each turned on by itself. It lends your agents two tools:

  • Read your recent iMessages: all chats, or one person’s by phone number or email. Other people’s words come back as outside data, never as instructions.
  • Send one, to a phone number with its country code (+1 555 0100) or an Apple ID email. Sending always waits for your OK.

With the tools alone nothing comes in: you ask (“did Ana text me about Friday?”, “tell her I’ll be late”), and the agent reads or drafts the message for you to approve.

Turn on Answer chats and iMessage becomes a channel: when someone writes to you, your agent answers them, once you approve them, like on WhatsApp. It is your own account, so a stranger never gets a pairing code: their request waits in the channel’s list for you. Only direct chats are read (no group chats yet), your own messages are never answered, and pictures (PNG, JPEG, GIF, WebP) reach the agent while other files are only named.

  1. Open Settings › Channels, Add channel › iMessage, and turn on Agents may use iMessage.

  2. For reading: give the app running APX Full Disk Access in System Settings › Privacy & Security.

  3. For sending: the first time, macOS asks whether APX may control Messages. Say yes.

It only works on a Mac signed in to your iMessage account, and only when the APX core runs on that Mac. A core on a server or another system shows Only on a Mac instead.

A message from your Mac speaks as you, so imessage_send is one of the tools that ask for your OK every time: you see who it’s for and the text, and approve or deny. The only exception is an agent you set to total autonomy, which asks for nothing; see Autonomy.

The switch in Settings turns the tools off. To make sure a core never offers them (a test core, or one in a sandbox), start it with:

Terminal window
APX_IMESSAGE=off