schedule_push_notification
Schedule one-time or recurring push notification campaigns for future delivery, or cancel a pending scheduled dispatch before it executes.
Instructions
Schedule a one-time or recurring push notification campaign for a future timestamp, or cancel an existing pending schedule. Use this tool for delayed or recurring broadcasts (daily, weekly, cron); do not use it for immediate sending (use send_push_notification instead). Prerequisite: call list_apps first to obtain app_id, or call get_campaign_analytics to find a cancel_campaign_id. Requires PUSHNOTIF_API_KEY; credits (1 per delivered device) are deducted only when the scheduled dispatch executes. Pass cancel_campaign_id ('cmp_sch_xxxx') to cancel a queued job, or pass app_id, title, body, and scheduled_for (ISO-8601) to create one. Returns JSON { ok, action, scheduled_campaign: { id, app_id, title, scheduled_for, recurrence_rule, status } }.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | Optional HTTPS destination URL opened on tap | |
| body | No | Notification body text (required when creating a schedule; 1 to 240 characters) | |
| title | No | Notification headline (required when creating a schedule; 1 to 100 characters) | |
| app_id | No | Target application ID in format app_xxxx (required when creating a schedule) | |
| scheduled_for | No | ISO-8601 execution timestamp (e.g., '2026-10-21T08:00:00+07:00') | |
| recurrence_rule | No | Recurrence pattern: 'once' (default), 'daily', 'twice_daily', 'weekly', 'monthly', 'every_30m', 'every_3h', 'every_6h', or a 5-field cron expression | |
| cancel_campaign_id | No | Optional scheduled campaign ID (format cmp_sch_xxxx from get_campaign_analytics) to cancel and delete before execution |