> For the complete documentation index, see [llms.txt](https://docs.birdie.so/birdie-docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.birdie.so/birdie-docs/helpdesk/fin-fka-intercom/flows/fin-ai-agent.md).

# FIN AI Agent

Using Birdie with Fin AI Agent

Birdie can help at different stages of a Fin conversation, from collecting a screen recording to giving your support team richer context or letting Fin attempt to resolve the issue.

{% hint style="info" %}
**Choose how far you want Birdie to go**

**1. Collect** → Get the customer's screen recording

**2. Enrich** → Give your support team the recording + Birdie context

**3. Resolve** → Let Fin use that context to attempt a resolution
{% endhint %}

## 1. Collect a recording for your support team

Use this when you simply want the customer to show your support team what they're experiencing.

<figure><img src="https://3843507234-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FECPgvsGwy5oMz4WIZw3a%2Fuploads%2F1UpcWKzgistmjQGaOji4%2FScreenshot%202026-10-02%20at%2010.52.04.png?alt=media&#x26;token=3603a346-58de-464e-92aa-0f2c7d57898b" alt=""><figcaption></figcaption></figure>

### Set it up

**1. Create a Reusable Workflow**

{% hint style="info" %}
Using a Reusable Workflow means you only need to configure Birdie once. You can then call it from anywhere in your existing Intercom Workflows.
{% endhint %}

**2. Ask the customer to record**

Add a message step:

> Could you show us the issue by recording your screen? Click the button below to start. This will help us give you a faster, more accurate answer.

**3. Add the Birdie app**

Select **Send an app** and choose **Birdie**

**4. Wait for the recording**

Add a **Wait for webhook** step and name it **`Birdie received`**.

In **Example request**, replace the object inside `data` with:

```json
{
  "event": "intercom.video.incoming.received",
  "video_url": "https://share.birdie.so/i/xxxxxxxx"
}
```

Save the step, then click **Copy** on the webhook URL.

In Birdie, go to [**Fin AI Agent setup**](https://app.birdie.so/settings/integrations#intercom) **→ Recording received**, paste the webhook URL, and click **Save**.

**5. Confirm receipt**

Add a message step:

> Thanks, we've received your recording.

**6. Use it in your existing Workflows**

Add **Pass to reusable workflow** anywhere you want to request a Birdie recording in your existing Workflows, and select **Request a Birdie recording**

<figure><img src="https://3843507234-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FECPgvsGwy5oMz4WIZw3a%2Fuploads%2FWt0Lm0yw4VAV3X85tROj%2FScreenshot%202026-10-02%20at%2010.41.49.png?alt=media&#x26;token=558daaad-89f9-4820-b9ea-7e07d15a74e4" alt=""><figcaption></figcaption></figure>

Once the Reusable Workflow finishes, the conversation returns to your existing Workflow. You can then assign it to your support team, continue your existing routing, or add further automation.

<details>

<summary><strong>Want Fin to decide when to request a recording?</strong></summary>

You can also use **Fin Guidance** to let Fin decide when a screen recording would help, and instruct Fin to share your Birdie Universal Request Link with the customer.

This could work when you want the recording request to happen dynamically based on the conversation.

<figure><img src="https://3843507234-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FECPgvsGwy5oMz4WIZw3a%2Fuploads%2Ff9JsRJ97Hc0VbE0vIYnl%2FScreenshot%202026-10-02%20at%2011.31.09.png?alt=media&#x26;token=eee27f98-bb89-4a8e-bfe6-7ccbda0d5656" alt=""><figcaption></figcaption></figure>

When adding the Birdie link to your Guidance:

* 🟣 **Recording link** — Your Birdie Universal Request Link for Intercom.
* 🔵 **Email** — The customer's email, automatically populated by Intercom.
* 🟡 **Conversation ID** — The Intercom conversation ID, automatically populated by Intercom.
* 🟠 **`promptcp=0`** — Prevents customers from being asked to copy and paste their recording link back into the conversation. Birdie sends the recording back automatically.
* 🟢 **Workspace** — Your Fin workspace ID. In the example above, `awzqwki8`.

However, unlike the Reusable Workflow setup above, Guidance does not provide a built-in way to wait for the recording to be submitted and then continue the conversation or trigger a handoff.

If you need a deterministic flow after the recording is submitted, we recommend using the **Reusable Workflow** setup above.

</details>

## 2. Give your support team more context

Use this when you want your support team to receive the recording **with the issue already analyzed** before they take over.

Birdie can enrich a recording in two ways:

**AI Summary gives you a standardized analysis of the recording. Birdie MCP gives your AI agent the recording evidence so it can investigate with everything else it knows.**

<table data-header-hidden data-search="false"><thead><tr><th></th><th></th><th></th></tr></thead><tbody><tr><td></td><td><strong>AI Summary</strong></td><td><strong>Birdie MCP</strong></td></tr><tr><td><strong>How it works</strong></td><td>Your connected AI provider follows Birdie's analysis prompt</td><td>Your own AI agent investigates the recording through Birdie MCP</td></tr><tr><td><strong>Birdie context</strong></td><td>Frames, transcript, session and device metadata, console logs, network requests, user steps, and more</td><td>Frames, transcript, session and device metadata, console logs, network requests, user steps, and more</td></tr><tr><td><strong>Additional context</strong></td><td>Limited to what Birdie captured in the recording</td><td>Your AI agent can combine Birdie with your codebase, troubleshooting flows, internal docs, or other tools</td></tr><tr><td><strong>Output</strong></td><td>A consistent, ready-to-use issue summary</td><td>An analysis you define for your own use case</td></tr><tr><td><strong>Setup</strong></td><td>Simplest</td><td>More setup, much more flexible</td></tr><tr><td><strong>Best for</strong></td><td>Giving support agents strong context with minimal configuration</td><td>Deeper investigation tailored to your own support and engineering stack</td></tr></tbody></table>

{% hint style="info" %}
In both setups, the resulting analysis is written back into Intercom before the Reusable Workflow returns the conversation to your existing Workflow.
{% endhint %}

### Option A — AI Summary

**Start here if you want the simplest setup.**

Birdie AI Summary produces a ready-to-use explanation of the issue from everything Birdie captured, including the screen, transcript, user steps, session and device metadata, console logs, and network requests.

It tells your support team what happened, how to reproduce it, the likely cause when the evidence supports one, and the signals behind the conclusion.

Learn more about AI Summary

<details>

<summary><strong>1. Set up AI Summary</strong></summary>

**1. Create the Birdie Summary attribute**

The AI Summary is written into a conversation attribute in Intercom.

1. In Intercom, go to **Settings → Data → Conversations** and click **Create attribute**.
2. Name it exactly `Birdie Summary`, choose **Text**, and turn on **Multiline**.
3. Leave it visible to teammates so your support team can read it in the Inbox sidebar.
4. Save.

⚠ The name must match exactly. Birdie writes the completed summary into this attribute.

<figure><img src="https://3843507234-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FECPgvsGwy5oMz4WIZw3a%2Fuploads%2FUG6fXXgaMYgZAwaUkWRb%2FScreenshot%202026-09-26%20at%2007.33.26.png?alt=media&#x26;token=f1d2c2d1-e09e-4e93-9824-f46d33240420" alt=""><figcaption></figcaption></figure>

**What you should see:** `Birdie Summary` listed under Conversations data and available in the Inbox sidebar under Conversation attributes.

**2. Turn on AI Summary, if not already done**

In Birdie, go to [**Settings → Recordings → AI Summary**](https://app.birdie.so/settings/recordings) and enable **Automatic** for customer recordings.

</details>

<details>

<summary><strong>2. Set up the Workflow</strong></summary>

Start from the **Request a Birdie recording** Reusable Workflow created in [section 1](#id-1.-collect-a-recording-for-your-support-team).

<figure><img src="https://3843507234-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FECPgvsGwy5oMz4WIZw3a%2Fuploads%2F98PT6zS0niMtWqBPJnGl%2FScreenshot%202026-10-02%20at%2018.19.43.png?alt=media&#x26;token=b72e3977-30cd-49a4-a051-ace0b2696115" alt=""><figcaption></figcaption></figure>

**1. Confirm the recording was received**

Keep the **Birdie received** webhook from section 1.

Once Birdie posts the recording into the conversation, send a message that makes it clear the recording has arrived but is still being processed:

> Thanks, we've got your recording. We're analyzing it now, including the technical details. This can take a few minutes.

**2. Wait for the analysis**

Add a second **Wait for webhook** step and name it **Birdie analyzed**.

In **Example request**, use:

```json
{
  "event": "intercom.video.incoming.finalized",
  "ai_status": "ready"
}
```

Copy the webhook URL and paste it in Birdie under [**Fin AI Agent setup**](https://app.birdie.so/settings/integrations#intercom) **→ AI Summary ready**.

Birdie writes the completed AI Summary into `Birdie Summary` before releasing this webhook.

**3. Tell the customer the analysis is ready**

Add a message step before assigning the conversation:

> Thanks, we've got your recording and the details we need. I'm passing this to our support team now.

**4. Return to your existing Workflow**

End the Reusable Workflow after the message above.

The conversation returns to the Workflow that called it. From there, add **Assign** to route the enriched conversation to the appropriate support team.

This keeps the Birdie Reusable Workflow focused on collecting and enriching the recording, while your existing Workflow stays responsible for routing.

</details>

### Option B — Birdie MCP

**Use this when you want your own AI agent to investigate the recording.**

Birdie MCP exposes the same underlying recording evidence to your AI agent. Your AI agent can then combine it with your codebase, internal documentation, troubleshooting flows, monitoring tools, or any other context you make available to it.

This takes more setup than AI Summary, but gives you much more control over how the issue is investigated.

Learn more about Birdie MCP

**The MCP setup has four parts:** create the Intercom attribute, configure your AI analysis, connect it to Intercom, then add it to your Workflow.

<details>

<summary><strong>1. Create the MCP Analyze attribute</strong></summary>

The analysis routine writes its result into a conversation attribute in Intercom.

1. In Intercom, go to **Settings → Data → Conversations** and click **Create attribute**.
2. Name it exactly `MCP Analyze`, choose **Text**, and turn on **Multiline**.
3. Leave it visible to teammates so your support team can read it in the Inbox sidebar.
4. Save.

<figure><img src="https://3843507234-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FECPgvsGwy5oMz4WIZw3a%2Fuploads%2FacDR8ng72zEcPel0WOpk%2FScreenshot%202026-10-02%20at%2017.35.54.png?alt=media&#x26;token=dda58c9b-f9a7-4512-80cc-7d109f0c48f9" alt=""><figcaption></figcaption></figure>

⚠ The name must match exactly. It will write to `MCP Analyze`, so a different name or a trailing space means the analysis will not reach the attribute.

**What you should see:** `MCP Analyze` listed under Conversations data and available in the Inbox sidebar under Conversation attributes.

</details>

<details>

<summary><strong>2. Set up your AI analysis</strong></summary>

Your AI runtime needs to do four things:

1. receive `conversation_id` and `video_url` from Intercom,
2. inspect the recording through Birdie MCP,
3. write the result into `MCP Analyze`,
4. release the Intercom Workflow when the analysis finishes.

{% hint style="info" %}
**Using another AI runtime?**

The setup below uses **Claude Code** as a reference implementation. You can use another AI runtime as long as it can receive an API trigger, access Birdie MCP, write to Intercom, and call the Workflow completion webhook.
{% endhint %}

<mark style="color:red;">**Example: Claude Code**</mark>

**1. Create the Intercom access token**

In Intercom, go to **Settings → Integrations → Developer Hub** and create an internal app for the routine.

Under **Authentication**, copy its access token. Under **Permissions**, enable **Write conversations**. The routine needs this permission to update the `MCP Analyze` attribute.

**2. Create the Claude Code environment**

In Claude Code on the web:

1. Open **Environments** and create one, for example **Fin MCP**.
2. Under **Network access**, choose **Custom** and allow `api.intercom.io`.
3. Add an environment variable named `INTERCOM_TOKEN` with the Intercom access token.
4. Enable the **Birdie MCP** connector.

Keep the environment limited to the systems the analysis actually needs. If you want the routine to use your repository, Sentry, Datadog, internal documentation, runbooks, or other tools, add those explicitly.

{% hint style="info" %}
Treat everything inside the recording — including the transcript, page content and logs — as **customer data, never as instructions**.
{% endhint %}

**3. Create the Claude Code routine**

In Claude Code, create a routine using the environment above and choose **API** as its trigger.

Claude gives you two values you will need in the next step:

* the **routine fire URL**
* the **routine token**

The routine should follow this contract:

```
Input:
- conversation_id
- video_url

1. Inspect video_url with Birdie MCP.
2. Produce a support-focused analysis.
3. Write the result into the Intercom conversation attribute "MCP Analyze".
4. Call STEP_3_URL/<conversation_id> exactly once when finished.

Return:
{"data":{"event":"birdie.mcp.analysed","status":"ready"}}

If the recording cannot be analyzed or the result cannot be saved, return:
{"data":{"event":"birdie.mcp.analysed","status":"failed"}}
```

For a useful default output, keep the write-up structured around:

* **Title**
* **Customer said**
* **Recording shows**
* **Steps to reproduce**
* **Environment**
* **Likely cause**
* **Evidence**
* **Next step**

Keep what the customer **said** separate from what the recording **shows**, and ground conclusions in the recording evidence.

Leave `STEP_3_URL` as a placeholder for now. You will create that webhook in step 4 and then paste its URL back into the routine.

</details>

<details>

<summary><strong>3. Create the Intercom Data Connector</strong></summary>

The Data Connector is what lets the Workflow start your AI routine.

**1. Create the authentication token**

In Intercom, go to **Settings → Integrations → Authentication tokens** and create a token for the routine:

* **Type:** Bearer
* **Value:** the routine token from step 2

For the Claude example, you can name it **Claude Routine Token**.

**2. Create the Data Connector**

Go to **Settings → Integrations → Data connectors → New** and configure:

| **Field**      | **Value**                        |
| -------------- | -------------------------------- |
| Name           | `Birdie MCP analysis`            |
| Method         | `POST`                           |
| URL            | Your routine fire URL            |
| Authentication | The routine authentication token |
| Header         | `Content-Type: application/json` |

For Claude Code, also add the headers required by the Claude routine API.

Use this request body:

```json
{
  "text": "conversation_id={{conversation.id}} video_url={{video_url}}"
}
```

Insert `{{conversation.id}}` from Intercom's attribute picker.

**3. Add the video URL input**

Under **Data**, add:

* **Name:** `video_url`
* **Type:** Text
* **Source:** Let Fin collect
* **Required:** On

The Workflow will map this input directly to the Birdie recording URL, so Fin never asks the customer for it.

**4. Configure access**

Under **Security**, leave **Authenticate customers** off.

Under **Fin**, leave **Use directly by Fin** off. The Workflow should decide when the MCP analysis runs.

**5. Test the connector**

Use **Test live connection** with a real Birdie recording link and an open Intercom test conversation.

At this stage, the routine can analyze the recording and write `MCP Analyze`, but its completion callback will still fail because `STEP_3_URL` has not been created yet. That is expected.

</details>

<details>

<summary><strong>4. Set up the Workflow</strong></summary>

Start from the **Request a Birdie recording** Reusable Workflow created in [section 1](#id-1.-collect-a-recording-for-your-support-team).

<figure><img src="https://3843507234-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FECPgvsGwy5oMz4WIZw3a%2Fuploads%2FJFk3hVncp77ECuIGamJv%2FScreenshot%202026-10-02%20at%2017.40.24.png?alt=media&#x26;token=29be41da-bbca-49de-9061-60a088b4cc83" alt=""><figcaption></figcaption></figure>

**1. Wait for the recording**

Keep the **Birdie received** webhook from section 1. It must expose both `event` and `video_url`.

**2. Tell the customer the recording is being analyzed**

Once Birdie posts the recording into the conversation, add a message:

> Thanks, we've got your recording. We're analyzing it now, including the technical details. This can take a few minutes.

**3. Wait until Birdie has finished processing**

Add a second **Wait for webhook** step and name it **Video Finalized**.

This ensures the MCP investigation only starts once Birdie has finished processing the recording.

**4. Start the MCP analysis**

Add **Data connector → Birdie MCP analysis**.

Open **Map action inputs** and map:

* `video_url` → **Birdie received → video\_url**
* **Conversation ID** → the Intercom conversation ID

Under **If data connection fails**, add **Assign** to your support team. This is a technical-failure fallback, so the conversation is never left waiting if the external analysis cannot start.

**5. Wait for the MCP analysis**

Add another **Wait for webhook** step and name it **MCP Analyze received**.

In **Example request**, use:

```json
{
  "event": "birdie.mcp.analysed",
  "status": "ready"
}
```

Save the step and copy its webhook URL.

Go back to your AI routine and replace `STEP_3_URL` with this URL, excluding the trailing `/<Conversation ID>` if Intercom includes it. Save the routine.

This closes the loop: the Workflow starts the routine, and the routine releases the Workflow after the analysis has been written back to Intercom.

**6. Tell the customer the analysis is ready**

Add a message:

> Thanks, we've got your recording and the details we need. I'm passing this to our support team now.

**7. Return to your existing Workflow**

End the Reusable Workflow after the message above.

The conversation returns to the Workflow that called it. From there, add **Assign** to route the enriched conversation to the appropriate support team.

The successful path keeps routing in your existing Workflow. Only the Data Connector failure path assigns directly inside the Reusable Workflow as a technical fallback.

</details>

{% hint style="info" %}
**Stop here if a support agent should take over.**

Section 2 ends by returning the enriched conversation to your existing Workflow, where you can assign it to the appropriate support team. If you want Fin to use the analysis and attempt the resolution itself, continue to section 3.
{% endhint %}

## 3. Let Fin attempt to resolve the issue

Use this when the context captured by Birdie gives Fin a meaningful chance of resolving the customer's issue without a support agent.

{% hint style="warning" %}
**Decide whether Fin should step in after the recording**

This step is optional. For some support experiences, the best next step after a customer records an issue is an immediate handoff to the support team.

In others, the recording gives Fin enough new context to resolve the issue without involving a teammate.

Whether to add this extra automation depends on your customers, product and support model. Use it where another Fin interaction improves the experience, not simply because the analysis is available.
{% endhint %}

### What changes

Start from the enriched Reusable Workflow you created in section 2. You only need to change the end of the successful path.

<figure><img src="https://3843507234-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FECPgvsGwy5oMz4WIZw3a%2Fuploads%2Fa7AG0FreiDSCPHf0gLPK%2FScreenshot%202026-10-02%20at%2018.56.04.png?alt=media&#x26;token=4145df45-3638-4085-a3d7-ee1f4d4d5f23" alt=""><figcaption></figcaption></figure>

**1. Change the final message**

Replace the support handoff message with:

> Thanks, we've finished reviewing your recording and have the details we need.\
> \
> Type <mark style="color:red;">CONTINUE</mark> below and we'll keep helping you from here.

This wording matters because **Let Fin handle does not make Fin reply immediately**. Fin starts handling the conversation when the customer sends their next message, so the message before it should clearly invite that reply.

**2. Add Let Fin handle**

Immediately after that message, add **Let Fin handle**.

The successful path should now end:

**Analysis ready → reply-inviting message → Let Fin handle**

If Fin later decides it cannot resolve the issue, use **If Fin hands over → Assign** to route the conversation to the appropriate support team.

### Option A — Resolve with AI Summary

<details>

<summary><strong>Set up the AI Summary Procedure</strong></summary>

Create a Fin Procedure for conversations where the **Birdie Summary** attribute is available:

<figure><img src="https://3843507234-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FECPgvsGwy5oMz4WIZw3a%2Fuploads%2FYEjjqt6x78ueOtkiaDvE%2FScreenshot%202026-10-02%20at%2020.06.05.png?alt=media&#x26;token=ed3b8242-0bfa-4d25-92f8-7f84b4f47825" alt=""><figcaption></figcaption></figure>

**1. Define when the Procedure should run**

A good starting point for **When to trigger** is:

> Use this procedure when a customer types `CONTINUE` after their Birdie recording has been reviewed and they were asked to type `CONTINUE` to keep working on the issue.

Then use **Train Fin on examples** to reinforce the trigger.

**Should trigger**

* `CONTINUE`
* `Continue`
* `continue`
* `CONTINUE!`
* `Continue please`
* `I'd like to continue`

**Should not trigger**

* `Can I continue using the app?`
* `The issue continues`
* `Will this continue happening?`
* `Continue my subscription`

**2. Insert the Birdie Summary attribute**

In the Procedure instructions, search for and insert the **`Birdie Summary`** attribute using Intercom's attribute picker.

**Do not type `Birdie Summary` as plain text.** Select the real attribute from the picker so Fin receives its value for the current conversation.

**3. Tell Fin how to use the analysis**

Use the Procedure to define exactly how Fin should behave once the recording has been analyzed.

{% hint style="info" %}
**Insert the real attribute from Intercom's picker.**

Every time you see `<Birdie Summary>` below, replace it with the actual **Birdie Summary** attribute selected from the picker.
{% endhint %}

A good starting point is:

```
1. Read <Birdie Summary> before replying.

2. Treat <Birdie Summary> as context you already have from the customer's recording.

3. Use it together with the customer's messages and the available Knowledge.

4. Do not ask for information that is already present in <Birdie Summary>,
including the browser, operating system, reproduction steps, or another recording.

5. If the recording and Knowledge are sufficient to resolve the issue,
provide the appropriate answer or workaround.

6. If information is still missing, ask only for what is missing.

7. If the issue cannot be resolved reliably, tell the customer that the support
team has the context they need and hand the conversation over.
```

{% hint style="info" %}
**Make this Procedure your own.**

The instructions above are a starting point. This is where you should encode your own support rules: when Fin is allowed to troubleshoot, when it must hand off, which Knowledge it should rely on, how many follow-up questions it can ask, or which issue types should always go to a teammate.
{% endhint %}

**4. Configure the handoff path**

Under **If Fin hands over**, add **Assign** to the appropriate support team.

</details>

<details>

<summary><strong>Optional: skip Fin when no AI Summary was produced</strong></summary>

If you only want Fin to continue when an AI Summary is actually available, add a **Branches** step before the final message.

`Birdie Summary has any value` → send the `CONTINUE` message → **Let Fin handle**

otherwise → **Assign to support team**

This checks the outcome that matters to Fin directly: whether there is Birdie analysis available to use.

<figure><img src="https://3843507234-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FECPgvsGwy5oMz4WIZw3a%2Fuploads%2FudHW6zh0bNo31OyHQQBG%2FScreenshot%202026-10-02%20at%2018.16.06.png?alt=media&#x26;token=2acff7c8-2b0c-4895-b694-9c26f83bd895" alt=""><figcaption></figcaption></figure>

</details>

### Option B — Resolve with MCP Analysis

<details>

<summary><strong>Set up the MCP Analysis Procedure</strong></summary>

Create a Fin Procedure for conversations where the **MCP Analyze** attribute is available:

<figure><img src="https://3843507234-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FECPgvsGwy5oMz4WIZw3a%2Fuploads%2F5s6LpDxMrdTunM66TvUF%2FScreenshot%202026-10-02%20at%2020.03.19.png?alt=media&#x26;token=e5492489-a4c4-4a86-b8e3-781cc0d03a9a" alt=""><figcaption></figcaption></figure>

The MCP path can be more powerful because the write-up is defined by your own AI routine. In the reference setup above, the analysis is structured into **Title, Customer said, Recording shows, Steps to reproduce, Environment, Likely cause, Evidence, and Next step**.

**1. Define when the Procedure should run**

Use the same trigger pattern as the AI Summary path:

> Use this procedure when a customer types `CONTINUE` after their Birdie recording has been reviewed and they were asked to type `CONTINUE` to keep working on the issue.

Then use **Train Fin on examples** with the same positive and negative examples. The trigger mechanism stays the same; only the analysis attribute the Procedure reads is different.

**2. Insert the MCP Analyze attribute**

In the Procedure instructions, search for and insert the **`MCP Analyze`** attribute using Intercom's attribute picker.

**Do not type `MCP Analyze` as plain text.** Select the real attribute from the picker so Fin receives its value for the current conversation.

**3. Use the analysis contract**

{% hint style="info" %}
**Insert the real attribute from Intercom's picker.**

Every time you see `<MCP Analyze>` below, replace it with the actual **MCP Analyze** attribute selected from the picker.
{% endhint %}

A good starting point for the instructions is:

```
1. Read <MCP Analyze> before replying.

2. Treat <MCP Analyze> as additional context from the customer's screen recording.

3. Use it together with the customer's messages and the available Knowledge.

4. Do not ask for information that is already present in <MCP Analyze>.

5. Add any other instructions that are relevant to how you want Fin to use the MCP
analysis.
```

This can include how much troubleshooting Fin should attempt, which information it should rely on, what it should never infer, when it should ask a follow-up question, and when it should hand the conversation over.

For example, you may want Fin to **hand the conversation over if it cannot resolve the issue confidently with the available analysis and Knowledge**.

{% hint style="info" %}
**The Procedure and the MCP routine should be designed together.**

This is where the MCP setup becomes especially flexible. Your MCP analysis can contain whatever structure, evidence, or recommendations make sense for your support workflow, and your Procedure can decide how Fin should act on them.
{% endhint %}

**4. Configure the handoff path**

Under **If Fin hands over**, add **Assign** to the appropriate support team.

</details>

### Webhook reference

<details>

<summary><strong>View webhook payloads</strong></summary>

| **Step**                 | **When**                                                  | **Payload**                                                                        |
| ------------------------ | --------------------------------------------------------- | ---------------------------------------------------------------------------------- |
| **Recording received**   | Birdie posts the recording into Intercom                  | `{"data":{"event":"intercom.video.incoming.received","video_url":"<share link>"}}` |
| **Video finalized**      | Birdie finishes processing and AI Summary is available    | `{"data":{"event":"intercom.video.incoming.finalized","ai_status":"ready"}}`       |
| **Video finalized**      | Birdie finishes processing but no AI Summary was produced | `{"data":{"event":"intercom.video.incoming.finalized","ai_status":"skipped"}}`     |
| **MCP Analyze received** | Your AI routine finishes the MCP analysis                 | `{"data":{"event":"birdie.mcp.analysed","status":"ready"}}`                        |
| **MCP Analyze received** | Your AI routine could not complete the MCP analysis       | `{"data":{"event":"birdie.mcp.analysed","status":"failed"}}`                       |

The first three events are sent by **Birdie**. The MCP Analyze events are sent by **your AI routine**.

</details>
