GenieOS · Messages for developers

SMS your agent can send and read.

Transactional SMS from a stocked kit, one call per send, with deliveries as data. And the half nobody else offers: replies come back as events your agent can act on, not lines in a dashboard export. Both directions, one surface.

send.tsts
// the kit comes stocked: delivery codes, shipping updatesawait preview_sms_template({  template: "delivery-code",  variables: { code: "829114" },}); // the exact characters checked. now send itawait send_transactional_sms({  template: "delivery-code",  to: "+447700900123",  variables: { code: "829114" },});
The surface
  • list_sms_templateswhat exists, marketing and transactional
  • preview_sms_templatethe exact characters before they cost money
  • send_transactional_smsone recipient, now
  • list_sms_deliverieswhat landed, what bounced, what replied
  • browse_sms_transactional_kitdelivery codes, shipping updates and trial endings, ready-made
replies.tsts
// a reply is an event, not exhaustawait create_webhook({  event: "sms.reply",  url: "https://api.fueld.ai/hooks/sms-reply",}); // your handler hears it with the contact and thread attached:// answer it, pause the sequence that prompted it, wake a human

Replies are events, not exhaust.

Most SMS APIs are a one-way firehose: you pay to send, and whatever comes back rots in an export. Here a reply is an event. It lands on your webhook with the contact and the thread attached, and your agent can act on it: answer, pause the sequence that prompted it, or wake a human.

Two-way changes what the channel is for. A delivery code is a send; a customer texting back a question is a conversation, and a conversation your systems can hear is worth more than any open rate.

IN-APP · JUDGEThe agent drafted it. You look at it.
MessagesFueld

MESSAGES · INBOX

Two-way conversations.

Replies to your SMS broadcasts land here as threads with the original recipient. Reply in-line; Genie helps you draft. STOP / HELP keywords are handled automatically.

1 THREADNew message →
+447808141968SMS

just now

+447808141968

SMS · +447808141968

Hello, just thought we’d let you know — the Fueld Directory is now live on your account.

just now

Brilliant — where do I connect my first data source?

just now

Type a reply…Send

0 chars · 0 segments · ~0 cr

A thread is judged as a conversation.

An agent can draft the reply, and often it should. Whether the reply reads right against the three messages above it is a different question. Tone at 160 characters is unforgiving, and the payload does not carry it.

The inbox shows the thread the way the customer sees it. Read it, adjust the one line, send. The agent handles the volume; the moments that need a human get one.

IN-APP · SUPERVISEWhat went out and what came back, in one view you can scan.
MessagesFueld

MESSAGES · INBOX

Two-way conversations.

Replies to your SMS broadcasts land here as threads with the original recipient. Reply in-line; Genie helps you draft. STOP / HELP keywords are handled automatically.

1 THREADNew message →
+447808141968SMS

just now

+447808141968

SMS · +447808141968

Hello, just thought we’d let you know — the Fueld Directory is now live on your account.

just now

Brilliant — where do I connect my first data source?

just now

Type a reply…Send

0 chars · 0 segments · ~0 cr

Scanning beats paginating.

list_sms_deliveries answers precisely, and when something did not land, precise is not how you search. You scan: which sends, which contact, what came back, all in one view your eyes can move across faster than any loop over an endpoint.

The kit keeps the routine cases out of your hands entirely. browse_sms_transactional_kit ships delivery codes, shipping updates and trial endings ready-made, so the only SMS you ever hand-build is the one that is genuinely new.

When this happens
  • WhenA status-page incident opens

    ThenSMS to enterprise contacts, a post to X and LinkedIn

    • send_transactional_sms
    • trigger_social_event
  • WhenA trial ends in 3 days

    ThenEmail and SMS, one sequence

    • enroll_in_sequence

The reply is the point.