Schedule Management

Create WhatsApp Business Account Schedule

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
post/{Version}/{WABA-ID}/schedules

Request

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

Path parameters

Versionstring required

Graph API version to use for this request. Determines the API behavior and available features.

WABA-IDstring required

WhatsApp Business Account ID where the schedule will be created. This ID can be found in your WhatsApp Manager or through business management APIs.

Headers

User-Agentstring
Example:Meta-Business-Messaging-OpenAPI/1.0.0;spec=2025-10-21

The user agent string identifying the client software making the request.

Authorizationstring required
Example:Bearer EAABwzLixnjYBOzYmNMJJGfHq9DgNh...

Bearer token for API authentication. This should be a valid access token obtained through the appropriate OAuth flow or system user token.

Request body

namestring required

Human-readable name for the schedule

schedule_type'BUSINESS_HOURS' | 'AUTOMATED_RESPONSE' | 'MESSAGE_CAMPAIGN' | 'MAINTENANCE_WINDOW' | 'CUSTOM' required

Type of schedule configuration

descriptionstring

Optional description of the schedule purpose

start_timestring time required

Schedule start time in HH:MM format

end_timestring time required

Schedule end time in HH:MM format

timezonestring

Timezone identifier for the schedule

days_of_weekDayOfWeek[]

Days of the week when the schedule is active

is_activeboolean

Whether the schedule should be active upon creation

Example request

{
  "name": "Business Hours Schedule",
  "schedule_type": "BUSINESS_HOURS",
  "description": "Automated responses during business hours",
  "start_time": "09:00",
  "end_time": "17:00",
  "timezone": "America/New_York",
  "days_of_week": [
    "MONDAY",
    "TUESDAY",
    "WEDNESDAY",
    "THURSDAY",
    "FRIDAY"
  ],
  "recurrence_pattern": {
    "frequency": "WEEKLY",
    "interval": 1,
    "end_date": "2024-12-31"
  }
}

Response

Successfully created schedule

idstring required

Unique identifier for the created schedule

Example response

{
  "id": "1234567890123456"
}

Changes

No recorded changes to this operation across all 5 revisions of this API.