---
title: "Create Schedule"
method: POST
path: "/api/outreach/schedules"
tags: ["outreach", "outreach"]
---

# Create Schedule

`POST /api/outreach/schedules`

## Request

- Base URL: `https://api.dialogbrain.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.dialogbrain.com/api/outreach/schedules`
- Auth: none declared

Create a new outreach schedule.

## Request body

- CreateScheduleRequest: Request to create an outreach schedule.
  - `name` string, required
  - `description` string, nullable
  - `target_type` 'person' | 'group' | 'all_contacts'
  - `person_id` integer, nullable
  - `group_id` integer, nullable
  - `group_thread_id` integer, nullable
  - `message_type` 'llm' | 'template'
  - `prompt_source` 'state' | 'custom' | 'adhoc', nullable
  - `prompt_id` integer, nullable
  - `prompt_state` string, nullable
  - `llm_prompt` string, nullable
  - `llm_model` string
  - `template_text` string, nullable
  - `template_variables` object
  - `approval_mode` 'auto' | 'draft'
  - `schedule_type` 'one_time' | 'daily' | 'weekly' | 'every_n_days' | 'monthly_day' | 'monthly_weekday' | 'every_n_months' | 'yearly' | 'birthday', required
  - `schedule_config` ScheduleConfig, required: Schedule configuration - varies by schedule_type.
    - `datetime` string, nullable
    - `time` string, nullable
    - `timezone` string
    - `day_of_week` integer, nullable
    - `days_of_week` integer[], nullable
    - `day` integer, nullable
    - `week` integer, nullable
    - `month` integer, nullable
    - `interval` integer, nullable
    - `months_interval` integer, nullable
  - `end_date` string, nullable
  - `max_runs` integer, nullable
  - `preferred_channel` string, nullable
  - `attachment_file_ids` integer[]

## Response `200`

Successful Response

- OutreachSchedule: Outreach schedule response model.
  - `id` integer, required
  - `target` ScheduleTarget, required: Target of a scheduled outreach.
    - `type` string, required
    - `id` integer, required
    - `name` string, required
    - `avatar_url` string, nullable
    - `channel` string, nullable
  - `name` string, required
  - `description` string, nullable
  - `message_type` string, required
  - `prompt_source` string, nullable
  - `prompt_id` integer, nullable
  - `prompt_state` string, nullable
  - `prompt_name` string, nullable
  - `llm_prompt` string, nullable
  - `llm_model` string, nullable
  - `template_text` string, nullable
  - `template_variables` object
  - `approval_mode` string, required
  - `schedule_type` string, required
  - `schedule_config` object
  - `next_run_at` string, nullable
  - `last_run_at` string, nullable
  - `last_run_status` string, nullable
  - `run_count` integer
  - `success_count` integer
  - `status` string, required
  - `end_date` string, nullable
  - `max_runs` integer, nullable
  - `preferred_channel` string, nullable
  - `attachment_file_ids` integer[]
  - `created_at` string, required
  - `updated_at` string, required

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/dialogbrain/apis/dialogbrain-v2-api-gateway.md) · [All operations](https://skmtc.dev/dialogbrain/apis/dialogbrain-v2-api-gateway/llms.txt) · [OpenAPI document](https://skmtc.dev/dialogbrain/apis/dialogbrain-v2-api-gateway/revisions/77bef09a9209?raw)
