[{"data":1,"prerenderedAt":197},["ShallowReactive",2],{"ls-connection":3,"support-article-settings-custom-domain":5},{"connected":4},false,{"article":6,"related":38,"neighbors":124,"alternates":191},{"feature":7,"category":8,"locale":9,"slug":7,"title":10,"lede":11,"purpose":12,"steps":15,"notes":30,"generatedFrom":36,"updated":37},"custom-domain","settings","en","Use your own domain","Serve your published pages on your own subdomain instead of the default Livestorm address.",[13,14],"By default a published page lives at venue.livestorm.app\u002Fyour-company\u002Fyour-page. Pointing your own subdomain at Livestorm keeps visitors on your brand, and the SEO value of your pages on your own domain.","The domain is set once per workspace and applies to every published page in it.",[16,19,22,26],{"text":17,"image":18},"Open Settings → Custom domain. Only workspace admins can change it, since it affects every published page.","\u002Fsupport\u002Fcustom-domain\u002Fen\u002Fstep-1.webp",{"text":20,"image":21},"Enter a subdomain you control, for example events.acme.com, then click Add domain.","\u002Fsupport\u002Fcustom-domain\u002Fen\u002Fstep-2.webp",{"text":23,"image":24,"code":25},"The domain moves to “Awaiting DNS”, with the CNAME record to create at your DNS provider. Copy the target and add it as a CNAME for your subdomain.","\u002Fsupport\u002Fcustom-domain\u002Fen\u002Fstep-3.webp","venue.livestorm.app",{"text":27,"image":28,"caption":29},"Once the record has propagated, click “Check again” to activate the domain. Then choose what happens to the old default URL: keep both working, redirect it, or switch it off.","\u002Fsupport\u002Fcustom-domain\u002Fen\u002Fstep-4.webp","An active domain, with the default-URL behaviour set to “keep both working”.",[31,32,33,34,35],"Subdomains only (events.acme.com, go.acme.com). A root domain such as acme.com is refused: it needs an ALIAS\u002FANAME record that not every DNS provider offers.","DNS propagation can take a few minutes, sometimes longer. “Check again” is safe to click as often as you like.","One domain per workspace, and a hostname already claimed by another workspace is refused.","“Redirect” sends the old venue.livestorm.app links to the same page on your domain with a permanent (301) redirect, so existing links and their SEO value follow.","Removing the domain puts every page back on the default URL immediately.","SettingsDomainTab.vue · useWorkspace.ts · custom-domain\u002Fhostname.ts · i18n settings.domain.*","September 9, 2026",[39,75,102],{"feature":40,"category":8,"locale":9,"slug":41,"title":42,"lede":43,"purpose":44,"steps":46,"notes":64,"generatedFrom":73,"updated":74},"page-access","access-and-privacy","Control access and privacy","Password-protect the page, set its visibility, redirect after registration, and cap sign-ups or close them at a set date.",[45],"The Settings step gathers the page's access rules: who can find it (search-engine visibility), who can load it (password), where visitors go after they register, how many people can sign up, and until when.",[47,50,53,56,59,62],{"text":48,"image":49},"Open your page in the builder, on step 4 · Settings. Each rule is its own block with its own switch.","\u002Fsupport\u002Fpage-access\u002Fen\u002Fstep-1.webp",{"text":51,"image":52},"In the visibility block, choose “Public” (crawlable and indexable by search engines) or “Unlisted” (hidden from search, reachable only via its direct link).","\u002Fsupport\u002Fpage-access\u002Fen\u002Fstep-2.webp",{"text":54,"image":55},"Turn on “Password protection” to require a password before the page loads, then enter it, at least 8 characters. The eye button reveals it.","\u002Fsupport\u002Fpage-access\u002Fen\u002Fstep-3.webp",{"text":57,"image":58},"Turn on “Redirect after registration” and enter a full https:\u002F\u002F URL to send registrants to your own page, or leave the switch off to show the in-page confirmation.","\u002Fsupport\u002Fpage-access\u002Fen\u002Fstep-4.webp",{"text":60,"image":61},"Turn on “Registration limit” to cap sign-ups: set the maximum with the slider or the field. Once the limit is reached, the page shows a “registration full” message instead of the form, unless you also turn on “Waiting list”, nested under the limit, which keeps the form open and queues whoever it would have turned away.","\u002Fsupport\u002Fpage-access\u002Fen\u002Fstep-5.webp",{"text":63},"Turn on “Registration close date”, under the limit, to stop sign-ups at a date and time of your choice, set in the event’s time zone (named next to the fields). Until then, the page shows “Registration open until” and the date under the form button. After it, the form gives way to a “registration closed” message that names the date.",[65,66,67,68,69,70,71,72],"An unlisted page is still reachable by anyone with the link: it is not protection, only a way to keep it out of search engines.","The password must be at least 8 characters and the redirect URL must start with https:\u002F\u002F. Otherwise publishing is blocked on the Launch step.","The “Waiting list” switch appears under the registration limit on free pages only, and is unavailable while registrant retention is set to “Don’t store”. See “Keep a waiting list when the page is full”.","The first date offered is 6:00 PM on the eve of the page’s last session, or tomorrow at 6:00 PM if that evening has passed or no session is ahead. A date already past closes registration on a published page at once, and the field says so.","To keep the date off the page, select the registration form on step 3 · Design and turn off “Show the closing date” in its properties. The message shown once registration has closed still names the date.","Anything already under way still completes after the close date: you can approve pending requests and promote people from the waiting list, and a payment started before the date goes through.","The same card carries “Email domain restrictions”, which decides whose address may register at all. See “Restrict which email domains can register”.","These settings apply on publish: check them before taking the page live.","builder\u002Fsettings\u002FSettingsStep.vue (step 4) · builder\u002Fsettings\u002FRegistrationLimitSetting.vue · builder\u002Fsettings\u002FRegistrationCloseSetting.vue · i18n wizard.settings.*","October 4, 2026",{"feature":76,"category":8,"locale":9,"slug":76,"title":77,"lede":78,"purpose":79,"steps":82,"notes":96,"generatedFrom":100,"updated":101},"api-keys","Create and revoke API keys","Issue workspace keys to call the pages API from your own code. Revoke them when you no longer need them.",[80,81],"API keys let workspace admins authenticate to the pages API with a Bearer token (`vk_live_…`). A key carries the same access as a workspace admin, so treat it like a password: create it when you need an integration, copy the secret once, and revoke it as soon as it is unused.","Endpoints, Try-it, and code samples live in the in-app API documentation (`\u002Fdocs`).",[83,86,90,92,94],{"text":84,"image":85},"Open Settings → API keys. Only workspace admins can manage keys.","\u002Fsupport\u002Fapi-keys\u002Fen\u002Fstep-1.webp",{"text":87,"image":88,"caption":89},"The list shows each key’s name, prefix (`vk_live_…`), dates, and status. Filter Active \u002F All to hide or show revoked and expired keys.","\u002Fsupport\u002Fapi-keys\u002Fen\u002Fstep-2.webp","Switch to All to see revoked or expired keys alongside active ones.",{"text":91},"Click “Create key”, give it a name (e.g. “Production integration”), pick an expiration (30 days, 90 days, 1 year, or never), then confirm.",{"text":93},"Copy the secret immediately. It is shown only once. Tick “I’ve saved this key somewhere safe” before closing. You can open “Try in API docs” to paste it into the docs Try-it panel (it stays in this browser only).",{"text":95},"To stop a key, click “Revoke” on its row and confirm. Any integration using that key stops working right away. This can’t be undone.",[97,98,99],"Never commit API keys to source control or share them in chat or tickets.","Expired keys stop working automatically; revoked keys stay in the All filter for audit.","Non-admins see the tab but cannot create or revoke keys. Ask a workspace admin.","SettingsApiKeysTab.vue · useApiKeys.ts · i18n settings.apiKeys.*","July 21, 2026",{"feature":103,"category":8,"locale":9,"slug":103,"title":104,"lede":105,"purpose":106,"steps":109,"notes":119,"generatedFrom":123,"updated":37},"data-retention","Set how long registrant data is kept","Choose a retention window for the personal data collected through your pages, or have your pages keep none at all.",[107,108],"Registrant data retention controls how long the personal data your pages collect (a registrant’s email and their form answers) is kept. It is a single, workspace-wide setting: it applies to every page in the workspace, and only workspace admins can change it. A daily backend job permanently deletes anything older than the window you pick.","Use it to match your own privacy policy or a legal requirement. Keep data as long as you need it, or have your pages store none of it and rely on your Livestorm events as the system of record.",[110,113,117],{"text":111,"image":112},"Open Settings → AI & privacy. Registrant data retention is the second card, below AI page generation.","\u002Fsupport\u002Fdata-retention\u002Fen\u002Fstep-1.webp",{"text":114,"image":115,"caption":116},"Open the “Keep registrant data for” dropdown and pick a window: Unlimited (the default), 2 years, 1 year, 6 months, or 3 months. The change saves as soon as you pick.","\u002Fsupport\u002Fdata-retention\u002Fen\u002Fstep-2.webp","Data older than the selected period is permanently deleted.",{"text":118},"To store no registrant personal data at all, choose “Don’t store”. Only anonymized analytics counts are kept, and a warning explains what that means.",[120,121,122],"The setting is workspace-wide and admin-only: it applies to everyone, and members see it but can’t change it.","Data older than the window (email and form answers) is deleted permanently by a daily job. This can’t be undone, so shorten the window deliberately.","“Don’t store” keeps zero registrant personal data; only anonymized counts remain for analytics.","SettingsAiTab.vue · useWorkspace.ts setRegistrantRetention · i18n settings.workspace.retention.*",{"prev":125,"next":169},{"feature":126,"category":8,"locale":9,"slug":126,"title":127,"lede":128,"purpose":129,"steps":132,"notes":150,"generatedFrom":167,"updated":168},"paid-registration","Charge for registration","Require a one-time payment before a visitor is registered.",[130,131],"A paid page turns payment into the last gate before sign-up: nothing is created in Livestorm and no registrant is recorded until Stripe confirms the charge. Useful for paid masterclasses, workshops and training sessions.","The money goes to your OWN Stripe account (direct charges): you are the merchant of record, you own receipts, refunds and disputes, and Livestorm takes no cut.",[133,136,139,142,146,148],{"text":134,"image":135},"Paid registration needs a connected Stripe account. Open Settings → Integrations and check that the Stripe row reads “Connected”.","\u002Fsupport\u002Fpaid-registration\u002Fen\u002Fstep-1.webp",{"text":137,"image":138},"Then open your page in the builder, on step 4 · Settings. The Payment group sits below the access rules.","\u002Fsupport\u002Fpaid-registration\u002Fen\u002Fstep-2.webp",{"text":140,"image":141},"Turn on “Paid registration”. Until a Stripe account is connected and able to take card payments, the card stays greyed out with a link to Integrations.","\u002Fsupport\u002Fpaid-registration\u002Fen\u002Fstep-3.webp",{"text":143,"image":144,"caption":145},"Enter the price and its currency, then optionally a line-item label. It is what buyers see on the Stripe checkout and receipt. Leave it empty to fall back to the event title.","\u002Fsupport\u002Fpaid-registration\u002Fen\u002Fstep-4.webp","A €49 ticket labelled “Masterclass ticket”, ready to publish.",{"text":147},"To give some visitors a lower price, click “Add code” under the price. Enter the code, then a percentage or a fixed amount off: the window shows what visitors will pay. A use limit and start and end dates are optional.",{"text":149},"A saved code works at once, without publishing again. The list shows how many times each code was used and whether it is active, with a switch to turn it off, and a menu to edit it, share a link that applies it, or delete it.",[151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166],"The minimum price is 0.50 in the selected currency (EUR, USD or GBP).","The price is snapshotted by the server when a visitor submits, so it cannot be tampered with from the browser, and changing it later never re-prices a sign-up already in progress.","Someone who is already registered is not charged again: the form recognizes their email and skips checkout.","On a multi-session page, one payment registers every session the visitor picked.","Visitors enter a promo code on the page before paying, and the button shows the new price. A shared link opens the page with its code already applied. Capitals do not matter, and a code works on its own page only.","Stripe charges the reduced price. With a 100% code, the visitor registers without paying.","A code cannot leave less than Stripe’s minimum charge (0.50 in EUR or USD, 0.30 in GBP) unless it takes 100% off. If you lower the price later, visitors with that code pay the minimum.","A fixed amount off is in the page’s currency. If you change the currency, the code stops applying until you edit it and enter the amount again.","A visitor on the Stripe checkout holds one use of the code for up to an hour, and gives it back by leaving without paying. When a code has no uses left, the next visitor is told before paying. A payment you refund in full in Stripe gives its use back too, and the person stays registered.","Once someone has used a code, you can turn it off but not delete it. Turning a code off or deleting it does not affect a visitor already on the Stripe checkout: they pay the price they were shown.","The Registrants tab shows what each person paid and the code they used, in the Paid column. The export adds Amount paid and Promo code.","Promo codes apply on the page itself. In a hub’s registration window, visitors pay the full price.","Refunds and disputes happen in your own Stripe dashboard, not in Livestorm.","If a payment succeeds but the event platform then refuses the registration for a cause on its side (a broken connection, an outage), the visitor is kept in the Failed view of the Registrants tab with a “Paid” tag, and retried. See “Recover registrations the event platform refused”.","A charged visitor whose registration cannot be completed at all is listed at the top of the Registrants tab (its Approved view), under “paid but not registered”, with “Refund in Stripe”.","Disconnecting Stripe stops paid pages from taking payments until you reconnect.","builder\u002Fsettings\u002FSettingsStep.vue · builder\u002Fsettings\u002FPromoCodesSetting.vue · SettingsPaymentsTab.vue · usePayments.ts · pages\u002FFailedPaymentsCard.vue · i18n wizard.settings.payment.* \u002F wizard.settings.promo.* \u002F registrants.failed*","October 8, 2026",{"feature":170,"category":8,"locale":9,"slug":171,"title":172,"lede":173,"purpose":174,"steps":177,"notes":186,"generatedFrom":190,"updated":37},"members","team-members","See who has access to the workspace","Check who shares your pages, and how a teammate joins.",[175,176],"A workspace is shared: everyone in it sees the same pages, brands, templates and media library. The Team members tab is where you check exactly who that is, with each person’s role.","There is nothing to invite here. Membership comes from Livestorm: anyone on your Livestorm team joins by connecting their own account.",[178,182],{"text":179,"image":180,"code":181},"Open the Team members tab at this address in the app: one row per person, with their email, role and join date. The Settings menu does not list it, since your team is managed in Livestorm, from the avatar menu.","\u002Fsupport\u002Fmembers\u002Fen\u002Fstep-1.webp","\u002Fdashboard\u002Fsettings?tab=members",{"text":183,"image":184,"caption":185},"A teammate joins by signing in with their own Livestorm account. There is no separate invite to send. Their role follows Livestorm: a Livestorm host becomes a workspace admin.","\u002Fsupport\u002Fmembers\u002Fen\u002Fstep-2.webp","Roles are derived from Livestorm, so there is no invite button.",[187,188,189],"One row per PERSON, not per connected platform: a colleague who signed in with both Livestorm and Zoom appears once, with one role. The small logos next to their email show which platforms they connected.","Admins can change workspace settings, custom domain, API keys, Stripe, AI and data retention. Members build and publish pages.","The list is read-only: roles come from Livestorm, so change them there.","SettingsMembersTab.vue · useWorkspace.ts · i18n settings.members.*",[192,195],{"hreflang":193,"path":194},"fr","\u002Fsupport\u002Fparametres\u002Fdomaine-personnalise",{"hreflang":9,"path":196},"\u002Fsupport\u002Fsettings\u002Fcustom-domain",1792141118004]