Article

How to Build a Notion Client Portal for Readings and Coaching Sessions

Notion Plus supports 10 guests at $10/mo. Free plan allows only 1 guest. Five-database structure for readings, intake forms, and client resources.

Most spiritual practitioners deliver session materials through a mix of email attachments, Google Drive folders, and informal WhatsApp shares. Clients can't find their intake form from three months ago. Recordings live in different places. There's no single location a client can return to for their history with you. A Notion client portal solves this with a shared page per client that holds everything: their session notes, recordings, intake responses, resources, and follow-up actions. The setup costs $10/month on Notion Plus and takes a few hours the first time, after which you duplicate the template for each new client in minutes.

This guide covers the plan requirements, the database structure that works for practitioners, and the integrations that automate intake and booking.

Notion Plan Requirements

The free Notion plan allows only one guest. If you have more than one active client you want to share a portal with, the free plan is not sufficient.

Notion Plus at approximately $10/month (annual) or $15/month (monthly) supports up to 10 guests. For a solo practitioner with a limited number of active clients at any one time, Plus covers the use case entirely.

Notion Business at approximately $15/month (annual) or $20/month (monthly) extends guest support to 100 and adds the Data Processing Agreement (DPA) that EU practitioners need for GDPR compliance when handling client data. If you serve EU clients and want to formalize your data protection obligations, Business is the right tier.

Notion Enterprise supports unlimited guests at custom pricing.

Source: notion.so/pricing (verify current pricing, figures approximate as of June 2026)

The Database Structure

A functional practitioner portal uses five connected databases. Build these once as a master template, then duplicate the structure for each new client.

1. Readings and Sessions Database

Tracks each session with: date, session type (initial reading, follow-up, monthly check-in), status (scheduled, complete, materials delivered), and a link to the session recording or PDF.

Properties to include: Date, Session Type (select), Status (select), Recording Link (URL), Notes (text), Next Steps (text).

2. Events and Updates

Your running notes and follow-ups after each session. Use this for things you noticed during the session that you want to reference later, questions that came up and weren't fully addressed, and suggested next steps you want to revisit.

This is practitioner-facing data. You can choose whether to share this page with the client or keep it private.

3. Intake and Pre-Session Questions

Client responses to your intake form, sorted by date. When a client submits an intake before a session, their responses appear here. Gives you quick reference during the session without scrolling through email.

Properties: Submission Date, Client Name, Session Type, Question Responses (text fields), Areas of Focus (multi-select).

4. Resources

PDFs, recorded meditations, recommended books, card interpretations, workbooks, and any materials you've created that are relevant to this client's work. Shared with the client so they can return to materials between sessions.

Properties: Resource Name, Type (select: PDF, Audio, Video, Link, Book), Date Added, Description.

5. Client Information

Contact details, birth date (for astrology practitioners), preferred name, timezone, notes from initial consultation. For astrology practitioners, this is where you store birth time and location. Keep this page private (not shared with the client directly) unless you want them to see your notes.

Source: notion.vip/insights/create-a-client-portal

The Scoped Sharing Problem

Notion does not support showing a client only their rows from a shared database through a filtered linked view. If you create one master Sessions database and share a filtered view with a client, other clients' sessions can potentially be accessed by manipulating the URL filter. This is a real privacy concern for client data.

The correct approach: create a separate, independent database inside each client's portal page. The client's sessions database contains only their sessions. Their resources database contains only their resources. You share their specific portal page with them, not a master database.

This means each client has their own set of databases. It's more work to set up initially, but it's the only approach that genuinely scopes data access per client. Templates make this manageable: duplicate the template structure for each new client and fill in their details.

Intake Forms: Two Options

Notion Forms (Native)

Notion added native forms in 2024. A form link can be shared directly with a client, and responses populate automatically into your Intake database in Notion. No third-party tool required, no Zapier automation needed. This is the simplest option for practitioners who want everything in one place.

Create the form from the Intake database page: click the plus button on a database view and select "Form." Customize the fields, share the link with the client, and responses appear in the database immediately.

Tally.so (Free Alternative)

Tally.so builds forms with a cleaner visual design than Notion's native forms, supports conditional logic, and is free for unlimited forms and responses. Connect Tally to Notion via Zapier (free tier handles low volume) or n8n to push form responses into your Intake database automatically.

For practitioners who want a more professional-looking intake form to send to clients before their first session, Tally's design and conditional logic (show question B only if client answered X on question A) is worth the extra setup.

Booking Integration

Cal.com's free plan connects to Notion directly. When a client books a session through your Cal.com page, the integration creates a new entry in your Sessions database automatically with the booking details: client name, date, session type, and any intake information collected during booking. No manual entry required.

Workflow: client clicks booking link (Cal.com) > fills in details > booking appears in your Notion Sessions database > you duplicate the client portal template and link the session to their portal > share the portal page with the client.

For practitioners using a different booking tool, Zapier's free tier (100 tasks/month) can connect most booking platforms to Notion via webhook.

Custom Domain for the Portal

Notion portal pages have URLs in the format `notion.so/yourworkspace/pagename`. On Notion Plus and above, you can enable a custom domain for your workspace (`portal.yourbrand.com` instead of a raw Notion URL). This requires a Notion paid plan and DNS configuration with your domain provider.

Alternatively, Rebrandly or a simple redirect service lets you create `portal.yourbrand.com` that redirects to the raw Notion URL, giving clients a branded link without Notion's custom domain feature.

GDPR and Data Privacy

Notion Inc. is a US company. Client data stored in Notion falls under US jurisdiction. For EU practitioners or practitioners serving EU clients:

- Disclose Notion as a data processor in your privacy policy
- List the categories of data you store in Notion (session notes, birth data, contact information)
- Notion provides a Data Processing Agreement (DPA) for Business and Enterprise plans. The DPA is the formal document establishing Notion's obligations as a data processor under GDPR
- On the Plus plan, no DPA is available. If GDPR compliance requires a signed DPA, upgrade to Business ($15/month annual)

Birth date and birth time stored for astrology clients are personal data under GDPR. Treat them accordingly.

Source: notion.so/gdpr (verify current DPA availability)

Setup Checklist

- [ ] Notion Plus account created (if more than 1 active client)
- [ ] Master template built: 5 databases (Sessions, Events, Intake, Resources, Client Info)
- [ ] Intake form configured (Notion Forms native or Tally.so)
- [ ] Cal.com booking integration linked to Sessions database
- [ ] Client portal template duplicated for first client
- [ ] Portal page shared with client (view-only access)
- [ ] Custom domain or branded redirect configured (optional)
- [ ] Privacy policy updated to include Notion as data processor

For client management workflow beyond the portal itself, see automate client onboarding. For choosing between Notion and Airtable for more complex client databases, see Notion vs Airtable.

Frequently Asked Questions

Can clients edit anything in their portal?

You control access when you share a page. Share as "view only" and clients can read everything but change nothing. Share with "can comment" if you want them to add responses or questions in the portal. Share with "can edit" only for collaborative documents like session prep forms where you want them to fill in information directly. For most practitioner use cases, view-only is correct.

How many clients can I manage with Notion Plus at $10/month?

Notion Plus supports 10 guests. Each client invited to their portal uses one guest slot. When you have more than 10 active clients requiring portal access simultaneously, upgrade to Business (100 guests at $15/month annual). If you archive inactive clients (remove their guest access) when engagements end, you can cycle through more than 10 clients over time on the Plus plan.

Is Notion suitable for storing sensitive client information like birth data or session content?

Notion uses AES-256 encryption at rest and TLS in transit, which is standard for SaaS platforms. It is not a HIPAA-compliant platform and should not be used for medical or therapeutic records if you operate in a regulated context. For standard spiritual practice client notes, session summaries, and astrology data (birth date, time, location), Notion's security is appropriate. Include your data storage practices in your client intake documentation so clients know where their information is held.

Can I charge for access to a client portal with premium resources?

Notion itself doesn't support gating content behind a paywall. You can use Notion for clients who have already paid and paid for a specific tier, but you'd manage access manually (add them as a guest after purchase confirmation). For programmatic access gating (automatic unlock on purchase), a dedicated platform like Memberful or Memberstack integrates more cleanly with payment flows. Notion works well as the content delivery layer when client management and access control happen in a separate system.