Portal Designer

Every setting of the portal designer, section by section: what it changes on the page, what it accepts, what is refused and why, and the value every portal had before the designer. The same rules hold on the dashboard, in your bot and over the API.

By the end of this page you will know where the portal designer lives, how a draft becomes the page your members see, and, for every one of its settings, what it changes, what it accepts, what it refuses and what it was before you touched it.

The portal page is the hosted storefront every project gets at its own address (share your project). Until the designer it had one look. Portal Designer lets you shape it: the images and words in the sidebar, the colours of the whole page, the type, the shape, the layout, your own wording, the content blocks under the plans, how the page behaves around the plans, who finds it, and which language meets a visitor.

How to read this page

Each section lists its settings in a table: what the setting changes on the page, what it accepts, and its default, which is the exact look every portal had before the designer, so a project that never opens the designer paints as it always did. A Refused list under the table names what the designer turns away and the sentence it answers with. Every rule here holds wherever a design is edited: on the dashboard, in your bot, over the API and from an agent.

Try it before you have a portal

The demo portal the home page links to carries the same designer in a panel, opened from the Portal Designer Demo tab on the right edge of the page. Every section, every option and every picture you pick paints the demo as you go; Save keeps your try-out in your own browser, Discard goes back to what you last saved and Reset All brings the demo back as it is. Nothing you do there reaches the demo itself, and nothing is uploaded.

Where to find it

  • In a project, open Portal Designer, the last entry of the project menu.
  • On any page of the project, press Customize beside Open Portal in the header.
  • In the project editor on the Projects page, the Design your portal row has an Open the Designer button. The banner image and the project photo moved there from the editor; images you had already uploaded are kept.

Draft, preview, publish

The designer never changes the page your members see until you say so.

Change something

Every control saves into a draft the moment you change it. The draft is yours alone: visitors keep seeing the published design. A social link is saved once it has an address, so a row you are still filling in never blocks the rest.

Watch the preview

The preview takes the whole page: it is the real portal page, opened with a signed ten-minute link that shows the draft, at the width your members see. The controls sit in a panel floating over it. Show Customization Options in the preview's toolbar opens the panel and Hide Customization Options closes it, the arrows in the panel's header move it to the other edge so it never covers the part you are looking at, and the panel opens one section at a time. The preview reloads after every change. Switch its width between desktop, tablet (768 pixels) and phone (430 pixels, an iPhone 14 Pro Max) to check all three, or open it in its own tab with the arrow button. A preview link never shows up in search engines, and your own pixels never fire in it.

Publish, or walk away

Publish Changes makes the draft the live design in one step. Discard Draft throws the draft away and shows the published design again. Reset this section, at the foot of each section, puts that section back to the defaults without touching the others. The line under the preview's heading says when the draft was last saved, and reads "the published design" once nothing is waiting.

Images publish at once

The banner image and the project photo are part of the project itself, so a new upload shows on the portal immediately, not on publish. Every other picture (the gallery, the photos of the people quoted, your own social card) is stored the moment you pick it and reaches members when you publish. Everything else waits for Publish Changes.

Limits at a glance

WhatLimit
Tagline80 characters, one line
Social links12, each address up to 255 characters, a custom link's name up to 40
WordingHeadings 60, subtitles 120, buttons 24, checkout note 240, thank-you message 400
Perks12 lines of up to 120 characters, heading up to 60
Questions12, each question up to 160 characters and its answer up to 800, heading up to 60
About the creatorName 60, bio 600
Second buttonLabel 24, address 255
Footer line120 characters
Announcement160 characters
Gallery8 pictures, cut to 1200 by 800
Quotes12, each up to 300 characters, name and subtitle up to 60, photo cut to 160 by 160
Metrics threshold0 to 1,000,000
Title suffix and description60 and 160 characters
Custom CSS16 KB
Social card1200 by 630
PicturesJPG, PNG, GIF or WEBP, up to 5 MB each; HEIC is refused

Brand

SettingWhat it changesAcceptsDefault
Banner imageThe wide image across the top of the sidebar card, shown at 480 by 160 and centre-croppedJPG, PNG, GIF or WEBP up to 5 MBNone
Project photoThe square picture over the banner, shown at 500 by 500 and centre-croppedJPG, PNG, GIF or WEBP up to 5 MBThe first letter of the project's name, or the connector's own picture of your bot
TaglineOne line under the project's nameUp to 80 characters on one line; repeated spaces are collapsedEmpty, nothing shown
Social linksA row of pills under the descriptionUp to 12 links. Each one is a network from the list and a full web address of up to 255 characters starting with https:// or http://; a custom link also takes a name of up to 40 charactersNone

The networks on the list: your website, Instagram, X, YouTube, TikTok, Facebook, LinkedIn, WhatsApp, Threads, the two chat platforms Subscriby connects to, and a custom link with a name of your own. Your project's own bot is not a social link: it already has its button at the top of the sidebar.

Refused

  • An address that is not a full web address: "Every link needs a full web address starting with https:// or http://."
  • A custom link without a name: "Give the custom link a name."
  • A thirteenth link: "social_links may hold at most 12 entries."
  • A HEIC picture, the default iPhone format: convert it to JPG first.

A row you are still filling in, with no address yet, is left out of the draft rather than refused, so it never blocks the rest.

Colours

SettingWhat it changesAcceptsDefault
PresetThe palette the page starts from, light and darkClassic, Dark, Midnight, Paper, Pastel, BoldClassic
Colour modeWhich half of the palette paints the pageLight, Dark, or Follow the visitor, which paints the light palette and switches to the dark one when the visitor's browser asks for a dark schemeLight
AccentButtons, highlights, the featured plan's badge and ring, the plan buttons. The text on it is picked for you: dark on a pale accent, white on a deep oneA hex colour such as #a3e635; a short one such as #abc is read as #aabbcc#a3e635, Classic's lime
Second accentThe pass-series and pass strips and their countdownsA hex colour, or empty for the preset's ownEmpty; Classic's own is an indigo
BackgroundThe page behind the cardsA hex colour that stands at least 3:1 from the three text colours#e4e4e7
GridThe faint grid drawn over the backgroundOn or offOn
Surface (advanced)The cardsA hex colour that stands at least 3:1 from the three text colours#ffffff
Headings (advanced)The project's name and every headingA hex colour that reads on both the surface and the background#18181b
Body text (advanced)The description and the plan detailsA hex colour that reads on both the surface and the background#52525b
Captions (advanced)The tagline, the labels and the small printA hex colour that reads on both the surface and the background#71717a

Choosing a preset sets the accent, the background, the surface and the three text colours to the preset's own and clears the second accent; it keeps your colour mode, your tagline and your links, and every colour stays editable afterwards. Each preset carries a drawn light palette and a drawn dark palette. In Dark, or in Follow the visitor when the visitor asks for a dark scheme, the page paints the preset's dark background, surface and text colours with your accent and second accent carried over, so a dark screen never gets an inverted light design. Every colour field is a colour picker with a dropper, swatches and a hex code you can type.

With the defaults untouched, the page paints the very shades it always had: the zinc greys of the lines and wells, the lime of the inks and buttons, the indigo of the series strips and the rose of a pass that has not opened yet. Change one colour and the tints of that family are mixed from your colour instead; the other families keep their shades.

Refused

  • A text colour too close to the surface or the background to read, whichever of the two you changed, measured on brightness and never on hue: "Body text and Surface are too close to read. Pick colours that stand apart." (the two names change with the pair). The floor is a contrast of 3:1, so a pale blue still reads on a navy while two mid blues do not. The accent is never checked, because the text drawn on it is picked for you.
  • Anything that is not a hex colour: "That value is not one the portal can use for "accent"."

Typography

SettingWhat it changesAcceptsDefault
Display fontThe project's name, the headings and the figuresOne of twelve facesAsap Condensed
Body fontThe description, the plan details and everything elseOne of twelve facesInter
Heading caseEvery heading on the page; the small labels under the figures stay in capitals either wayUppercase or As writtenUppercase
Type scaleEvery size on the page, one step at a time, with the proportions keptCompact, Regular or LargeRegular

The twelve faces: Asap Condensed, Inter, Poppins, Montserrat, Space Grotesk, Bebas Neue, Oswald, DM Serif Display, Playfair Display, Lora, Manrope and Sora. Every face is served from the portal itself, cut to the Latin letters, so a member's browser never calls a font service; a name in another script falls back to the visitor's system face, as it did before. As written suits a serif face or a long name.

Refused: a face or a case that is not on the list ("That value is not one the portal can use for "font_display".").

Shape

SettingWhat it changesAcceptsDefault
Corner radiusEvery corner at once: the two surface cards, the plan cards and everything inside themSharp, Soft or RoundRound
Button shapeThe buttons members pressPill, Rounded (follows the corner radius) or SquarePill
Button fillThe same buttonsDark (your heading colour, so it stays readable on a dark palette), Accent (your accent) or Outline (the surface, with the heading colour drawn around the label)Dark
Button label caseThe text on the buttonsUppercase or As writtenUppercase
ShadowsHow far the cards, the dialogs and the project photo lift off the pageNone, Soft or StrongStrong
Card borderA hairline around the two surface cards in your heading colour, for a surface close to the page colour or when the shadows are offOn or offOff

The buttons on the plan cards keep your accent and follow the shape and the case.

Refused: a value that is not on its list.

Layout

SettingWhat it changesAcceptsDefault
ArrangementWhere the sidebar card sitsLeft, Right, Stacked (the card centred above the plans) or Hero (the same under a banner that runs the full width of the page, taller)Left
Content widthHow wide the page is on a large screenNarrow, Regular or WideRegular
Sticky sidebarKeeps the sidebar card in view while the plans scroll; no effect when the card is stackedOn or offOn
Plan cardsHow the plans are laid out on a wide screen; two and three columns fold back to one on a phoneList, Two columns or Three columnsList
DensityThe room inside each plan card and between themRoomy or CompactRoomy
Plans headingThe heading and subtitle above the cardsOn or offOn
Subscriber countThe subscriber figure in the sidebarOn or offOn
Follower countThe follower figure beside itOn or offOn
Metrics thresholdThe count a figure must reach before it shows; a figure below it stays hidden, so a new project can switch metrics on and let them appear once there is something to showA whole number from 0 to 1,000,000; 0 shows every figure; a cleared field reads as 00

Refused: a threshold that is not a whole number in range, or any arrangement, width, grid or density not on its list.

Wording

Ten texts of your own over the built-in wording. A text you write shows in every language the portal speaks, exactly as written; a field you leave empty keeps the built-in text in all ten languages, so you can replace one line and leave the rest to Subscriby.

SettingWhere it showsAcceptsBuilt-in text
Plan list headingOver the plan cardsUp to 60 characters"Choose Your Plan"
Plan list subtitleUnder that headingUp to 120 characters"Here's what's available right now."
Login buttonThe header, for a visitorUp to 24 characters"Login"
Share buttonThe headerUp to 24 characters"Share"
Plan buttonEvery plan that sells; a plan that starts with a free trial keeps its own buttonUp to 24 characters"Subscribe", or "Get Access" on a scheduled plan; "Try for Free" on a trial
Checkout headingThe top of the checkoutUp to 60 characters"Checkout"
Checkout subtitleUnder that headingUp to 120 characters"Complete your purchase securely."
Checkout noteOne sentence of your own above the acceptance line, for a refund promise or a word on what happens next; the acceptance sentence itself stays Subscriby'sUp to 240 charactersNone
Success headingWhat a member sees once the payment is inUp to 60 characters"You're In!"
Thank-you messageUnder the confirmation, before the invite links: a welcome and the next stepsUp to 400 characters, over several lines if you likeNone

Refused: a text over its limit (""plans_title" may be at most 60 characters.").

Blocks

Content under the plan cards. A block shows only once it has something in it.

SettingWhat it changesAcceptsDefault
Perks headingThe heading over the perksUp to 60 characters"What you get"
PerksWhat the community offers beyond the plans, each line with a tick in your accentUp to 12 lines of up to 120 charactersNone
Questions headingThe heading over the questionsUp to 60 characters"Questions"
QuestionsQuestions a member opens one at a timeUp to 12; each question up to 160 characters, each answer up to 800None
About the creator: nameThe card's heading, "About name"Up to 60 charactersNone
About the creator: bioA few lines about you, over several lines if you likeUp to 600 charactersNone

Import from Knowledge brings the questions you wrote for members in Knowledge into the block as editable copies, newest first, until the block is full; a later edit in Knowledge does not follow, so you can shorten an answer for the portal without touching what the Copilot reads. The card about you shows once either the name or the bio is filled.

Refused: a thirteenth perk or question (""perks" may hold at most 12 entries."), a line, question, answer, name or bio over its limit. A perk without text, or a question missing its question or its answer, is left out of the draft rather than refused.

SettingWhat it changesAcceptsDefault
Second button: labelA button of your own in the sidebar, beside the connector button, for a community site, a store or a booking pageUp to 24 charactersNone
Second button: addressWhere it leadsA full web address of up to 255 characters starting with https:// or http://None
Refund policyA link under the sidebar card, named Refund policyA full web addressNone
ContactA link under the cardA full web address, or a mailto: addressNone
ImprintA link under the cardA full web addressNone
Footer lineA line of your own under the links, for a company name or a registration numberUp to 120 charactersNone
Help linkThe link to the member help pagesOn or offOn

The button shows once both its label and its address are filled; one without the other is kept in the form and left out of the draft. Terms and Privacy stay the links from the project settings.

Refused: an address that is not a full web address (or, for Contact, a mailto: one): "Every link needs a full web address starting with https:// or http://."; a label or line over its limit.

Announcement Bar

A strip across the top of the portal page in your heading colour, for a launch, a holiday closure or a last call.

SettingWhat it changesAcceptsDefault
TextThe line in the strip; the strip shows while there is oneUp to 160 charactersNone
LinkWhere the strip leads when pressedA full web address starting with https:// or http://None
StartsWhen the strip appears, in your own timezoneA date and a timeEmpty: at once
EndsWhen it takes itself downA date and a time after the startEmpty: never, until you clear the text

Refused: an end before the start ("The end date must be after the start date."), a link that is not a full web address, a text over 160 characters. In the bot the two moments are typed as YYYY-MM-DD HH:MM.

Media

Three blocks under the plans, each shown only once it has something in it.

SettingWhat it changesAcceptsDefault
VideoA card with a play button; the player loads from the service only when a member presses play, so the page sets none of its cookies before thatA YouTube or Vimeo address in any of its shapes (youtu.be/…, /watch?v=…, /shorts/…, vimeo.com/…)None
Gallery headingThe heading over the picturesUp to 60 charactersThe built-in one
GalleryA grid of picturesUp to 8, JPG, PNG, GIF or WEBP up to 5 MB each, cut to 3:2 at 1200 pixels wide the moment it is pickedNone
Quotes headingThe heading over what members sayUp to 60 charactersThe built-in one
What members sayQuotes with a name, a subtitle and a photoUp to 12. Each: the words up to 300 characters, the name up to 60, what they are (a title or a city) up to 60, and a photo cut to a 160-pixel square if you have oneNone

A quote is saved once its words and a name are there; without a photo the portal shows the first letter of the name. A picture you remove, or leave behind by discarding a draft, is deleted once neither the published design nor the draft shows it.

Refused: an address that is not YouTube or Vimeo ("That is not a YouTube or Vimeo address."), a ninth picture (the designer says how many were left out), a thirteenth quote, a HEIC picture, a quote part over its limit.

Sections

Two lists, each dragged into the order you want, each row with a switch that hides the part without losing what is in it.

SettingWhat it changesAcceptsDefault
SidebarThe order and visibility of the tagline, the metrics, the buttons (the connector's and your own), the description, the social links and the footer linksEvery one of the six parts exactly once, in any order, each shown or hiddenThe order every portal had, everything shown
Blocks under the plansThe order and visibility of the perks, the card about you, the questions, the video, the gallery and what members sayEvery one of the six blocks exactly once, in any order, each shown or hiddenThe order every portal had, everything shown
Language listThe list of languages under the sidebar cardOn or offOn

The banner, the photo and the name stay at the top of the card and the Powered by block at the bottom. A block shows only once it has something in it, so its switch is for keeping a filled block out of sight for a while.

Refused: over the API, a list that misses a part or names one twice ("That value is not one the portal can use for "sidebar_items"."); the dashboard and the bot can only reorder and flip, so they never send one.

Behaviour

How the page behaves around the plans.

SettingWhat it changesAcceptsDefault
Featured planOne plan carries a Most popular badge in your accent with the accent border, so the eye lands on it firstOne of the project's own plans, or noneNone
Coupon boxOn every checkout shows the "Have a coupon code?" box to everyone. Only with a coupon link keeps the price plain and opens the box by itself when a coupon link, a win-back message or a friend's referral code brings a code alongOne of the twoOn every checkout
Share buttonThe Share button in the headerOn or offOn
Share networksWhich networks the share sheet offers; the copy-link button always staysAny of the seventeen: Bluesky, Buffer, Email, Facebook, Flipboard, LINE, LinkedIn, Mix, Pinterest, Reddit, Threads, Tumblr, X, VK, WhatsApp, Xing and the chat platform your bot runs onAll seventeen
Login buttonThe Login button in the header, for a visitor; a project whose members only ever sign in through the bot needs none, and signed-in members keep their menu either wayOn or offOn
Joined this weekA line over the plans with how many members joined in the last seven days: a count only, never a name, and only once at least three joined, because a smaller number works against youOn or offOff
Seats-left badgesThe seat count a series card shows while seats remain; switch it off to sell without the pressureOn or offOn

Refused: a plan that is not one of this project's ("That plan is not one of this project's."), a network that is not on the list. A featured plan you later delete simply loses the badge.

Visibility & Code

Who finds the portal, what a shared link shows, and the code of your own it carries.

SettingWhat it changesAcceptsDefault
Search enginesWhether Google and the others may list the portal once it has a live plan and a live gateway; off adds a noindex directive, for a portal meant for a link in your bio, a newsletter or your bot aloneOn or offOn
Social cardWhether a link shared on a social network or in a chat unfurls with an image; off keeps the title and the description and sends noneOn or offOn
Card imageYour own card in place of the one the portal draws in your design's coloursA picture cut to 1200 by 630 the moment it is picked; dashboard onlyThe drawn card
Title suffixThe words after your project's name in the browser tab and in a search resultUp to 60 characters"Official Subscriptions"
DescriptionThe description under the title in a search result and a shared linkUp to 160 charactersCut from your project description
Meta PixelYour Meta tag, behind the targeting category of the cookie noticeThe dataset ID Events Manager shows: 10 to 20 digits, such as 123456789012345None
Google Analytics 4Your GA4 tag, behind the analytics categoryThe measurement ID: G- and 4 to 15 capitals or digits, such as G-ABC123XYZNone
TikTok PixelYour TikTok tag, behind the targeting categoryThe pixel ID TikTok Events Manager shows: 10 to 30 capitals or digitsNone
Google AdsYour conversion tag, behind the targeting categoryThe conversion ID: AW- and 6 to 12 digits, such as AW-123456789None
Custom CSSA stylesheet added after the theme, so your rules win; the page's stable selectors and the theme's variables are listed in the Portal CSS referenceUp to 16 KB of plain rules; dashboard onlyNone

Every tag ships inside the page switched off and runs only after a visitor accepts the matching category in the cookie notice, and none runs in your own preview.

Refused

  • An ID in the wrong shape, with the shape the service hands out: "A Meta Pixel ID is the digits Events Manager shows, such as 123456789012345.", "A Google Analytics 4 measurement ID starts with G-, such as G-ABC123XYZ.", "A TikTok Pixel ID is the code TikTok Events Manager shows, such as C1A2B3C4D5E6F7G8H9I0.", "A Google Ads conversion ID starts with AW-, such as AW-123456789."
  • A stylesheet that loads or runs anything: no @import, @charset, url(, expression(, behavior:, -moz-binding, javascript:, and nothing that would close the style element (</style, <script), spaces and backslashes notwithstanding: "The custom stylesheet may not contain @import."
  • A stylesheet over 16 KB, a suffix over 60 characters or a description over 160.

Language

Every portal text exists in all ten languages; here you choose which a visitor meets.

SettingWhat it changesAcceptsDefault
Default languageThe language your portal's own address opens in; every other language you offer keeps its code in the address, as in /en/your-handle, and a link that names a language or a visitor's own earlier choice still comes before your defaultOne of the languages you offer, or the platform's ownThe platform's own, English
Languages offeredWhich languages the switcher under the sidebar card lists; with one language the switcher goesAny of the ten, in the platform's order, at least one, and always including the default: English, Spanish, French, German, Italian, Portuguese, Turkish, Hindi, Bengali and SinhalaAll ten

Refused: a list without the default language ("The default language must be one the switcher offers."), an empty list, a language that is not one of the ten.

The same rules everywhere

A design is judged the same way wherever it is edited, so a value the dashboard refuses is refused by the bot, the API and an agent with the same sentence:

  • A setting that does not exist: "The portal design has no setting called "colour"."
  • A value that is not on a setting's list: "That value is not one the portal can use for "radius"."
  • A text over its limit: ""tagline" may be at most 80 characters."
  • A list over its limit: ""gallery" may hold at most 8 entries."
  • A missing setting reads as its default, so a document that names only the keys it changes is complete.

From your bot

A connector whose platform bot has a creator-side menu offers the same designer in the chat. Each change saves into the same draft the dashboard shows, so you can start on the phone and finish at the desk. Six things stay on the dashboard, because a chat cannot take them: the banner image, the project photo, the gallery pictures, the photos of the people quoted, your own social card and the custom stylesheet.

🎨 Portal Designer on the project card opens a home screen with the preview link, Brand, Colours, Typography, Shape, Layout, Wording, Blocks, Button & Footer, Announcement Bar, Media, Sections, Behaviour, Visibility & Code and Language, Publish Changes and Discard Draft. The tagline, a link's address and name, every colour, the metrics threshold, each of the ten texts, a perk, a question and its answer, your name and your bio, the second button's label and address, the footer links, the announcement and the two ends of its window (as YYYY-MM-DD HH:MM in your own timezone), the video address, the two media headings and a quote in three answers (the words, who said it, what they are) are typed as messages (a lone dash puts the built-in wording back, removes a link or leaves a part empty), a colour as a hex code such as #a3e635; presets, the colour mode, the networks, the two faces, the heading case, the type scale, the corner radius, the button shape, fill and label case, the shadows, the card border, the arrangement, the width, the plan columns and density, the sticky sidebar, the plans heading and the two figures are buttons, every part of the sidebar and every block has a button that moves it one step up and one that shows or hides it, the featured plan is picked from a list of your plans, the coupon box and the four behaviour switches flip in place, the share networks are ticked one by one, the search engine and social card switches flip, the four pixel IDs, the title suffix and the description are typed, the default language is picked from the offered ones and each language flips in or out of the switcher; Reset Brand, Reset Colours, Reset Typography, Reset Shape, Reset Layout, Reset Wording, Reset Blocks, Reset Button & Footer, Reset Announcement Bar, Reset Media, Reset Sections, Reset Behaviour, Reset Visibility & Code and Reset Language ask before a section goes back to the defaults. A refused value comes back with the same sentence the dashboard shows.

Over the API and from an agent

The design travels: GET /v1/projects/{project}/portal-design answers the published document, the draft and a ten-minute preview address, PUT changes keys in the draft, POST …/publish and POST …/discard are the two buttons, and POST …/images/{slot} stores a gallery picture, a member's photo or the card. An agent has the same four steps as get_portal_design, update_portal_design, publish_portal_design and discard_portal_design_draft; a publish from anywhere raises project.design_published, naming the sections that changed; and Zapier and n8n carry the same operations and the trigger. The Portal Design API page has every key with its type.

What every member sees

The published design paints the whole portal page: the sidebar card, the plan cards, the checkout, the membership, account and referral screens, the sign-in sheets, the Copilot bubble and the follow-up page all take their surfaces, text, lines and tints from the same palette, so a dark palette is dark everywhere a member goes. The second accent colours the pass and series strips and their countdowns. Warnings and errors keep their own amber and red, whatever the palette. The social card shown when the portal link is shared is drawn in the same colours, and the plan embed from Smart Links starts from the design.

How is this guide?

Last updated on

On this page

Subscriby is a product
designed by you — for you.
No boardroom full of executives deciding what we ships next. Our roadmap always shaped by you with your feedback.

Share feedback or a request

For AI agents: llms.txt · llms-full.txt