Webhook Scheduler
Log inStart free

Comparison, checked October 2026

Delayed webhook services compared.

To call a URL hours or days from now and cancel it if plans change, the dedicated services differ mainly on how far ahead they go and how they charge. Posthook’s docs allow up to 365 days ahead with no plan restriction stated, and QStash up to a year on pay as you go (7 days on Free). Webhook Scheduler goes to 7 days on Free and 365 on paid plans. Cronhooks is the cheapest paid plan and the only one here with recurring schedules. In Make, Sleep stops at 5 minutes; n8n’s Wait node documents no maximum.

API request
curl https://webhookscheduler.com/api/v1/schedule \
  -H "Authorization: Bearer wh_live_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://api.example.com/webhook",
    "body": { "event": "trial.ends" },
    "runAt": "YYYY-MM-DDT09:00:00.000Z"
  }'
01

Same question for each

Max delay, cancel, retries, logs, alerts, free tier and starting price, taken from each vendor’s own pricing or docs page.

02

Dated and sourced

Checked in October 2026, with every source linked below. A dash means the vendor’s pages do not say.

03

Written by one of the vendors

Webhook Scheduler wrote this page. We kept the wording neutral and point out where another option fits better.

At a glance

All four dedicated services (Webhook Scheduler, QStash, Cronhooks, Posthook) let you schedule a one-time HTTP call and cancel it through an API before it runs. They differ in three ways. How far ahead: QStash pay as you go and Posthook go to a year, Webhook Scheduler to 365 days on paid plans. How they charge: per message (QStash, retries included in the count), per hook scheduled (Posthook, retries not counted), per schedule (Cronhooks) or per webhook a month (Webhook Scheduler). And what you see after a failure.

Make and n8n are workflow tools rather than schedulers. Make’s Sleep module stops at 300 seconds, so longer waits need a Data Store and a second scenario that polls on a schedule. n8n’s Wait node pauses an execution and stores it in the database for waits over 65 seconds.

The comparison table

Delay, cancel and retries

Max delay, cancel and retries by service, checked October 2026
ServiceMax delayCancel before it runsRetries
Webhook Scheduler7 days on Free, 365 days on paid plansYes: API call or dashboard, by job id or referenceExponential backoff: 4 on Free, 10 on Pro, 14 on Scale
Upstash QStash7 days on Free, 1 year on pay as you goYes: DELETE a message by id3 by default, exponential backoff; each retry is billed as a message
Cronhooks—Yes: delete the schedule by API (pause and resume too)Retry count and fixed interval, on one-time schedules
Posthook365 days with postIn (no limit stated for postAt)Yes: DELETE a hook, plus bulk cancel3 fixed on Free; 5 to 15 with exponential backoff on paid plans; not billed
Make (Sleep, or Data Store + scheduled scenario)Sleep: 300 seconds. Data Store workaround: any date, checked at each scheduled runWorkaround: delete the Data Store record—
n8n (Wait node)No maximum documentedStop the waiting execution (API: POST /executions/{id}/stop); can also resume on a webhook call“Retry On Fail” per node

Logs, alerts and price

Logs, failure alerts, free tier and starting price by service, checked October 2026
ServiceLogsFailure alertsFree tierPaid from
Webhook SchedulerEvery attempt: status, response body, latency. Kept 7 / 30 / 90 daysEmail on final failure, long retries and recovery; flags other webhooks to the same failing URL100 webhooks a month$29/month (100,000 webhooks)
Upstash QStash3 days on Free, 7 on pay as you go, 14 on fixed plansFailure callback once retries are used up, then dead-letter queue1,000 messages a day$1 per 100,000 messages (pay as you go)
Cronhooks—Email on Free, email and Slack on paid plans5 schedules, one-time only$5/month (100 schedules, recurring included)
Posthook7 days on Free, 30 / 60 / 90 days on paid plansEmail on Free; Slack on paid; webhook alerts on Scale1,000 hooks a month$39/month (20,000 hooks)
Make (Sleep, or Data Store + scheduled scenario)Scenario run history—1,000 credits a month; scheduled runs at least 15 minutes apart—
n8n (Wait node)Execution history (7 days on Cloud Starter)—Cloud trial with 1,000 executions; self-hosted Community Edition€20/month billed annually (Cloud Starter, 2,500 executions)

Prices are the lowest paid plan listed on each vendor’s pricing page, before tax. Plans change: check the sources below before you decide.

Which one fits

Recurring jobs on a cron schedule: Cronhooks or QStash. Webhook Scheduler and Posthook focus on one-time calls.

High volume, pay per use, already on Upstash: QStash. Keep in mind that each retry counts as a message.

Delays longer than a few days on a free plan: Posthook’s docs state 365 days with no plan restriction. QStash Free and Webhook Scheduler Free stop at 7 days.

Make or n8n workflows that wait for days and must be cancelable: any of the four services works from an HTTP module. Our Make guide shows the native Data Store method and the HTTP method side by side, with what each costs in credits.

Leaving Pipedream’s delay step: see replacing $.flow.delay. Deeper one-to-one pages: QStash, Cronhooks, cron jobs.

Sources

FAQ

Which delayed webhook service has the longest delay?

QStash on pay as you go and Posthook (with postIn) both go up to a year. Webhook Scheduler goes to 365 days on paid plans. Posthook’s docs give that limit without a plan restriction; QStash Free and Webhook Scheduler Free stop at 7 days.

Which services let me cancel a scheduled webhook?

All four dedicated services: QStash and Posthook delete by id, Cronhooks deletes or pauses a schedule, and Webhook Scheduler cancels by job id or by your own reference. In Make you delete the Data Store record; in n8n you stop the waiting execution.

Are retries billed?

On QStash, yes: each retry counts as an additional message. Posthook counts only the hook you schedule. Webhook Scheduler counts the webhooks you schedule each month.

Can Make wait more than 5 minutes?

Not in one run: the Sleep module stops at 300 seconds. Make suggests splitting the flow into two scenarios, or you can have the first scenario schedule an HTTP call to the second one.

How current is this comparison?

Checked in October 2026 against each vendor’s own pricing and docs pages, linked in the Sources section. A dash means the vendor does not publish that detail.

Ship delayed webhooks without maintaining scheduling infrastructure.

Start with the free plan, test a real delivery, then upgrade when the workflow becomes production critical.

Try a live webhook