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

# Client Portal

> Give your customers a read-only view into reports, documents, and a shared chatbot — branded to your workspace, hosted on your subdomain.

<div
  style={{
background: "linear-gradient(135deg, #143D4E 0%, #1C758A 55%, #30C8CA 100%)",
borderRadius: "24px",
padding: "28px",
marginBottom: "28px",
color: "#FFFFFF",
boxShadow: "0 20px 50px rgba(20, 61, 78, 0.22)",
position: "relative",
overflow: "hidden",
border: "1px solid rgba(255,255,255,0.08)"
}}
>
  <div
    style={{
position: "absolute",
top: "-36px",
right: "-36px",
width: "170px",
height: "170px",
background: "rgba(255,255,255,0.08)",
borderRadius: "999px"
}}
  />

  <div
    style={{
position: "absolute",
bottom: "-48px",
left: "-24px",
width: "130px",
height: "130px",
background: "rgba(255,255,255,0.06)",
borderRadius: "999px"
}}
  />

  <div
    style={{
  display: "inline-flex",
  alignItems: "center",
  background: "rgba(255,255,255,0.14)",
  color: "#FFFFFF",
  padding: "7px 14px",
  borderRadius: "999px",
  fontSize: "12px",
  fontWeight: "700",
  marginBottom: "12px",
  letterSpacing: "0.08em",
  textTransform: "uppercase"
}}
  >
    CLIENT PORTAL
  </div>

  <p style={{ margin: 0, fontSize: "16px", lineHeight: "1.9", maxWidth: "760px", color: "#FFFFFF" }}>
    A public-facing portal at <code style={{ background: "rgba(255,255,255,0.16)", padding: "2px 8px", borderRadius: "6px" }}>app.parsalink.io/portal/\<tenant-slug></code> where your customers can book meetings, see shared reports, fill out forms, and chat with a workspace-scoped assistant.
  </p>
</div>

## What Lives in the Portal

Every workspace gets a portal at `app.parsalink.io/portal/<tenant-slug>` (replace with your slug). It's the public side of ParsaLink — no login required for the parts you choose to expose.

Out of the box the portal serves:

* **Public booking pages** — `/portal/<tenant>/calendar` and per-team-member booking links (`/portal/<tenant>/calendar/<member-slug>`).
* **Public forms** — every Form you publish lives at `/portal/<tenant>/forms/<form-slug>`.
* **Public reports** — Reports marked `is_public` are visible at `/portal/<tenant>/reports/<report-uid>` (read-only, no widgets editable).
* **Sela Chat** — a customer-facing chatbot specific to your workspace, grounded in your published Marketing CMS content + a chatbot prompt template you can tune.

***

## Public Reports

Toggle `is_public` on any Report at **CRM → Reports → Report Settings**. The public link:

* Shows every widget (AI Chart, Pipeline, Pipeline Health, List, Metric) as a read-only view
* Hides widget configuration controls
* Hides the rest of your CRM — only the report is reachable
* Refreshes data on each view (no caching of stale figures)

Useful for sharing live dashboards with stakeholders who shouldn't have a CRM seat.

***

## Sela Chat (Public Chatbot)

Sela is the chatbot ParsaLink ships for the public portal. By default it answers from your published Marketing CMS content (blog posts, case studies, services), so visitors to your portal can ask questions about your business without leaving the page.

You can tune Sela's behavior at **Admin → LLM → Prompt Templates → Sela Chat Bot**. Common customizations:

* The persona ("You are Sela, the AI assistant for `<Your Company>`. Be warm, concise, and always offer to schedule a meeting if the visitor seems serious.")
* What it can and can't talk about
* Whether it can suggest the booking link or only serve up info

For authenticated portal users (paying customers with a login), the internal variant **Sela Chat Bot - internal** is loaded instead — typically with deeper access to that customer's specific data.

***

## Forms in the Portal

Forms you publish are automatically routed to the portal — no extra setup. Visit `app.parsalink.io/portal/<tenant>/forms/<form-slug>` to test or share. See [Forms](/crm/forms) for the form builder.

***

## Custom Branding

The portal renders with your workspace's logo, colors, and footer. Set these at **Settings → Workspace → Appearance**. The same brand bundle is reused in:

* Email templates (signature footers)
* Booking confirmation emails
* Public reports
* Documents (proposal/invoice/contract PDFs)

So your customers experience a consistent visual identity across every public touchpoint.

***

## Portal vs Authenticated CRM

The portal is intentionally a thin slice:

* **Read-only** for reports (no editing, no other tenant data)
* **Stateless** booking (no portal account needed)
* **Public** by default for anything you publish

If you need authenticated portal users (customers with a login who can see their own opportunity, view shared documents, message your team) — that's the **Authenticated Client Portal** roadmap item. Talk to us about early access.


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