Appearance
Report Tools
Five tools for the report triage workflow: list incoming reports, create new ones, promote to issues, dismiss, or delete. All report tools require the report-tool feature flag to be active for the tenant.
Triage Workflow
The typical flow for handling reports:
- List reports to see what's incoming
- Create reports from external sources (bug reports, feature requests, feedback)
- Promote actionable reports to issues on the board
- Dismiss reports that aren't actionable (soft-archive)
- Delete reports that are spam or duplicates (permanent)
Permission Model
- Listing reports: requires Reports: Read permission
- Creating reports: requires Reports: Create permission
- Promoting reports: requires Reports: Update permission (All scope)
- Dismissing reports: requires Reports: Update permission (All scope)
- Deleting reports: requires Reports: Delete permission (Own scope: own reports only, All scope: any report)
- Project owners and admins bypass all permission checks
list-reports
List all reports for a project, ordered by position. Read-only and safe to call repeatedly.
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
project_id | integer | Yes | The project to list reports for |
Behavior
- Returns all reports ordered by display position (
orderfield) - Each report includes title, description, source, author, status (pending/promoted/dismissed), and timestamps
- Promoted reports include the
promoted_issue_idthey were converted to - Dismissed reports include a
dismissed_attimestamp - Marked as
#[IsReadOnly]and#[IsIdempotent]— safe to call multiple times with no side effects
Example Prompt
Show me the incoming reports in the kendo project so I can triage them
create-report
Create a new report in a project. Reports are incoming items that need triage before becoming issues.
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
project_id | integer | Yes | The project to create the report in |
title | string | Yes | Report title (max 255 characters) |
description | string | Yes | Report description — details of the bug, feature request, or feedback (max 65,535 characters) |
Behavior
- Source is automatically set to
Apifor MCP-created reports - Display order is auto-assigned
- Returns the created report with ID, source, and timestamps
Example Prompt
Create a bug report in the kendo project: "Sidebar collapses on mobile when switching projects". The sidebar state resets on every navigation.
promote-reports
Promote one or more reports to a single issue on the board. This is the core triage action.
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
project_id | integer | Yes | The project containing the reports |
report_ids | array | Yes | Array of report IDs to promote (min 1, all must belong to the project) |
title | string | Yes | Title for the new issue (max 255 characters) |
description | string | Yes | Description for the new issue (max 65,535 characters) |
lane_id | integer | No | Lane to place the issue in. Defaults to the first lane if omitted. |
priority | integer | No | 0 Highest, 1 High, 2 Medium (default), 3 Low, 4 Lowest |
type | integer | No | 0 Feature (default), 1 Bug |
assignee_id | integer | No | User ID to assign. Use project members to find IDs. |
sprint_id | integer | No | Sprint to add the issue to |
epic_id | integer | No | Epic to link the issue to |
estimated_minutes | integer | No | Estimated time in minutes (minimum 0) |
blocked_by_ids | array | No | Issue IDs that block this issue (must be in the same project) |
blocks_ids | array | No | Issue IDs that this issue blocks (must be in the same project) |
Behavior
- Batch promotion: multiple reports can be promoted to a single issue — useful when several reports describe the same problem
- Defaults: if
lane_idis omitted, the issue is placed in the project's first lane. Priority defaults to Medium, type to Feature - Order: the new issue is automatically placed at the end of the target lane
- Validation: all reports must belong to the specified project, and none can be already promoted or dismissed
- Already promoted: returns an error if any report has already been converted to an issue
- Already dismissed: returns an error if any report has been dismissed
- Returns the created issue with key, lane, assignee, sprint, and blocking relations
Example Prompt
Promote reports 15 and 16 to a high-priority bug: "Sidebar collapses on mobile". Assign it to Jasper in the current sprint.
dismiss-report
Dismiss a report to mark it as not actionable. Dismissed reports are soft-archived.
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
report_id | integer | Yes | The ID of the report to dismiss |
Behavior
- Sets
dismissed_aton the report — the report remains visible but is marked as resolved without action - Idempotent: dismissing an already-dismissed report is a no-op (returns success)
- The report's project is derived from the report itself — no separate
project_idneeded - Requires Reports: Update permission (All scope)
Example Prompt
Dismiss report 23, it's a duplicate of the sidebar issue we already promoted
delete-report
Permanently delete a report.
Destructive
This action cannot be undone. The report is permanently removed.
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
report_id | integer | Yes | The ID of the report to delete |
Behavior
- Permanently removes the report from the database
- Requires Reports: Delete permission (Own scope: own reports only, All scope: any report)
- The report's project is derived from the report itself — no separate
project_idneeded - Consider using dismiss-report for soft-archival instead
Example Prompt
Delete report 25, it's spam