# Tool steps for on-call services and webhooks

> Send workflow notifications to subscriber-specific PagerDuty, Opsgenie, Grafana IRM/OnCall, or custom HTTP endpoints through a first-class Tool channel.

Canonical: https://website-new-git-getting-started-flow-experiment-novuhq.vercel.app/changelog/tool-steps-for-on-call-services-and-webhooks/

Markdown: https://website-new-git-getting-started-flow-experiment-novuhq.vercel.app/changelog/tool-steps-for-on-call-services-and-webhooks.md

Last updated: 2026-08-21T13:39:00.000Z

Send workflow notifications to subscriber-specific PagerDuty, Opsgenie, Grafana IRM/OnCall, or custom HTTP endpoints through a first-class Tool channel.

Published: 2026-08-21T13:39:00.000Z

Categories: Workflow Steps, Dashboard, New Feature

Tool is now a first-class channel in Novu workflows, alongside Email, SMS, Chat, and Push. Add a Tool step when a notification needs to create an on-call alert or reach an HTTP endpoint instead of a person-facing messaging channel.

The first Tool providers are PagerDuty, Opsgenie, Grafana, and Tool Webhook.

## **Route alerts to each subscriber's on-call service**

PagerDuty, Opsgenie, and Grafana use subscriber-specific channel endpoints. Each subscriber can connect a PagerDuty service, an Opsgenie account or team, or a Grafana IRM/OnCall stack. A single workflow then resolves the matching destination for each subscriber at delivery time.

This supports products whose customers need alerts delivered to their own on-call systems. Your application collects the destination credential or webhook URL and registers it through the channel endpoints API. You do not need a separate provider integration or routing implementation for every customer.

If a subscriber has no endpoint for the selected provider, Novu marks the Tool step as skipped for that subscriber. Other subscribers in the same trigger are unaffected.

## **Send to shared or customer-defined HTTP endpoints**

Tool Webhook covers destinations that do not have a native Tool provider. It supports two routing modes:

- **Static:** Configure one shared endpoint on the integration. Every delivery goes to that URL.

- **Dynamic:** Register one or more `tool_webhook` endpoints for each subscriber. Novu sends the Tool step to every endpoint registered for that subscriber.

Dynamic endpoints can define their own URL, headers, and `POST`, `PUT`, or `PATCH` method. This gives each subscriber control over where their notifications go without hardcoding those destinations in your workflow.

## **Shape, sign, and inspect webhook deliveries**

Tool Webhook lets you configure the outbound JSON without replacing the content authored in the workflow. Novu builds the request from the integration-level JSON body, the rendered Tool step content, and step overrides. The rendered step content is always sent as `content` and wins if the integration body defines the same key.

You can set a signing secret to add an HMAC-SHA256 digest in the `X-Novu-Signature` header. The receiving server can verify the signature against the raw request body before processing the delivery.

Novu handles delivery retries and records the result in Activity, so you can inspect the workflow run, delivery status, and attempts without maintaining a separate webhook delivery system.

To use the new channel:

1. In the Integrations Store, select **Connect Provider**, open the **Tool** tab, and choose a provider.

1. Add a Tool step to a workflow and write its content with the same Liquid variables available to other workflow steps.

1. For subscriber-specific routing, register each destination through the channel endpoints API from your backend.

1. Trigger the workflow as usual. Novu resolves the destination, delivers the Tool step, and records the result in Activity.

Read the setup guides for [PagerDuty](<https://docs.novu.co/platform/integrations/tool/pagerduty>), [Opsgenie](<https://docs.novu.co/platform/integrations/tool/opsgenie>), [Grafana](<https://docs.novu.co/platform/integrations/tool/grafana>), and [Tool Webhook](<https://docs.novu.co/platform/integrations/tool/webhook>).
