Skip to main content
All CollectionsIntegrations
Webhook Integrations
Webhook Integrations

Send custom Webhooks as a Signal Subscriber

Updated over a week ago

Using Webhook Subscribers is incredibly versatile: it allows you to integrate Avenue with any platform that accepts inbound Webhooks! Using Webhooks as a Subscriber will allow you to send a custom webhook every time a new Avenue Signal is created.

Setting up a Webhook Integration

Step 1. Go to Settings in the Navigation menu. Scroll all the way to Integrations, and click to add a new Integration

Step 2. From there, select Webhooks and click Continue.

Step 3. Define your Webhook integration. Provide the base URL for the webhook, and specify any headers. You can use these headers for any authorization tokens that your webhook would require.

You're all set! You can now reuse this webhook integration as a Avenue Subscriber.

Using Webhooks as Signal Subscribers

Setting up your Webhook Subscriber in Avenue

To use your Webhook Integration as a Signal Subscriber, select Webhook as the Notification Type, then select your existing webhook integration from the dropdown.

Expert tip. Check that your Webhook Integration works as expected by clicking on the "Send Test Signal" button on the right. You'll see a green success popup appear if your webhook sent successfully.

Receiving Avenue webhooks at your destination

We send webhooks in the following format:

{
"id": the id of the new signal
"workflow_id": the id of the workflow that triggered the signal
"title": the title of the signal
"body": the body of the signal
"data": the signal data
}

Note. You can use the signal and workflow ids to generate links to the monitors and signals.

  • create a link to the monitor: https://app.useavenue.com/monitors/{{workflow_id}}

  • create a link to the signal: https://app.useavenue.com/monitors/{{workflow_id}}/signal/{{id}}

Understanding the Signal data field

Depending on how you set up your monitor, the format of the data field will vary.

If you created an Event monitor:

  • If you selected for your Signal to aggregate row data, then the data will be an array containing each row of the Signal's data.

  • If you did not select to aggregate the Signal's row data, then the data field will contains an object representing the row data

If you create a Metric monitor:

  • The data field will be an object in the following format

    {
    "metric.threshold": workflow.metricThreshold,
    "metric.value": metricValue,
    "metric.comparisonOperator": workflow.metricComparisonOperator,
    }

Did this answer your question?