> ## 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.

# Create broadcast

> Creates a draft or scheduled Kit broadcast.

`kit.createBroadcast` creates a draft or scheduled Kit broadcast.

```ts automations/create-broadcast.automation.ts theme={null}
import { automation, markSignificant } from "automate.ax"
import { kit } from "automate.ax/kit"

export default automation("Create broadcast", () => {
  markSignificant(
    kit.createBroadcast({
      content: "value",
      description: "value",
      public: true,
      publishedAt: "value",
      previewText: "value",
      subject: "value",
      subscriberFilter: [
        {
          all: [
            {
              type: "segment",
              ids: [1],
            },
          ],
          any: [
            {
              type: "segment",
              ids: [1],
            },
          ],
          none: [
            {
              type: "segment",
              ids: [1],
            },
          ],
        },
      ],
    }),
  )
})
```

## Input

Pass these fields:

| Field              | Type             | Required | Description                                                                                                                                                                                                                      |
| ------------------ | ---------------- | -------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `emailTemplateId`  | `integer`        | No       | Id of the email template to use. Uses the account's default template if not provided. 'Starting point' template is not supported.                                                                                                |
| `emailAddress`     | `string \| null` | No       | The sending email address to use. Uses the account's sending email address if not provided.                                                                                                                                      |
| `content`          | `string`         | Yes      | The HTML content of the email.                                                                                                                                                                                                   |
| `description`      | `string`         | Yes      | —                                                                                                                                                                                                                                |
| `public`           | `boolean`        | Yes      | `true` to publish this broadcast to the web. The broadcast will appear in a newsletter feed on your Creator Profile and Landing Pages.                                                                                           |
| `publishedAt`      | `string`         | Yes      | The published timestamp to display in ISO8601 format. If no timezone is provided, UTC is assumed.                                                                                                                                |
| `sendAt`           | `string \| null` | No       | The scheduled send time for this broadcast in ISO8601 format. If no timezone is provided, UTC is assumed.                                                                                                                        |
| `thumbnailAlt`     | `string \| null` | No       | —                                                                                                                                                                                                                                |
| `thumbnailUrl`     | `string \| null` | No       | —                                                                                                                                                                                                                                |
| `previewText`      | `string`         | Yes      | —                                                                                                                                                                                                                                |
| `subject`          | `string`         | Yes      | —                                                                                                                                                                                                                                |
| `subscriberFilter` | `object[]`       | Yes      | Filters your subscribers. At this time, we only support using only one filter group type via the API (for example `all`, `any`, or `none` but no combinations). If nothing is provided, will default to all of your subscribers. |

## Output

Returns an object with these fields:

| Field       | Type     | Required | Description |
| ----------- | -------- | -------- | ----------- |
| `broadcast` | `object` | Yes      | —           |

Kit rate limits OAuth connections to 600 requests per 60 seconds and V4 API keys to 120 requests per 60 seconds. Automate.ax honors provider retry timing for rate-limit and temporary bulk-capacity responses.
