Skip to main content
This guide covers best practices for event monitor configuration, webhook implementation, and performance optimization.
Encountering issues? See Troubleshoot event monitors for solutions to common problems.

Choose appropriate schedules

Match schedule frequency to your data needs and budget. Each scheduled run creates a billable job.
Minimum default interval: 24 hours. Schedules more frequent depends on your subscription plan.

Schedule formats

Define schedules in natural language with explicit timezone.
  • "every day at 12 PM UTC"
  • "every day at 9 AM EST"
Common cron patterns:

Testing procedure

Test your schedule format before production use.
1

Create test event monitor

Create an event monitor with your desired schedule (e.g., "every day at 3 PM UTC")
2

Wait for execution

Wait for the scheduled time to pass.
3

Verify cron expression

Check the cron_expression field:
4

Create production event monitor

If correct, create your production event monitor. If incorrect, adjust the schedule format.

Implement robust webhooks

Configure webhook endpoints to handle notifications reliably.

Endpoint requirements

Your webhook endpoint must:
  1. Return 2xx status code within 5 seconds.
  2. Be publicly accessible (not localhost or private network).
  3. Use HTTPS (not HTTP).
  4. Handle POST requests with JSON body.

Quick implementation

Return 200 immediately and process asynchronously to avoid timeouts:
If webhooks aren’t firing, see Troubleshoot: Webhook not firing.

Update event monitor configuration

Update webhook assignments or the record limit for an existing event monitor without recreating it.

When to update

Update an event monitor when you need to:
  • Change which webhooks receive notifications
  • Clear all webhook assignments
  • Adjust the maximum records per run
Schedule and reference job cannot be modified. To change the query or schedule, create a new event monitor.

Update procedure

1

Get the webhook ID

If you don’t have the webhook ID, list your webhooks:
2

Send update request

To clear all webhook assignments, pass an empty array: "webhook_ids": [].
3

Verify update

List your event monitors to confirm the change took effect:
Updates take effect immediately. The next scheduled execution uses the new configuration.

See also