> For the complete documentation index, see [llms.txt](https://docs.codemash.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.codemash.io/cloud/sms/templates/editor.md).

# Template editor

Create and edit an SMS template.

**Where:** SMS → Templates → template · `/projects/<project>/sms/templates/new · …/<id>/edit`

**Add New SMS Template** / **Edit SMS Template** builds one multilingual SMS text. The body is plain text with Razor tokens — SMS has no HTML and no visual builder.

{% hint style="info" %}
Screenshot TODO — capture comes from testing-plan area **14-sms**.
{% endhint %}

## Fields

* **Template name** (required) — e.g. `SMS verification code`.
* **Description** — free notes, up to 500 characters.
* **Translations** — pick languages with the language tags selector; each selected language gets its own block:
  * **Language** — fixed per block; remove a block with the trash icon or by unselecting the tag.
  * **Sender / Subject** — the sender name shown on the phone, e.g. `MyApp`.
  * **Message body** (required) — up to 1,600 characters, e.g. `Hi @Model.FirstName, your code is @Model.Code`. A counter shows `x / 160 characters` and how many SMS parts the text will be split into. When a recipient's preferred language matches one of the translations, that translation is sent automatically.
* **Marketing SMS / Transactional SMS** — the communication channel; new templates default to *Transactional*.

**Create** / **Update** saves the template and returns to the [templates list](/cloud/sms/templates.md). In edit mode the template id (`tmpl_…`) is shown as a copyable button.

## Actions (edit mode)

* **Test** — opens a slide-over: pick the translation language and an active provider, bind the template's tokens, and check the exact bound text with the character/parts counter. There is a **Send test SMS to:** phone field (e.g. `+37060000000`), but sending is not available yet — the app answers *"Sending test SMS is not available yet"*; use the preview.
* **Create Campaign** — jumps to [Create a Campaign](/cloud/sms/campaigns/new.md) with this template pre-selected.
* **Archive** / **Unarchive** — an archived template is marked inactive and no longer offered in campaign template pickers; unarchive brings it back.
* **Clone** — creates a copy of the template.
* **Delete** — removes the template after a confirmation dialog.

All actions except **Delete** are disabled while the form has unsaved changes.

## Use it from code

[Create SMS template](/sdks-and-cli/notifications/sms/create-sms-template.md).

## API reference

Endpoints: [Create](/api-reference/notifications/sms/create-sms-template.md), [Update](/api-reference/notifications/sms/update-sms-template.md), [Clone](/api-reference/notifications/sms/clone-sms-template.md), [Archive](/api-reference/notifications/sms/archive-sms-template.md), [Unarchive](/api-reference/notifications/sms/un-archive-sms-template.md), [Delete](/api-reference/notifications/sms/delete-sms-template.md), [Render](/api-reference/notifications/sms/render-sms.md).
