Membership lets you make selected pages of your Super site private and control access based on member tiers.
Your members are managed in a Notion database, where each row represents a member and their tier(s). You then choose which pages are members-only and which tiers can access them.
Members sign in using a magic link sent to their email. There are no passwords or separate member accounts to manage in Super.
In short: Notion manages your members, while Super controls access to your content.
When to use it
You want to… | Use |
Give different content to different groups of people | Membership |
Protect a page with one shared secret | Password protection |
Hide a page from navigation while keeping its URL accessible | Page visibility settings |
Note: Membership and password protection cannot be used on the same page. A page can be either members-only or password-protected.
What Membership is not
- Not a signup or checkout system. Members are added to your Notion database manually or through an automation such as Stripe + Make, Zapier, or n8n.
- Not a member management system inside Super. You manage members and their tiers in Notion.
- Not a payment system. Super only checks whether a visitor's email has access to the requested content.
Before you start
You need:
- A Personal plan or higher on the Super site.
- Membership enabled on your Super account. If you don't see the Membership option in your site settings, contact Super support.
- A Notion workspace where you can create an integration and member database.
Setup Video Walk-through
Step by Step
Step 1: Create Members Page using Table Database
Create (or reuse) a Notion database with one row per member. Super only needs two properties from it.
Property | Notion type | Purpose |
Email | Email (recommended), or Text, or Title | The address the member logs in with |
Tier | Multi-select — required, no other type works | Which tier(s) that member holds |
Anything else in the table (name, notes, purchase date, Stripe id, …) is ignored by Super and is yours to use freely.
Example/template:
Tiers
Tier names are simply the options of your Multi-select property. Create as many as you need — basic, advanced, founding-member, 2026-cohort, and so on. Super reads that option list from Notion and offers those names when you protect a page.
Super tracks tiers by their Notion option id, not by their text:
- Tiers should never be empty
- Renaming a tier in Notion is safe. Press Reload tiers in Super and the new name shows up everywhere, with your page settings intact.
- Deleting a tier option in Notion orphans it. Pages still pointing at it show a warning and drop it the next time you save that page.
Advanced options
Allow an entire domain
To give everyone at a specific company access to a tier, add a row using this format:
@yourcompany.com
For example, *@example.com gives any email address from example.com the tiers assigned to that row.
If a member has both a regular email row and a matching wildcard row, their tiers are combined.
Duplicate email addresses
If the same email appears in multiple rows, Super combines all the tiers assigned to those rows. This means the member gets access to every tier listed across their rows.
⚠️ Make sure every member has a tier
A member with an email address but no tier can still log in, but they won't have access to any members-only pages.
If a member sees "You don't have access to this page," check that their row has at least one tier assigned.
Next
Once the table exists, share it with a Notion integration — see the Notion DB connection page — and then connect it in Super.
Step 2: Create Notion DB Connection
Once you have your Membership Access List in Notion, you need to connect it to Super. This allows Super to check your member list when someone tries to access protected content.
The connection requires a Notion connection and its Access Token.
Steps
- Create a new Notion connection.
- Copy your Access Token.
- Grant the connection access to your Membership Access List database.
- Click Add to Page
Go to Notion Connections and create a new connection.
Tip: Give the connection a name that identifies the website or path it will be used for, such as example.com/memberspace.Save the Access Token somewhere secure. You'll need it in the next step.
In Notion, open the Membership Access List database and grant access to the connection you just created.
Next is Connect your Membership to Super
Step 3: Connect your Membership to Super
Connect your database
- Enter your Notion integration token and click Load databases.
- Select your Membership Access List from the database dropdown.
- Map your properties:
- Email: Email, Text, or Title
- Tier: Multi-select
Click Connect when you're done.
If you change the integration token, you'll need to repeat the database and property selection because Super will reload the databases available to the new token.
After connecting
The Membership card will show:
- Your connected database
- The Email and Tier properties
- Available tier names
- Last synced time
- Reload tiers and Disconnect buttons
- Login settings
- View login log
Your Notion token is stored securely and is never displayed again after you enter it.
Reload tiers
Click Reload tiers whenever you add, rename, or remove tier options in Notion.
This only refreshes the available tier names. Member information is not copied or cached in Super — member access is checked against Notion when they log in.
Disconnect
Click Disconnect to stop using Membership on your site. Gated pages will no longer be accessible to members.
- Your page-to-tier assignments are preserved, so you can reconnect the same database later without setting up your protected pages again.
- Existing member sessions are invalidated when you disconnect or reconnect.
Tip: Disconnecting and reconnecting is also a quick way to force all members to be checked against Notion again immediately.
Next
Protect pages by tier — connecting your database alone doesn't make any pages private. You must mark individual pages as members-only and assign the appropriate tiers.
Step 4: Protect Pages by Tier
Go to your site → Pages → (the page) → Protection. In the Protect Page card:
- Choose Membership in the protection dropdown.
- In Allowed tier(s), pick one or more tiers.
- Save.
Site changes take a few minutes to reach the published site, as with every other Super setting.
How tier access works
Access is OR-based. A member can access a page if they have at least one of the tiers selected for that page.
For example, selecting basic and advanced allows members with either tier to access the page.
No tier selected = public page. If you don't select a tier, the page remains accessible to everyone.
Sub-pages inherit protection
When you protect a page, its sub-pages are protected automatically.
For example, protecting /members also protects:
/members/library/members/library/2026
Inherited pages are marked with a shield icon and show which parent page they inherit protection from.
To use different tiers for a sub-page, assign tiers directly to that page. The page's own settings override the inherited settings.
You cannot make a sub-page public while its parent is protected. If you need a public page, move it outside the protected path.
Switching or removing protection
A page can use either Membership or Password protection, but not both.
- Switching from Password protection to Membership (or the other way around) removes the previous protection after confirmation.
- Click Remove to remove Membership protection from a page.
- If a selected tier is deleted from Notion, Super will warn you that the tier no longer exists. Save the page to remove the outdated tier, then select the current tiers.
What you may see instead of the tier picker
Message on the card | What it means |
Membership protection is a premium feature | The site is below the Personal plan. Upgrade the site. |
Membership is not set up for this site | No Notion members database connected yet. The button takes you to site settings. |
Membership protection (shield) | Everything is ready — pick your tiers. |
Inherited from parent | This page is gated by an ancestor; manage it there. |
Step 5: What your Members See
When a visitor opens a members-only page, they’ll be asked to enter their email address:
Enter your email to receive a login link.
After submitting, everyone sees the same confirmation message, whether or not the email belongs to a member:
Check your email for a login link.
This prevents visitors from using the login form to find out whether an email address is registered as a member.
The login email
The login link is sent from no-reply@links.super.site with the subject "Your login link to yourdomain.com".
- Valid for: 1 hour
- Uses: One
- Body: A short message with a login button
If the email goes to spam, move it to your Inbox to help prevent future messages from being filtered.
Then, click Confirm Sign In!
After signing in
Clicking the login link signs the member in and returns them to the page they originally requested.
Their session:
- Lasts 30 days
- Uses a secure browser-only cookie
- Removes the login token from the URL immediately
Signed-in members can use the Log out button shown on gated pages.
Signed in but no access
A member can be signed in but still unable to access a page if their account doesn't have any of the required tiers or not added in your members database.
They'll see:
You don't have access to this pageYour membership doesn't include the tier required to view this content.
They can log out and try a different email address.
If this happens unexpectedly, check the member's Email and Tier values in your Notion database.
Expired or used links
If a login link has expired or was already used, the member will see:
This login link has expired or was already used.
They can simply enter their email again to request a new link.
A link may also be marked as used if a corporate email security scanner opened it before the member did.
When membership is re-checked
- New logins: Super checks the member's access against Notion.
- Existing sessions: Super re-checks membership at most once every 24 hours.
- Membership changes: Updates to a member's tiers can take about 5 minutes to take effect.
- Removing a member: An existing session may remain active for up to 24 hours.
Need to revoke access immediately? Disconnect and reconnect the Membership database. This invalidates existing member sessions and forces a fresh check.
Advanced Settings (Optional)
Step 6: Login settings: webhook & suppress email
You can find these options in the Membership card under Login settings.
Login webhook URL
You can optionally send the login link to your own webhook instead of, or in addition to, Super's email. This works with services such as Make, Zapier, n8n, or your own endpoint.
The webhook receives:
{
"email": "member@example.com",
"magicLinkUrl": "https://yoursite.com/members?membership_token=…",
"expiresAt": "2026-08-15T12:00:00.000Z"
}Before saving:
- Click Test first. Super won't save an untested URL.
- Test requests include
"test": trueand a dummy link. - Changing the URL requires you to test it again.
- Leave the field empty to disable the webhook.
- Webhook requests have a 60-second timeout.
Webhook failures aren't shown to visitors. They will still see the normal neutral confirmation screen. If login links aren't being delivered, check the Login log.
⚠️ Security: magicLinkUrl is a live login credential valid for one hour. Only send it to a trusted HTTPS endpoint.
You can check this article on Making A Webhooks using Make. The steps added here is almost similar using other automation like N8N and Zapier.
Suppress the login email
Enable Skip sending the magic-link email; only the login webhook is notified if your webhook handles the entire delivery process.
When enabled:
- Super won't send an email.
- The member sees "Your login link is on its way."
- The setting takes effect immediately.
After enabling it, publish the site (or make another site change) for the updated message to appear on the public login screen.
Automate adding members
Super doesn't include a built-in checkout. For paid memberships, you can connect your payment system to Notion using an automation service:
Stripe (payment) → Make / Zapier / n8n → new row in your Notion members table → Super lets them inWhen a payment is completed, the automation adds the member to your Notion database.
Important:
- Trigger your automation from one payment event to avoid creating duplicate member rows.
- Each new row must include an email and at least one tier.
- Secure your automation webhook, for example by verifying the Stripe signature or using a shared secret.
- For cancellations, remove the member's row or clear their tier.
- Existing sessions may remain active for up to 24 hours after access is removed.
See Stripe → Make → Notion DB access list for an example setup.
Step 7: Member login log & handing out a login link
The View login log button in the Membership card shows the site's last 100 login events, newest first. You can search by email, and times are shown in your local timezone.
Event types
Event | Meaning |
Login requested | Someone submitted an email on the login form. The detail shows the page they requested. |
Link sent | A login link was sent by Email, Webhook, or both. |
Link generated | A login link was manually generated from the login log. |
Login failed | The login failed because the address isn't a member or the link was already used. |
Login succeeded | The member successfully signed in. |
The log is useful for troubleshooting login issues:
- Login requested but no Login succeeded → the link may not have been delivered or opened.
- Not a member → the email isn't in your Notion database. Check for typos or whether the member used a different email address.
The dashboard shows the latest 100 events. Super keeps a longer internal record, so contact support if you need older history.
Manually generate a login link
If a member doesn't receive their email, you can generate a new login link from a Login requested event.
Click the copy icon to:
- Go to Settings>Memberships
- View Login Log
- Generate a new login link for the requested page.
- Copy it to your clipboard.
- Send no email.
- Record a Link generated event in the log.
You can then send the link through another channel, such as Slack, WhatsApp, or Intercom.
Important
- Each generated link is valid for 1 hour and one use.
- A fresh link is generated every time you click the copy icon.
- Links aren't stored in your site data or Super's login logs.
- A link won't be generated if the email is no longer a member.
- Chat-app link previews don't consume the login link, but some corporate email security scanners may.
⚠️ Treat login links like passwords. Anyone who receives and opens a link can sign in as that member. Only share it directly with the intended member.
Troubleshooting Membership Feature
Symptom | Likely cause and fix |
No Membership card in site settings | The feature is not enabled on your account. Ask Super support. |
Membership protection is a premium feature | The site is below the Personal plan. Upgrade the site. |
Membership is not set up for this site on a page | No Notion database connected yet — do the connect flow first. |
Load databases returns nothing | The integration has not been shared with the database in Notion (⋯ → Connections), or the token belongs to another workspace. |
Tier dropdown is empty | The tier property must be a Multi-select with at least one option. |
Member says the mail never arrived | Check the login log. Not a member → the address is not in Notion. Link sent → it is a delivery problem: ask them to check spam, then hand them a link with the copy icon. |
Repeated login mails to the same address stop arriving | Some providers temporarily rate-limit a mailbox after many near-identical messages. A mail delayed by more than an hour arrives already expired — use the copy icon instead. |
This login link has expired or was already used although they just clicked it | The link is older than an hour, was already opened, or a mail-security scanner opened it first. Request a new one, or hand one over with the copy icon. |
Member gets You don't have access to this page | Their Notion row has no tier, or not one of the tiers this page requires. Fix the row in Notion — it takes effect within about 5 minutes. |
A removed member still gets in | Sessions are re-checked at most every 24 hours. Disconnect and reconnect the database to invalidate all cached checks immediately. |
A sub-page is unexpectedly members-only | It inherits from a gated ancestor. Open its Protect Page card, press Parent settings, and change it there — or move the page out of that path. |
Renamed a tier in Notion, Super still shows the old name | Press Reload tiers. |
Warning: N no longer exist in Notion | Those tier options were deleted in Notion. Save the page to drop them, then pick current tiers. |
Changed a login setting and the live site still shows the old behaviour | Publish the site, or make any other site change, so the published settings refresh. |
Limits worth knowing up front
Limit | Why |
No self-serve signup — members are added in Notion, or by your automation | By design: Super is the doorman, not the box office |
No member-management UI inside Super | By design: Notion is the single source of truth |
A page cannot be both password-protected and members-only | By design: one gate per page |
No public exception beneath a gated parent page | By design: gating always cascades down a URL path |
Removing a member can take up to 24 hours to end an existing session | By design: a live Notion lookup on every request would be too slow and would exhaust your Notion rate limit. Corrections still apply within ~5 minutes, and disconnect/reconnect forces an immediate re-check. |
Login links last 1 hour and work once | By design: they are bearer credentials |
Quick reference
Thing | Value |
Minimum site plan | Personal |
Notion access | Internal integration, read access, shared with the members table |
Email property types accepted | 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 |
Notion re-check for an active session | Up to 24 hours; about 5 minutes after a correction |
Sender | Login Link <no-reply@links.super.site> |
Subject | Your login link to your domain |
Webhook payload | email, magicLinkUrl, expiresAt (plus test: true on test fires) |
Webhook timeout | 60 seconds, fire-and-forget |
Login log size | Last 100 events per site |
Where to click
Task | Path in the dashboard |
Connect / disconnect the members database | Site → Settings → Membership card |
Reload tier names from Notion | Site → Settings → Membership → Reload tiers |
Login webhook, suppress email | Site → Settings → Membership → Login settings |
See who logged in | Site → Settings → Membership → View login log |
Hand a member a login link | Login log → copy icon on a Login requested row |
Gate a page by tier | Site → Pages → page → Protection → Protect Page |
Find the parent that gates an inherited page | Protect Page → Parent settings |