Text messages

Every text, one line of a file.

A line's texts and calls are a plain file a correspondent in your Drive. An outbound text is written before it is sent, and what the provider answered follows it.

A text

Queued, sent, delivered, or not.

A reply never implies delivery. Only the provider's status record says what happened, and a lost answer is unknown.

How a text is recordedAn outbound text is written to the conversation file with status queued and its author. The provider's status records follow it, each naming the text it is about: sent, delivered, undelivered with a reason, failed, or unknown when the answer was lost. An inbound text gets the id of the provider's reference, so a webhook delivered twice is written once.sms · out · queuedby: acct:user:<id> or agent:<id>status: sentdelivered · undelivered · failedwith the reasonunknownthe answer was lostsms · inid: <provider>:<ref>, written onceHow a text is recordedAn outbound text is written to the conversation file with status queued and its author. The provider's status records follow it, each naming the text it is about: sent, delivered, undelivered with a reason, failed, or unknown when the answer was lost. An inbound text gets the id of the provider's reference, so a webhook delivered twice is written once.sms · out ·queuedby: acct:user:<id> oragent:<id>status: sentdelivered ·undelivered ·failedwith the reasonunknownthe answer was lostsms · inid: <provider>:<ref>,written once

A text that did not arrive, and says so.

From CommandAGI's demo account user-mock-omar. The reply was queued; the provider said the handset was off. The numbers reach no one.

user-mock-omar/phone/+15555550142/+15555550117.jsonldemo account · fictional 555 numbers
11:05:00 sms  in  +15555550117: "Lidar on unit 07 dropped out again near the north fence."
11:07:00 sms  out +15555550142 by acct:user:user-mock-omar: "Thanks. Park it at the gate; I will log it as an incident."  queued
11:07:03 status   of m2  undelivered  reason: the handset is switched off
11:20:00 call in  +15555550117  no-answer

The rules

Business conversation, never advertising.

Lines are for business conversation. A2P 10DLC brand and campaign registration is built in, and its fees are held before the provider is asked.

STOP is honoured

A recipient who texts STOP is opted out of the line, and a send to them is refused until they text START.

Photos and cards are files

An MMS's media are copied into the Drive beside the conversation. A contact card is a content-addressed .vcf.

Not live yet

No line has sent a text through a live provider: the route tests run the real routes with a fake only at the provider's edge (docs/phone.md § verified).

Text from your own number.

An agent can answer your customers' texts under a grant with a daily bound.