> 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.

# Portal settings

The portal is the surface your customer's team logs into. It shows them the phases of their onboarding, the tasks you've marked customer-facing, the resources you've shared, and (on Pro) a comment thread per task. Internal-only tasks stay invisible. The portal does not show your team's private notes, internal task assignees, or your other customers.

Settings live under **Admin > Portal**.

## What the customer sees

Once configured, your customer gets a single URL (e.g. `acme.pivotal.app/portal/contoso`) and a magic-link login on the email you have on file. Their landing view is a checklist organized by phase. Each phase shows progress, the current task they own, and tasks blocking your team. They click a task, read your instructions, attach a file, mark it done.

## The fields that matter

| Field                | What it does                                                      | Notes                             |
| -------------------- | ----------------------------------------------------------------- | --------------------------------- |
| `slug`               | Sets the portal URL: `yourname.pivotal.app/portal`                | Editable. Old slug 301s for 24h.  |
| `custom_domain`      | Replaces `pivotal.app` with your own (e.g. `onboarding.acme.com`) | Pro plan only. Requires CNAME.    |
| `welcome_message`    | Top-of-portal greeting                                            | Markdown supported. 280 char max. |
| `sections.tasks`     | Show the tasks list                                               | On by default.                    |
| `sections.resources` | Show shared files and links                                       | On by default.                    |
| `sections.comments`  | Enable per-task comment thread                                    | Pro plan only.                    |
| `sections.team`      | Show the customer-facing team roster                              | Off by default.                   |
| `default_theme`      | Light, dark, or system for new portal users                       | Per-user override always allowed. |

## Custom domain on Pro

Custom domain takes a CNAME pointing `onboarding.acme.com` to `portals.pivotal.app`. Pivotal provisions a certificate via Let's Encrypt inside ten minutes. Until the cert lands, the domain serves a "setting up" page. Once it's live, both the custom domain and your original `*.pivotal.app/portal` URL keep working. Magic-link emails default to the custom domain.

## A gotcha worth flagging

Toggling **sections.resources** off does not delete the resources you've already uploaded; it hides the section. Toggling it back on restores the section with every resource intact. The same is true for comments: turn the section off, the threads remain, the customer can't read or post until you turn it back on.

## What the customer can't do

Customers cannot reorder phases, add tasks, change task assignees, or invite other people from their company. To add a second contact at the customer, use [Add contacts](/product/customers/add-contacts) on your side.

## Related

* [Branding and logos](/product/setup/branding-and-logos)
* [Add contacts](/product/customers/add-contacts)
* [Task completion](/product/onboardings/task-completion)

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.