Make selected pages of your Super site members-only and decide who gets in by tier. Notion manages your members, Super controls access to your content.
Notion = member list
One row per member: an email plus one or more tiers.
Super = the gate
You pick which pages are gated and which tiers may open them.
Email = the key
Members sign in with a one-time magic link. No passwords.
Key numbers
1 hour
Login link validity, single use
30 days
Member session length
~5 min
For tier changes to apply
up to 24 h
Until a removed member loses an active session
Is Membership the right tool?
You want to… | Use |
Show different content to different groups of people | Membership |
Protect a page with one shared secret | Password protection |
Hide a page from navigation but keep its URL working | Page visibility settings |
Membership is not a signup, checkout, payment or member-management system. Members are added to Notion by you or by an automation (Stripe → Make / Zapier / n8n). A page can be either members-only or password-protected, never both.
Before you start
Setup in 4 steps
Step | Where | Result |
1. Create the members database | Notion | Table with Email + Tier (Multi-select) |
2. Create a Notion connection | Notion | Access token with access to the table |
3. Connect it in Super | Site → Settings → Membership | Super knows your tiers |
4. Protect pages by tier | Site → Pages → page → Protection | Pages are members-only |
1 · Create the members database
Create (or reuse) a Notion database with one row per member. Super reads only two properties, anything else (name, notes, Stripe id…) is yours.
Property | Notion type | Purpose |
Email | Email (recommended), Text or Title | Address the member logs in with |
Tier | Multi-select only | Tier(s) the member holds |
Tier names are the options of the Multi-select, e.g. basic, advanced, founding-member, 2026-cohort. Template: Members List Template
Every member needs at least one tier. A member without a tier can log in but sees "You don't have access to this page".
2 · Create a Notion connection
- Open Notion Connections and create a new connection. Name it after the site, e.g.
example.com/members. - Copy the Access Token and keep it somewhere safe.
- Open your members database, grant the connection access and click Add to Page.
3 · Connect it in Super
Go to Site → Settings → Membership.
- Paste the token and click Load databases.
- Select your members database.
- Map Email (Email, Text or Title) and Tier (Multi-select), then click Connect.
The Membership card now shows the database, mapped properties, tier names, last sync, Reload tiers, Disconnect, Login settings and View login log.
Connecting alone makes nothing private. Continue with step 4.
4 · Protect pages by tier
Go to Site → Pages → (page) → Protection.
- Choose Membership in the protection dropdown.
- Pick one or more Allowed tier(s) and Save. Changes reach the live site within a few minutes.
Any tier opens the page
Access is OR-based: basic + advanced lets in members with either one. No tier selected = public page.
Sub-pages inherit
Protecting /members also gates /members/library/… (shield icon). A sub-page's own tiers override the parent's, but it can't be public under a gated parent.
What members see
Moment | Message | What it means / what to do |
Opens a gated page | Enter your email to receive a login link. | Login form |
Submits an email | Check your email for a login link. | Same answer for members and non-members, so nobody can probe who is registered |
Clicks the link | Confirm Sign In | Signed in for 30 days and returned to the requested page |
Signed in, wrong tier | You don't have access to this page | Check the member's Email and Tier in Notion. They can log out and try another email. |
Old or reused link | This login link has expired or was already used. | Request a new link. Email security scanners can "use" a link first. |
The email comes from no-reply@links.super.site with the subject "Your login link to yourdomain.com". If it lands in spam, moving it to the inbox helps future delivery. Sessions use a secure browser-only cookie, the token is removed from the URL immediately, and gated pages show a Log out button.
When access is re-checked: at every new login · at most every 24 h for active sessions · ~5 min after a tier change. Need to revoke now? Disconnect and reconnect the database.
Advanced (optional)
Login webhook
Site → Settings → Membership → Login settings. Send the login link to Make, Zapier, n8n or your own endpoint, instead of or in addition to the email.
{
"email": "member@example.com",
"magicLinkUrl": "https://yoursite.com/members?membership_token=…",
"expiresAt": "2026-08-15T12:00:00.000Z"
}- Click Test before saving. Untested URLs are not saved, test calls include
"test": trueand a dummy link. - Changing the URL requires a new test. Empty field = webhook off.
- 60-second timeout, fire-and-forget. Failures are never shown to visitors, check the login log.
magicLinkUrl is a live login credential valid for one hour. Only send it to a trusted HTTPS endpoint.
Guide: No access (similar for n8n and Zapier).
Suppress the login email
Enable Skip sending the magic-link email; only the login webhook is notified when your webhook handles delivery. Super then sends no email and members see "Your login link is on its way." Publish the site (or make any site change) so the login screen shows the new message.
Automate adding members
Stripe (payment) → Make / Zapier / n8n → new row in Notion members table → Super lets them in- Trigger from one payment event to avoid duplicate rows.
- Each new row needs an email and at least one tier.
- Secure the automation (verify the Stripe signature or use a shared secret).
- On cancellation, delete the row or clear its tier. Active sessions can last up to 24 h.
Example: No access
Login log & handing out a link
Settings → Membership → View login log shows the last 100 events, newest first, searchable by email.
Event | Meaning |
Login requested | Someone submitted an email (detail shows the requested page) |
Link sent | Link sent by email, webhook or both |
Link generated | Link created manually from the log |
Login failed | Not a member, or link already used |
Login succeeded | Member signed in |
Member didn't get the email? Click the copy icon on their Login requested row. Super creates a fresh link (1 hour, one use) for the requested page, copies it to your clipboard, sends no email and logs Link generated. Send it via Slack, WhatsApp or Intercom. Chat-app previews don't consume it, some corporate mail scanners do.
Treat login links like passwords. Anyone who opens one signs in as that member. Links are not stored, and none is generated for an email that is no longer a member.
Troubleshooting
Setup & connection
Symptom | Fix |
No Membership card in settings | Feature not enabled on your account. Ask Super support. |
Membership protection is a premium feature | Upgrade the site to Personal or higher. |
Membership is not set up for this site | Connect the Notion database first (step 3). |
Load databases returns nothing | Share the database with the connection (⋯ → Connections), or the token is from another workspace. |
Tier dropdown is empty | Tier must be a Multi-select with at least one option. |
Renamed tier still shows the old name | Press Reload tiers. |
Warning: N no longer exist in Notion | Tier options were deleted. Save the page, then pick current tiers. |
Changed login setting, live site unchanged | Publish the site or make any other site change. |
Login emails
Symptom | Fix |
Email never arrived | Check the login log. Not a member → address isn't in Notion. Link sent → delivery issue: check spam, then hand over a link with the copy icon. |
Repeated emails to one address stop arriving | The provider may rate-limit near-identical mails, and a mail delayed over an hour arrives expired. Use the copy icon. |
Expired or already used right after clicking | Older than an hour, already opened, or opened by a mail scanner. Request a new one or use the copy icon. |
Access
Symptom | Fix |
You don't have access to this page | Their row has no tier, or not one this page needs. Fix it in Notion, applies within ~5 min. |
Removed member still gets in | Sessions are re-checked every 24 h. Disconnect + reconnect to force it now. |
Sub-page is unexpectedly members-only | It inherits from a gated ancestor. Use Parent settings on its Protect Page card, or move it out of that path. |
Reference
Thing | Value |
Minimum site plan | Personal |
Notion access | Internal integration, read access, shared with the members table |
Email property types | Email, Text, Title |
Tier property type | Multi-select only |
Wildcard member row | *@domain.com |
Tier matching | OR, any one matching tier grants access |
Sub-page behaviour | Inherits the nearest gated ancestor |
Login link validity | 1 hour, single use (60 s tolerance for double-clicks) |
Member session | 30 days, per site |
Re-check of an active session | Up to 24 hours; about 5 minutes after a correction |
Sender / subject | Login Link <no-reply@links.super.site> / Your login link to your domain |
Webhook | email, magicLinkUrl, expiresAt (+ test: true), 60 s timeout |
Login log size | Last 100 events per site |