Webhook - Integrate with external apps

Webhooks enable powerful automation by connecting Distill to external applications and services. When a monitored page changes, Distill can automatically trigger actions in your other tools, creating seamless workflows that respond to web changes in real-time.

What are Webhooks?

Webhooks are user-defined HTTP callbacks that trigger automatically when specific events occur. In Distill’s context, webhooks fire when a monitored website changes, sending data about that change to any external service you specify.

Common use cases:

  • Send change notifications to project management tools (Asana, Jira, Trello)
  • Log changes to databases or spreadsheets
  • Trigger custom automation workflows via Zapier, Make, or n8n
  • Update CRM records when competitor pages change
  • Notify team channels beyond standard integrations
  • Feed data into analytics or reporting systems

When you configure a webhook action in Distill, the system sends POST requests containing monitor data to your specified webhook URL whenever a change is detected.


Setting Up Webhook Actions in Distill

Webhook actions are available to paid subscribers only and can be configured for any monitor in your Watchlist.

Step-by-Step Configuration

1. Access the monitor options

Navigate to the Options page by clicking the down caret icon (▼) on your monitor and selecting Options from the context menu.

context menu for options page

2. Add webhook action

In the Actions section, select Webhook call from the available actions list. Paste your webhook URL into the designated field.

3. Configure webhook parameters

Click Show Options below the webhook URL field to expand the parameter configuration panel. Here you can define what data to send with each POST request.

option for webhook parameters

4. Configure custom headers (optional)

Click on Header under the webhook section to add custom HTTP headers if required by your receiving endpoint. This is useful for authentication tokens or API keys.

5. Save your configuration

Click Save to activate the webhook action. Distill will now send POST requests to your webhook URL each time this monitor detects a change.


Available Webhook Parameters

Distill provides dynamic variables that populate with monitor data when changes are detected. Use these parameters to customize the information sent to your webhook endpoint.

Core Parameters

Parameter Description Example Output
{{sieve.id}} Unique identifier of the monitor m_abc123xyz
{{sieve.name}} Display name of the monitor Product Price Tracker
{{sieve.tags}} Labels assigned to the monitor Pricing, Competitor
{{sieve.uri}} URL being monitored https://example.com/product
{{sieve_data.text}} Current text content of monitored element $49.99
{{sieve_data.ts}} Timestamp when change was detected 2024-08-23T14:30:00Z
{{sieve_data.data}} Raw HTML data of the monitored section <div class="price">$49.99</div>

Note: The {{sieve.tags}} parameter only works with cloud-based monitors, not local browser extension monitors.

Combining Parameters

You can combine multiple parameters in a single field to create formatted messages:

Example parameter combination:

{{sieve.name}} - {{sieve.uri}} - {{sieve_data.text}}

Resulting output:

Product Price Tracker - https://example.com/product - $49.99

Default Webhook Configuration

When you first add a webhook, Distill provides default parameter fields. You can customize these or add additional parameters by clicking Add Query Param.

webhook-fields


Testing Your Webhook

Before relying on webhooks for critical workflows, verify they’re working correctly with this testing process.

Quick Test Procedure

1. Create a test monitor

Set up a monitor for a page that changes frequently, such as https://www.timeanddate.com/ (select the current time element using Visual Selector).

2. Add a webhook testing URL

Use a webhook testing service like webhook.site to get a temporary webhook URL. This service displays incoming POST requests in real-time, letting you inspect the data Distill sends.

Configure the webhook action on your test monitor using this testing URL.

3. Trigger a manual check

In your Watchlist, locate the test monitor and click the Run button to force an immediate check.

manual-check-button

4. Verify the POST data

Open your webhook testing page (webhook.site URL) to view the incoming POST request. The URL format is https://webhook.site/#!/[your-unique-id].

Review the payload to confirm all expected parameters are present and formatted correctly.

webhook-post-data-format


Troubleshooting Webhook Issues

If your webhooks aren’t triggering or working as expected, check these common issues:

1. Webhook URL Accessibility

Problem: The webhook URL cannot be reached by Distill’s servers.

Solution: Ensure your webhook endpoint is publicly accessible on the internet. Localhost URLs or private network addresses won’t work with cloud monitors. If you’re using local monitors, ensure your firewall isn’t blocking the requests.

2. Subscription Status

Problem: Webhooks are not available on your plan.

Solution: Webhook actions require a paid subscription. Verify your plan status at https://accounts.distill.io/account/#/plans/.

3. Usage Quota Exceeded

Problem: You’ve reached your monthly webhook limit.

Solution: Check your current usage at https://monitor.distill.io/#/usage/monthly. Consider upgrading your plan if you regularly hit this limit, or optimize by reducing webhook calls on high-frequency monitors.

4. Authentication Requirements

Problem: Your webhook endpoint requires authentication that isn’t configured.

Solution: Use the Header section in webhook settings to add authentication tokens, API keys, or other required headers.

5. Testing with External Tools

For advanced troubleshooting, use tools like Postman to manually send test POST requests to your webhook URL. This helps isolate whether the issue is with Distill’s configuration or your receiving endpoint.

Was this article helpful? Leave a feedback here.