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

# Custom Messages

> Configure personalized start and end review messages for Fossy

## Overview

Customize the messages that Fossy sends at the beginning and end of code reviews. This feature allows you to personalize the communication style and add specific context or instructions for your team.

## Default Behavior

When you haven't customized any messages, Fossy works as follows:

1. **Initial Message**: Fossy sends a standard start review message
2. **Suggestions**: Fossy provides all code review suggestions
3. **Final Message**: Fossy updates the initial message with a summary of the review

## Custom Message Behavior

Once you edit either the start or end review message for the first time, Fossy's behavior changes to:

1. **Initial Message**: Fossy sends your custom start review message
2. **Suggestions**: Fossy provides all code review suggestions
3. **Final Message**: Fossy sends your custom end review message (without updating the initial message)

This creates a complete timeline: **Initial Message → Suggestions → Final Message**

## Message Configuration Options

### Message Behavior

Use the **Message behavior** dropdown to decide when Fossy should post your custom
start and end messages:

* **Important:** Messages are only sent when a review actually runs.\
  If your review cadence is **Manual**, messages are posted only when someone runs `@fossy start-review`.

* **Every push**: Fossy posts the start message when the pull request opens and
  repeats the start/end pair after every new push **that triggers a review**.
  This happens automatically only when cadence is **Automatic** or **Auto-pause**.

* **Only when opened**: Fossy sends the start and end messages only once, right
  after the first review run. If cadence is **Manual**, the first review run is
  when you call `@fossy start-review`. Future pushes just add review suggestions
  plus the usual reaction so authors know the review reran.

* **Off**: Custom messages are disabled. Fossy still runs the review and posts
  suggestions, but no start or end messages are sent.

When the behavior is `Every push` or `Only when opened`, Fossy uses whichever
templates you have filled in. If you only customize the start message, only that
message is sent; same for the end message. This keeps the familiar timeline of
**Initial Message → Suggestions → Final Message** whenever the behavior allows
messages to be posted.

**Example (Manual cadence)**\
PR opened → no message yet\
`@fossy start-review` → start message → suggestions → end message

## Dynamic Context

You can enhance your custom messages with dynamic context using the **Add Context** button. This allows you to include:

### changedFiles

A summary of changed files, showing additions and deletions per file. This provides a detailed breakdown of what was modified in the pull request.

### changeSummary

A comprehensive summary of all changes in the pull request, giving an overview of the entire modification scope.

### reviewOptions

A reflection of the team's configured review settings, showing which analysis types are enabled or disabled for the review.

### reviewCadence

Provides the exact follow-up review policy so authors know what happens after
the first automated review:

* **Automatic**: Fossy re-reviews every push as soon as it lands.
* **Auto-pause**: Fossy re-reviews pushes automatically, but if it detects a
  "push burst" (for example, 3 pushes within 15 minutes, based on your
  thresholds) it pauses follow-up reviews until you resume them. The cadence
  context includes the push and time limits so the team knows when the pause can
  be triggered.
* **Manual**: Fossy waits for someone to run `@fossy start-review` before doing
  another pass.

### reviewScope

Shows which configuration level — global, repository, or directory — was used to
review this pull request, so authors know which settings applied.

### agentPrompt

<Note>
  **End review message only.** It bundles the review's line-comment suggestions,
  which don't exist until the review has run — so it isn't offered on the start
  message.
</Note>

Bundles every suggestion from the review into a single, copy‑paste prompt block
(rendered as a collapsible **Open Agent Prompt**). Paste it into your coding
agent to apply all of the review's fixes at once.

<Info>
  These context variables will be automatically populated with the actual data
  from your pull request when Fossy sends the message.
</Info>

<Note>
  In `fossa-config.yml` these are written with an `@` prefix — `@changedFiles`,
  `@changeSummary`, `@reviewOptions`, `@reviewCadence`, `@reviewScope`, `@agentPrompt` — placed
  anywhere inside the message `content`. The **Add Context** button inserts the same tokens for
  you in the web UI.
</Note>

## Error message

Separate from the start/end pair, you can append your own text to the comment Fossy posts when a
review **fails** — for example when no BYOK provider is configured, or the provider rejected the
request.

* **Off** (default) — Fossy posts its standard error comment unchanged.
* **Active** — your text is appended below the standard error comment.

Use it to point people at the right internal owner or runbook instead of leaving them with a
generic failure:

```yaml theme={null}
customMessages:
    errorReviewMessage:
        status: 'active' # off | active
        content: |
            Reviews are failing? Ping #platform-eng — we own the Fossa API key.
```

Leaving `content` empty keeps the default error message unchanged.

## Global settings

Two toggles that apply to every Fossy comment, not just custom messages:

| Setting | Default | What it does |
| - | - | - |
| `hideComments` | `false` | Posts every review message as a hidden/minimized comment. Shown in the UI as **Post as hidden comment**. **GitHub only** — the toggle is hidden on other platforms. |
| `suggestionCopyPrompt` | `true` | Adds the copy-as-prompt affordance to suggestions so you can paste them into a coding agent. **Not available on Bitbucket.** |

```yaml theme={null}
customMessages:
    globalSettings:
        hideComments: false # GitHub only
        suggestionCopyPrompt: true # not available on Bitbucket
```

<Note>
  You can always revert to the default behavior by disabling both custom
  messages or clearing the message content.
</Note>

{" "}


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.