---
title: "Create WhatsApp Business Account Schedule"
method: POST
path: "/{Version}/{WABA-ID}/schedules"
tags: ["Schedule Management"]
---

# Create WhatsApp Business Account Schedule

`POST /{Version}/{WABA-ID}/schedules`

## Request

- Base URL: `https://graph.facebook.com`
- URL: `https://graph.facebook.com/{Version}/{WABA-ID}/schedules`
- Auth: HTTP bearer

Create a new schedule configuration within a WhatsApp Business Account. This endpoint
allows businesses to set up automated scheduling for various operations such as business hours,
automated responses, and maintenance windows.

**Use Cases:**
- Create business hours schedules for automated responses
- Set up maintenance windows for system operations
- Configure automated message campaigns with timing
- Establish recurring schedule patterns for business operations

**Prerequisites:**
- WhatsApp Business Account must have scheduling feature enabled
- Appropriate permissions for schedule management
- Valid timezone and time format specifications
- Business must meet WhatsApp Business API requirements

**Process Flow:**
1. Submit schedule configuration with timing and recurrence details
2. System validates schedule parameters and conflicts
3. Schedule is created and activated based on is_active flag
4. Monitor schedule status through GET endpoint

**Rate Limiting:**
Schedule creation is subject to rate limits to prevent abuse.
Standard Graph API rate limits also apply.

**Validation:**
- Start time must be before end time
- Timezone must be valid IANA timezone identifier
- Days of week must be valid if specified
- Recurrence pattern must be consistent with schedule type

## Path parameters

- `Version` string, required
- `WABA-ID` string, required

## Headers

- `User-Agent` string
- `Authorization` string, required

## Request body

- ScheduleCreateRequest: Request payload for creating a new schedule
  - `name` string, required: Human-readable name for the schedule
  - `schedule_type` 'BUSINESS_HOURS' | 'AUTOMATED_RESPONSE' | 'MESSAGE_CAMPAIGN' | 'MAINTENANCE_WINDOW' | 'CUSTOM', required: Type of schedule configuration
  - `description` string: Optional description of the schedule purpose
  - `start_time` string, time, required: Schedule start time in HH:MM format
  - `end_time` string, time, required: Schedule end time in HH:MM format
  - `timezone` string: Timezone identifier for the schedule
  - `days_of_week` DayOfWeek[]: Days of the week when the schedule is active
  - `is_active` boolean: Whether the schedule should be active upon creation
  - `recurrence_pattern` RecurrencePattern: Pattern for recurring schedules
    - `frequency` 'DAILY' | 'WEEKLY' | 'MONTHLY' | 'YEARLY'
    - `interval` integer: Interval between recurrences
    - `end_date` string, date: End date for the recurrence pattern

## Response `200`

Successfully created schedule

- ScheduleCreateResponse: Response after successfully creating a schedule
  - `id` string, required: Unique identifier for the created schedule

## Other responses

- `400`: Bad Request - Invalid parameters or malformed request
- `401`: Unauthorized - Invalid or missing access token
- `403`: Forbidden - Insufficient permissions or schedule limit exceeded
- `404`: Not Found - WhatsApp Business Account ID does not exist or is not accessible
- `409`: Conflict - Schedule name already exists or time conflict
- `422`: Unprocessable Entity - Request parameters are valid but cannot be processed
- `429`: Too Many Requests - Rate limit exceeded
- `500`: Internal Server Error - Unexpected server error

---

[API](https://skmtc.dev/meta/apis/whatsapp-business-messaging.md) - [All operations](https://skmtc.dev/meta/apis/whatsapp-business-messaging/llms.txt) - [OpenAPI document](https://skmtc.dev/meta/apis/whatsapp-business-messaging/revisions/5c1973265369?raw)
