> For the complete documentation index, see [llms.txt](https://docs.informationhub.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.informationhub.io/project/analytics/notification-hooks.md).

# Notification Hooks

A notification hook is an **alert** that watches one of your saved Metabase questions and notifies the people you choose whenever a condition is met - for example, when overdue items appear in your data or a value crosses a target. Notifications can be sent by email, push, or both.

Notification hooks live on the project's **Analytics** page, in the **Notification Hooks** card.

## Before you start

You need a **saved question** in your project's Metabase workspace to watch. A hook watches a question, not a dashboard. Open Metabase from the Analytics page, build and save the question you want to monitor, and note its URL (it will look like `.../question/41-group-by-family`).

## The Notification Hooks card

The card lists every hook in your project. Each hook shows its name (or the question ID if you did not name it) and a summary of how it is set up: the channel, the condition, how often it is checked, and the number of recipients.

* Click the **eye** icon on a hook to view its full configuration.
* Click the **trash** icon to delete a hook.
* Click **New Hook** to create one.

If there are no hooks yet, the card shows **No notification hooks yet**.

## Create a notification hook

1. On the Analytics page, click **New Hook** in the Notification Hooks card.
2. Fill in the form:
   * **Metabase question URL or ID** - paste the full question URL (for example `.../question/41-group-by-family`) or just the numeric ID (for example `41`). Only question links work here; dashboard links are not accepted.
   * **Name (optional)** - a short label so you can recognise the hook in the list, such as "Overdue items alert".
   * **Recipients** - the email addresses to notify. Enter as many as you like, separated by commas, spaces, or new lines.
   * **Email** / **Push** - choose how the notification is delivered. Email is on by default. You must pick at least one channel.
   * **Message** - the text recipients see when the alert fires (optional).
   * **Alert condition** - what triggers the notification (see below).
   * **Check frequency** - how often Metabase re-runs the question to check the condition.
3. Click **Create Hook**. The new hook appears at the top of the Notification Hooks list.

### Alert conditions

| Condition                | When it fires                                                                                                  |
| ------------------------ | -------------------------------------------------------------------------------------------------------------- |
| **Has results**          | Whenever the question returns at least one row - for example, when overdue items show up. This is the default. |
| **Goal reached (above)** | When the result rises above the goal line set on the question in Metabase.                                     |
| **Goal reached (below)** | When the result drops below the question's goal line.                                                          |

{% hint style="info" %}
The two **Goal reached** conditions only work if you have set a goal on the question inside Metabase. If the question has no goal, use **Has results**.
{% endhint %}

### Check frequency

Choose how often the question is re-run to check the condition: **Every minute**, **Every 5 minutes**, **Every 15 minutes** (the default), **Hourly**, or **Daily**. More frequent checks notify you sooner but query your data more often.

{% hint style="info" %}
**Push** notifications only reach recipients who have an Information Hub account - other addresses are skipped. **Email** is sent to every recipient regardless of whether they have an account.
{% endhint %}

## View or delete a hook

* **View** - click the eye icon on a hook to see its name, question ID, channels, condition, check frequency, recipients, and message in a read-only panel.
* **Delete** - click the trash icon to remove the hook. It stops firing immediately.
