> ## Documentation Index
> Fetch the complete documentation index at: https://docs.automate.ax/llms.txt
> Use this file to discover all available pages before exploring further.

> ## Agent Instructions
> Automate.ax automations are TypeScript programs.
> Use Bun for installation and command examples.
> Use Automate.ax for the product name and automate.ax for the package, CLI, and domain.
> Treat documented public APIs as current; do not invent transitional or deprecated names.

# Send SMS

> Send a transactional or opt-out-aware marketing SMS through Brevo.

`sendSms` sends one SMS and can ask Brevo to call a message-specific delivery
webhook.

## Example

```ts theme={null}
import { automation, onHttpRequest } from "automate.ax"
import { sendSms } from "automate.ax/brevo"

export default automation("Send an appointment reminder", () => {
  onHttpRequest({ scope: "automation" })

  sendSms({
    sender: "Example",
    recipient: "+33689965433",
    content: "Your appointment is tomorrow at 10:00.",
    tags: ["appointments"],
  })
})
```

## Inputs

| Property             | Type                             | Required | Default           | Description                                                                     |
| -------------------- | -------------------------------- | -------- | ----------------- | ------------------------------------------------------------------------------- |
| `sender`             | `string`                         | Yes      | —                 | Up to 11 letters/digits or 15 digits. Availability varies by destination.       |
| `recipient`          | `string`                         | Yes      | —                 | 6–15 digit phone number, normally with country code and optional `+`.           |
| `content`            | `string`                         | Yes      | —                 | Non-empty SMS body.                                                             |
| `type`               | `"transactional" \| "marketing"` | No       | `"transactional"` | Message classification. Marketing content must follow applicable opt-out rules. |
| `unicodeEnabled`     | `boolean`                        | No       | `false`           | Enable Unicode content.                                                         |
| `organizationPrefix` | `string`                         | No       | —                 | Brand prefix prepended by Brevo.                                                |
| `tags`               | `string \| string[]`             | No       | —                 | One or up to ten reporting tags.                                                |
| `webhookUrl`         | `string`                         | No       | —                 | Public URL for SMS delivery callbacks.                                          |
| `account`            | Brevo account reference          | No       | Project default   | API-key binding to use.                                                         |

## Output

Returns `{ messageId: string }`; numeric provider IDs are normalized to strings.

SMS credits are consumed per segment, not merely per action call. Long content,
the organization prefix, and Unicode encoding can split a message into multiple
segments and consume multiple credits. Sender rules, marketing restrictions,
and delivery availability vary by destination country.
