> ## Documentation Index
> Fetch the complete documentation index at: https://forest-chore-open-api.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Example 2: Incident Management

> Build a support triage workspace that lets back-ends review, resolve, and escalate incidents in one place.

This guide walks through building an Incident Management Workspace, a focused interface where support representatives can see pending incidents, review the context, and resolve or escalate them without switching between views.

**What operators will be able to do:**

* See a live breakdown of incident types at a glance
* Browse pending incidents and click to review details
* View all relevant fields for the selected incident
* Resolve, escalate, or reassign incidents from a single screen

This example applies to ride-sharing support, but the same pattern works for any incident management workflow: customer complaints, technical outages, fraud reports, etc.

## 1. Create the workspace

Click the **🧩 icon** in the left sidebar, then **"Create your first Workspace"**.

Name it something clear: **"Incident Queue"** or **"Support Triage"**. Rename it by clicking the edit icon next to "My Workspace".

## 2. Add a header with context

Drag a **Text** component onto the canvas. Use Templating to personalize it:

```
Incident Queue - {{currentUser.firstName}}'s shift
```

This helps orient the operator and makes handoffs easier when team members are reviewing the same workspace.

## 3. Add a distribution chart

Add a **Chart** component to give operators a quick overview of what's in the queue:

* **Chart type:** Distribution
* **Collection:** Issue
* **Group by:** category (or type)
* **Filter:** `status = "To Review"`

This shows the mix of incident types, billing issues vs. driver complaints vs. app errors, so operators can prioritize their work.

## 4. Add the Issues Collection

Drag a **Collection** component onto the main canvas area. Configure it:

* **Collection:** Issue
* **Segment:** "To Review" (filter: `status = "To Review"`)
* **On row click:** "Select a record"

Add a **Text** label above it: "Pending Incidents"

Setting "Select a record" on row click is what connects the collection to the detail panel you'll build next.

## 5. Build the detail panel

Create a section to the right of the issue list. Add a **Text** component with Templating:

```
Reviewing: {{collection1.selectedRecord.category}} - {{collection1.selectedRecord.id}}
```

Then add **Field** components for the key information operators need:

* **Description**, what happened
* **Reported by**, user or driver
* **Created at**, when it was reported
* **Priority**, urgency level
* **Assigned to**, current owner

For each field:

1. Drag a **Field** component from the sidebar's "Data" section
2. Set **Source** to the Issue collection (Collection 1)
3. Set **Field** to the appropriate field
4. Choose the right display widget (relative time for dates, badge for priority, etc.)

## 6. Add a link to the full record

Drag a **Link** component:

* **URL type:** Redirect to record
* **Source:** Collection 1 (Issue)

This gives operators an escape hatch when they need more context than the workspace shows.

## 7. Show related information

If incidents are linked to user accounts or trips, add a second **Collection** with a dynamic filter:

* **Collection:** User (or Trip)
* **Filter:** `id = {{collection1.selectedRecord.user_id}}`

This second panel updates automatically when the operator selects an issue, showing the user's history, other recent reports, or relevant context without any navigation.

## 8. Add action buttons

Drag **Button** components for the core actions:

| Button label | Action              | Purpose                    |
| ------------ | ------------------- | -------------------------- |
| ✓ Resolve    | `resolve_incident`  | Marks incident as resolved |
| ↑ Escalate   | `escalate_to_tier2` | Moves to escalation queue  |
| → Reassign   | `reassign_incident` | Sends to another back-end  |

Configure each button:

* **Source:** Collection 1 (Issue)
* **Action:** Select the corresponding action

The buttons appear active only when a row is selected, preventing accidental actions.

## 9. Exit the builder and test

Click **"Exit builder"** to switch to operator view. Walk through the workflow:

1. Click an incident row, the detail panel should update
2. Review the related user/trip information
3. Click "Resolve", the action form should open
4. Submit the form, the incident should disappear from the queue

If the resolved incident still appears, verify your segment filter is based on a status field that the action updates.

## The result

Operators get a complete triage interface:

* **Top:** Distribution chart showing the incident mix
* **Left:** List of pending incidents
* **Right:** Incident details + related context + action buttons

Incidents resolve in seconds instead of minutes. No tab-switching, no hunting for context, no missed actions.

## Common customizations

**Color-code priority**, Use the Status Badge widget for the priority field and map `high → red`, `medium → yellow`, `low → green`.

**Add an SLA timer**, Use the Relative Time widget on `created_at` to show how long the incident has been open. Add a warning badge for incidents older than your SLA threshold.

**Show back-end notes**, Add a Field component for a `notes` text field so back-ends can see what previous back-ends have done before acting.

**Add a search box**, Drag a **Search** component linked to the Issues collection so operators can find a specific incident by ID or keyword.
