# Template.promoted

URL: /business/events/Template.promoted · Id: `event:Template.promoted`

> Emitted each time a Template is promoted.

[Template.promote](/business/nouns/template/promote) emits `Template.promoted` when it completes on a [Template](/business/nouns/template).

| Property | Value |
| --- | --- |
| Emitted by | [Template.promote](/business/nouns/template/promote) |
| Noun | [Template](/business/nouns/template) |
| Wakes | None. |

### Payload
Each delivery is an [Event](/business/nouns/event) record. `data` holds what [Template.promote](/business/nouns/template/promote) returns.

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `name` | `string` | Yes | `Template.promoted`. |
| `at` | `datetime` | Yes | When it happened. |
| `seq` | `integer` | No | Its position in the namespace, one more than the Event before; any seq is a cursor into the history. |
| `data` | `json` | Yes | The Thing as the Action left it. |
| `data.change` | [Change](/business/nouns/change) | Yes | The Change against the Template. |
| `data.template` | [Template](/business/nouns/template) | Yes | The Template that received the refinement. |
| `data.template.body` | `text` | Yes | The MDX source with its variables. |

### Example
```json
{
  "$id": "https://api.sb/tutorloop.com/events/event_1",
  "$type": "Event",
  "name": "Template.promoted",
  "at": "2026-10-22T12:00:00Z",
  "data": {
    "change": {
      "$id": "https://api.sb/tutorloop.com/changes/change_1",
      "$type": "Change",
      "status": "Open",
      "base": "version_1"
    },
    "template": {
      "$id": "https://api.sb/tutorloop.com/templates/template_1",
      "$type": "Template",
      "body": "Example body"
    }
  },
  "seq": 1
}
```