> For the complete documentation index, see [llms.txt](https://docs.notionapps.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.notionapps.com/customize-app/type-of-components/comments.md).

# Comments

The Comments feature lets builders add moderated discussion areas to published NotionApps pages. Visitors can add comments or replies, while builders can review, approve, schedule, pin, edit, hide, or remove comments before they appear publicly.

Use comments when you want lightweight feedback, discussion, testimonials, approvals, notes, or Q\&A directly inside a published app.

<figure><img src="/files/lx1RUOncIuSmJaYK8IIo" alt=""><figcaption></figcaption></figure>

## What Comments Includes

Comments gives you three connected workflows:

* A **Comments component** that builders add to a screen.
* A **published app experience** where visitors add comments or replies.
* A **moderation queue** where builders review and manage submitted comments.

{% hint style="info" %}
Comments are associated with the specific screen and Comments component where they were submitted. If an app has more than one Comments component, each component has its own comment thread.
{% endhint %}

## Add a Comments Component

{% stepper %}
{% step %}

## Open your app in the NotionApps builder.

{% endstep %}

{% step %}

## Go to the screen where you want visitors to leave comments.

{% endstep %}

{% step %}

## Add a **Comments** component to the screen.

{% endstep %}

{% step %}

## Select the component to open its settings.

{% endstep %}

{% step %}

## Configure the comment behavior and display options.

{% endstep %}

{% step %}

## Save and publish the app.

{% endstep %}
{% endstepper %}

<figure><img src="/files/q7kazTQiuuvbF0qBAWb7" alt=""><figcaption></figcaption></figure>

## Configure Comment Behavior

When the Comments component is selected, use its settings to control how comments work in the published app.

### Core Options

* **Comments enabled**: Allows visitors to submit new comments.
* **Replies enabled**: Allows visitors to reply to approved top-level comments.
* **Allow anonymous comments**: Allows visitors who are not signed in to comment.
* **Required guest fields**: Requires guest visitors to provide a name, email, or both.
* **Maximum comment length**: Limits the number of characters allowed in each comment.
* **Sort order**: Controls how public comments are ordered.
* **Show comment count**: Displays the number of visible comments in the published app.
* **Show pending to author**: Lets a comment author see their own pending comment while it waits for approval.

<figure><img src="/files/XXbCPtwMTpcoFaYMbkLZ" alt=""><figcaption></figcaption></figure>

### Published Display Options

Use these settings to control the published app experience:

* **Start collapsed on published app**: Opens the published page with the Comments section minimized.
* **Show add comment action**: Shows or hides the `+ Comment` action.
* **Show reply action**: Shows or hides the `+ Reply` action under approved comments.

{% hint style="success" %}
For a cleaner published page, turn on **Start collapsed on published app**. Visitors can still open the section when they want to read or add comments.
{% endhint %}

<figure><img src="/files/BbLNuR6xSlO3eWtNoYe4" alt=""><figcaption></figcaption></figure>

## Published App Experience

When a visitor opens a published app page with comments, the Comments section may appear collapsed or expanded depending on the builder setting.

{% stepper %}
{% step %}

## Click the Comments header or **Show** control to expand it.

{% endstep %}

{% step %}

## Click `+ Comment` to open the comment form.

{% endstep %}

{% step %}

## Enter the required guest information, if configured.

{% endstep %}

{% step %}

## Submit the comment.

{% endstep %}
{% endstepper %}

After submission, comments usually enter the moderation queue before appearing publicly.

<figure><img src="/files/jpWhJmQgRhxhFmhY5VuP" alt=""><figcaption></figcaption></figure>

## Reply to a Comment

If replies are enabled, visitors can reply to approved top-level comments.

{% stepper %}
{% step %}

## Expand the Comments section.

{% endstep %}

{% step %}

## Find the approved comment.

{% endstep %}

{% step %}

## Click `+ Reply`.

{% endstep %}

{% step %}

## Enter the reply text and any required guest fields.

{% endstep %}

{% step %}

## Submit the reply.

{% endstep %}
{% endstepper %}

Replies are also moderated before they appear publicly, unless your workflow treats them differently through moderation status.

<figure><img src="/files/dCDOKHVOsXN23MJbk0qK" alt=""><figcaption></figcaption></figure>

## Moderate Comments

Builders manage submitted comments from the app Settings area.

{% stepper %}
{% step %}

## Open the app in the builder.

{% endstep %}

{% step %}

## Go to **Settings**.

{% endstep %}

{% step %}

## Open the **Comments** tool.

{% endstep %}

{% step %}

## Review comments in the moderation queue.

{% endstep %}
{% endstepper %}

The moderation queue shows the comment body, author details, status, submitted time, and context for where the comment was submitted.

<figure><img src="/files/3ayCMKYgJvxXwd41MtVh" alt=""><figcaption></figcaption></figure>

## Understand Comment Context

Each moderation row includes context fields so you can identify where the comment belongs:

* **App**: The app where the comment was submitted.
* **Screen**: The screen associated with the comment.
* **Component**: The specific Comments component associated with the comment.
* **Parent comment**: Shown when the item is a reply.

{% hint style="warning" %}
If your app has multiple Comments components, check the Screen and Component context before moderating. Comments do not automatically move between different comment sections.
{% endhint %}

<figure><img src="/files/uBRBNs4WGhztexz2GC4H" alt=""><figcaption></figcaption></figure>

## Filter and Search the Queue

Use the moderation toolbar to find comments quickly.

Available queue filters include:

* All
* Pending
* Approved
* Disapproved
* Hidden
* Deleted
* Scheduled
* Expired

You can also search comment text from the moderation queue.

<figure><img src="/files/BQRxzUgGnyTRuDCRImJ0" alt=""><figcaption></figcaption></figure>

## Moderate a Comment

From each comment row, builders can take several actions:

* **Approve**: Makes the comment eligible to appear publicly.
* **Disapprove**: Rejects the comment.
* **Hide**: Removes the comment from public display without deleting it.
* **Save edit**: Saves changes to the comment text.
* **Save schedule**: Saves visibility dates.
* **Pin**: Pins an approved top-level comment.
* **Unpin**: Removes pinned status.

{% hint style="info" %}
Only approved comments that are inside their visibility window appear in the published app.
{% endhint %}

<figure><img src="/files/H5mlZMRUXow6sPdroDi7" alt=""><figcaption></figcaption></figure>

## Schedule Comment Visibility

Use visibility dates to control when an approved comment appears publicly.

* **Visible from**: The earliest date and time the comment can appear.
* **Visible until**: The date and time the comment stops appearing.

Leave **Visible from** empty to show the comment as soon as it is approved.

Leave **Visible until** empty to keep the comment visible forever.

{% hint style="success" %}
If there is no visibility end date, the comment remains visible indefinitely as long as it stays approved and is not hidden or deleted.
{% endhint %}

> **Screenshot placeholder:** Visibility scheduling fields for a comment.

<figure><img src="/files/OjLb9s5BwMQ48CDQt8CQ" alt=""><figcaption></figcaption></figure>

Pinned comments appear before other approved top-level comments.

Use **Pin order** when you want more control over the order of pinned comments:

* Lower numbers appear first.
* Blank pin order uses pin time after ordered pins.
* Pinning is intended for approved top-level comments, not replies.

<figure><img src="/files/KVMjZT29NFo6jZnWID6l" alt=""><figcaption></figcaption></figure>

## How Published Comments Appear

A comment appears in the published app when all of the following are true:

* The comment belongs to the current app, screen, and Comments component.
* The comment status is **Approved**.
* The comment is not hidden or deleted.
* The current date is after **Visible from**, if one is set.
* The current date is before **Visible until**, if one is set.

If a comment is approved but does not appear, check the screen/component context, visibility schedule, and status.

## Best Practices

* Use one Comments component per discussion area.
* Use clear screen names so moderation context is easy to understand.
* Keep comments collapsed by default on long published pages.
* Require guest names when you need accountability.
* Use visibility windows for time-sensitive announcements or temporary feedback.
* Pin only the most important approved comments.
* Review the moderation queue regularly if comments are enabled on public apps.

## Troubleshooting

<details>

<summary>I approved a comment, but it does not show in the published app.</summary>

Check that the comment is associated with the same screen and Comments component you are viewing. Also confirm the comment is approved and inside its visibility window.

</details>

<details>

<summary>Visitors are asked for a name when replying.</summary>

The Comments component uses the same required guest fields for comments and replies. If **Name** is required, visitors must provide it before submitting either a comment or a reply.

</details>

<details>

<summary>I see an empty Comments section on one screen but comments on another.</summary>

Your app may have multiple Comments components. Each Comments component has its own thread and moderation context.

</details>

<details>

<summary>I do not want comments visible immediately when visitors land on the page.</summary>

Turn on **Start collapsed on published app** in the Comments component settings.

</details>


---

# 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://docs.notionapps.com/customize-app/type-of-components/comments.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.
