Scheduled Sends: Fire a Webhook at a Specific Time
Schedule a one-time webhook delivery for a specific date and time. Set the URL, payload, and schedule -- Hookbase handles the rest with retries and status tracking.
Webhooks on Your Schedule
Cron jobs are great for recurring tasks, but sometimes you just need to send a single webhook at a specific time. A deployment notification at 2 AM. A batch processing trigger next Tuesday. A reminder payload to an external system 24 hours from now.
Scheduled Sends lets you define a one-time webhook delivery for any future date and time. No cron expressions, no recurring schedules -- just pick when, and Hookbase fires it.
Creating a Scheduled Send
Navigate to Tools > Cron and switch to the Scheduled Sends tab. Click New Scheduled Send and fill in:
- Name -- A label for your reference (e.g., "Deploy notification" or "Batch trigger")
- URL -- The target endpoint
- Method -- GET, POST, PUT, PATCH, or DELETE
- Headers -- Custom headers as JSON (e.g.,
{"Authorization": "Bearer token123", "Content-Type": "application/json"}) - Payload -- The request body (JSON, form data, or raw text)
- Date -- Pick from a calendar
- Time -- Set the hour and minute
- Timezone -- Select your timezone (defaults to UTC)
Click Create and your send is queued.
Reliable Execution
Scheduled sends run on the same infrastructure that powers Hookbase's cron jobs -- checked every minute, processed through Cloudflare Queues for reliability.
When the scheduled time arrives:
- The send is picked up and marked as Sending
- Hookbase makes the HTTP request to your target URL
- Response status, body, and latency are recorded
- On failure, it retries up to 3 times with exponential backoff
If all retries are exhausted, the send is marked as Failed with the error details preserved for debugging.
Actions
- Send Now -- Do not want to wait? Trigger any pending send immediately
- Cancel -- Abort a pending send before it fires
- View Details -- See the full response status, body, and latency after execution
Status Tracking
Every scheduled send shows a clear status:
| Status | Meaning | |--------|---------| | Pending | Waiting for the scheduled time | | Sending | Currently being executed | | Sent | Successfully delivered | | Failed | All retry attempts exhausted | | Cancelled | Manually cancelled |
Sent and failed statuses include the HTTP response code, response body, and round-trip latency so you can verify delivery or diagnose issues.
Use Cases
- Deployment triggers -- Schedule a webhook to kick off a build or deployment at a specific maintenance window
- Batch processing -- Trigger data processing jobs at off-peak hours
- Reminders and notifications -- Send reminder payloads to Slack, email services, or internal tools
- Testing -- Schedule a test webhook to verify your endpoint handles requests correctly at specific times
- Delayed actions -- Queue up an action that should happen after a specific event (e.g., send a follow-up 24 hours after signup)
Getting Started
Go to Tools > Cron in your dashboard, switch to the Scheduled Sends tab, and create your first scheduled send. It works on all plans.