Introducing powerful enhancements to webhooks

January 10, 2024

This week, we're kicking off a major enhancement to our virtual webhooks. We've made it easier for you to retrieve historical customer data, significantly reduced development complexity, increased the observability of your webhooks, and given you more control over the customer data you access.

What are webhooks and how do they impact synchronization?

A webhook, also known as a web callback or push API, enables a server to instantly notify another server about specific events, such as an update to a candidate in an ATS or new deal creation in a CRM. This mechanism sends updates from the data server to your app whenever new data is available.

Not all software vendors support webhooks. So instead of having to support a mix of webhooks and polled API requests, Unified.to has standarized this through virtual webhooks. Our system mimics real webhooks for all integrations, so developers don't have to handle both polled and pushed data updates.

Use webhooks over traditional REST APIs in scenarios where timely, event-driven notifications are necessary. For example, webhooks can automate system notifications for invoice status changes in an invoicing app, eliminating the need for manual polling. Webhooks simplify your synchronization strategy by delivering up-to-date data directly to your app.

Summary of Unified.to's webhook enhancements

With Unified.to's webhooks, you can:

  • Pull historical data from integrations
  • Create separate webhooks for ‘created' or ‘updated' events
  • Select which fields you receive data from
  • Adjust the intervals for virtual webhook data checks (subject to plan limitations)
  • Manually trigger virtual webhooks to run immediately for testing purposes
  • Observe an audit trail of webhook activity
  • Monitor the health of your webhooks

Here's a breakdown of the new capabilities:

1. Webhooks for reading historical data

We're excited to share that you can now leverage our webhooks to read historical data. This major change means you no longer have to call our API to initially request historical (or existing) third-party customer data. All you have to do is build support for Unified.to's webhooks and make a minor change when you create a webhook (by adding the "include_all" parameter).

This is a massive reduction in complexity. For example, you can load all CRM companies and monitor for new ones. Our webhooks handle advanced data pulling mechanisms, including pagination, rate limits, and error handling with back-off and retry strategies.

2. Webhooks for created or updated events

Unified.to users can now create separate webhooks for createdand updated events. This change simplifies data pulling and enhances observability, as events in API call logs and webhook audit trails (more on this below) specifically relate to created and updated events.

3. Field selection for webhook payloads

Similar to our unified APIs, you can specify which fields you want to include in the webhook payload. By default, we include all fields except the raw field. You can pass a comma-separated list of fields to include a subset in the payload.

4. Configurable intervals for webhooks

For any of Unified.to's paid plans, you can set the interval for virtual webhooks to check for new data:.

  • The minimum interval on a free tester account is 60 minutes
  • Paid accounts have more flexibility, allowing intervals as frequent as every minute

More interval flexibility enables you to tailor the data-checking frequencies based on your SaaS pricing model and user experience goals. Please note this only applies to virtual webhooks.

5. Manual trigger for testing

You can manually trigger virtual webhooks to run immediately and bypass the regular interval wait time. This feature ensures a more efficient testing process. You can get started with our free tester account.

6. Audit trail for webhooks

Webhooks now come with a lightweight audit trail, providing Unified.to users with a quick overview of webhook activity and other relevant information, such as how many results we sent to your server. You can access this information by clicking View for the corresponding webhook and navigating to the Information tab, where we list recent runs.

7. Webhook health monitoring

Unified.to not only tracks webhook activity but also ensures the health of your webhooks. In most cases, your webhooks will maintain a healthy status even in the presence of failures in the audit trail or errors in your API call logs thanks to our advanced retry logic. Our retry logic efficiently manages the complexities of reading and dispatching data reliably. An "unhealthy" webhook status is triggered in the event of unrecoverable errors (e.g., broken connection authentication) or when retries are exhausted due to your server's prolonged failure to respond successfully.

Pricing and availability

Webhooks are available on all Unified.to plans, with interval limitations (see #4 above) on our free tester account. Like the rest of the Unified.to platform, webhooks operate on a usage-based billing model. Each successful response received from the integration triggers a billable API call.

Here's a breakdown of billable and non-billable events:

Billable events

  • When a virtual webhook is executed (on schedule/interval or reading the next page of results) and reads a full page of results (e.g. 100 companies), which includes:
    • A successful dispatch to you with a successful response from your server, followed by reading the next page of results. 1 billable API call
    • An attempted dispatch without a successful response, triggering our back-off system to reschedule and try again later. 1 billable API call
  • When a virtual webhook is executed (on schedule/interval or reading the next page of results) and no more results are obtained. 1 billable API call

Non-billable events

  • Encountering a "retriable" error when reading data from an integration, such as hitting the rate limit. This is handled internally by rescheduling and retrying, and while an error log appears in your API calls log, it is non-billable.

If you want to use our webhooks, you can get started on a tester account. If you enjoy the experience after running a few tests, please get in touch on Discord or request a demo to learn more about our paid plans.