Skip to content
Language: English

Custom domains

Custom templates for developers and agencies

Updated 1 November 2026 6 min read

What workspace templates are, who needs them, which rules apply to the HTML, how pages use them and why you design in the Page Builder instead.

Under “Domains & Templates”, owners and admins can create their own templates from Creator Pro. They are an HTML frame for developers and agencies who want to reuse one layout across many pages. You don't need them to design a page.

Plan and permissions

PlanWorkspace templates
Creator Free–
Creator Pro5
Creator Agency25
Enterprise100

Owners and admins can create, edit and delete templates. On Creator Free the “+ Template” button is locked and “Workspace templates are available from Creator Pro.” appears.

Create a template

  1. Open “Domains & Templates”
  2. Click “+ Template”
  3. Fill in the fields and click “Create”
“Key (a-zA-Z0-9_-)”
2–64 characters made of letters, digits, _ and -. The key is unique within the workspace and can't be changed later.
“Name”
Required, up to 120 characters, for example “Product launch”.
“Start from”
Only when creating: “Blank template” or a copy of a built-in template. A copy takes over the structure, placeholders and look of the original and is the quickest start.
“Status”
Only when editing: “Active” or “Disabled”.
“HTML Content”
The HTML frame, required. Up to 60,000 bytes; accented letters and other special characters take up more than one byte. If the HTML is larger, LinkHarbor refuses to save it.
“Schema (JSON)” and “Defaults (JSON)”
Describe the template's adjustable values and their defaults. Both must be valid JSON, and the defaults must match the schema. Each of the two may be at most 64 KB, a single text inside at most 5,000 characters.

Rules for the HTML

The HTML must contain a placeholder where the page's content appears.

PlaceholderEffect
{{blocks}} or {{content}}All of the page's blocks including links; one of them is required
{{links}}Only the links; don't combine it with {{blocks}}, or the links appear twice
{{name}} and {{#if name}}…{{/if}}Insert values from schema and defaults, or only show parts when a value is set

For security reasons, LinkHarbor cleans up the HTML when you save:

  • Common text and layout elements such as div, section, header, p, a, img or table are allowed. script, iframe and noscript are removed together with their content, other elements such as form, svg, link or meta without their content
  • Event attributes such as onclick and links with javascript: are deleted
  • A style block is kept, but like Custom CSS it must not load anything from other servers
  • CSS classes are kept if they start with lh-, appear in the built-in templates or are defined in the template's style block, for example with .hero { … }; other classes are removed. IDs, data- and aria- attributes are kept
  • Inline styles are allowed, but declarations with url() pointing to other servers, @import or position: fixed are removed
  • Placeholders in the style block or in style="" only insert valid CSS values, such as colours like #1a2b3c, sizes like 24px or numbers like 0.5. A value with ; { } quotation marks or url() stays empty. Fields whose default value is a colour, size or number only accept such values when the page is saved
  • Images are only possible from your LinkHarbor assets or via placeholders such as {{avatar_url}}

Two errors block saving: “The template's CSS must not load anything from other servers …” if the style block contains external addresses, and “A section in the template HTML … is not allowed or not closed properly.” if an {{#if}}, {{#unless}} or {{#each}} doesn't end in the same text, tag or attribute it starts in, or sits in style, href or src.

Templates saved before 1 November 2026 lost their styles and classes when they were saved back then. If you need them, create them again from a fresh copy.

Use a template for a page

Active workspace templates appear when you create a page and in the builder under “Theme” → “Template” in the “Your own templates” group, with the 17 built-in templates above them under “Built-in templates”. The description reads “Workspace template, created under ‘Domains & Templates’.” Choosing and switching works as with the built-in templates, see Choosing and switching templates.

  • If you change the template, the page preview shows the change right away. It only goes live when you publish the page again. If several pages use the template, publish each of them again
  • When you publish, LinkHarbor stores a copy of the template in the version. The live page therefore stays unchanged, even if the template is changed or deactivated later
  • In the API and for AI assistants, a workspace template is called “ws:” plus its key, for example ws:product-launch
  • You define your own image slots via the API (asset_slots), up to 32 per template

Edit, deactivate and delete

The list shows name, key, status and date with the “Edit” and “Delete” buttons.

Deactivate
When editing, set “Status” to “Disabled”. Pages that already use the template keep it. The builder then shows, for example, “Current: Product launch (deactivated)”. It can no longer be selected; anyone who tries sees “This workspace template is deactivated. Activate it under ‘Domains & Templates’ to use it for a page.”
Delete
A deleted template disappears from the list for good and no longer counts towards the limit; you can reuse its key for a new template. While a page uses it, deleting is blocked: “This template is still used by {count} page(s). Switch those pages to another template first.” Instead of {count}, the number of pages appears.

Deactivated templates still count towards your plan's limit. If you need room, delete them.

On downgrade and upgrade

On Creator Free, all active workspace templates are deactivated; the list then shows “Disabled by plan”. Published pages stay unchanged, including pages that use a custom template. In the builder, “(deactivated)” then appears next to “Current:”. After an upgrade, exactly these templates become active again. Templates you deactivated or deleted yourself stay that way.

Nothing found?

Tell us what you need, and our support team will help you personally.

Contact support