Skip to main content

Webhooks

If you want to customize your Omni deliveries, webhooks may be a good fit. While you can specify some things - like the email sender for email deliveries or the channel message for Slack deliveries - webhooks give you the ability to create context-specific workflows.

For example, you could use a platform like Zapier to catch Omni webhooks and:

  • Perform different actions based on data values, such as those for CSV-formatted deliveries
  • Schedule data exports to Google Sheets

Requirements

To successfully use Omni webhook deliveries, your webhook must return an HTTP 200 status response upon delivery. A different status could cause delivery retries or failures.

Setup

Prior to using webhooks as a delivery destination, you'll need to create a webhook URL for Omni to send requests to. Refer to the Guides section for app-specific walkthroughs.

To create a webhook delivery in Omni, refer to the Creating deliveries guide for instructions.

Request formats

The type of delivery Omni sends determines the format the request body will take:

Omni will send a POST request with a JSON object in the body that contains:

{
"url": "<dashboard_url>"
}

Text-based Formats (CSV, JSON)

Omni will send a POST request with the content directly in the body and appropriate Content-Type headers:

  • CSV: Content-Type: text/csv
  • JSON: Content-Type: application/json

Note: For dashboard deliveries with multiple queries, CSV content will be delivered as a ZIP file using the binary format below.

Binary Formats (XLSX, PDF, PNG, ZIP)

Omni will send a POST request using FormData with the file content. The request will include:

  • Content-Type: multipart/form-data
  • File data with appropriate MIME type for each format

Guides