Documentation is a work in progress.

Webhooks

Send event data to external services—Slack, Discord, Zapier, or your own endpoints. Webhooks let your automations communicate with the outside world.

Setting up webhooks

Configure webhooks in your account settings. Each webhook has:

  • Name — a friendly identifier you'll use in your code (e.g., slack, discord)
  • URL — the endpoint that receives the POST request
  • Headers — optional HTTP headers (e.g., for authentication)

Using webhooks in code

Call webhooks from your automation code using context.webhooks:

// Send a simple message to Slack context.webhooks.slack.post({ text: "Buy Box lost on " + event.asin }); // Send structured data to your own endpoint const buyBoxPrice = event.Payload.AnyOfferChangedNotification.Summary.BuyBoxPrices[0].ListingPrice.Amount; context.webhooks.analytics.post({ event: event.type, asin: event.asin, price: buyBoxPrice, timestamp: event.timestamp });    

Common integrations

Slack

Use a Slack Incoming Webhook URL. The payload should include a text field:

// buyBoxPrice is a decimal number in the marketplace's major currency unit, as Amazon sent it
const buyBoxPrice = event.Payload.AnyOfferChangedNotification.Summary.BuyBoxPrices[0].ListingPrice.Amount;
context.webhooks.slack.post({ text: "🏆 Won Buy Box on " + event.asin + " at $" + buyBoxPrice });

Discord

Use a Discord Webhook URL. The payload should include a content field:

context.webhooks.discord.post({ content: "Price changed on " + event.asin });

Zapier

Use a Zapier Webhook (Catch Hook) URL. Send any JSON payload—Zapier will parse it automatically.

Error handling

Webhook delivery is asynchronous — your automation does not wait for the endpoint to respond. Transient failures (timeouts, 429, and 5xx responses) are retried automatically; permanent 4xx responses are not. See Reliability, testing, and logs below for retry details and the activity log.

Reliability, testing, and logs

  • Automatic retries — failed deliveries (timeouts, 429, and 5xx responses) retry with exponential backoff, up to 5 attempts. Each attempt carries a stable X-Pulsify-Delivery-Id header so your endpoint can dedupe repeats. Permanent 4xx responses are not retried.
  • Send test — each webhook's page has a "Send test" button that delivers a sample payload immediately, so you can verify your setup before wiring it into an automation.
  • Activity log — the "Logs" link on each webhook shows every delivery: status, response, and any error, newest first.