HOW IT WORKS

Text Annie. She answers from your AGNT.

mobile.agnt.gg is a router. It carries your texts to your own AGNT and carries Annie's reply back. It never runs a model and never reaches into your computer.

Set up in a minute

  1. Sign in at mobile.agnt.gg with your AGNT email, or open AGNT → Settings → Phone Access → Text Annie.
  2. Enter your mobile number and choose where texts go: this computer (the AGNT desktop app) or one of your cloud instances.
  3. You get a one-time code and Annie's number. Text the code to Annie from that phone. The page confirms as soon as it arrives.
  4. Save Annie as a contact. Text her whenever you like.

Linking needs AGNT Mobile: included with Personal Cloud, Always-On, Business and Enterprise, or $5/month on its own.

What happens to a text

  1. Your text reaches Annie's number (iMessage on iPhone, RCS or SMS on Android).
  2. mobile.agnt.gg stores it, counts it, and queues it for the AGNT you chose.
  3. Your AGNT, which keeps a connection open to mobile.agnt.gg, picks it up within a second and shows a typing indicator.
  4. Annie works on it on that AGNT, with its tools, memory, connected accounts and model settings, in one ongoing conversation per phone.
  5. Her reply goes back the same way. Long answers are trimmed for text and stay complete in the AGNT app.

When your AGNT is offline

Desktop: if the AGNT app isn't running, you get a text saying so right away. Your message waits up to an hour; if the app comes back it is answered, otherwise you're told it couldn't be delivered.

Cloud: a sleeping cloud instance is woken for your text automatically. The first reply after a long idle can take a little longer.

Photos, voice notes and files

Send Annie photos, screenshots, videos, voice notes, PDFs and documents, up to 25 MB each and 10 per text. Photos go to Annie's vision (iPhone HEIC photos are converted first), documents are read, and voice notes are transcribed on your own AGNT. Videos are saved to your AGNT for Annie to work with.

Annie can send back what she makes: images, charts, PDFs, documents, audio. On iMessage they arrive as attachments; on SMS or RCS, anything over about 1 MB arrives as a link that works until the file expires.

Files live on AGNT storage only as long as your plan keeps them (7, 14 or 30 days), then they are deleted. Executables are never accepted.

Commands

Text one word. Commands are free and never reach Annie.

  • STATUS — where your texts go, whether it's online, and texts left this month.
  • NEW — start a fresh conversation with Annie.
  • STOP — pause. Texts are ignored until you send START.
  • START — resume.
  • HELP — this list.

Plans and texts

One text is a message you send to Annie or a reply she sends you. Starter includes 500 a month with 1 phone, Pro 2,000 with 2 phones, Business 5,000 with 5 phones. A text with photos or files still counts as one text; photos and files are capped at 100, 400 and 1,000 a month, with 1, 3 and 10 GB held at once. They reset on the 1st (UTC). Overage is optional, from prepaid credit at $0.005 per text.

Annie's work itself runs on your AGNT and uses its own models and credits, exactly as it does on your desktop. Texting does not add or remove model credit.

Privacy

Texts pass through our messaging provider (Photon) and mobile.agnt.gg to reach your AGNT. We keep message text only to deliver it and show your recent history, and blank it after 90 days. Photos and files are kept for your plan's retention period and served only through links that expire. Your AGNT authenticates to us with your own sign-in; it opens no ports and accepts no inbound connections. Unlinking a phone stops all delivery immediately.

Instance API

The AGNT app speaks this API for you. It is documented for operators and custom runtimes. Authenticate with your AGNT session or an agnt_sk_ key. A hosted instance identifies itself with X-AGNT-Instance: <slug>; without it you read texts routed to the desktop.

GET  https://mobile.agnt.gg/mobile/v1/messages/next?wait=25
200 { "message": { "id", "phoneId", "text", "conversationId", "receivedAt", "expiresAt", "media": [{ "name", "mime", "bytes", "url" }] } }
204 (nothing within 25s)      200 { "idle": true, "retryAfterMs": 180000 } (no phone routed here)

POST https://mobile.agnt.gg/mobile/v1/messages/{id}/media   { "name", "mime", "bytes" } -> { mediaId, uploadUrl }  (PUT the bytes)
POST https://mobile.agnt.gg/mobile/v1/messages/{id}/reply   { "text": "...", "media": ["mediaId"] }
POST https://mobile.agnt.gg/mobile/v1/messages/{id}/release   (give it back to the queue)

GET  /mobile/v1/status    phones, routing, presence, plan
POST /mobile/v1/phones    { "number": "+19705550101", "route": "desktop" | "<slug>" }
PUT  /mobile/v1/phones/{id}   { "route": ... }      DELETE /mobile/v1/phones/{id}

Replies are idempotent per text. A claimed text that is not answered within ten minutes returns to the queue.