> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.pivotal.app/llms.txt.
> For full documentation content, see https://docs.pivotal.app/llms-full.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.pivotal.app/_mcp/server.

# Comments and attachments

Comments live in two places: on individual tasks, and on the onboarding itself. Each comment can carry attachments. Mention a teammate or contact with `@` and they get an email and a Slack ping if [Slack is connected](/product/integrations/connect-slack). Comments are the lightest-weight way to leave context that should outlive your last call.

## Comment fields

| Field           | What it controls                         | Notes                                                |
| --------------- | ---------------------------------------- | ---------------------------------------------------- |
| `body`          | The text content, Markdown supported     | Code blocks, lists, links render in the timeline.    |
| `mentions[]`    | Users or contacts mentioned with `@`     | Drives email + Slack notifications.                  |
| `attachments[]` | Files dropped or pasted into the comment | 25 MB per file, no count limit per comment.          |
| `visibility`    | `internal` or `customer`                 | `customer` shows in the portal; `internal` does not. |
| `created_by`    | The author                               | Auto-set. Can't be reassigned.                       |
| `edited_at`     | Timestamp of last edit                   | Shown as **(edited)** on the comment.                |

## Posting a comment

1. Open a task or scroll to the **Comments** section on the onboarding page.
2. Type your message. Press `@` to bring up the mention picker; team members and the customer's contacts both appear.
3. Drag a file into the editor, paste an image from your clipboard, or click the paperclip to browse. Files upload in the background and the comment posts once they finish.
4. Pick **Internal** or **Customer-visible** in the dropdown before sending. The default matches the parent task's `customer_facing` flag.
5. Send.

## Attachments

Any file type. 25 MB max per file. Images render inline; PDFs and Office docs get a preview pane; everything else shows as a download link. Files are stored on Pivotal's CDN with signed URLs that expire after 7 days for non-logged-in viewers (e.g. links forwarded to customers who haven't opened the portal).

Drag a folder onto a comment to upload every file inside it. Subfolders are skipped.

## Editing and deleting

You can edit or delete your own comments within 24 hours of posting. After 24 hours, edits and deletes are locked. Admins can delete any comment at any time; the deletion writes a `comment_deleted` entry to the [audit log](/product/onboardings/audit-log) with the original body retained for compliance.

Edited comments show **(edited)** beside the timestamp. Hover for the edit history.

## Notifications

A mention sends an email to the mentioned user or contact and, if [Slack is connected](/product/integrations/connect-slack), a DM. The notification respects the recipient's notification preferences (set in **Settings > Notifications**) and the customer's portal mute settings for contact mentions.

Comments without mentions still notify the task's assignee on the next digest. Real-time email goes out only when the comment carries `@assignee` or `@everyone`.

## Gotchas

* Customer-visible comments fire a portal notification to the primary contact even without an explicit mention. Use the **Internal** visibility for back-and-forth that shouldn't reach the customer.
* Pasted screenshots default to `screenshot-<timestamp>.png`. Rename the attachment before sending if the file name will mean something later.
* Slack DMs require the recipient to be in the Slack workspace you connected, not just mentioned in Pivotal. Unmatched users get email only.
* Deleting your own comment within 24 hours removes it from the timeline but its mentions still hold notifications already sent. Recipients see the comment in their email even if it's gone from the app.

## Related

* [Task completion](/product/onboardings/task-completion)
* [Audit log](/product/onboardings/audit-log)
* [Connect Slack](/product/integrations/connect-slack)

Email **[help@pivotal.app](mailto:help@pivotal.app)** with a screenshot of where you got stuck and the customer or onboarding id from the URL.