Skip to content

Webhook deliveries

If you want to customize your JustAsk deliveries, webhooks may be a good fit. They give you the ability to create context-specific workflows beyond what built-in destinations support.

For example, you could use a platform like Zapier to catch JustAsk webhooks and perform different actions based on data values, such as those for CSV-formatted deliveries.

To successfully use JustAsk webhook deliveries, you’ll need:

  • Your admin to enable the Webhook delivery destination
  • A webhook that returns an HTTP 200 status response upon delivery. A different status could cause delivery retries or failures.
  1. Create a webhook URL

    Prior to using webhooks as a delivery destination, you’ll need to create a webhook URL for JustAsk to send requests to. For example, using Zapier’s webhook trigger in a Zap will create a webhook URL for you to use.

  2. Configure the delivery settings
    1. Navigate to a published dashboard.
    2. Click File > Deliveries & Alerts. The delivery options will display on the left side of the page.
    3. Fill in the following:
      • Delivery — Select Schedule or Alert.
      • Send — Select the content to be delivered.
      • Destination — Select Webhook.
      • Name — Enter a name for the delivery.

    If creating an alert, use the Alert tab to define the conditions that must be met to trigger the delivery.

  3. Configure the delivery schedule

    In this step, you’ll define the cadence for the delivery:

    • For schedules, this determines when JustAsk will deliver the specified content to the destination
    • For alerts, this tells JustAsk when to check if the current query results meet the conditions required to send the delivery

    Schedules can be defined using the visual options or with cron:

    Visual 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)

    A cron expression is a string that describes the individual details of a schedule:

    OrderUnitAllowed
    values
    Allowed
    special
    characters
    1minute0-59* , - /
    2hour0-23* , - /
    3day of month1-31* , - / L W ?
    4month1-12 or JAN-DEC* , - /
    5day of week1-7 or SUN-SAT* , - / L W ?

    Using cron, you can create schedules like the following:

    At 9:00 AM every day
    0 9 ? * * *
    At 6:30AM on the last day of the month
    30 6 L * ? *
    At 8:45 AM every day, Monday through Friday
    45 8 ? * MON-FRI *

    JustAsk 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.

  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.

    • Select the page(s) to include in the dashboard delivery. This is applicable only to advanced layouts with multiple pages.

      Note: PNGs can only include one page. You’ll need to create multiple deliveries to output a PNG for each page.

    • Override the query timezone for the delivery using the timezone picker. The picker label changes based on whether Personalize delivery with recipient user attributes is enabled (Recipient’s timezone when enabled, Default timezone when disabled).

      This setting affects the content of queries included in the delivery, not the timing of the delivery itself. Use the Schedule tab to define when content should be delivered.

    • 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.

      For dashboard deliveries, the default filters and controls will automatically be applied upon creation. Subsequent default filter value updates will not change the filter values set for existing deliveries.

  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.

  7. Save the delivery

    When finished, click Save to create the delivery.

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

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

Webhook delivery request body
{
"url": "<dashboard_url>"
}

JustAsk will send a POST 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