> 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/how-to-guides/build-a-mixed-public-private-portal.md).

# Build a Mixed Public–Private Portal

Use **one** NotionApps app and **one** share link for guests and signed-in users. Guests see Welcome and intake. Clients and staff see private lists, queues, and decisions after OTP login.

{% hint style="info" %}
**Shipped 9 Aug 2026**\
See the [9 Aug 2026 Release](https://docs.notionapps.com/release-notes/9-aug-2026-release) for the full portal + Content Page story.
{% endhint %}

## What you will build

1. A public **Welcome** Content Page (HTML/CSS landing).
2. A public **Start Intake** / Submit Create Form.
3. Private signed-in screens (My … lists, Work Queue, Decision, Messages).
4. Separate guest vs signed-in navigation so staff chrome never appears to guests.

## Prerequisites

* Private app with OTP users database.
* Automation entitlements if you add Work Queue / Decision.
* Optional: [Content Page Screens](https://docs.notionapps.com/screens-and-components/types-of-screens/content).

## Steps

### 1. Create the Welcome Content Page

1. Add a **Content** screen.
2. Turn **Public access** **On**.
3. Set **Show in navigation for guests** as needed (many makers leave Welcome in the guest menu).
4. Turn **Show in navigation when signed in** **Off** so Welcome does not clutter the private portal.
5. Paste branded HTML/CSS. Link CTAs to your intake form screen (in-app links stay inside the shell).

### 2. Create the public intake form

1. Add a **Form (Add Item)** on your requests / leads / intake sheet.
2. Turn **Public access** **On**.
3. Prefer **link-only for guests** if you do not want the form in the hamburger — share `?form=` or a Welcome CTA instead.
4. Hide staff-only fields (Status, Owner, internal notes) from the public form.

### 3. Keep the rest private

Leave Work Queue, Decision, My … lists, Messages, and admin screens with **Public access Off**. Use Screen Visibility / roles so clients, partners, and staff each see the right chrome.

### 4. Publish and test both audiences

1. Publish the app.
2. Open the live URL in a private window → guest Welcome + intake only.
3. Log in as a client persona → private portal, no guest-only clutter (unless you intentionally left Welcome visible when signed in).
4. Log in as staff → queues and decisions.

## Tips

* One share link is enough — do not clone the app per audience.
* Use Content Pages for marketing/consent; use Create Forms for data capture.
* After login, landing should prefer a chrome-visible private screen (My Onboarding, Home, or Work Queue).
* For review hubs after intake, continue with [Client Review Hub in 15 Minutes](https://docs.notionapps.com/guides/client-review-hub-in-15-minutes).

## Related

* [Content Page Screens](https://docs.notionapps.com/screens-and-components/types-of-screens/content)
* [Screen Visibility](https://docs.notionapps.com/screens-and-components/customize-a-screen/screen-visibility)
* [9 Aug 2026 Release](https://docs.notionapps.com/release-notes/9-aug-2026-release)

## Annotated builder screenshots

![Annotated builder screenshot: Public access](https://4233028229-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F5ZqDXcVVffWUqEIZVhmn%2Fuploads%2FRjo5qXoKIzEXxkHpo8gM%2Fp23-1786203265-10-20-section-public-access.jpg?alt=media)

![Annotated builder screenshot: Create Form with public settings](https://4233028229-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F5ZqDXcVVffWUqEIZVhmn%2Fuploads%2Faal5GjFjNLqNOd5piHVF%2Fp23-1786203265-0-00-builder-hero.jpg?alt=media)

## Complete Builder Options Reference

Cross-links for the screens used in mixed portals:

* [Per-Screen Public Access](https://docs.notionapps.com/guides/per-screen-public-access)
* [Content](https://docs.notionapps.com/screens-and-components/types-of-screens/content)
* [Form (Add Item)](https://docs.notionapps.com/screens-and-components/types-of-screens/add-new-item-form)

### Public access (Content page or Create Form)

#### Public access

**What it does:** Opens that screen to anyone with the app link while other screens stay private.\
**How to use it:** Enable on Welcome Content + intake Create Form only.\
**Why / recommended default:** Least privilege — only the screens guests need.

#### Show in navigation for guests

**What it does:** Puts the public screen in guest menus.\
**How to use it:** On for Welcome; usually off for the raw form if Welcome already links to it.\
**Why / recommended default:** Keep guest nav to one or two entries.


---

# 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 by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.notionapps.com/how-to-guides/build-a-mixed-public-private-portal.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

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.
