Skip to documentation
Beacon Docs
TypeScript SDK

Schedule a post

Create a post and set the future time when Beacon will publish it.

Open Markdown

This operation requires Create posts access.

An idempotency key identifies one write request.

Set publishAt to a future ISO 8601 date and time with a time zone. Convert local time before you send the request.

Schedule shared copy

const result = await beacon.posts.create({
  channelIds: [channelId],
  confirmed: true,
  idempotencyKey: "schedule-2026-09-01-launch",
  publishAt: "2026-09-01T14:00:00.000Z",
  state: "scheduled",
  text: "The Beacon launch update is ready.",
});

Schedule channel-specific copy

const result = await beacon.posts.create({
  confirmed: true,
  idempotencyKey: "schedule-2026-09-01-tailored",
  publishAt: "2026-09-01T14:00:00.000Z",
  state: "scheduled",
  targets: [
    { channelId: linkedInChannelId, text: "A detailed launch update." },
    { channelId: xChannelId, text: "Beacon launches today." },
  ],
});

Beacon checks current provider requirements during creation. Fix every reported error before you schedule the post.