Scheduling
Add Schedule (Cron)
Create a new cron-based schedule that executes a webhook or workflow using standard cron expressions
POST
Create a new cron-based schedule that executes a webhook or workflow using standard cron expressions with full timezone support.
Base URL
All API requests should be made to:Example request
Request body
| Field | Type | Required | Description |
|---|---|---|---|
cron_expression | string | Yes | Standard cron expression (e.g., "0 0 * * *" for daily at midnight) |
cron_timezone | string | Yes | IANA timezone identifier (use Get Timezone Options to get valid values) |
is_one_off_task | boolean | Yes | Set to true if the schedule should run only once, false for recurring execution |
schedule_to | string | Yes | Target type: "webhook" or "workflow" |
model_to_schedule_uuid | string | Yes | UUID of the webhook or workflow template to schedule (as per schedule_to) |
initial_context_template | object | No | Key-value pairs passed as {{ initial.key }} variables to the webhook/workflow |
Example response
Response fields
| Field | Type | Description |
|---|---|---|
success | boolean | Indicates if the schedule was created successfully |
details | string | Success message |
Cron Expression Format
Cron expressions use the standard 5-field format:Common Cron Examples
| Expression | Description |
|---|---|
0 0 * * * | Every day at midnight |
0 9 * * 1-5 | Every weekday at 9 AM |
0 */6 * * * | Every 6 hours |
0 0 1 * * | First day of every month at midnight |
0 0 1,15 * * | 1st and 15th of every month at midnight |
0 9 * * 0 | Every Sunday at 9 AM |
*/15 * * * * | Every 15 minutes |
0 0-23/2 * * * | Every 2 hours |
Timezone Support
HookPulse supports all 500+ IANA timezones. Use the Get Timezone Options endpoint to get the complete list. Common timezones:America/New_York- Eastern TimeAmerica/Chicago- Central TimeAmerica/Los_Angeles- Pacific TimeEurope/London- GMT/BSTAsia/Kolkata- India Standard TimeUTC- Coordinated Universal Time
Initial Context Template
Theinitial_context_template object allows you to pass variables to your webhook or workflow that can be accessed using {{ initial.key }} syntax:
- In request body:
{{ initial.key }}will be replaced with the value - In headers:
{{ initial.key }}can be used in header values - In query params:
{{ initial.key }}can be used in query parameters - In path:
{{ initial.key }}can be used in URL paths
- System secrets:
{{ #secret_key }}for vault secrets - Workflow step responses:
{{ step.response.variable }}in workflows
Use Cases
- Daily Reports: Generate reports every day at 9 AM
- Weekly Maintenance: Run maintenance tasks every Sunday at 2 AM
- Monthly Billing: Process billing on the 1st of every month
- Business Hours: Execute during business hours only (with rules)
- Complex Patterns: Create sophisticated scheduling patterns
Examples
Daily at 9 AM (Business Days) - Recurring
Every Hour - Recurring
Monthly on 1st and 15th - Recurring
One-Time Execution at Specific Time
Related Documentation
- Scheduling Overview - Learn about all scheduling types and rules
- Get Timezone Options - Get list of available timezones
- Add Interval Schedule - Create interval-based schedules
Authorizations
API key for authentication. Get this from your dashboard by selecting a brand and going to API Keys section.
Brand UUID for authentication. Get this from your dashboard after adding a brand - it will be displayed in the UI.
Body
application/json
Cron schedule configuration
Standard cron expression (e.g., '0 0 * * *' for daily at midnight)
IANA timezone identifier
Target type: 'webhook' or 'workflow'
Available options:
webhook, workflow UUID of the webhook or workflow template to schedule
Key-value pairs passed as {{ initial.key }} variables to the webhook/workflow

