Requirements
To successfully use Omni webhook deliveries, your webhook must return an HTTP200 status response upon delivery. A different status could cause delivery retries or failures.
Creating a webhook delivery
1. Create a webhook URL
Prior to using webhooks as a delivery destination, you’ll need to create a webhook URL for Omni to send requests to. For example, using Zapier’s webhook trigger in a Zap will create a webhook URL for you to use.If access to your webhook server is restricted, you’ll need to whitelist Omni’s IP addresses to ensure deliveries are successful.Omni’s IP addresses can be found on any database connection’s page, accessed by navigating to Settings > Connections and clicking a connection. All IP addresses on this page must be included in the allowlist.
2. Configure delivery settings
- Navigate to a published dashboard.
- Click File > Deliveries & Alerts. The delivery options will display on the left side of the page.
-
Fill in the following:
- Delivery - Select Schedule or Alert.
- Send -
- Destination - Select .
- Name - Enter a name for the delivery.
3. Configure the delivery schedule
In this step, you’ll define the cadence for the delivery:- For schedules, this determines when Omni will deliver the specified content to the destination
- For alerts, this tells Omni when to check if the current query results meet the conditions required to send the delivery
Visual schedule builder
Easy point-and-click schedule builder
Visual schedule builder
Easy point-and-click schedule builder
Use the UI options (Daily, Weekly, etc.) to select a time period.By default, schedules are set to send in the local timezone of the delivery creator’s computer. Use the Times are in drop down to change the timezone.
Custom cron schedule (Advanced)
Code-based granular timing control
Custom cron schedule (Advanced)
Code-based granular timing control
A cron expression is a string that describes the individual details of a schedule:
Using cron, you can create schedules like the following:Omni uses Amazon Web Services’ (AWS) syntax for cron expressions. Refer to the AWS documentation for more information. By default, the most frequent you can configure a schedule is hourly.
| Order | Unit | Allowed values | Allowed special characters |
|---|---|---|---|
| 1 | minute | 0-59 | * , - / |
| 2 | hour | 0-23 | * , - / |
| 3 | day of month | 1-31 | * , - / L W ? |
| 4 | month | 1-12 or JAN-DEC | * , - / |
| 5 | day of week | 1-7 or SUN-SAT | * , - / L W ? |
| 6 | year | any | * , - / |
At 9:00 AM every day
At 6:30AM on the last day of the month
At 8:45 AM every day, Monday through Friday
4. Select format and filter options
In the Dashboard or Chart tab, you can:- Select the format of the content, such as PNG, PDF, XLSX, or CSV
- Lightly customize the contents and layout, such as expanding tables to include up to 1,000 rows, hiding filter values, or arranging tiles in a single column.
- Set filter or control values for the delivery. Some formats will have additional customization options. PDF formats, for example, will allow you to specify the orientation and page size for the PDF.
5. Configure webhook settings
The last step is to configure the webhook settings. Click the Webhook tab and fill in the following:- URL - Enter the webhook URL you created in Step 1 of this guide.
- File Name (Without extension) - Optionally specify a file name for the delivery, leaving out a file extension like
.png. Mustache references are supported.
6. Test the delivery
If you want to test the delivery before saving, click the Test Now button in the bottom left corner of the page. This will send the dashboard/chart to the destination using the current settings. For example, using Test Now would send the delivery to all Recipients.The Test Now button will be unavailable for alerts if the Condition type is
Results have changed or Results have stayed the same. A workaround is to use the Send Now option to manually trigger the delivery, which is available once the delivery has been saved.Save the alert and then click the icon to display the Send Now option. This will initiate a check on the alert condition - if the condition isn’t met, the delivery will show as successful but not send anything.7. Save the delivery
When finished, click Save to create the delivery.Request formats
The type of delivery Omni sends determines the format the request body will take:Link-only
Omni will send aPOST request with a JSON object in the body that contains:
Webhook delivery request body
All file formats
Omni will send aPOST request with the file content directly in the body using streaming delivery:
- Headers:
Content-Type- Appropriate MIME type (text/csv,application/json,application/pdf,image/png, etc.)Content-Length- Size of the file in bytes (when available)X-Filename- Original filename for reference
- Body: Raw file content streamed directly
For dashboard deliveries with multiple queries, CSV content will be delivered as a ZIP file with
Content-Type: application/zip.