Webhooks vs polling for AI workflows: choose the trigger
A webhook notifies your system when an event occurs. Polling checks another system periodically for changes.

A webhook notifies your system when an event occurs. Polling checks another system periodically for changes. Choose based on the provider's support, required response time and recovery needs. Both approaches need deduplication and a record of what has already been processed.
Define the event precisely
Imagine a workflow that prepares an onboarding checklist when a deal becomes won. A generic customer updated event may fire many times for unrelated edits. Check the relevant state transition instead of treating every update as a new onboarding request.
Record the source event ID where available and associate it with the resulting task. This helps distinguish a repeated notification from a new business event.
Compare the failure cases
- Webhook delivery can be repeated, delayed or arrive out of order.
- Polling can miss changes if its cursor or time window is wrong.
- Either route can encounter a provider outage or revoked access.
- A task can fail after the event has been accepted.
- Recovery needs a clear checkpoint and reconciliation procedure.
Verify webhook authenticity using the provider's documented mechanism. A public endpoint should not create work merely because an incoming payload looks plausible.
Design the processing boundary
Accept the event durably before doing slow model work. Then process it with a recorded status and retry policy appropriate to the action. Keep event receipt separate from workflow completion.
For polling, save a cursor or watermark only according to the source's semantics. If the query fails, do not advance the checkpoint as though the interval was empty.
Test ordinary disorder
Send the same synthetic event twice, reverse two updates and interrupt processing halfway through. Check that the system creates the intended task once and retains enough state to recover. A trigger that works only when events arrive perfectly is not yet an operational workflow.
Be Human editorial guidance. Examples are illustrative unless explicitly attributed. Sources provide background; implementation choices depend on your workflow.