> For the complete documentation index, see [llms.txt](https://support.attackforge.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://support.attackforge.com/app/modules/ai-mcp-and-skills/patch-project-reporting-fields.md).

# Patch Project Reporting Fields

#### Description <a href="#description" id="description"></a>

Partially updates the reporting fields - the **executive summary** and **reporting custom fields** - of an existing AttackForge project. This is the write counterpart to `find_project_reporting_fields`, and a **write** operation: only the keys present in `args` are modified - keys you omit are left untouched.

A two-step workflow is **required** because the input shape is tenant-specific - see Building args for Write Tools:

1. Call `get_args_schema_for_tool(tool="patch_project_reporting_fields")` to retrieve the current JSON Schema for `args` (it also returns the `richtext_format` spec, because the executive summary is a rich-text field).
2. Build `args` to match that schema and call this tool.

The schema always requires `project_id` (source: `find_projects` or `find_project_reporting_fields`) plus at least one of `executive_summary` or `custom_fields`. Discover the reporting custom-field keys with `get_field_structure(model="project-reporting")`. Preconditions: the caller must have Edit access to the target project **and** access to its reports; reporting custom fields are additionally gated per field by the caller's edit access (view-only keys are silently ignored). On success the project id is returned.

#### How To Enable <a href="#how-to-enable" id="how-to-enable"></a>

1. Go to `Users`
2. Select the user you would like to provide access to this tool
3. Click on `Access > MCP`
4. Click on `Add Tools`
5. Select the tool `patch_project_reporting_fields` and click `Add`

#### Example Prompts <a href="#example-prompts" id="example-prompts"></a>

* *Update the executive summary of the ACME project.*
* *Rewrite the executive summary for project X to include the retest outcome.*
* *Set the report classification custom field on project X to Confidential.*
* *Fill in the reporting fields for this project.*

#### Parameters <a href="#parameters" id="parameters"></a>

| Parameter | Type   | Required | Description                                                                                                                                                                                                                                                                                                                                                                                |
| --------- | ------ | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `args`    | object | Yes      | The reporting-fields patch payload. Build it to satisfy `get_args_schema_for_tool(tool="patch_project_reporting_fields")`. Always requires `project_id` plus at least one of `executive_summary` / `custom_fields`; every supplied key applies a partial update. Any rich-text field (e.g. `executive_summary`) must use the AttackForge richtext format from the `richtext_format` block. |

#### Example Response

```json
{
  "id": "656168055d7035a12ade4cb3"
}
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://support.attackforge.com/app/modules/ai-mcp-and-skills/patch-project-reporting-fields.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
