# Investigator alerts, webhooks, Copilot and API

Source: https://help.didit.me/investigations/investigator-alerts-and-integrations
Updated: 2026-10-23

Get alerts when a batch is ready, post them to Slack or Microsoft Teams, receive Investigator events by webhook, and drive it from Didit Copilot, MCP or API.

In **Investigator → Settings → Slack and Teams alerts**, paste the incoming-webhook
URL of a Slack or Microsoft Teams channel and press **Send test**. Subscribe your
webhook endpoints to the `investigator` events in **Webhooks**. Ask Didit Copilot
to open or accept a report: it always asks for your approval before it decides
anything.

> **Note:** These features are rolling out one by one and may not be switched on for your
> application yet. You can add a Slack or Teams channel before alerts are
> switched on: nothing is posted until they are.

## Batch ready notifications

When 5 or more high-confidence recommendations are waiting to be accepted, the Investigator tells your team by email and in the console, at most once every 4 hours, with a link that opens the queue on the batch. It goes to the people shown under **Who is told** in the setup's **Review and turn on** step. That list is read-only in the console: by default every member of your organization is told, and only members are ever told. Each person's notification preferences and quiet hours apply as usual.

## Slack and Teams alerts

Add one channel per application: paste the channel's incoming-webhook URL, press **Add channel**, then **Send test** to check that the message arrives. The URL must be an https link of a Slack or Microsoft Teams channel. It's stored encrypted and never shown again; press **Remove** to stop posting.

The channel gets a message when:

| Alert | When |
|---|---|
| **Batch ready to accept** | 5 or more high-confidence recommendations are waiting, at most every 4 hours |
| **Consistency drop** | A queue repeated its recommendation in less than 90% of re-runs |
| **Drift** | A queue drifted and its level was stepped down |

Alerts carry counts and links only, never a person's data.

## Webhook events

Your webhook endpoints can receive the Investigator's events, signed and retried like every other Didit webhook. Subscribe to them in **Webhooks**:

| Event | Sent when |
|---|---|
| `investigator.report.ready` | A report was written |
| `investigator.decision.automated` | The Investigator decided an item on its own |
| `investigator.decision.overridden` | A person took another action than the report's, or overrode an automated decision |
| `investigator.question.raised` | The Investigator asked your team about its policy |
| `investigator.automation.paused` | Automation was paused, by a person or at the monthly spending limit |
| `investigator.rfi.answered` | The person answered an information request |
| `investigator.rfi.overdue` | An information request passed its deadline unanswered |
| `investigator.decision.contested` | The person contested a decision |
| `investigator.drift.detected` | A queue drifted and stepped down a level |
| `investigator.sla.breached` | A report waited past its queue's service level |
| `investigator.qa.failed` | A decision a person took failed the QA review |
| `investigator.external.report.ready` | The report on an item sent from outside Didit is ready |

Events carry ids, the queue, the recommendation, the action and the provenance only, never a person's name, a reviewer's reason or a narrative. Verification and business verification status events also say who decided, in `decided_by`: `investigator` when it decided on its own, `human` when a person did. The payloads are in the [developer documentation](https://docs.didit.me). See also [webhook basics](https://help.didit.me/integration/webhooks-basics).

## Didit Copilot

Didit Copilot can work the Investigator for you: list the queue, open a report and explain it, answer a question, start a backtest or read the performance. When you ask it to accept, override or batch-accept, it shows an approval card with the exact action, and nothing is decided until you approve it. Decisions made this way are marked **via Copilot** in **Activity**. It can also add a note to an item and, once you approve it on the same kind of card, ask the Investigator to review the item again. It also reaches the other tabs: pausing automation, autonomy, settings, the policy and the SOP, and the checks it starts, each on the same kind of card. See [use Didit Copilot in the Investigator](https://help.didit.me/didit-copilot/copilot-in-the-investigator).

## MCP

The Didit MCP server gives your own AI assistant the same Investigator tools: the queue, reports, questions, backtests, the dashboard, performance and Activity, plus adding a note to an item and asking for a re-review. Accepting, overriding and batch-accepting are marked as destructive and refuse to run until your assistant confirms that you approved that exact action. Decisions made this way are marked **via MCP** in **Activity**. The tools act as you, with your role's permissions: deciding an item needs write access to it.

## Send items from outside Didit

If part of your review happens outside Didit, for example verifications from another provider or alerts from your own transaction monitoring, you can send those items to the Investigator by API. It reviews each one against your verification or transaction rules and writes a report you read by API or receive as the `investigator.external.report.ready` webhook. These items are never decided by Didit and are never billed. The developer documentation explains the format.

In the console, set the queue's **Source** filter to **External (API)** to see them under **External items**. Each item shows whether it's an **Identity** or a **Transaction** item, its status (**Queued**, **Reviewing**, **Reviewed** or **Failed**) or, once reviewed, its recommendation, what the other system flagged, and what your policy says with the rules it applied. Its report is a recommendation only, never a decision. **How to send items by API** opens the developer documentation.

## API

Everything on the Investigator pages is also available through the Investigator API, with an API key that has access to decisions (to read and decide items) or to applications (to change the setup). See the [developer documentation](https://docs.didit.me).
