# Praxis by Amadalis documentation Source: https://docs.amadalis.ai/account/activity/ # Account Activity and the Security log Checked against the product’s code on 7 November 2026. Open **Activity** in your Praxis account. The **[Security log](https://docs.amadalis.ai/reference/glossary/#security-log)** describes recorded account actions in plain words. It is separate from the site’s [copilot Activity](https://docs.amadalis.ai/copilot/activity/). Only account owners and Admins can read the Security log, with or without network addresses. If the page could not read the Security log, reload it as the message asks. A failed read does not mean there are no events. The no-events message is reserved for a log that was read and is empty. ## Read the entries 1. Read the action. 2. Read its time. 3. Read the person or service recorded beside it. The account labels our staff’s actions **Praxis staff**, or **Praxis staff, with the copilot** when they used the staff copilot. Your own team’s actions can show a name or email; your copilot reads **Your copilot**. Platform work reads **Praxis**. **Download CSV** includes the same readable actor labels. When our staff save a new internal note, the Security log records the activity’s reference without the note’s words. The note stays in staff tools. Each support entry reads as a plain sentence, such as **Issued a read only support entry link for the account**. Reasons given for a grant, emergency access or an Admin override are stored with those records and appear in **Download CSV**, a spreadsheet file, within the same site scope as the log. The log records when support was given access, when that access was revoked and when an entry link was issued. The service also tries to record when a staff visit ends, including sign out. A failed end record is logged on the server and does not keep the visit open. The platform’s regular run can record a missing end after an eligible grant expires. That entry says it was recorded later and that use of the entry link after the last recorded action is not known. The address shown with an entry follows the logging mode of the site it belongs to. A [network only](https://docs.amadalis.ai/reference/glossary/#network-only) record does not contain the same detail as a full address record. Changing that mode applies to later entries. ## Keep a copy Account owners and Admins can read and export the Security log. The menu beside the log can copy or download the 25 rows on the page you are reading. **Download CSV** saves the newest 10,000 entries. Downloading it is itself recorded. 1. Open **Activity**. 2. Use **Prev** or **Next** to reach the page you want to inspect. 3. Read the site scope described below before exporting. 4. Open the menu beside the log. 5. Choose the copy or download action for those 25 rows, or **Download CSV** for the bounded export. 6. Keep the file’s scope and capture-time lines with it. The CSV starts with lines that state its scope and when it was captured; keep them with the file. It includes records for the site your account was opened with and the permitted creation, readiness and support access records from the account’s other sites. It follows the same site scope as the log. Support entries into any site in the account appear in your **Security log** and its CSV export. Reading across sites requires an active owner or Admin membership on an active or suspended site in that account. Entries for a fully erased site no longer appear. Without that active membership, the log and export show only the site your account was opened with. That limit applies throughout the account’s closing period when all its sites are being closed or have closed. Changes made inside a site are recorded in that site’s [copilot Activity](https://docs.amadalis.ai/copilot/activity/). ## Understand verification Log entries use [SHA-256](https://docs.amadalis.ai/reference/glossary/#sha-256) checksums, digital fingerprints that link each entry to the previous entry in the platform’s audit log. Editing or deleting an earlier entry breaks the chain. The platform checks the whole chain every night with tamper-evident checks of the recorded entries and their links. The check identifies four recorded gaps from 19 August 2026. This account screen does not display a completed chain verification result. Amadalis staff run the check across the platform’s log. Your CSV contains only its permitted account and site rows. Ask support for the current result and its scope. Account erasure is designed to remove personal details without breaking the check. These checks do not protect against someone who controls the database. For session rules and support grants, use [Account Security](https://docs.amadalis.ai/account/security/). For visitor records and erasure, use [Visitor Data](https://docs.amadalis.ai/privacy/visitor-data/). Source: https://docs.amadalis.ai/account/capabilities/ # Site capabilities and preferences Checked against the product’s code on 7 November 2026. In your account’s **Sites** tab, pick a site to see each [feature](https://docs.amadalis.ai/reference/glossary/#capability) and its state. Only the site’s owner or an Admin can turn a feature on or off. Amadalis must make a feature available to the account, and the site can then have its own on or off preference. ## Read and change a preference Review the intended site and its **On**, **Off** or **Not in plan** state. Your preference can narrow a platform grant; it cannot enable a capability that was not granted. Copilot requests tied to a feature follow its final on or off state after a successful refresh. Some shared authoring requests remain available. During a failed refresh, the copilot can keep its last good capability reading. Turning a feature off removes the copilot’s requests for it within about a minute. The site’s admin menu reads a separate setting today, so the feature’s screen can still appear there. Anything already running on your public pages, such as an experiment or targeted content, keeps running until you pause it in its own screen. Do not use a preference switch as a security boundary or a substitute for pausing an actual experiment or targeted item. To turn the selected feature off: 1. Choose **Turn off**. 2. Click again to confirm. 3. Read the resulting state. **Turn on** needs no second click. This is separate from unpublishing a page or deleting its saved configuration. ## Understand the current effect **Copilot** and **Account & billing** are always on and have no switch. Amadalis must enable scheduled exports for the account; ask Amadalis when the schedule control is unavailable. After a change, ask **What can you do?** in the copilot and inspect the available requests. Read [governed tools](https://docs.amadalis.ai/developers/governed-tools/) for the separate permission and approval checks. Source: https://docs.amadalis.ai/account/ # What you can do in Account, team and domains Checked against the product’s code on 7 November 2026. Open sites, manage people and domain settings, and read account [security](https://docs.amadalis.ai/reference/glossary/#security) and billing. Open your [Praxis account](https://account.amadalis.ai/account). Use **Sites** to open a site, **Team** to manage people and **Security** to review sign in policy. Use the guide for the required role, setup and current limits. ## Start with a task Choose the result you want. Each guide explains where to begin, what to review and how to check the result. - [Open your site](https://docs.amadalis.ai/account/your-account-and-domains/) - [Invite a designer or teammate](https://docs.amadalis.ai/account/your-team/) - [Connect a domain](https://docs.amadalis.ai/account/your-account-and-domains/#add-your-own-domain) - [Rename a site](https://docs.amadalis.ai/account/your-account-and-domains/#rename-a-site) ## Capabilities and screens | Capability | What you can do | Read next | | --- | --- | --- | | Billing facts in the site admin | Read account facts and follow the account console for changes. | [Your account: sites, custom domains and billing: Read plan and billing details](https://docs.amadalis.ai/account/your-account-and-domains/#read-plan-and-billing-details) | | Support | Report a problem and review support-entry authority. | [Your account: sites, custom domains and billing: Ask for support](https://docs.amadalis.ai/account/your-account-and-domains/#ask-for-support) | | Invited signup | Follow the Lighthouse invitation and first-site workflow. | [Getting started: your invitation and first page: Create your account](https://docs.amadalis.ai/get-started/getting-started/#create-your-account) | | Verification, sign in and recovery | Read the account entry and password-recovery process. | [Sign in, invitations and recovery](https://docs.amadalis.ai/account/sign-in-and-recovery/) | | Waiting for payment | Read the stated next step before site building starts. | [Your account: sites, custom domains and billing: Open or create a site](https://docs.amadalis.ai/account/your-account-and-domains/#open-or-create-a-site) | | Sites and Open admin | Choose a site, [rename a site](https://docs.amadalis.ai/account/your-account-and-domains/#rename-a-site) and enter at your own role. | [Your account: sites, custom domains and billing: Open or create a site](https://docs.amadalis.ai/account/your-account-and-domains/#open-or-create-a-site) | | Feature switches | Review site preferences and the requests available to the copilot. | [Site capabilities and preferences](https://docs.amadalis.ai/account/capabilities/) | | Per-site export schedule | Review the automatic export schedule where it is available for a site. | [Visitor data exports, schedules and retention: Schedule and use the data](https://docs.amadalis.ai/privacy/exports/#schedule-and-use-the-data) | | Overview and billing portal | Read subscription state and available billing actions. | [Your account: sites, custom domains and billing: Read plan and billing details](https://docs.amadalis.ai/account/your-account-and-domains/#read-plan-and-billing-details) | | Data location | Read the recorded database region and its limits. | [Trust and security: support access: Site data and AI requests](https://docs.amadalis.ai/trust/security/#site-data-and-ai-requests) | | Domains | Review domain verification, certificate status and the primary and redirect choices. | [Your account: sites, custom domains and billing: Add your own domain](https://docs.amadalis.ai/account/your-account-and-domains/#add-your-own-domain) | | Team and invitations | Invite members and review roles, disable, enable and recovery. | [Invite a designer or teammate and choose their role](https://docs.amadalis.ai/account/your-team/) | | AI model and provider keys | Review model choice and use the designated settings controls for provider keys. | [Your account: sites, custom domains and billing: Choose the copilot’s AI model](https://docs.amadalis.ai/account/your-account-and-domains/#choose-the-copilots-ai-model) | | Team session policy | Review account and site session rules, their timing and limits when the policy cannot be read. | [Account Security controls](https://docs.amadalis.ai/account/security/) | | Network addresses in the log | Review the account’s recording policy. | [Account Security controls](https://docs.amadalis.ai/account/security/) | | SSO and [SCIM](https://docs.amadalis.ai/reference/glossary/#scim-provisioning) | Review verified domains and new SCIM members joining as Viewer. | [Account Security controls](https://docs.amadalis.ai/account/security/) | | Support grants and overrides | Understand support permission, revocation and the separate staff access paths. | [Account Security controls](https://docs.amadalis.ai/account/security/) | | Security log and CSV | Owners and Admins read recorded account activity and download it as a table file. | [Account Activity and the Security log](https://docs.amadalis.ai/account/activity/) | | Accept invitations | Join with a new or existing account and the assigned role. | [Invite a designer or teammate and choose their role: Invite a teammate](https://docs.amadalis.ai/account/your-team/#invite-a-teammate) | | Current account limitations | Check current ownership rules and which account changes are available. | [Known limitations and unsupported features](https://docs.amadalis.ai/trust/known-limitations/) | | Domain signup rules | Review the Editor ceiling for domain signup and the invitation route for Admin access. | [Native site access settings](https://docs.amadalis.ai/account/site-access-and-settings/) | | Native sign-in and setup surfaces | Read the hosted sign-in, invitation and setup route before using a native entry screen. | [Sign in, invitations and recovery](https://docs.amadalis.ai/account/sign-in-and-recovery/) | | Device authorization | Review the sign-in and device authorization context for the site. | [Sign in, invitations and recovery](https://docs.amadalis.ai/account/sign-in-and-recovery/) | ## More in this area These guides cover the other tasks and settings in this area. - [Account Activity and the Security log](https://docs.amadalis.ai/account/activity/): Read account access records and download the bounded Security log export. - [Site capabilities and preferences](https://docs.amadalis.ai/account/capabilities/): Read which features the account grants and narrow a site’s enabled requests. - [Account Security controls](https://docs.amadalis.ai/account/security/): Review session rules, network logging, SSO, provisioning and support entry as they are enforced. - [Sign in, invitations and recovery](https://docs.amadalis.ai/account/sign-in-and-recovery/): Use the Praxis account login and distinguish it from shopper and native site sign in. - [Native site access settings](https://docs.amadalis.ai/account/site-access-and-settings/): Read Users, signup domains, personal tokens and passkeys within the hosted account boundary. ## Your next step Choose the guide for your task. To enter a site, begin with [open your site](https://docs.amadalis.ai/account/your-account-and-domains/). Before changing access, review the relevant role and security limits. Source: https://docs.amadalis.ai/account/security/ # Account Security controls Checked against the product’s code on 7 November 2026. In your Praxis account, an owner or Admin can open **Security**. This tab controls account access and related policies. It is separate from the site’s native security screen and its open admin sessions. ## Team session policy **Team session policy** offers required two factor authentication, [session lifetime](https://docs.amadalis.ai/reference/glossary/#session-lifetime), [idle timeout](https://docs.amadalis.ai/reference/glossary/#idle-timeout) and allowed network addresses. Include your own current address when setting a network list. The service refuses a list that would lock the saver out. 1. Choose **Save policy**. 2. Click again to confirm. 3. Read the saved result. The policy applies to each member’s next account request. An empty field means no limit. The policy is checked on account requests, including opening a site’s admin. It is also checked inside an already open site admin session. If the account cannot read the policy, it pauses access if the last known policy has a rule or its history cannot be read. A team with no recorded policy or no last known rules can continue. The page says “We could not check your team’s sign-in rules; try again in a minute.” It keeps the sign-in session for a retry. When **Open admin →** opens another of your sites, that site’s own team rules decide entry. A closed home site does not impose its old rules on a seat you still hold elsewhere. On requests inside the site, address and session limit changes are normally picked up within about 30 seconds, or longer if the site cannot reach the account. Idle expiry can be up to 30 seconds late. When two factor authentication is required, use **Open admin →** from your Praxis account; a direct site sign in does not meet that requirement. Requiring two factor authentication does not end a site session already opened from the account. If the site cannot read the policy, it uses a policy read within the last five minutes. Without one, it pauses access if the last known policy has a rule or that record cannot be read. A team with no recorded policy or no last known rules can continue. A server that last read a rule may still pause access after another server has read that the rules were cleared. The paused page asks you to try again in a minute. An existing session is kept; a refused new site sign in opens no session. Site API tokens obey the team’s applicable network, membership and two factor rules, with the [token checks and read-failure limits](https://docs.amadalis.ai/account/site-access-and-settings/#personal-api-tokens). Session lifetime and idle timeout do not apply to tokens. ## Network addresses in your log This controls future address records for the site your account was opened with. Entries from other sites keep their own site’s setting. It does not rewrite earlier entries or itself verify the log’s chain. You can also ask the copilot to keep full network addresses or only the network in future log entries. Read its policy card before approval. Older entries keep the mode used when they were recorded. 1. Under **Network addresses in your log**, choose **Network only** or **Full address**. 2. Choose **Save setting**. 3. Read the confirmation before saving. 4. Confirm only the intended setting. 5. Read the result. ## SSO and provisioning **[Single sign-on (SSO)](https://docs.amadalis.ai/reference/glossary/#single-sign-on-sso)** connects a sign in provider using the OpenID Connect standard for a verified email domain. People who sign in this way join as members, never as owners. Review [the verified-domain requirement](https://docs.amadalis.ai/trust/known-limitations/#access-and-integrations) before connecting. 1. Fill in **Verified email domain**. 2. Fill in **Issuer URL**. 3. Fill in **Client ID**. 4. Fill in **Client secret** in this dedicated form. 5. Choose **Connect identity provider**. 6. Read the connection result. **[SCIM provisioning](https://docs.amadalis.ai/reference/glossary/#scim-provisioning)** lets an identity provider create or disable team memberships automatically. It can create a provider token, shown once. Store it in the identity provider’s trusted setup. A member created through SCIM joins at the viewer role. Change their role in **Team**; the identity provider never sets roles. **[Viewer](https://docs.amadalis.ai/reference/glossary/#viewer)** can read site content but cannot create, edit or publish. Existing members keep their current roles. An update that tries to change a role is refused in full, even if it also asks to disable the membership. Deactivation disables the membership and keeps its history. Account roles and ownership remain managed in Praxis. Revoking the token stops further use of that credential. To prepare a provisioning token: 1. Enter **Token label** in **SCIM provisioning**. 2. Choose **Mint SCIM token**. 3. Choose **Copy token** while the token is shown. 4. Store it in the identity provider’s trusted setup. 5. Use the provisioning address shown in **SCIM provisioning** in that setup. To stop that token: 1. Choose **Revoke** beside the intended token. 2. Confirm with the second click. 3. Read the result. ## Support access Use **[Support access](https://docs.amadalis.ai/reference/glossary/#support-access)** in your account’s **Security** tab to review how Amadalis staff can get into your site’s admin. The entry routes and their limits are described below. These controls require an active owner or Admin membership on the site your account was opened with. If you also hold an active owner or Admin membership on an active or suspended site in this account, **Support access** shows live grants across its sites. You can revoke any grant in that list. When grants for different sites are shown, the rows name their sites. Giving a new grant needs an active owner or Admin membership on that specific site, which must be active or suspended. Use **Site this grant covers** when the form offers it. If the form names just one site, check that name. A one-site account keeps its existing form. If your only active owner or Admin memberships are on closing or closed sites, the list and revocation cover only the site your account was opened with. This applies throughout the account closing window. A live grant left on a closing or closed site can still be listed and revoked when that site is within your view. Fully erased sites no longer appear. 1. If **Site this grant covers** is offered, choose the intended site. If the form names just one site, check that name. A one-site account keeps its existing form. 2. Enter the reason under **Reason (what support is helping with)**. 3. Choose **Grant 4-hour read-only access**. 4. Read the result. Revoking the grant stops new entries and ends its open support session on the next request after the grant check refreshes, within 30 seconds. At expiry, the next request ends the session. To revoke a listed grant: 1. Choose **Revoke** beside it. 2. Confirm with the second click. 3. Read the result before relying on the change. In an incident, support can state a reason and open a read only visit without your grant. That emergency permission lasts one hour; the next request at its expiry ends the visit. Platform Admin staff can enter without your grant after confirming and giving a reason. They use a separate Amadalis staff user with Admin permissions, subject to the restrictions below. An Admin override lasts one hour. Staff cannot add users or invitations, change a user’s details or role, re-enable access, add or edit signup rules, or install or configure plugins. They also cannot set credentials, webhook destinations or recipients that would give continuing access. Removing access can still be allowed. Staff cannot use a separate site sign-in or a site API token to keep access after the visit. The support visit shows a banner naming the staff member, its access and its end time in UTC. If the grant cannot be checked, the request is blocked while the session is kept. The service tries to record when a staff visit ends. If that record fails to save, the visit still ends and the failure is logged on the server. Only account owners and Admins can read the **Security log** under **Activity**. Support entries into any site in the account appear in your **Security log** and its CSV export. Reading across sites requires an active owner or Admin membership on an active or suspended site in that account. Entries for a fully erased site no longer appear. Without that active membership, the log and export show only the site your account was opened with. That limit applies throughout the account’s closing period when all its sites are being closed or have closed. See [Trust and security](https://docs.amadalis.ai/trust/security/) for their enforced scope. Source: https://docs.amadalis.ai/account/sign-in-and-recovery/ # Sign in, invitations and recovery Checked against the product’s code on 7 November 2026. Log in to the Praxis account to open your team’s sites. 1. Open the **Sites** tab. 2. Choose the intended site. 3. Use **Open admin →**. The site receives your role for that site, then keeps its own [admin session](https://docs.amadalis.ai/reference/glossary/#site-session). In the Praxis account’s password form, an unknown address and a wrong password both show “That email and password don’t match an account.” Those replies do not confirm whether the address is registered. Missing details and service problems have their own messages. After a correct password, the page can ask for email confirmation or a security code, or explain that the login has no account membership. Company [single sign-on](https://docs.amadalis.ai/reference/glossary/#single-sign-on-sso) is a separate path. ## Join the intended account New accounts open by invitation. Follow the invited signup and verification steps described in [Getting started](https://docs.amadalis.ai/get-started/getting-started/). A team invitation is different: read which site and role it offers before accepting. If a link has expired, was already used or is refused, read the explanation and use its offered retry or recovery path. A failed email step is not proof that registration or membership has completed. ## Recover access 1. On the sign in form, choose **Forgot password?**. 2. Enter your email. 3. Choose **Send recovery link**. 4. Open the emailed link. 5. Enter a new password of at least 12 characters. 6. Choose **Set new password**. 7. Sign in with the new password. The public recovery reply does not confirm whether an address has an account or whether the email arrived. If no link arrives, try again or write to [support](mailto:support@amadalis.ai). Recovery is not the same as changing a password from an already signed in profile. Your team’s policy may require a code from an authenticator app or restrict allowed network addresses. If a policy prevents access, ask an account owner or Admin to review it. The policy is checked when you use the account, including **Open admin →**. It is also checked inside an already open site session. See [Account Security](https://docs.amadalis.ai/account/security/#team-session-policy) for the refresh timing and policy-read failure limits. ## Finish required two-factor setup To set it up by choice, open your Praxis account’s **Overview** tab and find **Your two-factor sign-in**. Have your account password and an authenticator app ready, then follow the password and **Begin setup** steps below. The same steps apply under **Two-factor required** when the account asks for it. 1. Enter your password in **Confirm your password**. 2. Choose **Begin setup**. The page shows an authenticator secret and one-time backup codes. 3. Add the shown secret to your time-based authenticator app. 4. Save the backup codes securely using **Copy codes** or **Download .txt**. 5. Enter the app’s current code under **Enter the 6-digit code**. 6. Choose **Verify & continue**. Successful verification returns you to the account. Keep the secret and backup codes out of chat and pictures. If verification does not succeed, try the app’s current code again. ## Keep the three identities distinct - A team member’s account opens each permitted site at that person’s role. - A shopper uses the public site’s account for purchases and paid content. - A [byline](https://docs.amadalis.ai/reference/glossary/#byline) credits a person or team on content and is not itself a login. Use [Your team](https://docs.amadalis.ai/account/your-team/) for invitations and role changes, [Account Security](https://docs.amadalis.ai/account/security/) for policy scope and [Customer identity](https://docs.amadalis.ai/commerce/customer-identity/) for shopper access. Source: https://docs.amadalis.ai/account/site-access-and-settings/ # Native site access settings Checked against the product’s code on 7 November 2026. EmDash’s **Users** and access settings remain visible on a Praxis site. Use your Praxis account’s **Team** controls to manage the site’s people and roles. ## Users and signup domains The native user screen points to the Praxis account for role management. Use [Your team](https://docs.amadalis.ai/account/your-team/) to invite, change access or send recovery. A user’s existing login is separate from the [byline](https://docs.amadalis.ai/content/bylines/) used to credit content. 1. In the site admin, open **Settings**. 2. Under **Security Settings**, choose **Self-Signup Domains**. Here, **Allowed Domains** lets people at a domain sign up without an invitation. A new signup receives the chosen **Default Role**, up to **Editor**. To give someone Admin access, invite them from **Team** in your Amadalis account. Only an Admin can add a domain rule. Removing a rule later does not remove the people who already joined through it. An older rule may still show **Default role: Admin**. New signups under it join as Editor; the stored rule and existing people’s roles are not changed. While an enabled rule above Editor remains, signing in through another provider is refused. It is also refused if the rules cannot be read. Review the domain, role and confirmation before saving. A team signup rule is separate from public shopper registration under **Commerce** > **Customer identity**. ## Personal API tokens The [API](https://docs.amadalis.ai/reference/glossary/#api) is the site’s interface for software requests. On a Praxis site, a personal token can read published content and drafts within its scopes and the token owner’s current role, but any change made with that personal token is refused. A token that lists write permission still cannot bypass that restriction. Reads with a personal API token must also pass the team’s [API token checks](https://docs.amadalis.ai/account/site-access-and-settings/#personal-api-tokens). 1. In the site admin, open **Settings**. 2. Open **API Tokens** to inspect your personal tokens. ### Create a token for reading Create the token in your own site session. Keep its value out of chat and pictures. 1. Choose **Create Token** to open the form. 2. Enter a purpose you will recognize in **Token Name**. 3. Under **Scopes**, select **Content Read** for content entries. Add **Media Read** or **Schema Read** only if your software needs those reads. 4. Choose **Expiry**. 5. Choose **Create Token**. A **Token created** message names the new token. 6. Use **Copy token**. 7. Save the value securely before **Dismiss**. It will not be shown again. The token still follows the read-only, role and team-rule limits on this page. To retire one, use the [API token requests](https://docs.amadalis.ai/reference/copilot/account-and-privacy/#api-tokens); revocation has no automatic Undo. The copilot cannot create the token for you. The copilot can list and revoke supported personal tokens. Revocation requires approval and has no automatic Undo. This does not provide a general external automation endpoint for agents to publish without review. New login rules can stop an older key from reading content. Where your team has rules, personal API tokens and OAuth access tokens must use the allowed network addresses. A holder who has a team membership must have active access. If two factor authentication is required, the holder must have it turned on in their Amadalis account, including for a token created before the rule. A team with no rules is unchanged. A holder with no team membership still follows the allowed-address list. If two factor authentication is required, only a verified Amadalis identity whose account belongs to this site can pass that check without a team membership. Otherwise, ask the site’s owner for an invitation. **Limits.** Session lifetime and idle timeout do not apply to tokens. While the records can be read, changes to rules, membership and two factor status are picked up within 30 seconds. If a read fails, the site can use an answer read within the last five minutes. Without a recent rules answer, it refuses with **503** if the last known policy has a rule or that record cannot be read. A team with no recorded policy or no last known rules can continue. If required membership or two factor information cannot be read and has no recent answer, the request is refused with **503**. The response says “We could not check your team’s sign-in rules; try again in a minute.” The retry time is one minute. These refusals return **403** before the requested action runs: | What needs attention | What the response says | | --- | --- | | Network address | “Your team allows API tokens on this site only from approved network addresses. Connect from your office or VPN, or ask an admin of your team to add this address.” | | Team access | “Your access to this site has been turned off, so this API token no longer works. Ask the site’s owner if that’s unexpected.” | | Two factor authentication | “Your team requires two-factor sign-in, so this API token stops working until you turn on two-factor in your Amadalis account.” | A token whose own scopes do not allow a request can receive a permission refusal before these team messages. Issuing or refreshing an OAuth token checks the network rule; membership and two factor are checked when that access token is used. These rules do not change SCIM provisioning tokens or remote-erasure credentials. ## Review a device code from your terminal Use this only for an existing code from a terminal you trust. Keep your own site session open; a staff support session cannot authorize a device. 1. Open the authorization link supplied by that terminal in your signed in browser. 2. On **Authorize Device**, enter its **Device code**. 3. Read **This device is requesting permission to use:** and any **Also requested, but not available to your role:** list. 4. Choose **Authorize** only if you recognize the code and intend that access. Otherwise choose **Deny** before approval. 5. When **Device authorized** appears, return to your terminal. An expired code asks you to restart sign in from the terminal. An invalid or used code cannot be approved again. If your role permits none of the requested permissions, **Authorize** stays unavailable. This screen has no Undo. Keep the [token and team-rule limits](https://docs.amadalis.ai/account/site-access-and-settings/#personal-api-tokens) above; authorizing an existing code is not a promise of a general external publishing agent. ## Passkeys and sign in EmDash’s native security screen includes [passkey](https://docs.amadalis.ai/reference/glossary/#passkey) records. The copilot can list supported records and request deletion with approval; deletion has no automatic Undo. The copilot cannot add a passkey. To use the native passkey screen: 1. Open **Settings** in the site admin. 2. Open **Security**. 3. Use **Passkeys** there to add a passkey when the native screen offers it. On hosted Praxis, use **Open admin →** from your account for team entry. Native email sign in handoffs are refused in favor of that account flow. Do not rely on a native security screen to replace [Account Security](https://docs.amadalis.ai/account/security/) or its actual session policy scope. Source: https://docs.amadalis.ai/account/your-account-and-domains/ # Your account: sites, custom domains and billing Checked against the product’s code on 7 November 2026. [Your Praxis account](https://account.amadalis.ai/account) is where you open sites, manage [account](https://docs.amadalis.ai/reference/glossary/#account) settings and see how much AI you have used. In the site admin, **Account & billing** > **Billing** shows account facts and links back to the account console. ## Open or create a site For a client’s first site under its own organisation, follow [Add a client and its first site](https://docs.amadalis.ai/agencies/agency-guide/#add-a-client-and-its-first-site). The account’s **Create a site** flow below adds a site under that account. 1. Open **Sites**. 2. Use **Find a site** if needed. 3. Select the site. 4. Read its status and next step. 5. Choose **Open admin** when the site can be opened. [![Find a site with demo typed: 1 to 1 of 1 matching, the Quietmarch Apparel row Live and On your plan, and its card with Open admin, Address demo-store.sites.amadalis.ai, Status Live with content database reachable, and Billing On your plan beside Pay for this site.](https://docs.amadalis.ai/images/steps/S068-account-find-site-open-admin.png)](https://docs.amadalis.ai/images/steps/S068-account-find-site-open-admin.png "Open full-size image") Find a site, read its status and next step, then choose Open admin. When **Create a site** is offered: 1. Fill in **Site name**. 2. Choose **Create site**. The site gets its own platform address. You can attach a domain you own later. A site waiting for payment shows **Your site is waiting for payment**. For a site billed through an agency, arrange payment with that agency instead. If your account pays for the site: 1. Choose **Pay now and start my site**. 2. Complete the payment step. Building starts after confirmation of payment. See [Getting started](https://docs.amadalis.ai/get-started/getting-started/) for the first page. If payment was received but the site could not be activated, do not pay again. Write to [support](mailto:support@amadalis.ai) to finish or reverse it. The next payment stays scheduled until this is sorted. If a paid upgrade could not be applied, the site stays on its current plan. ## Rename a site Use this when the site’s name changes. The account owner or a member at Editor or above can rename it. This changes its name, not its address. 1. Open **Sites** in [your Praxis account](https://account.amadalis.ai/account). You see the account’s sites. 2. Select the intended site. Its card shows the current name. 3. Choose **Rename**. **New name for this site** opens with the current name. 4. Enter the new name. Use a nonempty name of at most 120 characters. 5. Choose **Save name**. The account saves the name and tries to send it to the site. 6. Read any notice beside the editor. If the site could not be updated, the account keeps its saved name and tells you; do not assume both now agree. [![The selected site's name field is open in the account console, with Save name and Cancel.](https://docs.amadalis.ai/images/steps/2026-11-05-coverage-and-stale/COV1-07-account-rename-form-1440.png)](https://docs.amadalis.ai/images/steps/2026-11-05-coverage-and-stale/COV1-07-account-rename-form-1440.png "Open full-size image") Rename changes the selected site name in the account. [![At phone width, the selected site's name field is open in the account console, with Save name and Cancel.](https://docs.amadalis.ai/images/steps/2026-11-05-coverage-and-stale/COV1-07-account-rename-form-390.png)](https://docs.amadalis.ai/images/steps/2026-11-05-coverage-and-stale/COV1-07-account-rename-form-390.png "Open full-size image") Rename changes the selected site name in the account. **Cancel** closes the form without saving. There is no automatic Undo for this account action; use **Rename** again to put the old name back. You can also ask **Copilot**, “Change this site’s name from \[current name\] to \[new name\]”, using its real names. Choose **Send** to review **Update the site’s identity?**, then **Publish this change** only if the public change is right. This route changes the name in the footer and, where no separate wording overrides it, the header. Its receipt can offer **Undo**. Check the account’s **Sites** view afterwards, because sending the public name back to the account can fail separately. See [Site identity and setup](https://docs.amadalis.ai/reference/copilot/site-and-settings/#site-identity-and-setup). ## Read plan and billing details For questions about copilot costs, start with the account’s **Plan** and **Subscription**. Read invoices through **Manage billing**, and use **AI** to check the current model and usage status. 1. Open **Overview** in the account. 2. Read **Plan** and **Subscription**. 3. For a subscription billed to your account, choose **Manage billing**. It opens Stripe’s portal for payment methods, invoices and subscription changes. The control changes when payment or a new subscription is needed, so follow the account’s stated next step. A client whose site is billed through an agency is directed to that agency instead. [![The account's Overview tab: Plan Starter, Subscription Active, Your site amadalis-hq.sites.amadalis.ai, the line Payment method, invoices, and plan changes are managed securely by Stripe with Manage billing, and Where your data lives.](https://docs.amadalis.ai/images/steps/S069-account-overview-plan-and-billing.png)](https://docs.amadalis.ai/images/steps/S069-account-overview-plan-and-billing.png "Open full-size image") Overview shows the plan, the subscription and Manage billing. This picture was taken before the company website moved to [amadalis.ai](https://amadalis.ai/). The site admin’s **Billing** tab shows **Plan & subscription**, **Invoices & payment method**, **Custom domains** and **Account profile** as read-only facts. Make account changes in the console it links to. To change the **Billing contact** shown there, contact Amadalis support. This changes the recorded account contact, not Stripe’s invoice email address, and sends no email. Earlier contact records stay on file. ### Change the invoice email Manage billing opens our payment provider’s billing portal. To change the email address your invoices go to, write to [support@amadalis.ai](mailto:support@amadalis.ai) and we change it for you. ### Cancel a subscription Use **Manage billing** for subscription changes. Read the provider’s confirmation for when billing ends. Once the cancellation is recorded, **Overview** shows **Canceled** and offers **Start my plan again** for a paid plan. Canceling a subscription does not itself take an existing site offline, delete its content or remove team access. Team access still depends on membership and the site’s state. Contact [Amadalis support](mailto:support@amadalis.ai) before cancellation to agree when hosting and access will end and how to keep or erase the content. Closing is separate from cancelling a subscription. An owner can open **Sites**, select the site and use **Close this site**, or open **Overview** and use **Close this account** for the whole account. Read what will be removed and retained. Keep the offered data copies or confirm that you need none, type the requested site or account name, and confirm again. Hosting stops now, and deletion starts no earlier than the date shown. Invoices, logs and the retained account record are kept separately. A site paid for by an agency asks you to contact that agency. Use **Stop closing** while the card still permits it; an already ended plan can need **Start my plan again**. The final deletion of a whole account is completed by Amadalis staff after the stated date and required plan endings. ## Choose the copilot’s AI model 1. In your Praxis account, open **AI**. 2. Under **Your copilot’s AI model**, read **In use now** and the displayed usage status. [![Account AI tab showing claude-sonnet-5 in use, Managed by your plan and Compare plans, with no model picker.](https://docs.amadalis.ai/images/steps/S098-account-ai-model-read-only.png)](https://docs.amadalis.ai/images/steps/S098-account-ai-model-read-only.png "Open full-size image") Where your plan does not offer the choice, the model in use is shown read only. 3. When model choice is available to your account, choose **Fast**, **Balanced** or **Frontier**. The account owner or an Admin can save a change; other members can read the setting. 4. Choose **Save**. The setting changes when saved; it does not wait for a page publish. 5. Read the result and the sites it says the change affects. After saving, these are separate options: - Use the [receipt](https://docs.amadalis.ai/reference/glossary/#receipt)’s **Undo** to restore the earlier choice while that reversal is available. - Use **Go back to the plan default** to clear a saved choice instead. Availability depends on the account’s configuration. Read a refusal or unavailable-state explanation rather than assuming every account has the same choices. If the display could not refresh after a save, reload before relying on the old value. ### Monthly AI allowance Your AI allowance comes from your plan or a separate agreement with Amadalis. A monthly allowance covers a calendar month in UTC and resets at 00:00 UTC on the first day of the next month. In **AI**, read **This month** usage and the reset date. An agreed allowance is named as agreed; an unlimited allowance says so. Without a live subscription, or if your plan names no AI allowance, the copilot uses the Free plan’s monthly allowance. A separate agreement with Amadalis still takes precedence. Once recorded usage reaches a monthly limit, new AI calls pause until the reset. Your site and saved work keep working. If the allowance comes from your plan, ask your account owner or an Admin about a larger plan. For an agreed allowance, ask them to contact Amadalis. **AI is off for your account by agreement** is a separate state: the monthly reset does not turn it back on. When the Free allowance is used, the pause message names it and offers **See your account**. Calls using your own provider keys do not count towards the displayed usage. If AI usage cannot be checked, the copilot can answer a limited amount before it pauses new requests. It asks you to come back in a few minutes. Work the helper already saved is unaffected. ### Your provider keys Where **Your provider keys** is enabled, the account owner or an Admin can add a key: 1. Choose **Anthropic** or **OpenAI** under **Provider**. 2. Enter the secret in **Key**, only in that trusted field and never in a copilot conversation. 3. Choose **Add key**. For an existing key: 1. Choose **Replace**. It selects the provider and focuses the key field. 2. Enter the replacement in **Key**. 3. Choose **Add key**. 4. Review **Replace the key**. 5. Confirm only when the replacement is right. 6. Read the resulting status. **Remove** has its own **Remove the key** confirmation. A provider key change does not have the model-choice receipt’s Undo. If the account is set to use its own keys and has no usable key for a call, that call is refused. Adding a provider key is separate from choosing the copilot’s model. ## Add your own domain DNS is the set of records your domain provider uses to direct internet traffic. Enter the exact record type, name and value shown by the account. A TXT record stores verification text. A CNAME or ALIAS record points a name to another hostname. To connect a custom domain for your own site or a client site, use the account that owns that site. Follow the records it gives you before changing the domain’s existing website. 1. Open **Domains**. 2. Select the intended site. 3. Under **Add a domain**, enter **A domain you own**, such as `www.example.com`. Enter a hostname without a page path. 4. Answer **Is this domain serving a site today?** Choose **No, it is new** or **Yes, it is live** according to what the domain does now. 5. Choose **Add domain**. 6. Follow the records and instructions on that domain’s card. They are specific to its current verification step. For a new domain, the card asks for a pointing record. For a domain already serving a site, prove the domain and certificate with the listed TXT records first. Keep its existing pointing record until the card says the certificate is ready and gives the switch instruction. At a root domain, your DNS provider may call the pointing record ALIAS, ANAME or CNAME. Use the name and value the card gives. Wildcard hostnames are not supported; attach the hostname you need. 1. Choose **Check status** to refresh verification. 2. Read **Pending verification**, **Certificate ready**, **Active** or **Needs attention** and the accompanying instruction. A certificate being ready does not by itself mean that an existing site’s domain has switched. ## Change or remove a domain **Make primary** chooses an eligible active domain as the site’s [canonical host](https://docs.amadalis.ai/reference/glossary/#canonical-url). The change is applied by that click. For another domain: 1. Choose **Redirect to another domain**. 2. Select the destination. 3. Choose **Apply redirect**. **Clear redirect** removes an existing domain redirect. **Remove** asks for a second click, then stops that domain serving the site through Praxis. These controls do not show an Undo receipt. Review the hostnames before applying a change. ## Ask for support 1. In the site admin, open **Account & billing**. 2. Open **Support**. 3. Choose **Report a problem**. It opens an email with the site’s name in its subject. 4. Include the site address, what you were doing, what you saw and when it happened in that email. A redacted screenshot or the exact error words can help explain the problem. [![The demo store's admin, Account & billing, Support tab: How to reach us with the support address and its reply-time line, and Report a problem with the button Report a problem →.](https://docs.amadalis.ai/images/steps/S099-account-site-support-tab.png)](https://docs.amadalis.ai/images/steps/S099-account-site-support-tab.png "Open full-size image") In the site admin, Support's Report a problem opens an email with your site's name in the subject. If support needs to inspect the site, review [how support access works](https://docs.amadalis.ai/trust/security/#support-access-is-visible) before granting it in the account’s **Security** tab. Revoking a grant stops new entry and ends its open support session on the next request after the grant check refreshes, within 30 seconds. At expiry, the next request ends the session. [![The account's Security tab at Support access: the four ways support can reach a site, No support grant from you is active right now, an empty Reason (what support is helping with) field and Grant 4-hour read-only access.](https://docs.amadalis.ai/images/steps/S099-account-support-access-before-grant.png)](https://docs.amadalis.ai/images/steps/S099-account-support-access-before-grant.png "Open full-size image") Before a grant: state what support is helping with, then grant read-only access. ## Your next step Open the site you want to work on, then follow [Getting started](https://docs.amadalis.ai/get-started/getting-started/) to create and review a draft page. Source: https://docs.amadalis.ai/account/your-team/ # Invite a designer or teammate and choose their role Checked against the product’s code on 7 November 2026. Learn how to invite a designer or another teammate. Open **Team** in [your Praxis account](https://account.amadalis.ai/account). The owner and Admins can send the invitation and choose the person’s **[Role](https://docs.amadalis.ai/reference/glossary/#role)**. Read **What this grants** before sending it, including whether that role can publish. Use **Security** for the team’s sign in rules. EmDash’s **Users** screen points you to the account for team and role management. For a client site, agree the role with its owner before sending an invitation. An **Author** cannot edit another author’s page or post in EmDash; an **Editor** or **Admin** can. See the role table below before choosing access. ## Invite a teammate 1. Open **Team**. 2. Choose **Invite member**. 3. Enter **Email**. 4. Choose **Role**. 5. Read **What this grants**. 6. Choose **Send invite** when the address and permissions are right. 7. Read the delivery result. If email delivery failed, **Copy invite link** gives you the invitation to share with its intended recipient. The invite page names the site, email address, role and expiry date. A new member sets a password of at least 12 characters and chooses **Accept invite**. If that email already has an Amadalis account, the recipient must enter that account’s existing password. The link is single use. Read the **Terms** and **Privacy Policy** linked on the invitation form before accepting. You can also [ask the copilot](https://docs.amadalis.ai/reference/copilot/account-and-privacy/#your-team): “Invite [person@example.com](mailto:person@example.com) as an Editor.” Replace the example address with the intended recipient’s. Check the address and role on the invitation card before choosing **Send Editor invite**. | Role | What it grants | | --- | --- | | **Contributor** | Writes drafts for review and cannot publish. | | **Author** | Creates and edits their own content; can publish it in the content editor. | | **Editor** | Edits and publishes content. Cannot manage the team or privileged account data. | | **[Admin](https://docs.amadalis.ai/reference/glossary/#admin)** | Publishes content and manages settings, privileged data and the team. | In EmDash’s **Pages** and **Posts**, an Author can edit their own content. Editing another user’s page or post requires an Editor or Admin role. A [byline](https://docs.amadalis.ai/content/bylines/) is the person or team credited on the content; that credit does not grant editing permission. Billing authority stays with the owner. Making someone an Admin does not transfer ownership or billing authority. People newly added through [SCIM provisioning](https://docs.amadalis.ai/account/security/#sso-and-provisioning) join as **Viewer**, which can read site content but cannot create, edit or publish. Viewer is not offered by **Invite member**. An owner or Admin can use **Change role** in **Team** to give that member a higher role. ## Member signup by email domain In EmDash’s **Settings**, open **Self-Signup Domains** under **Security Settings** and use **Allowed Domains** to manage rules for people joining from an email domain. A new signup through an allowed email domain receives the chosen role, up to **Editor**. To give someone Admin access, invite them from **Team** in your Amadalis account. An older rule may still show **Default role: Admin**. New signups under it join as Editor; the stored rule and existing people’s roles are not changed. Rules at Editor or below keep their chosen role. ## Change access 1. In your account’s **Team** tab, choose **Change role** on a member. 2. Select the new role. 3. Read **What changes**. 4. Choose **Review change**. 5. Confirm the card that names the member and new role. The account uses the new role at the member’s next request. A higher site role takes effect when the member next opens the site admin from their account. A role reduction delivered to an already open site applies from their next click. If the site could not be updated, the result says so; the platform retries eligible undelivered reductions and disabled access on its regular run while they still match the member’s current state. Do not assume an unreachable site has already changed. For a copilot role change, give the teammate’s email and the new role’s name. Review the member and permissions before approving **Change role to Editor**, or the role you requested. This request cannot change the owner’s role or a Viewer’s role. For a Viewer, use the **Change role** steps above. To remove a teammate’s access, use **Disable** in your account’s **Team** tab. This stops the member’s account access without deleting their membership or history. The confirmation is **Disable access**. **Enable** restores access under the current role after its own confirmation. Read the result: delivery to the running site can fail, so the person may still be able to work there after account access is off. You can also ask the copilot to disable or enable the teammate by email. Its result says whether site sign-in was updated. A failed disable update can leave an open site session usable; a failed enable update can leave the member unable to enter that site. Read the receipt’s next step. If you disable your own access and the site is updated, you cannot press **Undo**; the owner or another Admin must enable you from **Team**. For managed client sites, read [the separate sign-in limits](https://docs.amadalis.ai/agencies/agency-guide/#review-and-end-access). For an unused invitation, **Resend** creates a fresh single-use link and replaces the old one. **Revoke** stops the open invitation working. Both ask for confirmation. **Recovery** requests a password recovery link for the member’s email; it does not show you that link. Read the delivery result. You can also ask the copilot to resend or revoke the open invitation, naming the invited person’s email. Review **Re-send this invite?** or **Revoke this invite?** before approving. Resending replaces the old link; revoking stops it. Neither action has Undo. ## Set the team’s session rules 1. Open **Security** and find **Team session policy**. If the current policy failed to load, reload before editing; the displayed defaults are not evidence of the saved policy. 2. Set whether every teammate must use two-factor authentication. 3. Enter the [session lifetime](https://docs.amadalis.ai/reference/glossary/#session-lifetime) in minutes. This is the maximum duration of a sign in. 4. Enter the idle timeout in minutes. This is the allowed time without activity. Empty duration fields mean no limit. 5. If you restrict network addresses, enter one address or range per line. Include your own current address. An empty list allows any address. 6. Choose **Save policy**. 7. Read the confirmation wording on the control. 8. Choose it again to save. The policy applies to each member’s next request in the account console and is recorded in the security log. The team session policy also applies inside an already open site admin session. **Limits.** On requests inside the site, address and session limit changes are normally picked up within about 30 seconds, or longer if the site cannot reach the account. Idle expiry can be up to 30 seconds late. When two factor authentication is required, use **Open admin →** from your Praxis account; a direct site sign in does not meet that requirement. Requiring two factor authentication, the extra login check, does not end a site editing session already opened from the account. If the site cannot read the policy, it uses a policy read within the last five minutes. Without one, it pauses access if the last known policy has a rule or that record cannot be read. A team with no recorded policy or no last known rules can continue. A server that last read a rule may still pause access after another server has read that the rules were cleared. The paused page asks you to try again in a minute. An existing session is kept; a refused new site sign in opens no session. A network list that would exclude the person saving it is refused. Site API tokens obey the team’s applicable network, membership and two factor rules, with the [token checks and read-failure limits](https://docs.amadalis.ai/account/site-access-and-settings/#personal-api-tokens). Session lifetime and idle timeout do not apply to tokens. This form has no Undo control. To reverse a policy change, restore the earlier values and save again. [![Account Security with two-factor unchecked, empty session lifetime, idle timeout and allowed network address fields, and Save policy.](https://docs.amadalis.ai/images/owners/account-10-security-session-policy.png)](https://docs.amadalis.ai/images/owners/account-10-security-session-policy.png) The account’s team session policy form. The network addresses shown in its empty fields are examples. [Open full size](https://docs.amadalis.ai/images/owners/account-10-security-session-policy.png). ## Your next step After inviting someone, review their role in **Team**. Use [Sign in and recovery](https://docs.amadalis.ai/account/sign-in-and-recovery/) if they need help getting into the account. Source: https://docs.amadalis.ai/agencies/agency-guide/ # Manage client sites and agency access Checked against the product’s code on 7 November 2026. Use **Clients** in your Praxis account to manage several [client](https://docs.amadalis.ai/reference/glossary/#client) sites as an agency. Each client has its own organisation, sites and people. Your agency’s access comes through the client relationship and the agency member’s role. The client keeps their own login. Confirm the workflow on your hosted account before using it to onboard a client. ## Who can manage clients The owner or an Admin with direct membership of the agency account can manage its clients. Access delegated from another agency does not let that person manage the client’s own clients. Client management and billing are different permissions. An agency Admin can manage clients. The agency’s owner holds the payment authority. An agency Admin can register a paid site; only an agency owner can pay for it. ## Add a client and its first site After registration, the contact becomes the owner of the client’s site. Use the client’s own contact address. Do not substitute an agency teammate simply to get through onboarding. 1. Sign in to your account. 2. Open **Clients**. 3. In **New client**, enter **Client name**. 4. Enter **Contact email**. 5. To register a site now, fill **First site name (optional)**. 6. If you entered a first site name, choose **Plan for the first site**. The list offers **Free** and the paid plans currently available. 7. Choose **Add client**. 8. Read the result. If you registered a site, it says whether the contact’s confirmation email was sent and whether the site is held for payment. 9. On **Free**, building starts after the contact confirms their address. On a paid plan, it waits for the agency’s payment to be confirmed. 10. For a paid site, the agency owner can follow the checkout that opens after creation or use **Pay for this site** on the client’s page. An Admin asks an owner to complete payment. To continue without creating a site, choose **Free** and leave **First site name (optional)** blank. A paid plan needs a first site name. This creates the client record alone. It does not register a site or send a site verification email. If verification mail cannot be sent after a site is registered, the result says so and directs you to support. A client’s first site uses the plan selected under **Plan for the first site**. The contact still confirms their address for their own account. Their email confirmation landing does not show your agency’s name. ## Open the client’s workspace 1. Select the client in the roster. Its page shows **Sites**, **Their people** and **Our team’s access**. 2. When the site is ready, use **Open admin →** beside it to enter its admin. To open the site’s team controls instead, use **Team**. This is how the client relationship gives an eligible agency teammate access to that site. The first entry creates the agency member’s [delegated access](https://docs.amadalis.ai/reference/glossary/#delegated-access) when the relationship and source membership allow it. The client’s team can see **Managed by** with the agency’s name. This is access under the agency relationship, rather than ownership of the client’s login. An existing direct membership on the client site keeps its own status. A disabled direct membership is not bypassed by requesting delegated access. For the team’s role boundaries, see [Trust and security](https://docs.amadalis.ai/trust/security/). ## Review and end access The client page offers **Prospect**, **Active**, **Suspended** and **Ended** statuses. Changing to **Suspended** or **Ended** requires confirmation. **Suspended** blocks opening sites through the agency relationship. A separate active membership on a client’s site still works. An already open site session can continue if the site does not receive the access change. Lowering or disabling the agency membership that granted access also revokes the access derived from it. These changes are recorded. After that membership change, read whether sign-in on the client sites was ended. If an update failed, a session already open there can continue; another Admin on that site can turn the person off under **Users** in its admin. Enabling and disabling the agency member again does not retry those client sites. A copilot **Undo** does not restore those sign-ins; after access is restored, the person opens the client site from their account again. Client relationship status and site hosting state are separate. Ending the relationship here does not itself terminate the client’s site or delete its content. It also does not change who pays for the client’s sites. Settle billing for those sites separately. ## Billing and client collection The agency is the payer for its clients’ sites. A client’s owner arranges payment with the agency. This flow does not let the client pay Amadalis directly for that site. The client’s owner is directed to the agency for payment. Their account does not offer a payment control for the managed site. For an existing client site: 1. Open **Clients**. 2. Select the client. 3. Find **Billing** under **Sites**. 4. Read the state beside the control. 5. As the agency owner, use **Choose a plan** for a free site or **Pay for this site** when payment is needed. A site held for payment has no admin to open yet. If you leave checkout without paying, it stays held and **Pay for this site** remains the way to finish. After payment is confirmed, review the site’s progress before using **Open admin**. Client statements come from your own retail price book under your brand. Send them and collect through your own payment setup. Amadalis bills your agency wholesale for its clients’ sites. ## Partner terms and ownership The partner program includes partner pricing and credits applied to the agency’s own bill. Your account, client emails and client site admin carry your brand and domain. Agree the terms and account configuration with Amadalis. Read [The agency partner program](https://docs.amadalis.ai/agencies/partner-program/) for the relationship and billing model. The Team screen marks ownership as fixed. There is no action to transfer ownership in this flow. Start with the intended client owner rather than planning to transfer a site owned by the agency later. For an existing WordPress site, arrange [migration as a service](https://docs.amadalis.ai/agencies/migration-as-a-service/). Review [Known limitations](https://docs.amadalis.ai/trust/known-limitations/) before agreeing a delivery scope. Source: https://docs.amadalis.ai/agencies/ # What you can do in Agencies and partners Checked against the product’s code on 7 November 2026. Manage client relationships, access granted by a client and an agreed delivery scope. Open **Clients** in your [Praxis account](https://account.amadalis.ai/account) to manage client relationships. Use these guides to agree each client’s access and delivery scope. Use the guide for the required role, setup and current limits. ## Start with a task Choose the result you want. Each guide explains where to begin, what to review and how to check the result. - [Manage clients](https://docs.amadalis.ai/agencies/agency-guide/) - [Arrange migration](https://docs.amadalis.ai/agencies/migration-as-a-service/) - [Understand support access](https://docs.amadalis.ai/trust/security/#support-access-is-visible) ## Capabilities and screens | Capability | What you can do | Read next | | --- | --- | --- | | Client roster and first site | Create a client record and follow its first-site verification. | [Manage client sites and agency access: Add a client and its first site](https://docs.amadalis.ai/agencies/agency-guide/#add-a-client-and-its-first-site) | | Delegated workspace entry | Use a client relationship and your permitted role to open client sites. | [Manage client sites and agency access: Open the client’s workspace](https://docs.amadalis.ai/agencies/agency-guide/#open-the-clients-workspace) | | Relationship and role changes | Review access revocation separately from the client’s site hosting status. | [Manage client sites and agency access: Review and end access](https://docs.amadalis.ai/agencies/agency-guide/#review-and-end-access) | | Payer and client collection | Read who pays for hosting and how the agency collects from clients. | [Manage client sites and agency access: Billing and client collection](https://docs.amadalis.ai/agencies/agency-guide/#billing-and-client-collection) | | Several sites and memberships | Check the account and role you are using for each site. | [Manage client sites and agency access](https://docs.amadalis.ai/agencies/agency-guide/) | | Support and delivery scope | Agree access, migration and service commitments with Amadalis. | [Manage client sites and agency access: Partner terms and ownership](https://docs.amadalis.ai/agencies/agency-guide/#what-remains-outside-this-guides-available-workflow) | | Partner program scope | Confirm partner arrangements and branding requirements with Amadalis. | [Agency partner branding and client prices](https://docs.amadalis.ai/agencies/partner-program/) | | Client statements | Read how agency client statements support your client billing. | [Agency partner branding and client prices](https://docs.amadalis.ai/agencies/partner-program/) | | Partner billing and credits | Read the program’s partner billing and credit arrangements. | [Agency partner branding and client prices](https://docs.amadalis.ai/agencies/partner-program/) | | Agency branding | Read about agency branding across the account, emails and client admin. | [Agency partner branding and client prices](https://docs.amadalis.ai/agencies/partner-program/) | | Client console and wholesale billing | Add a paid client site, arrange payment through the agency owner and read the program’s billing model. | [Agency partner branding and client prices](https://docs.amadalis.ai/agencies/partner-program/) | ## More in this area These guides cover the other tasks and settings in this area. - [Agency partner branding and client prices](https://docs.amadalis.ai/agencies/partner-program/): Keep the client’s public brand, apply your agency brand to its admin and choose the prices you charge. ## Your next step Begin with [manage clients](https://docs.amadalis.ai/agencies/agency-guide/). Follow its steps and check the result before moving to another task. Source: https://docs.amadalis.ai/agencies/migration-as-a-service/ # Move a WordPress site with the migration service To move a WordPress site to Praxis, arrange the migration with Amadalis. Use **Migration** > **Migration jobs** in the site admin to review the move, compare pages and inspect what still needs work. Checked against the product’s code on 7 November 2026. The product can turn supported WordPress content into native Praxis content that your team can edit. What the source makes available and what your site uses determine the scope. For an agency, choose the client’s intended owner at the start and manage access through the [agency workflow](https://docs.amadalis.ai/agencies/agency-guide/). The public migration preview is by invitation. Treat a preview as an assessment, rather than a completed move or approval to switch off the original site. ## Start with the site you have 1. Share the source site’s address with Amadalis. 2. List the things it must keep doing. Include its page builder, forms, shop, member content, languages, integrations and important old addresses. The migration can read a WordPress export file, an authorized connection or the Praxis exporter. Those sources expose different parts of the site. A public scan alone cannot reach private content, plugin tables or all theme settings. Agree the source connection through the migration controls with the team. Keep WordPress credentials out of copilot conversations. ## What can move Coverage is checked for the actual site. This table describes supported destinations, not a promise that every source setting converts. | Source material | Destination or review | | --- | --- | | Pages and posts | Native content, initially in [drafts](https://docs.amadalis.ai/reference/glossary/#draft). Page structure and old addresses are reviewed. | | Elementor and WordPress block editor layouts | Native sections and elements for supported constructs. Widgets, layout and responsive behavior need comparison with the original. | | Other builders and unusual blocks | Scope them separately. A detected builder is not proof that its whole design can be reproduced. | | Categories, tags, menus and authors | Native groupings, navigation and author records where the source supplies them. | | Custom post types | A [collection](https://docs.amadalis.ai/reference/glossary/#collection) mapping agreed during review. | | Advanced Custom Fields (ACF) or Secure Custom Fields (SCF) | Native fields with the matching value type, where supported. Structured values and relationships need review. | | Images and files | Downloaded files with integrity checks and a result for failures. | | SEO data | Native titles, descriptions, preferred page addresses, robots settings and social fields from supported SEO records. | | Forms | Supported definitions become native forms. Unsupported fields and behaviors are named for review. | | WooCommerce | Supported catalog and commerce records move into native tables. Checkout, payment setup and the store’s behavior need a separate review. | | Other plugin data | A native destination where supported, or a named inventory and review item. Storing a record does not recreate the plugin’s behavior. | ### What happens to media files during a WordPress migration Supported WordPress media files are downloaded and checked, then stored or matched to an existing file. Failures are recorded by source address and reason. Review those results and keep the original site available while you compare the imported pages. WordPress plugin software does not run as part of the migrated site. Confirm each behavior you depend on in Praxis. ## How the service is reviewed 1. **Assess coverage.** Review what the chosen source can provide and what is missing. 2. **Import and inspect.** Review the imported items and the named findings in **Migration**. 3. **Compare pages.** Use **Compare ⇆** in **Migration** to see the original and the native page side by side at a desktop width. Check phone layouts, menus, pictures and forms on the pages themselves. 4. **Resolve exceptions.** Decide how to handle unsupported behavior and items that need manual work. Read the **Honesty report**, which lists gaps and work needing review. 5. **Approve the switch.** Review the **[Cutover](https://docs.amadalis.ai/reference/glossary/#cutover)** evidence for switching from the old site. 6. Publish approved content. 7. Arrange the domain change separately. Imported pages and posts start as drafts. An import can still change the live site: redirects can start forwarding, a menu with the same name can be replaced and the imported theme can become active. Agree the destination and timing before importing into a site that already serves visitors. **Job controls** in **Migration** can roll back the drafts an import created. Agree with the team how redirects, the menu and the theme would be restored before importing into a live site. ## Items that need a separate plan Products brought in by the import are read only in **Products** for now. - Past form entries and advanced form behavior such as uploads, conditional logic, payment fields and captchas. - Store checkout, setup of the payment provider and any recurring billing that the business depends on. - Customer access and claims. WordPress passwords and sessions are withheld, and payment credentials are not activated by the import. - Languages beyond the host’s current English and Spanish configuration. - Features provided by a plugin whose data is preserved without a working native replacement. These are scope questions to settle before cutover. A completed import does not settle them by itself. ## Keep the original available until review is complete The product reports unresolved dependencies and whether it can verify that the source is no longer required. Review that result with the team. Keep the original site and its backups available until the pages, redirects, files and business functions have been accepted. Confirm commercial scope directly with Amadalis. Source: https://docs.amadalis.ai/agencies/partner-program/ # Agency partner branding and client prices Checked against the product’s code on 7 November 2026. Clients can keep their own public site brand while your agency manages the work. You choose the price you charge each client from your own retail price book. Use these partnership guidelines alongside **Clients** in your Praxis account and agree the relationship and scope before beginning work. Reviewed on 31 October 2026. Run client sites through your agency account. Each client has its own sites and people, while your agency keeps the client relationship and collects from the client. For the registration and access steps, start with [Manage client sites and agency access](https://docs.amadalis.ai/agencies/agency-guide/). This page explains the partnership and the two brands involved. ## Your brand and client workspace ### Show your agency brand The agency program shows your brand and domain across your account, client emails and each client’s site admin. Your client console brings the clients’ sites, people and status together. ### The client’s public brand The client’s public site has its own name, logo and theme. These choices describe the site visitors see; the agency brand describes the account, emails and admin. Use [Site setup](https://docs.amadalis.ai/site/site-setup/) for the public site name and [Themes and tokens](https://docs.amadalis.ai/composer/themes-and-tokens/) for its shared appearance. Use [the agency guide](https://docs.amadalis.ai/agencies/agency-guide/) for **Clients**, delegated access and the client’s visible **Managed by** relationship. Your agency’s access is distinct from owning the client’s login. ## Retail statements and wholesale billing Client statements come from your own retail price book under your brand. You send them and collect through your own payment setup. You choose your client prices. Amadalis bills your agency wholesale for its clients’ sites. A client does not acquire a direct billing relationship with Amadalis through that flow. The agency’s owner holds its payment authority. Keep the site’s hosting plan separate from the price you charge your client. In **Clients** > **New client**, **Plan for the first site** lets you start with a paid plan. The agency owner completes payment; the client’s contact confirms their own address. Each paid client site has its own subscription on the agency’s bill. Follow [the agency guide](https://docs.amadalis.ai/agencies/agency-guide/#add-a-client-and-its-first-site) for the screens and results. ## Partner prices and credits The program includes partner pricing and credits held on the agency account and applied to the agency’s own bill. Agree the commercial terms and account configuration with Amadalis. This guide does not announce a price, discount or credit amount. ## Deliver work under your relationship You can subcontract a client’s migration to Amadalis under the agency relationship. Agree the source, work and review with the migration team. Your client remains your client. For WordPress projects, use [Migration as a service](https://docs.amadalis.ai/agencies/migration-as-a-service/) and the [review workspace](https://docs.amadalis.ai/migration/review-and-cutover/). Source: https://docs.amadalis.ai/commerce/commerce/ # Set up your shop, add products and manage orders Checked against the product’s code on 7 November 2026. Learn how to set up a shop, add a product, adjust **Stock** and manage orders in **Commerce**. Open **Products**, **Orders** or **Membership** for the task you need. A new store starts with [draft](https://docs.amadalis.ai/reference/glossary/#draft) storefront pages. Products and payment settings have their own live effects, so review each [approval card](https://docs.amadalis.ai/reference/glossary/#approval-card). ## Create the storefront drafts A site Admin must set up a new store, because this creates its product content type. Undoing that setup also needs an Admin. 1. Open **Products**. 2. If the site has no product catalog, choose **Set up the store**. 3. Read **Set up your store?** It creates the product catalog and draft **Shop**, **Cart** and **Checkout** pages. 4. Choose **Set up the store**, or **Not now** to decline. The pages need their own review and publication. The setup’s Undo is refused once products have been added or one of its pages has been published. ## Add and put a product on sale 1. In **Products**, choose **Add product**. 2. Fill in **Name**. 3. Fill in **Price**. 4. Set **Stock** if you track a quantity. 5. Add **Category** as needed. 6. Add **Description** as needed. 7. Use **Choose picture**. 8. Pick an image. 9. Choose **Add product**. This creates the product immediately, without another approval card. It starts **Hidden** and cannot be bought. 10. Open the product. 11. Choose **Put on sale** when ready. 12. Read **Put this product on sale?** 13. Choose **Put it on sale** or **Keep it hidden**. Putting a product on sale makes its listing and product page public. **Change** opens its fields; **Review the changes** leads to **Change this product?**. Confirming **Save the changes** saves the product’s changes now. Visitors see the change within the hour, usually much sooner. While the site’s server is down, visitors may see the previous version of a page for up to a day. **Take out of the store** opens **Take this product out of the store?**. Confirming **Take it out** removes it from sale while preserving the product on existing orders. Receipts offer **Undo** where the change remains reversible; read a refusal if the product has changed since. Imported products are read-only in this workspace. Its editing controls are for products added here. ## Connect payment and review checkout You need an Admin account for this task. Start in **Commerce** > **Membership**, under **Payment account**. 1. Enter the account’s **Stripe secret key** in that screen. 2. Choose **Connect Stripe**. 3. Review **Connect this Stripe account to the site?** 4. Confirm only when the connection is right. An existing connection can instead offer reconnection. Check the mode badge. **TEST MODE** takes no real money; **LIVE MODE** uses a live payment account. For a test rehearsal, confirm **TEST MODE** and the storefront’s test-mode notice before proceeding. On a [site marked as a demo](https://docs.amadalis.ai/content/dashboard/#read-a-demo-site-notice), public checkout is refused. Test checkout while signed in as a team member of that site. Review and publish the **Shop**, **Cart** and **Checkout** pages through the Composer. Without a usable Stripe connection, a fresh store’s checkout explains that it cannot take card payments. A card checkout uses Stripe’s hosted payment page and the store’s connected account. Praxis marks the order paid after Stripe confirms a matching payment. A successful browser return alone is not a reason to mark it paid yourself. [![Payment account showing TEST MODE, Connected and payment notifications Registered automatically.](https://docs.amadalis.ai/images/owners/sell-08-payment-account-stripe-test-mode.png)](https://docs.amadalis.ai/images/owners/sell-08-payment-account-stripe-test-mode.png) A connected payment account in test mode. This capture does not show a checkout or a live charge. [Open full size](https://docs.amadalis.ai/images/owners/sell-08-payment-account-stripe-test-mode.png). ## Work through an order 1. Open **Orders**. 2. Find the order. 3. Review its items, totals, payment, address and any **Needs attention** messages. **View in Stripe** opens a recorded Stripe payment when that link is available. The available actions depend on the order’s current state: | Action | What to review | | --- | --- | | **Mark as paid** | For a payment method handled offline, record the received payment and optional reference. | | **Mark as shipped** | Add the optional carrier and tracking reference, then choose **Review**. | | **Mark completed** | Confirm that the order is complete. | | **Cancel order** | Enter the reason, then choose **Review**. Cancellation restores recorded stock and does not refund money. | Each action shows an approval card. Read it and confirm the named action. Its [receipt](https://docs.amadalis.ai/reference/glossary/#receipt) offers **Undo** while that reversal is available. A later change can make an earlier reversal unavailable. For a refund, an Admin can use **Refund** on an eligible Stripe order. Read [the prerequisites, result and irreversible payment boundary](https://docs.amadalis.ai/commerce/orders/#refund-and-notification-records) before approving it. Check **Emails** for delivery status. **Send again** asks for approval and sends real email; it has no Undo. Undoing an order state cannot recall a sent email. ## Connect a Shopify product 1. Open the page in **Composer**. 2. Choose **Add section**. 3. Select **Shopify product**. 4. Open that section’s **Settings**. 5. Fill in **Shopify store domain (e.g. acme.myshopify.com)** from your store. 6. Fill in **Product handle (the product’s URL slug in Shopify)**. The section uses Shopify’s product display and checkout on the published page. The Composer shows a notice in place of those external controls. Review and approve publication, then check the result with your own Shopify store. See [Shopify product fields](https://docs.amadalis.ai/reference/sections/commerce/#shopify-product) for the other settings. The native store setup above uses Stripe for checkout. ## Create and pause a coupon An Editor or Admin can manage coupons in **Commerce** > **Coupons**. Creating one can affect checkout at once, so review the card before approving. 1. Choose **New coupon**. The form opens. 2. Enter **Code**. Shoppers use this code at checkout. 3. Choose what the **Discount** takes off. 4. Enter **Percent** or **Amount in US dollars**, as shown. 5. Set **Last day** and the optional limits. The last day ends in UTC. 6. Select **Make it switched off, to turn on later** if it should start paused. 7. Choose **Review the coupon**. Read **Create this coupon?** 8. Choose **Create the coupon** only when its code, discount and limits are right. Read the receipt. Open an existing coupon to **Change**, **Pause** or **Turn on**. Each act asks for approval and offers receipt **Undo** while available. Creation Undo removes the coupon only before an order uses it. An imported coupon can be changed here, but a later WooCommerce import can replace those changes. Ask the copilot to create, change or pause a named code; see [Coupon requests](https://docs.amadalis.ai/reference/copilot/store-and-membership/#coupons). ## Current limits An Admin can issue an eligible Stripe refund from **Commerce** > **Orders**. It cannot be undone and does not restore stock. A refund that later fails remains listed but stops reducing the recorded refunded total. The product form does not create coupons, shipping zones, tax rates, variations or product downloads. Use **Commerce** > **Coupons**, **Shipping** or **Tax** for the first three. In **Shipping**, choose **New zone**, name its places and ways to ship, then choose **Review the zone** and approve the card. In **Tax**, enter the rates you charge and review the card. Shipping uses the first matching zone; tax adds every matching rate. Imported zones and tax rates remain read only. A new shipping zone can answer before an imported zone, while a new tax rate for the same place adds to the imported rate. With no shipping zone a cart can ship free; with no tax rates it is charged no tax. Praxis does not decide what tax you owe and provides no automatic tax service. This does not add variation or product-download editors. When testing checkout, choose the country and any required state or postcode before reviewing the total. Country is required where a shipping zone or tax rate needs it. State rules in the United States, Canada and Australia use a required choice from the supplied list. Other countries keep a text field. A postcode is not required for a country that does not use one. ## Your next step Use [Orders, refunds and fulfilment](https://docs.amadalis.ai/commerce/orders/) to review an order’s payment and delivery record before fulfilling it. Source: https://docs.amadalis.ai/commerce/customer-identity/ # Customer accounts, email and claims Checked against the product’s code on 7 November 2026. Open **Commerce** > **[Customer identity](https://docs.amadalis.ai/reference/glossary/#customer-identity)**. These settings concern visitors and shoppers using your site’s account pages. They are separate from your team’s Praxis account and Admin roles. Only an Admin can change these settings, connect customer email or act on [claims](https://docs.amadalis.ai/reference/glossary/#claim). ## Review registration and presentation **Customer registration** controls whether visitors can create shopper accounts. Read settings taken from the site defaults and the current readiness state before enabling it. A registration setting does not grant a shopper a role on your site’s editing team. Under **How your account pages look**: 1. Choose the offered layout. 2. Review the headings. 3. Review the supporting words. 4. Choose the privacy destination from the available links. 5. Choose the terms destination from the available links. 6. Choose **Review and save**. 7. Read the proposed change. 8. Save it through its confirmation. 9. Read the result. ## Configure customer email **Customer email** offers Resend or an [SMTP](https://docs.amadalis.ai/reference/glossary/#smtp) email server, sender and reply details, and **Send test to my administrator email**, which sends the test to your own address once the credentials are connected. Enter credentials only in this dedicated screen. Sender verification remains with the selected provider. The platform’s default provider can already be selected. To connect your own sender in **Customer email**: 1. Choose **Connect a provider (optional)**, or the replacement action for an existing connection. 2. Choose **Resend** or **SMTP**. 3. For Resend, enter **Resend API key**. 4. For SMTP, enter **Public SMTP hostname**. 5. For SMTP, choose **Secure submission**. 6. For SMTP, enter **SMTP username**. 7. For SMTP, enter **SMTP password**. 8. Enter the authorised sender in **From**. 9. Enter **Reply-To (optional)** if needed. 10. Choose **Review test and connection**. 11. Read the proposed test and connection. 12. Confirm only the intended change. 13. Read the resulting configuration. For an additional test after connection: 1. Choose **Send test to my administrator email**. 2. Read its approval card. 3. Confirm only the intended test. 4. Read the result. 5. Check your real test mailbox. An Admin can also ask the copilot to update the supported registration settings, disconnect the current customer email connection, or send a test. Read each approval card. Connecting a provider and entering its credentials stay in **Customer email**. Check the resulting configuration and a real test mailbox. A sender being saved does not guarantee that every future sign in or order email will arrive. Keep missing sender or failed send states visible during setup. ## Handle imported claims **Claims** helps the right person take ownership of an imported account. It lists imported accounts that edited or ran your old site; ordinary customers claim their accounts themselves from the emailed link. Approval activates the account so its owner can sign in, and it cannot be undone. Approve only people you still want to have an account. Imported identity is not permission to reuse an old password or payment credential. 1. Open the intended imported account in **Claims**. 2. Choose **Send the claim email**. 3. Read its approval card. 4. Confirm only the intended send. 5. Wait for the person to confirm their address. 6. Check the confirmation in the claim’s details. 7. Choose **Approve**. 8. Read that action’s approval card. 9. Confirm only the intended activation. 10. Read the result. For an erasure request, use the separate [shopper account erasure](https://docs.amadalis.ai/privacy/visitor-data/) action in **Privacy & Data** > **Visitor Data**. Visitor erasure alone does not remove the shopper account. Review the subscription refusal and the checkout details that remain before confirming. Use the customer’s supported verification path and inspect its outcome. For the shopper experience, read [Storefront and shopper accounts](https://docs.amadalis.ai/commerce/storefront-and-shopper/). For your own staff, read [Your team](https://docs.amadalis.ai/account/your-team/). Source: https://docs.amadalis.ai/commerce/documents/ # Documents and protected files Checked against the product’s code on 7 November 2026. Open **Commerce** > **[Documents](https://docs.amadalis.ai/reference/glossary/#documents)**. It holds ready PDFs and videos for delivery, plus supported files marked [members only](https://docs.amadalis.ai/reference/glossary/#members-only). A file’s access is separate from the article that embeds it. ## Add a file **Upload file** adds a PDF or video that anyone with its link can download. **Upload members-only file** adds a PDF, video or poster image that only signed-in members can download. Each upload can be up to 50 MB and is added only after you approve it. 1. Choose the upload control for the intended access above. 2. Choose the local file. 3. Read its approval card. 4. Approve only the intended upload. 5. Read the result before sharing its Documents link. A file is not ready merely because an upload started. Inspect any processing or refusal message. ## Set access Choose **Public**, **Members only** or the offered package option. A public file can be read by anyone with its public link. A package choice needs a real package and its approval. If the site cannot check a protected file’s existing access, the change is refused and its access stays as it was. A file that is already public is not refused for that reason. Changing a file from **Public** to **Members only** or **In a package** protects the links issued from then on. It cannot recall copies already downloaded or cached, so treat a file that was ever public as already shared. Review the file itself as well as [the page’s reading access](https://docs.amadalis.ai/composer/access-and-tracking/). ## Release a PDF through a form 1. Open **Site**. 2. Open **Forms**. 3. Choose the form. 4. Open its settings. 5. Configure **Release a PDF after submit** there. 6. Choose **Save changes**. 7. Read the approval card. 8. Approve only the intended form update. 9. Read the receipt. A successful qualifying submission can unlock one configured PDF’s Documents link for the submitting browser session. This is not permanent access for that person across browsers. Marketing consent is independent of that document access. ## Remove or undo **Remove from Documents** deletes the stored file, and its Documents link stops working for good. It cannot be undone, and it cannot recall copies people already downloaded. Separately, the receipt of a new upload may offer Undo while the file is unchanged and unused; that Undo takes the file out of Documents but keeps the stored copy. ## Your next step Before sharing a restricted file, review [page access](https://docs.amadalis.ai/composer/access-and-tracking/) and check the file with the intended reader account. Source: https://docs.amadalis.ai/commerce/ # What you can do in Commerce Checked against the product’s code on 7 November 2026. Manage products, [orders](https://docs.amadalis.ai/reference/glossary/#order) and customer access, with payment and delivery checks. In the site admin, open **Commerce**. Begin with the store setup guide before taking orders, then use **Products** and **Orders** for the store’s daily work. Use the guide for the required role, setup and current limits. ## Start with a task Choose the result you want. Each guide explains where to begin, what to review and how to check the result. - [Set up a store](https://docs.amadalis.ai/commerce/commerce/) - [Handle an order](https://docs.amadalis.ai/commerce/commerce/#work-through-an-order) - [Review access controls](https://docs.amadalis.ai/reference/settings/page-settings/) - [Check and repair the payment connection](https://docs.amadalis.ai/commerce/payment-connection/) ## Capabilities and screens | Capability | What you can do | Read next | | --- | --- | --- | | Products | Create a hidden product and review putting it on sale or changing it. | [Set up your shop, add products and manage orders: Add and put a product on sale](https://docs.amadalis.ai/commerce/commerce/#add-and-put-a-product-on-sale) | | Storefront setup | Create the store pages as drafts and inspect setup Undo limits. | [Set up your shop, add products and manage orders: Create the storefront drafts](https://docs.amadalis.ai/commerce/commerce/#create-the-storefront-drafts) | | Shipping and tax | Set native shipping zones and tax rates; review matching rules and imported read only limits. | [Set up your shop, add products and manage orders](https://docs.amadalis.ai/commerce/commerce/) | | Orders and order export | Read order state, payment, items and attention messages. | [Orders, fulfillment and refunds](https://docs.amadalis.ai/commerce/orders/) | | Order actions and emails | Review offline payment, shipment, completion, cancellation and receipt sends. | [Orders, fulfillment and refunds](https://docs.amadalis.ai/commerce/orders/) | | Coupons | Create, change or pause a coupon after reviewing its approval card. | [Set up your shop, add products and manage orders: Create and pause a coupon](https://docs.amadalis.ai/commerce/commerce/#create-and-pause-a-coupon) | | Refunds and refund records | An Admin can refund an eligible Stripe order or record money already returned by hand. | [Orders, fulfillment and refunds](https://docs.amadalis.ai/commerce/orders/) | | Packages | Review package contents, sale, reader access and whether deletion is allowed. | [Packages and membership](https://docs.amadalis.ai/commerce/packages-and-membership/) | | Payment connection | Review the trusted payment-account setup and test/live mode. | [Packages and membership](https://docs.amadalis.ai/commerce/packages-and-membership/) | | Membership tiers | Review membership levels and the packages each gives a reader access to. | [Packages and membership](https://docs.amadalis.ai/commerce/packages-and-membership/) | | Selling readiness | Review the payment, product and customer sign in requirements before selling. | [Packages and membership](https://docs.amadalis.ai/commerce/packages-and-membership/) | | Documents | Review file access, package inclusion and downloads unlocked by a form. | [Documents and protected files](https://docs.amadalis.ai/commerce/documents/) | | Customer registration and account pages | Review registration, account presentation and signed-in access. | [Customer accounts, email and claims](https://docs.amadalis.ai/commerce/customer-identity/) | | Customer email and imported claims | Review email settings and how imported customers claim their accounts. | [Customer accounts, email and claims](https://docs.amadalis.ai/commerce/customer-identity/) | | Imported store settings | Read the supported import settings and current fresh-store editor limits. | [Storefront and shopper accounts](https://docs.amadalis.ai/commerce/storefront-and-shopper/) | | Shop and checkout | Review the published store pages and payment results confirmed by the server. | [Storefront and shopper accounts](https://docs.amadalis.ai/commerce/storefront-and-shopper/) | | Shopper account and entitlements | Review orders, downloads, membership and bought-content access. | [Storefront and shopper accounts](https://docs.amadalis.ai/commerce/storefront-and-shopper/) | | Stock notifications | Review the available signup and notification-delivery behavior. | [Storefront and shopper accounts](https://docs.amadalis.ai/commerce/storefront-and-shopper/) | | Check and repair the payment connection | check the stored Stripe key and repair notification registration. | [Check and repair the payment connection](https://docs.amadalis.ai/commerce/payment-connection/) | ## More in this area These guides cover the other tasks and settings in this area. - [Customer accounts, email and claims](https://docs.amadalis.ai/commerce/customer-identity/): Configure shopper registration and account pages separately from your team’s login. - [Documents and protected files](https://docs.amadalis.ai/commerce/documents/): Upload deliverable files, choose their access and review a form release. - [Orders, fulfillment and refunds](https://docs.amadalis.ai/commerce/orders/): Read payment facts, apply an order action and inspect recorded refunds and email attempts. - [Packages and membership](https://docs.amadalis.ai/commerce/packages-and-membership/): Choose what readers can buy and check the dependencies before offering it for sale. - [Storefront and shopper accounts](https://docs.amadalis.ai/commerce/storefront-and-shopper/): Review the public shop, checkout and the account where a customer reads purchases and access. ## Your next step Choose the guide for your task. For a first store, begin with [set up a store](https://docs.amadalis.ai/commerce/commerce/) and read its current checkout limits before proceeding. For an existing store, choose the relevant guide above. Source: https://docs.amadalis.ai/commerce/orders/ # Orders, fulfillment and refunds Checked against the product’s code on 7 November 2026. Open **Commerce** > **[Orders](https://docs.amadalis.ai/reference/glossary/#orders)**. The list combines recorded payment and [fulfillment](https://docs.amadalis.ai/reference/glossary/#fulfilment) facts. A card payment, an offline payment and an order action are different events. Editors and Admins can see and act on orders. Contributors and Authors cannot open this screen, because it shows customers’ names and email addresses. ## Find and inspect an order 1. Find the order using search, the payment filter or **Needs attention**. 2. Open the order. 3. Inspect its lines, totals, addresses, payment reference, coupons and customer note. 4. When **View in Stripe** is offered, use it to open the provider reference. **Download CSV** saves a spreadsheet file containing up to 5,000 of the newest orders that match your search and filters. New order records leave email-like values out of arrival tags and remove them from recorded arrival addresses. Earlier records are not cleaned by this change. Checkout names and email addresses remain separate order details. ## Add a private order note Editors and Admins can leave a plain text note for the people managing orders. This private note is not shown to the shopper. 1. Find the order and check its number. 2. Ask the copilot: “Add a private note to order \[number\]: \[your note\].” 3. Read the receipt naming the order. This needs no approval card. 4. Open the order again to read the note. The receipt’s **Undo** removes that one note. It does not reverse the order’s payment or fulfillment. See [Private order note requests](https://docs.amadalis.ai/reference/copilot/store-and-membership/). ## Apply an order action | Action | Effect | | --- | --- | | **Mark as paid** | Records an offline payment such as cash, cheque or bank transfer, with an optional payment reference. It charges nothing, and it takes the ordered stock off the shelf. It is not offered for an order paid or awaiting payment through Stripe. Undo works until the order is completed or refunded. | | **Mark as shipped** | Records shipment details, including carrier and tracking. | | **Mark completed** | Records completion of fulfillment. | | **Cancel order** | Cancels an eligible order and restores the stock it is allowed to restore. It does not issue a refund. | Read the action card and its receipt. Supported Undo checks the current order state and saved reversal; later work can prevent it. ## Add a shipment tracking number Once the order is marked shipped, this screen does not offer a separate action to add or change its tracking reference. Check those details before approving shipment. 1. Open **Commerce**. 2. Open **Orders**. 3. Open the order. 4. Choose **Mark as shipped**. 5. Enter the carrier in **Carrier (optional)**. 6. Enter the tracking number in **Tracking reference (optional)**. 7. Choose **Review**. 8. Read the action card. 9. Approve only the intended action. 10. Read the receipt. ## Refund and notification records An Admin can choose **Refund** on an eligible Stripe order in **Commerce** > **Orders**. Enter **Amount** and **Why is the money going back?**, choose **Review**, and read **Refund this order?** before approving **Refund the money**. The site needs a working Stripe connection and payment notifications registered on **Membership**. A refund cannot be undone and does not put stock back. Read the recorded result; if Stripe gave no clear answer, money may have moved. Check the order and Stripe before asking again. An unconfirmed attempt can hold another refund for an hour and still needs a successful Stripe check afterwards. On an eligible order paid outside Stripe, or an imported Stripe order without the reference needed for **Refund**, **Record a refund** records money already returned by hand; it sends no money. Its supported Undo removes the record, not the payment. Failed refunds remain visible and do not reduce revenue as successful refunds do. **Emails** lists receipt, shipment, completion and cancellation notices and offers **Send again**. Missing recipients, sender configuration or a failed send can prevent delivery. Read its recorded outcome and check a test mailbox; a paid order is not proof an email arrived. Source: https://docs.amadalis.ai/commerce/packages-and-membership/ # Packages and membership Checked against the product’s code on 7 November 2026. **Commerce** > **[Packages](https://docs.amadalis.ai/reference/glossary/#package)** groups paid content. **[Membership](https://docs.amadalis.ai/reference/glossary/#membership)** connects payment and defines the offers available to members. A page’s content access is a separate setting. ## Create a package A package can contain supported pages, posts, documents and media. Have the intended items ready before adding them. 1. Open **Packages**. 2. Enter its name under **New package**. 3. Choose **Create package**. 4. Read **Create this package?**. 5. Choose **Create it** if this is the intended package. 6. Under **What’s in it**, choose **Add to this package**. 7. Select the real item to include. 8. Read its proposed change. 9. Approve only the intended addition. 10. Review the package’s contents. On an approval card, “Whether this item is paywalled could not be read just now.” or “Who loses access could not be read just now.” means the copilot could not check the item’s access. It does not treat that as proof that the item is public. Try again before relying on the preview. Under **Sell it on its own**, configure an offered one time price and currency. **Membership tiers that include it** can make the same package available through a membership level. Read the sale approval before putting it on offer. Use **Sales** to inspect recorded purchases. **Archive package** takes a package off sale and out of the list. Everyone who already bought it keeps access, nothing is deleted, and Undo on the receipt puts it back as it was. **Delete package** is offered only for a package that has never been bought, not even once with a later refund. Deleting it also removes it from every membership level that included it, so those members lose access to it through that membership level. The pages, posts and files inside it are not deleted. You can undo the deletion from its receipt. ## Connect and review membership offers An Admin connects Stripe in the dedicated **Membership** form. Keep its secret key out of chat. Check **TEST MODE** or **LIVE MODE**, the connection result and the notification setup. Registration of payment notifications can need attention; it is not guaranteed merely by saving a key. **What members pay** holds the available recurring tiers and one time offers. Review the period, content or packages opened, and proposed price change in the screen. This guide does not state a commercial price or discount. ## Add or change a membership price Use an Editor or Admin account with permission to manage commerce. This task sets a recurring offer. Create any packages you want to include first. 1. Open **Commerce** > **Membership**. 2. For a new offer, go to **Add a price**. To change one, choose **Edit** on its row under **What members pay**. 3. Fill in **Name readers see**. 4. Enter your decimal price in **Amount (e.g. 5.00)**. 5. Set **Currency**. 6. Choose **Monthly** or **Yearly**. 7. Choose whether **Offer this to readers** is on. Leave it off to save without offering the price. 8. Under **What this tier opens**, choose **Everything on the site** or **Only the packages I name**. Everything includes packages created later. 9. If you chose named packages, use **Search packages to include** to select them. A tier with none opens nothing on its own. 10. If **Offer it alongside the other tiers** appears, choose whether to keep those offers. Leaving it off takes the other active tiers off offer when this one becomes active. 11. Choose **Add price** or **Save price**. The **Set what members pay?** card shows the proposed change. 12. Review the amount, period, access and other offers affected. 13. Choose **Set this price** only if they are right. The list refreshes and the receipt says what was saved. Existing subscribers keep the price they signed up at. Use **Undo** on the receipt to restore the previous price or remove a newly created one. Check other tiers separately if you took them off offer; this is not a payment refund. The copilot can prepare the [same membership price change](https://docs.amadalis.ai/reference/copilot/store-and-membership/#membership-connection), with approval. Saving a price does not complete payment setup: continue with [Check selling readiness](https://docs.amadalis.ai/commerce/packages-and-membership/#check-selling-readiness). ## Check selling readiness The readiness strip checks for a connected payment account, an offer with a price and a way for customers to sign in. It does not check payment notifications: on **Membership**, the notifications line must read **Registered automatically** or **Entered by hand**, because without them memberships never activate and Stripe refunds never reach your orders. Review [customer identity](https://docs.amadalis.ai/commerce/customer-identity/) for registration and email, and [page access](https://docs.amadalis.ai/composer/access-and-tracking/) for the free introduction and protected body. Preview the experience as a reader without access as well as an eligible buyer. Source: https://docs.amadalis.ai/commerce/payment-connection/ # Check and repair the payment connection Open **Commerce** > **Membership** in the site admin to check a connection or payment notification problem. An Editor or Admin can check the connection. Connecting Stripe or repairing its notification setup needs an Admin. Start with an already connected account; this guide does not take a test payment. Checked against the product’s code on 7 November 2026. ## Check the stored key 1. Open **Commerce** in the site admin. The commerce screens are available to your role. 2. Open **Membership**. The connection card names the connected Stripe account and its mode. 3. Choose **Check the connection**. The platform asks Stripe whether the stored key still works. 4. Read the result and its check time. An accepted key confirms that check, not a completed checkout or a delivered payment notification. [![Membership shows the stored Stripe key's connection check and its saved check time.](https://docs.amadalis.ai/images/steps/2026-11-05-coverage-and-stale/COV1-09-stripe-connection-check-1440.png)](https://docs.amadalis.ai/images/steps/2026-11-05-coverage-and-stale/COV1-09-stripe-connection-check-1440.png "Open full-size image") The connection check reports the stored key result and its check time. [![At phone width, Membership shows the connected test account and its saved check time.](https://docs.amadalis.ai/images/steps/2026-11-05-coverage-and-stale/COV1-09-stripe-connection-check-390.png)](https://docs.amadalis.ai/images/steps/2026-11-05-coverage-and-stale/COV1-09-stripe-connection-check-390.png "Open full-size image") The connection check reports the stored key result and its check time. The check changes nothing in Stripe and does not display the secret. A connection failure is a reason to investigate, not proof that a payment succeeded or failed. If the key must be replaced, use **Stripe secret key** in **Membership**, never a chat message. Review **Connect this Stripe account to the site?** and confirm **Connect Stripe** only for the intended account. Follow [Packages and membership](https://docs.amadalis.ai/commerce/packages-and-membership/) for the payment and access limits. ## Repair payment notifications Payment notifications let Stripe tell this site about payment changes. Read **Payment notifications** on the same connection card before choosing a repair. When **Register payment notifications again** is offered: 1. Choose **Register payment notifications again**. A confirmation asks **Register the payment notifications again?** 2. Review the connected account and consequence. **Leave them as they are** cancels the request. 3. Confirm **Register payment notifications again**. Read the returned registration state. When the card instead offers **Update the Stripe notifications**: 1. Choose **Update the Stripe notifications**. A confirmation asks **Update the Stripe notifications?** 2. Read which notification types are missing. **Leave them as they are** cancels the request. 3. Confirm **Update the Stripe notifications**. The existing registered endpoint receives the required notification list; no second endpoint is created. Review the notification repair before changing the connected Stripe account. If the platform cannot read the existing endpoint, the update is refused. Follow the displayed reason rather than assuming the repair finished. ## Ask the copilot Ask **Copilot** to “Check this site’s Stripe connection”, then choose **Send**. It uses the stored key and needs no approval for the check. For a repair, ask it to register payment notifications again or update the registered notifications, according to the connection card’s reason. Each repair pauses for approval and accepts no pasted secret. See [Payment connection](https://docs.amadalis.ai/reference/copilot/store-and-membership/#payment-connection) and [Membership connection](https://docs.amadalis.ai/reference/copilot/store-and-membership/#membership-connection). ## Undo and outside changes Checking a key has no outside change to undo. Registration and notification updates have no automatic Undo. Remove a registered endpoint through the Stripe dashboard if it should no longer send to this site. Review that decision carefully, because the site relies on those notifications for payment state. ## Your next step Return to **Commerce** > **Membership** and read the latest connection result and **Payment notifications**. Follow [Check selling readiness](https://docs.amadalis.ai/commerce/packages-and-membership/#check-selling-readiness) before offering paid access. Source: https://docs.amadalis.ai/commerce/storefront-and-shopper/ # Storefront and shopper accounts Checked against the product’s code on 7 November 2026. The public shop is separate from your site admin. Begin with [Commerce setup](https://docs.amadalis.ai/commerce/commerce/) to create the store’s draft pages and product catalog, then review what shoppers will see. ## Review a sale 1. Open the published shop. 2. Open the product page. 3. Check the picture, description, price and stock before trying **Add to cart**. The cart and checkout use their current store settings, including supported settings imported from WooCommerce. A shopper who is not signed in may be shown a [stored copy](https://docs.amadalis.ai/developers/public-site/#empty-sites-and-serving-delays) of a product page. In a browser that runs JavaScript, the page then loads the product’s stock and purchase controls again, as they are now. If that load fails, the shopper sees the stored ones. A quantity typed before they load can be lost. Card checkout opens Stripe’s hosted payment page using the store’s connected account. Inspect test or live mode before proceeding. Praxis marks a card order paid only after Stripe confirms the payment. If Stripe’s payment notifications are not set up for this site, that happens only when the [shopper](https://docs.amadalis.ai/reference/glossary/#shopper) returns to your site after paying or when you open the order, so check the notifications line on **Membership**. An imported product can be listed while remaining read only in the Products editor. Use **Commerce** > **Coupons**, **Shipping** or **Tax** to create supported native rules. Imported shipping zones and tax rates stay read only. An Admin can refund an eligible Stripe order from **Orders**. See [the store guide](https://docs.amadalis.ai/commerce/commerce/) for rule precedence and the refund boundary. This does not add an editor for imported variations. ## Inspect the shopper account The site’s **Account** page gives shoppers their supported sign in and recovery path, purchases, downloads, coupons and membership information. This is the site’s own account page, not account.amadalis.ai for staff. An unknown address and a wrong password receive the same refusal on the shopper’s password form. A public request for a sign-in link does not confirm whether the address has an account. If no sign-in link arrives, try again later. A restricted article can show a free introduction and offer sign in, registration or purchase for the rest. The server checks the reader’s right to access that content; privacy consent does not replace that paid access check. Restricting a file protects the links issued from then on. Treat a file that was ever public, and any copy already downloaded, as already shared. ## Review stock notices Built for stores moved from WooCommerce that had back-in-stock sign-ups on: the shopper’s request is kept, and the site tries to send an email when the product is back on sale. A switch for stores opened on Praxis is coming soon. Use [Orders](https://docs.amadalis.ai/commerce/orders/) for fulfillment, refunds and email results, and [Customer identity](https://docs.amadalis.ai/commerce/customer-identity/) for the shopper’s registration and email settings. Source: https://docs.amadalis.ai/composer/access-and-tracking/ # Page access and element tracking Checked against the product’s code on 7 November 2026. The Composer has separate controls to restrict who can read a page and to record events. Neither is a substitute for publishing and reviewing the page itself. ## Choose who can read the content Open the page you want to change in [the Composer](https://docs.amadalis.ai/composer/composer/). If its content type has no access field yet, an Admin must make the first access change. After that, your usual page-editing rights apply. 1. Choose **Access**, beside **Layout**, in the page toolbar. 2. Read **Who can read this**. 3. Choose **Public**, **Members only** or **In a package**. 4. If you chose **In a package**, pick the package in the chooser. The change is saved to the page draft: visitors keep the current access until you publish the page. Choosing a package also puts the page in that package; you can undo either change. After you publish, check the page as a member and as a signed out visitor. Without a **[Members-only boundary](https://docs.amadalis.ai/reference/glossary/#members-only-boundary)**, readers without access see none of the page; add one from **\+ Add section** to show a free part first. Embedded files have their own access in the media library. A file previously made public or a download already taken is not recalled by changing the article’s access. If the site’s access check cannot be read, affected lists can still show titles but leave out summaries, including summaries of public entries. Feeds leave out their text too. These incomplete replies are not kept as shared cached pages. ## Track an element 1. Select a section or element on the canvas. 2. Choose **Track** in its floating toolbar. 3. Choose the event you want recorded. 4. Review its target. For an action saved with this page: 1. Choose **Save to page draft**. 2. Publish the page when that action should be public. For a rule that finds elements by their CSS selectors, which identify matching page elements: 1. Review the action that triggers the rule. 2. Review the elements it matches. 3. Check whether it applies to this page, addresses beginning with the same path or all pages. 4. Apply it through its approval. A rule that records a click, submission, appearance on screen or hover needs a target element. **Hover** records a mouse or pen resting on the element for half a second, once per element in a page view. A touch tap does not count. Analytics [consent](https://docs.amadalis.ai/reference/glossary/#consent) still controls captured events. Defining an event does not make a site action send it automatically. Use [Scripts and events](https://docs.amadalis.ai/developers/page-scripts-and-events/) for authored JavaScript and the trigger reference. Use [the event catalog](https://docs.amadalis.ai/reference/event-catalog/) for the recorded event names. Source: https://docs.amadalis.ai/composer/collection-index/ # List a collection on a page Checked against the product’s code on 7 November 2026. Use **[Collection index](https://docs.amadalis.ai/reference/glossary/#collection-index)** to introduce an existing [collection](https://docs.amadalis.ai/reference/glossary/#collection) and list its entries. It starts a page with **Hero**, **[Live list](https://docs.amadalis.ai/reference/glossary/#live-list)**, **Rich text**, **FAQ** and **Call to action** sections. It creates a page draft, not a collection or its records. Anyone with permission to create content can start the draft. For collection setup and permissions, see EmDash’s [Content Types](https://docs.amadalis.ai/content/content-types/) screen. The collection must already exist before the list can read it. ## Choose a starting point There are three related choices: | Choice | Where | What it starts | | --- | --- | --- | | **Collection index** page type | **Composer** > **New page** > **Page type** | Five basic draft sections to finish. | | **Collection index** page template | **Add to the page** > **Page templates** | The five sections with their designed starting settings. | | **Collection index with paging** | The **Live list** section’s starting versions in **Add to the page** | One list section with the paged grid settings below. | The [page type](https://docs.amadalis.ai/reference/glossary/#page-type) and the designed [template](https://docs.amadalis.ai/reference/glossary/#page-template) are separate choices. **Create draft** does not automatically apply the named list preset. A page template adds sections to the current draft; review **Structure** for sections already there. [![The Collection index page template details list the five sections it would add to the current draft: Hero, Live list, Rich text, FAQ and Call to action.](https://docs.amadalis.ai/images/steps/S172-p5-page-template-details.png)](https://docs.amadalis.ai/images/steps/S172-p5-page-template-details.png "Open full-size image") A page template adds sections to the page you are editing. The [preset](https://docs.amadalis.ai/reference/glossary/#preset) has **Light** and **Dark** catalogue previews. Both show an empty example in Clean. They show the design, not the entries on your site, and do not activate a theme. [![Live list’s Collection index with paging starting version is selected with its catalogue preview.](https://docs.amadalis.ai/images/steps/2026-11-05-coverage-and-stale/S173-p5-list-starting-version.png)](https://docs.amadalis.ai/images/steps/2026-11-05-coverage-and-stale/S173-p5-list-starting-version.png "Open full-size image") This preview shows the designed starting example. [![Composer catalogue with Collection index with paging selected and its empty list preview open, labelled Rendered preview, Clean theme.](https://docs.amadalis.ai/images/steps/2026-11-05-coverage-and-stale/S179-p5-catalogue-thumbnail.png)](https://docs.amadalis.ai/images/steps/2026-11-05-coverage-and-stale/S179-p5-catalogue-thumbnail.png "Open full-size image") A catalogue example is separate from the entries on your site. ## Create the page draft 1. Open **Composer**. 2. Choose **New page**. 3. Enter a **Title**. 4. If needed, use **Filter page types (optional)** to find **Collection index**. 5. Select **Collection index**. [![New page dialog with a title entered, Collection index selected and Create draft available.](https://docs.amadalis.ai/images/steps/S170-p5-page-type.png)](https://docs.amadalis.ai/images/steps/S170-p5-page-type.png "Open full-size image") Choose the page type before creating the draft. 6. Choose **Create draft**. 7. Review the five sections. 8. Finish the words that need your facts. [![The new Collection index draft has Hero, Live list, Rich text, FAQ and Call to action in Structure.](https://docs.amadalis.ai/images/steps/S171-p5-basic-draft-structure.png)](https://docs.amadalis.ai/images/steps/S171-p5-basic-draft-structure.png "Open full-size image") The page type starts five basic sections for you to finish. 9. Select **Live list**. 10. Open **Settings**. Its source starts with posts. Keep one collection selected in **Show**. The list uses the first saved collection; clearing the field uses posts again. A custom collection needs public entry addresses and must not be hidden. The collection and term suggestions do not reliably offer the right choices yet. Ask the copilot to set the list to your existing collection or filter, then check the saved values. Typing a name and pressing Enter alone does not add it. 11. Set the existing collection you want under **Show**. 12. Check the settings below. 13. Choose **Apply changes**. 14. Open **Open preview**. ## Choose the entries In **Settings**, the **Words** group includes **Show**, **In these categories**, **With these tags**, **In these terms**, **By this author** and **Matching these words**. Leave a filter empty to keep that part unrestricted. Use the collection’s actual categories, tags and authors. [![Live list Words settings show posts as the saved source, as a chip in Show, with the category, tag and term filters empty.](https://docs.amadalis.ai/images/steps/S174-p5-saved-source-filters.png)](https://docs.amadalis.ai/images/steps/S174-p5-saved-source-filters.png "Open full-size image") Check the saved source before narrowing its entries. [![Composer Live list Words settings with By this author and Matching these words empty above How many per page.](https://docs.amadalis.ai/images/steps/S174-p5-saved-source-filters-2.png)](https://docs.amadalis.ai/images/steps/S174-p5-saved-source-filters-2.png "Open full-size image") The remaining filters narrow the same saved source. **In these terms** is for a collection’s other taxonomies, which group its entries. The saved value joins the taxonomy and term, such as `project_category:residential`. **By this author** uses the author’s address name. **Matching these words** narrows titles and readable body content. In **Layout**, **Order** chooses the date or title order. **By its date, soonest first** and **By its date, latest first** use **Its date field**, which takes a datetime field’s slug from the selected collection. **Only dates still to come** leaves out earlier dates. If that switch is on without a usable datetime field, the list shows no entries. **Skip the first** leaves entries out before the list starts. **Featured (sticky) posts** chooses whether featured posts lead, stay in date order, are left out or are the only entries shown. **Page like the site’s own post listing**, under **Words**, limits that featured lead to the first page when featured posts are set to lead. The public list uses published entries. Its cards read their titles, pictures, excerpts and other recorded details from those entries. Edit the source entry to change those words. If an entry’s access cannot be checked, its card leaves out the excerpt. Title matches can still appear in a search, but the entry’s body text is not searched while that check is unavailable. ## Use the paged grid The catalogue defines **Collection index with paging** with the settings below. Its preview shows that full example. When you insert it, the layout choices carry over, but its headline, empty sentence and numbers do not. Set the fields yourself: 1. Finish **Headline**. 2. Finish **When there is nothing to show**. 3. Set **How many per page**. 4. Set **Skip the first**. 5. Set **Columns (grid only)**. Use these values for the paged grid, or choose your own. You can set them on the basic list created by **New page** too: | Control | Group in Settings | Catalogue value in the named preset | | --- | --- | --- | | **Headline** | **Words** | Browse the collection | | **Show** | **Words** | Posts | | **How many per page** | **Words** | 12 | | **Skip the first** | **Layout** | 0 | | **Layout** | **Layout** | **Card grid** | | **Columns (grid only)** | **Layout** | 3; a phone uses one column | | **Paging** | **Words** | **Page numbers, with previous and next** | | **Pager address** | **Words** | `collection-index` | | **Say how many were found** | **Words** | **Both, the count first** | | **When there is nothing to show** | **Words** | No entries found. | [![Live list Words settings show Paging set to page numbers with previous and next, the pager address collection-index, both counts with the count first, and the explicit empty message No entries found.](https://docs.amadalis.ai/images/steps/2026-11-05-coverage-and-stale/S175-p5-list-words-finished.png)](https://docs.amadalis.ai/images/steps/2026-11-05-coverage-and-stale/S175-p5-list-words-finished.png "Open full-size image") Finish these saved choices before opening the preview. [![The same Words settings show the headline Browse the collection above the saved posts source.](https://docs.amadalis.ai/images/steps/2026-11-05-coverage-and-stale/S175-p5-list-words-finished-headline.png)](https://docs.amadalis.ai/images/steps/2026-11-05-coverage-and-stale/S175-p5-list-words-finished-headline.png "Open full-size image") The headline is one of the choices you set by hand. [![The same Words settings show How many per page set to 12.](https://docs.amadalis.ai/images/steps/2026-11-05-coverage-and-stale/S175-p5-list-words-finished-page-size.png)](https://docs.amadalis.ai/images/steps/2026-11-05-coverage-and-stale/S175-p5-list-words-finished-page-size.png "Open full-size image") Set the page size yourself. [![Live list Layout settings show Skip the first set to zero and Layout set to Card grid.](https://docs.amadalis.ai/images/steps/2026-11-05-coverage-and-stale/S175-p5-list-layout-finished.png)](https://docs.amadalis.ai/images/steps/2026-11-05-coverage-and-stale/S175-p5-list-layout-finished.png "Open full-size image") Review the list’s layout separately from its words. [![The same Layout settings show Card grid with Columns (grid only) set to 3.](https://docs.amadalis.ai/images/steps/2026-11-05-coverage-and-stale/S175-p5-list-layout-finished-columns.png)](https://docs.amadalis.ai/images/steps/2026-11-05-coverage-and-stale/S175-p5-list-layout-finished-columns.png "Open full-size image") Choose the number of grid columns. The captured editor labels the grid column field Columns. These settings were entered by hand, rather than kept from the catalogue example. **How many per page** sets the page size. **Say how many were found** can hide the figures, show the total, show the current range or show both. Page links appear when the list has more than one page. If you place another paged list on the page, give it a different **Pager address**. Under **Words**, choose **Show the featured image**, **Show the excerpt**, **Show the date**, **Show the author**, **Show the categories** and **Show a read-more link**. The named preset keeps pictures, excerpts and dates on; authors, categories and read-more links off. **Excerpt length (words)** controls the summary length. **Show the price** can display a recorded product price; this preset leaves it unset. The list skips details an entry does not have. It does not invent a picture, date or summary. Use [the Collection index reference](https://docs.amadalis.ai/reference/page-types/collection-index/) to compare every query and display control with the basic Live list starter. ## Check the empty state Set **When there is nothing to show** to **No entries found.** On a page using a library theme or on a site that was not migrated, an empty result shows that sentence without **0 results found** or **Displaying 0 of 0**, even when both counts are selected. It shows no cards or page links. Custom and imported themes on migrated sites keep their earlier empty-count behaviour. Change **When there is nothing to show** to use your own sentence. [![The draft Live list shows “Browse the collection” and “No entries found.” without zero counts, cards or page links on a library theme.](https://docs.amadalis.ai/images/steps/2026-11-05-coverage-and-stale/S178-p5-explicit-empty-result.png)](https://docs.amadalis.ai/images/steps/2026-11-05-coverage-and-stale/S178-p5-explicit-empty-result.png "Open full-size image") An explicit empty message explains this empty list. [![The same draft Live list shows its empty message without zero counts, cards or page links at phone width.](https://docs.amadalis.ai/images/steps/2026-11-05-coverage-and-stale/S178-p5-explicit-empty-result-phone.png)](https://docs.amadalis.ai/images/steps/2026-11-05-coverage-and-stale/S178-p5-explicit-empty-result-phone.png "Open full-size image") Check the empty result on a phone too. The same empty message can appear when the source or list cannot be read. Check the selected collection, filters and published entries before treating it as an empty collection. A list that has not loaded at all does not invent public rows; the Composer can still keep its section selectable. ## How this differs from Live list **Collection index** is a page recipe. **Live list** is the section that reads and draws the entries. You can place a Live list on another kind of page without using this recipe. The list can update as matching entries are published; it does not require you to rewrite each card on the index page. Review the introduction, supporting copy, questions and next action as well as the list. Use the normal [preview and publishing steps](https://docs.amadalis.ai/composer/composer/#review-and-publish) when the page is ready. Source: https://docs.amadalis.ai/composer/composer/ # The Composer: make page drafts, edit headlines and sections Checked against the product’s code on 7 November 2026. Learn how to make a page for a sale or edit an existing page in **[Composer](https://docs.amadalis.ai/reference/glossary/#composer)** in the site admin. Create a [draft](https://docs.amadalis.ai/reference/glossary/#draft), change its headline, remove sections you do not want or put words and a picture into two columns. Preview it before publishing. The sale page steps below use ordinary page creation with your own facts. Before you start, open your site’s admin as described in [Getting started](https://docs.amadalis.ai/get-started/getting-started/#open-your-site). Your role must allow publishing to complete the final step; see [team roles](https://docs.amadalis.ai/account/your-team/). The Composer lets you edit a preview of the page rendered by your site. Select a [section](https://docs.amadalis.ai/reference/glossary/#section) on the canvas, change it, then review the result. Applied page edits save to a draft. ![The Composer showing a selected Rich text section on a real page.](https://docs.amadalis.ai/images/owners/composer-selection.png) The selected Rich text section has a purple outline. Check the section name before changing its fields. ## Find or create a page 1. Open **Composer**. The chooser says **Choose a page to compose**. 2. Open an existing page to edit it. To create a page instead, follow [Make a page for a sale](https://docs.amadalis.ai/composer/composer/#make-a-page-for-a-sale) below. The same steps work for another purpose. **Create draft** starts the page with the chosen type’s starter sections; replace their words with your own facts. Choose [Collection index](https://docs.amadalis.ai/composer/collection-index/) to start a page that lists an existing collection. Its [page type](https://docs.amadalis.ai/reference/glossary/#page-type) starts five basic sections; the designed page template and paged list preset are separate choices. [![Composer's Choose a page to compose list filtered to Docs Walk, showing Docs Walk First Page as Published, with New page and Describe it to the Copilot.](https://docs.amadalis.ai/images/steps/S007-composer-page-chooser.png)](https://docs.amadalis.ai/images/steps/S007-composer-page-chooser.png "Open full-size image") Every page opens from this chooser. Search, filter by status, or start a new page. [![New page dialog with the title Docs Walk First Page typed, the page types filtered to How it works and that type selected, Create draft enabled.](https://docs.amadalis.ai/images/steps/S007-composer-new-page-dialog.png)](https://docs.amadalis.ai/images/steps/S007-composer-new-page-dialog.png "Open full-size image") New page asks for a title and a page type. ### Who can see the draft The status tells you who can see the page and whether its latest changes are public. A draft is not public; visitors keep seeing an existing published version while you work on later changes: | Status | Meaning | | --- | --- | | **Draft** | Nothing of this page is on the public web. A page you took offline is a draft again. | | **Published** | The published version is live, with no unpublished edits. | | **Published · changes pending** | The published version stays live while your newer edits wait. | A valid draft-preview link can show unpublished content. Keep preview links private. Use **All pages** to return to the chooser. The page switcher lets you open another page. ### Make a page for a sale 1. Open **Composer**. 2. Choose **New page**. 3. Enter the page’s **Title**. 4. Choose a **Page type** with the sections you need. 5. Choose **Create draft**. 6. Edit the headline with the sale’s real facts. 7. Edit the introduction. 8. Give each button its intended destination. 9. Repeat the text edit for each remaining section so it uses the sale’s real facts. 10. Check the draft preview at desktop width. 11. Check it at phone width. 12. Choose **Publish**. 13. Read the approval card. 14. Confirm only when the page is ready. If publication is refused, correct the named problem first. The draft and the published page are separate. Creating the sale page does not publish it. If you need a product or checkout, follow [the store guide](https://docs.amadalis.ai/commerce/commerce/) for that separate setup. If you saved a change and a colleague still sees yesterday’s words, check the page’s status. **Published · changes pending** means your saved edits are still in the draft. [Review and publish](https://docs.amadalis.ai/composer/composer/#review-and-publish) when they are ready. Publishing changes to a live page saves them now. Visitors see this within the hour, usually much sooner. While the site’s server is down, visitors may see the previous version of a page for up to a day. ## Select and edit a section To change a headline: 1. Click the section that contains it on the canvas. Its outline and toolbar show what you selected. 2. Choose **Edit text** when it is offered, or double click editable text. 3. Change the headline. [![Composer with the Hero headline being edited in place and Done and Revert beside the formatting controls.](https://docs.amadalis.ai/images/steps/S008-composer-text-editor-open.png)](https://docs.amadalis.ai/images/steps/S008-composer-text-editor-open.png "Open full-size image") Edit text in place. Press Escape to finish and apply an in place text edit to the draft. Use the formatting controls offered for that field. The [receipt](https://docs.amadalis.ai/reference/glossary/#receipt) provides **Undo** after the edit is applied. In a narrow preview, the section bar shortens or hides extra labels before its controls wrap. The text editing bar can wrap too. [![Hero section selected after the edit, showing its toolbar with Edit, Edit appearance and Undo.](https://docs.amadalis.ai/images/steps/S008-composer-text-saved-section-selected.png)](https://docs.amadalis.ai/images/steps/S008-composer-text-saved-section-selected.png "Open full-size image") The edited section stays selected, with Undo available. For the selected section’s other fields: 1. Open **Settings**. 2. Change the words, entries or layout you need. 3. Choose **Apply changes** before leaving that selection. A value you have only typed into the panel is not the same as an applied change. [![Composer Hero settings with a subheadline, Primary CTA label Read the care guide, Primary CTA URL /care-guide and Apply changes.](https://docs.amadalis.ai/images/steps/S008-composer-settings-apply-changes.png)](https://docs.amadalis.ai/images/steps/S008-composer-settings-apply-changes.png "Open full-size image") Review the button label and address before Apply changes. The selected Hero’s editable fields are on the right, with Apply changes at the bottom of Settings. [![Composer with a Button selected inside Layout, its /shipping-and-returns link in Settings and the text appearance panel open.](https://docs.amadalis.ai/images/steps/S008-composer-nested-element-selected.png)](https://docs.amadalis.ai/images/steps/S008-composer-nested-element-selected.png "Open full-size image") Clicking an element inside a section moves the selection to that element. ## Add and arrange content 1. Use the add control near the selected section to open **Add to the page**. 2. Search with **Find anything to add**, or browse a kind your catalog offers, such as **Sections**, **Elements**, **[Patterns](https://docs.amadalis.ai/reference/glossary/#pattern)** or **Page templates**. **If your catalog offers sections only:** its controls read **Add a section** and **Find a section** instead. A section is a larger part of the page, such as a hero or a form. An element is a smaller item inside a layout, such as a heading, image or button. The picker lists the whole catalog and can mark items **Recommended for this page**. Elements go inside a column of a layout. Use **Move up**, **Move down** or the drag handle to change a section’s order. **Move up** places the selected section higher on the page. An element inside a column has **Move up** and **Move down** but no drag handle. The toolbar offers duplication for a section and deletion for both. Read the confirmation before deleting an item. [![The Rich text toolbar asking Remove? with confirm and cancel.](https://docs.amadalis.ai/images/steps/S011-composer-remove-confirm.png)](https://docs.amadalis.ai/images/steps/S011-composer-remove-confirm.png "Open full-size image") Removing asks once more before it happens. [![Composer insert menu open with Sections selected and Hero, Features and FAQ choices.](https://docs.amadalis.ai/images/owners/platform-composer-add-anything-insert-menu.png)](https://docs.amadalis.ai/images/owners/platform-composer-add-anything-insert-menu.png) The insert menu on a company page. Choose a section before editing its content. [Open full size](https://docs.amadalis.ai/images/owners/platform-composer-add-anything-insert-menu.png). [![Structure panel listing two Hero sections named Docs Walk: a first page, the second selected, then the Layout, Recommendations and Form.](https://docs.amadalis.ai/images/steps/S011-composer-duplicated-section-in-tree.png)](https://docs.amadalis.ai/images/steps/S011-composer-duplicated-section-in-tree.png "Open full-size image") Duplicate puts a copy of the section right below it. [![The copied Hero now listed after the Layout in the Structure panel, and the receipt Moved Hero down with Undo.](https://docs.amadalis.ai/images/steps/S011-composer-moved-section-receipt-with-undo.png)](https://docs.amadalis.ai/images/steps/S011-composer-moved-section-receipt-with-undo.png "Open full-size image") Move up and Move down change a section's place, with Undo. ## Work with columns 1. Select a layout that contains columns. 2. Open **Columns** in its settings. The row diagram shows the columns and any unused space. 3. Select a column in that diagram to edit it. [![A draft Layout section with two columns and the Elements insert menu open in the first column.](https://docs.amadalis.ai/images/owners/platform-composer-sections-and-elements-layout-columns-insert.png)](https://docs.amadalis.ai/images/owners/platform-composer-sections-and-elements-layout-columns-insert.png) Adding an element inside a Layout column on a draft page. [Open full size](https://docs.amadalis.ai/images/owners/platform-composer-sections-and-elements-layout-columns-insert.png). Widths can differ for desktop, tablet and phone screens. A column’s width is its share of the row. Giving one column half the width does not add a second column. Add that column separately, then place content inside it. [![Layout section settings: two columns, Column 1 set to Half on Desktop, with a note that a twelfth of the row is empty.](https://docs.amadalis.ai/images/steps/S009-composer-column-width-desktop.png)](https://docs.amadalis.ai/images/steps/S009-composer-column-width-desktop.png "Open full-size image") Each column's width is set per device. Here Column 1 takes half the row on desktop. [![Layout settings with Column 1 set to Full width on the Tablet tab.](https://docs.amadalis.ai/images/steps/S009-composer-column-width-tablet.png)](https://docs.amadalis.ai/images/steps/S009-composer-column-width-tablet.png "Open full-size image") The tablet width, set separately. [![Layout section settings with the Phone tab selected and Column 1 set to Full width.](https://docs.amadalis.ai/images/steps/S009-composer-column-width-phone.png)](https://docs.amadalis.ai/images/steps/S009-composer-column-width-phone.png "Open full-size image") The Phone tab controls the column’s width on a phone. [![The Button moved into column 2; the inspector lists column 2 with Image and Button.](https://docs.amadalis.ai/images/steps/S009-composer-moved-child-to-column-2.png)](https://docs.amadalis.ai/images/steps/S009-composer-moved-child-to-column-2.png "Open full-size image") An element can move to another column. Check the canvas at desktop, tablet and phone widths. The canvas and column controls use different names for the smallest width. At narrow window widths, the page toolbar wraps its control groups onto extra rows. [![Published page at desktop width: the two-column Layout with text on the left and a button on the right, and a row of three page cards below.](https://docs.amadalis.ai/images/steps/S009-composer-public-two-columns-1440.png)](https://docs.amadalis.ai/images/steps/S009-composer-public-two-columns-1440.png "Open full-size image") The Layout on the live page at desktop width. [![Phone view with the shipping button below the Layout text and three page cards stacked underneath.](https://docs.amadalis.ai/images/steps/S009-composer-public-columns-stacked-390.png)](https://docs.amadalis.ai/images/steps/S009-composer-public-columns-stacked-390.png "Open full-size image") On a phone the columns stack. ## Change appearance Open **Appearance** for the selected item. It groups its controls under **Surface**, **Type** and **Space**. Surface holds background and text colour. Type holds text scale, font weight, line height, letter spacing and alignment. Space holds padding. [![Background picker for the Layout section with theme roles, surface chosen, and a note that the text colour will follow to stay readable.](https://docs.amadalis.ai/images/steps/S010-composer-appearance-background-choice.png)](https://docs.amadalis.ai/images/steps/S010-composer-appearance-background-choice.png "Open full-size image") Appearance offers your theme's colour roles. [![Inspector Appearance tab: Surface with Background set to surface and Text colour suggested; a receipt reads Background and its paired text colour for Layout, with Undo.](https://docs.amadalis.ai/images/steps/S010-composer-appearance-applied.png)](https://docs.amadalis.ai/images/steps/S010-composer-appearance-applied.png "Open full-size image") The change is saved to the draft with its own Undo. [![Hero selected with the inspector's Appearance tab filtered to Type: Text scale reads lg, the other type settings read Theme default; the page shows Published, changes pending.](https://docs.amadalis.ai/images/steps/S010-composer-type-text-scale-changed.png)](https://docs.amadalis.ai/images/steps/S010-composer-type-text-scale-changed.png "Open full-size image") Type settings for the selected section. Here the text scale is set to lg. Here lg means the large text size for the selected section. [![Section padding chooser open over the Hero, with theme steps 1 to 8 and section y, step 8 (4rem) selected, and Cancel and Apply.](https://docs.amadalis.ai/images/steps/S010-composer-space-padding-choice.png)](https://docs.amadalis.ai/images/steps/S010-composer-space-padding-choice.png "Open full-size image") Space offers your theme's spacing steps, or your own value. [![Composer Hero selected with Appearance, Space showing Padding 8, Published, changes pending and 2 changes this session.](https://docs.amadalis.ai/images/steps/S010-composer-space-and-type-applied.png)](https://docs.amadalis.ai/images/steps/S010-composer-space-and-type-applied.png "Open full-size image") Padding 8 is applied; the page still has unpublished changes. Prefer the theme’s named roles when they fit. That lets the site use a consistent set of colours and type choices. See [Themes and tokens](https://docs.amadalis.ai/composer/themes-and-tokens/) for changes to the whole site’s design. ## Use the page structure 1. Open **Structure** to see the page as a tree. 2. Select a section or an item inside it in the tree. It is selected on the canvas and scrolls into view. Use this for items inside a layout or sections outside the visible preview. [![Structure panel listing Hero and the Layout with Column 1 (Heading, Rich text) and Column 2 (Image, Button).](https://docs.amadalis.ai/images/steps/S011-composer-structure-tree.png)](https://docs.amadalis.ai/images/steps/S011-composer-structure-tree.png "Open full-size image") Structure shows every section and element as a tree. [![Rich text selected in the tree, and the same paragraph outlined on the page with its toolbar.](https://docs.amadalis.ai/images/steps/S011-composer-tree-selects-canvas-element.png)](https://docs.amadalis.ai/images/steps/S011-composer-tree-selects-canvas-element.png "Open full-size image") Picking an item in the tree selects it on the page. ## Review and publish Use **Open preview** for an unpublished page. When a page is already published, **View page** opens the published page and **Preview draft** opens your unpublished changes. 1. Choose **Publish**, or **Publish changes** in the bar above a published page with pending edits. 2. Read the approval card. It can name new or changed scripts, tracking and form recipients, along with sample copy and links to unpublished pages or missing places on this page. Review those notes before deciding. 3. Choose the approval or decline action for your case in the table below. The card can say that a form’s recipients, the live version or some links could not be read. Link warnings do not block publication and do not check outside sites or the shared menus and footer. Review the page yourself. **If there is nothing new to publish:** **Publish** is unavailable when everything on the page is already live. | What you are publishing | Approve | Decline | | --- | --- | --- | | A first publication | **Publish this page** | **Keep as draft** | | Changes to a live page | **Publish the changes** | **Keep them unpublished** | [![Publish this page? card naming Docs Walk First Page and its public address, with Publish this page and Keep as draft.](https://docs.amadalis.ai/images/steps/S012-composer-publish-card.png)](https://docs.amadalis.ai/images/steps/S012-composer-publish-card.png "Open full-size image") The publish card. The card names the page and its public address before you choose Publish this page or Keep as draft. [![Composer with the receipt Kept as a draft. Nothing went live.](https://docs.amadalis.ai/images/steps/S012-composer-publish-declined.png)](https://docs.amadalis.ai/images/steps/S012-composer-publish-declined.png "Open full-size image") Declining keeps the page a draft. [![Published Docs Walk First Page receipt, with View page and Take it offline.](https://docs.amadalis.ai/images/steps/S012-composer-published-receipt.png)](https://docs.amadalis.ai/images/steps/S012-composer-published-receipt.png "Open full-size image") After approval. The page now has Published status, and the bottom receipt offers View page and Take it offline. [![Public desktop page with Docs Walk: a first page, a Read the care guide button and the footer below.](https://docs.amadalis.ai/images/steps/S012-composer-served-page-1440.png)](https://docs.amadalis.ai/images/steps/S012-composer-served-page-1440.png "Open full-size image") The served page. The public page shows the approved heading and care guide button beneath the site header. [![Public phone view with a menu button, Docs Walk: a first page, Read the care guide and the footer stacked vertically.](https://docs.amadalis.ai/images/steps/S012-composer-served-page-390.png)](https://docs.amadalis.ai/images/steps/S012-composer-served-page-390.png "Open full-size image") The served page on a phone. On the phone, the public header uses a menu button and the page’s heading and introduction wrap to fit the narrower screen. ### Why a page did not publish Some problems stop publication before a card opens. Read the refusal, fix the named field or section, and try again. The Composer names sections that still need your facts. Choose a name, fill its note or remove the section, then try again. Other sample words are named separately; their advisory note does not let a page with a facts note publish. For saved versions from earlier sessions, use **History** beside **Layout**. It is separate from the session receipts below. See [Restore an earlier revision](https://docs.amadalis.ai/content/revisions/#choose-a-saved-version) for restoring a saved draft and its schedule limits. Draft preview links belong to their own site. If the site’s preview signing key cannot be read, the Composer reports that the preview cannot be shown instead of opening an unsigned draft address. Keep preview links private. ## Undo or discard a change 1. In the footer, open the change count, such as **3 changes this session**, to see this session’s history. 2. Choose **Undo** on a recorded change to take that applied edit back. Each recorded change has its available action. An undone edit can offer **Redo**. Script changes also enter this history and offer receipt **Undo** when available. If the canvas or Settings still show an undone value, reload and check the saved draft before editing again. [![Receipt Undone: the headline of Hero is back to what it was, with Redo; the page reads Published again.](https://docs.amadalis.ai/images/steps/S013-composer-redo-after-one-undo.png)](https://docs.amadalis.ai/images/steps/S013-composer-redo-after-one-undo.png "Open full-size image") After an Undo, Redo is offered. [![Changes this session lists two text edits and one move, each with an Undo button.](https://docs.amadalis.ai/images/owners/platform-composer-how-it-works-show-changes-this-session.png)](https://docs.amadalis.ai/images/owners/platform-composer-how-it-works-show-changes-this-session.png) The session history for a draft. Each listed change has its own Undo. [Open full size](https://docs.amadalis.ai/images/owners/platform-composer-how-it-works-show-changes-this-session.png). A publish has a more specific way back. **Take it offline** reverses a first publication, returning the page to draft. Elsewhere, **Unpublish** does the same. The restore action reverses a later publish and leaves the newer edits unpublished. If the earlier version is no longer kept, it takes the page offline instead. This control acts at once, so read the receipt afterwards. [![Composer Publish these changes? card with Publish the changes and Keep them unpublished, explaining Put the earlier version back.](https://docs.amadalis.ai/images/steps/S013-composer-publish-changes-card.png)](https://docs.amadalis.ai/images/steps/S013-composer-publish-changes-card.png "Open full-size image") Publishing changes to a live page. The approval replaces the version visitors see and names Put the earlier version back as the available reversal. [![Receipt Published the changes, with View page and Put the earlier version back.](https://docs.amadalis.ai/images/steps/S013-composer-receipt-put-earlier-version-back.png)](https://docs.amadalis.ai/images/steps/S013-composer-receipt-put-earlier-version-back.png "Open full-size image") The receipt of a later publish offers to restore the earlier version. [![Receipt Put the earlier version back on the public web and kept your changes as unpublished changes; status Published · changes pending.](https://docs.amadalis.ai/images/steps/S013-composer-earlier-version-restored.png)](https://docs.amadalis.ai/images/steps/S013-composer-earlier-version-restored.png "Open full-size image") The earlier version is live again and the newer words wait as a draft. For a published page with unpublished work, **Discard changes** asks before removing that work. It leaves the live page in place. Read that confirmation before accepting it. [![Discard these changes? The draft goes back to exactly what's live. With Discard changes and Keep editing.](https://docs.amadalis.ai/images/steps/S013-composer-discard-changes-confirm.png)](https://docs.amadalis.ai/images/steps/S013-composer-discard-changes-confirm.png "Open full-size image") Discard asks before it throws away unpublished changes. Page editing and copilot editing use the same recorded change path. If another change has made an action unsafe to repeat or undo, the platform can refuse it and explain why. Read the receipt before continuing. ## Your next step Review the draft’s [search settings](https://docs.amadalis.ai/site/seo/), then check the published page at desktop and phone widths after you approve publication. Source: https://docs.amadalis.ai/composer/formatting-and-shared-content/ # Format text, links and shared content Checked against the product’s code on 7 November 2026. Open the page in [the Composer](https://docs.amadalis.ai/composer/composer/). 1. Select editable text. 2. Choose **Edit text**. You can also double click the text when that field supports it. The format bar follows the kind of text being edited. ## Format the selected words 1. Select the words you want to format. 2. Choose **Bold**, **Italic** or **Link**. The text style menu offers paragraph and heading styles, lists or a quote where the field supports them. More text controls include underline, strikethrough, code, text colour and highlight. A full [rich text](https://docs.amadalis.ai/reference/glossary/#rich-text) field, which holds formatted content, can also offer images, tables or blocks of code. A shorter text field may refuse those structures. Read a refusal rather than expecting every field to behave like a document editor. When editing a table, the bar changes to its table controls. Review the selected row, column or cell before changing it. Finish the text edit and inspect the resulting draft before publishing. ## Choose media and links 1. Select the section or element. 2. Open **Settings**. 3. Beside a media field, choose **Choose from library**. Beside a link destination field, choose **Choose a page or file**. A filled field can offer **Change** instead. 4. Select a stored file, upload a supported file or choose the destination the field accepts. To link selected words instead, use **Link** in the text format bar. The destination is separate from the visible link wording. ## Set an anchor or CSS classes Editors and Admins can set these. The change needs the right to publish, even on a draft. Use this when a link, stylesheet or outside integration needs to identify part of a page. A section can have an HTML anchor and extra CSS classes. A nested element can have extra CSS classes only. These markup names do not add JavaScript. ### Use Composer Finish other pending edits in the inspector before changing these names. For a section: 1. Select the section itself in Composer. 2. Open **Settings**. 3. Expand **Advanced**. 4. Change **HTML anchor** or **Additional CSS classes**. 5. Choose **Review targeting changes** in the inspector’s footer. For a nested element: 1. Select the element in Composer. 2. Open its **Settings**. 3. Expand **Element targeting**. 4. Change **Additional CSS classes**. 5. Choose **Review targeting changes** in that element’s settings. Then read **Change these targeting hooks?** and choose **Apply targeting hooks** only if the target and names are right. Check the draft preview and publish separately when ready. ### Ask the copilot 1. Open the page in Composer and identify the section or element. 2. Ask the copilot to give that section a named HTML anchor, or to set extra CSS classes on the named section or element. 3. Read **Change these targeting hooks?**, checking the page and target. 4. Choose **Apply targeting hooks** only when the target and names are right. 5. Check the draft preview and, for an anchor, the link to that place. 6. [Review and publish](https://docs.amadalis.ai/composer/composer/#review-and-publish) the draft separately when ready. The card is required even on a draft. Anchors must be unique on the page; reserved platform names are refused. Outside CSS, analytics or experiment selectors may match differently after publication. Use the receipt’s **Undo** while it can still restore that revision; a newer draft is not overwritten. See [Targeting hooks](https://docs.amadalis.ai/reference/copilot/pages-and-sections/#pages). ## Recognize shared words A header link either belongs to a [menu](https://docs.amadalis.ai/reference/glossary/#menu) or is another page’s own title. Renaming a menu link changes it on every page that shows the menu. Renaming a page title link renames that page and its heading as well as the navigation on every page. Read **Rename this menu link?** or **Rename this page?** and its timing explanation before confirming. A menu link rename goes live when you publish that menu. A page title rename goes live when you publish that page. Until then visitors see the old words, and you can undo the change. For site wide styling, use [Themes and tokens](https://docs.amadalis.ai/composer/themes-and-tokens/). For menu publication, use [Menus](https://docs.amadalis.ai/site/menus/). ### Change the shared site name, tagline or footer line An Admin can change the site’s name or tagline. Editors and Admins can change its footer line. Check the effect beyond the page you are editing. 1. Ask the copilot to change the site’s name, tagline or footer line to your exact new words. You can request the name and tagline together. 2. Read **Update the site’s identity?** and the current and proposed words. 3. Check the site wide effect before deciding. 4. Choose **Publish this change** if it is right. 5. Read the receipt, then check the site’s own address as the updated page reaches visitors. Use the receipt’s **Undo** while no newer edit has replaced those words. An empty footer line clears that saved line. It is separate from the generated year and site name in the credit. An imported page can use a separate footer, so this change need not replace its imported copyright words. See [Shared site details requests](https://docs.amadalis.ai/reference/copilot/site-and-settings/#site-identity-and-setup). Source: https://docs.amadalis.ai/composer/ # What you can do in the Composer Checked against the product’s code on 7 November 2026. Build and edit pages, [sections](https://docs.amadalis.ai/reference/glossary/#section) and layouts, then publish the version you have reviewed. In the site admin, open **Composer** and choose a page. Keep the page preview beside the controls while you edit. Use the guide for the required role, setup and current limits. ## Start with a task Choose the result you want. Each guide explains where to begin, what to review and how to check the result. - [Edit a headline or add a section](https://docs.amadalis.ai/composer/composer/) - [Change colours and fonts](https://docs.amadalis.ai/composer/themes-and-tokens/) - [Find a section field](https://docs.amadalis.ai/reference/sections/) ## Capabilities and screens | Capability | What you can do | Read next | | --- | --- | --- | | Page chooser | Find draft and published pages to edit. | [The Composer: make page drafts, edit headlines and sections: Find or create a page](https://docs.amadalis.ai/composer/composer/#find-or-create-a-page) | | New pages and posts | Start a draft from a page type or a copilot request. | [The Composer: make page drafts, edit headlines and sections](https://docs.amadalis.ai/composer/composer/) | | Page state, previews and widths | Compare the draft and public page at desktop, tablet and phone widths. | [The Composer: make page drafts, edit headlines and sections: Review and publish](https://docs.amadalis.ai/composer/composer/#review-and-publish) | | Select and edit words | Select a section or child and edit its text in place. | [The Composer: make page drafts, edit headlines and sections: Select and edit a section](https://docs.amadalis.ai/composer/composer/#select-and-edit-a-section) | | Move, duplicate and delete | Arrange sections and inspect the deletion confirmation. | [The Composer: make page drafts, edit headlines and sections: Add and arrange content](https://docs.amadalis.ai/composer/composer/#add-and-arrange-content) | | Sections, elements, patterns and templates | Choose from the insert browser and read the section fields. | [Section types](https://docs.amadalis.ai/reference/sections/) | | Rich text and tables | Format text, lists, links, tables and inline pictures. | [Format text, links and shared content](https://docs.amadalis.ai/composer/formatting-and-shared-content/) | | Shared header and menu words | Review edits that affect shared site identity or navigation. | [Format text, links and shared content](https://docs.amadalis.ai/composer/formatting-and-shared-content/) | | Settings and Advanced | Edit the selected item’s fields, link destinations within a page and visual styling. | [The Composer: make page drafts, edit headlines and sections](https://docs.amadalis.ai/composer/composer/) | | Columns and responsive layouts | Set column widths and place elements inside a layout. | [The Composer: make page drafts, edit headlines and sections: Work with columns](https://docs.amadalis.ai/composer/composer/#work-with-columns) | | Layout styles | add label columns, Stage bands, framed pictures, ruled lists and an article rail. | [Layout styles](https://docs.amadalis.ai/composer/layout-styles/) | | Heading wrap | Choose Automatic, Balanced or Pretty for a heading, then review its line breaks. | [Layout styles: Choose how a heading wraps](https://docs.amadalis.ai/composer/layout-styles/#choose-how-a-heading-wraps) | | Appearance | Use theme roles for text, surface and spacing choices. | [The Composer: make page drafts, edit headlines and sections: Change appearance](https://docs.amadalis.ai/composer/composer/#change-appearance) | | Structure | Find and select nested content through the page tree. | [The Composer: make page drafts, edit headlines and sections: Use the page structure](https://docs.amadalis.ai/composer/composer/#use-the-page-structure) | | Media and link pickers | Choose a real file or destination for a section field. | [Format text, links and shared content](https://docs.amadalis.ai/composer/formatting-and-shared-content/) | | Scripts and event triggers | Attach your page code to a supported trigger. | [Add page JavaScript and handle cookie consent](https://docs.amadalis.ai/developers/page-scripts-and-events/) | | Access and public teasers | Choose who can read a page and where its free preview ends. | [Page access and element tracking](https://docs.amadalis.ai/composer/access-and-tracking/) | | Track an element | Choose a control and capture event to record its action. | [Page access and element tracking](https://docs.amadalis.ai/composer/access-and-tracking/) | | Experiment variations | Edit a version of a page for an experiment and check its preview. | [Experiments: test and compare page versions: Put content in each variation](https://docs.amadalis.ai/optimization/experiments/#put-content-in-each-variation) | | Audience editing | Review the audience-editing route and its current limitations. | [Audiences and targeted content](https://docs.amadalis.ai/optimization/audiences-and-targeted-content/) | | Publish | Approve the first publication or a replacement of the public version. | [The Composer: make page drafts, edit headlines and sections: Review and publish](https://docs.amadalis.ai/composer/composer/#review-and-publish) | | Discard and session history | Review Undo, Redo and the confirmation for discarding unpublished work. | [The Composer: make page drafts, edit headlines and sections: Undo or discard a change](https://docs.amadalis.ai/composer/composer/#undo-or-discard-a-change) | | History | Review saved page versions and restore one as the draft. | [Restore an earlier revision: Choose a saved version](https://docs.amadalis.ai/content/revisions/#choose-a-saved-version) | | Imported layout controls | Inspect the controls available on an imported layout. | [Advanced layout controls on imported pages](https://docs.amadalis.ai/composer/native-layout-controls/) | | Themes and tokens | Save a draft theme and review a live activation or save. | [Change site colours, fonts and themes](https://docs.amadalis.ai/composer/themes-and-tokens/) | | List a collection on a page | Start a Collection index draft, choose an existing collection, and review the list and empty state. | [List a collection on a page](https://docs.amadalis.ai/composer/collection-index/) | ## More in this area These guides cover the other tasks and settings in this area. - [Page access and element tracking](https://docs.amadalis.ai/composer/access-and-tracking/): Review who can read a page and choose what an element should record. - [Format text, links and shared content](https://docs.amadalis.ai/composer/formatting-and-shared-content/): Edit page text and recognize changes that affect the site’s shared navigation. - [Layout styles](https://docs.amadalis.ai/composer/layout-styles/): Choose label columns, Stage bands, picture frames, link lists and an article rail, with their defaults. - [Advanced layout controls on imported pages](https://docs.amadalis.ai/composer/native-layout-controls/): Work with the supported native layout structure of an imported page. ## Your next step For a first page edit, begin with [edit a headline or add a section](https://docs.amadalis.ai/composer/composer/). If you are changing an existing design, choose its guide above and check that task’s result before publishing. Source: https://docs.amadalis.ai/composer/layout-styles/ # Layout styles Open a page in **Composer** in the site admin to change its layout and section presentation. This guide also points to the separate theme, site and menu controls for shared design changes. Checked against the product’s code on 7 November 2026. Use [layout styles](https://docs.amadalis.ai/reference/glossary/#layout-style) to give a page a clear reading order. Add a label beside a section, put a picture beside its words, draw an index of links or give a long page an **On this page** rail. ## Find the right controls 1. Open your page in [the Composer](https://docs.amadalis.ai/composer/composer/). 2. Select the section you want to change. 3. Open **Settings**. 4. Search its fields if you need to find a control. Words, entries and layout choices appear in their own groups. For section fields, choose **Apply changes** and read the draft result and its **Undo**. The page’s **Layout** button works separately: choosing a layout saves it to the draft straight away. A starter or an existing page may already have choices saved. The defaults below describe an unset choice. The [layout styles reference table](https://docs.amadalis.ai/reference/layout-styles/) gives the complete values and section lists. On a library theme or a site that was not migrated, long section headings and button labels can wrap within narrow columns. A wide rich text table can scroll inside its own box. Check **Open preview**, or **Preview draft** on a published page, with your own words at phone width. ## Choose how a heading wraps Select a section heading, card title or group title, then open **Heading wrap** in its styling controls. **Automatic** leaves line breaks to the browser. **Balanced** asks for even lines; **Pretty** asks the browser to avoid a lone word on the last line. Apply the choice to that heading and check the preview. This is your choice for that heading, rather than a theme role. It applies across screen sizes and states. A browser without support keeps its normal wrapping. ## Choose how many steps share a row For **Timeline / steps**, set **Layout** to **Numbered steps** in section **Settings**, then choose **Steps per row**. **Automatic** fits the available width; **2 per row**, **3 per row** and **4 per row** choose equal columns on wide screens. Tablets and phones still wrap to fit. Apply the section change to save it to the draft. ## Add a section label In **Settings**, open **Words**. 1. Fill **Section number** with your own words if you want a number. 2. Fill **Section label** with your own words if you want a label. Either can stand alone. Both start empty. [![Features Words settings show Section number and Section label empty.](https://docs.amadalis.ai/images/steps/S107-p5-section-label-empty.png)](https://docs.amadalis.ai/images/steps/S107-p5-section-label-empty.png "Open full-size image") Leave these fields empty to omit the section label. [![Composer Features settings show Section number 01 and Section label Review, with both drawn beside the heading.](https://docs.amadalis.ai/images/steps/S107-p5-section-label-saved.png)](https://docs.amadalis.ai/images/steps/S107-p5-section-label-saved.png "Open full-size image") Write the number and label you want beside the section. On a wide screen the label stands in a narrow column beside the section’s heading and body. The label uses capitals and the theme’s monospace font, whose characters have equal width. The number stands above it in italic heading type. Below 1024 pixels, they move to one line above the heading. On a site that was not migrated, the label keeps its start edge even when the section’s words are centred. [![The draft preview places 01 and REVIEW in a narrow column beside the Features words.](https://docs.amadalis.ai/images/steps/S107-p5-section-label-wide.png)](https://docs.amadalis.ai/images/steps/S107-p5-section-label-wide.png "Open full-size image") The number and label share a column beside the section. [![At 1024 pixels, 01 and REVIEW remain in a left column beside the Draft review heading.](https://docs.amadalis.ai/images/steps/S107-p5-section-label-tablet.png)](https://docs.amadalis.ai/images/steps/S107-p5-section-label-tablet.png "Open full-size image") Check the label at the layout boundary as well as desktop width. [![At phone width the number and label sit on a line above the Features heading.](https://docs.amadalis.ai/images/steps/S107-p5-section-label-phone-390.png)](https://docs.amadalis.ai/images/steps/S107-p5-section-label-phone-390.png "Open full-size image") The label moves above the words on a narrow screen. [![Features Words settings with Section number and Section label empty and no label column on the canvas.](https://docs.amadalis.ai/images/steps/S107-p5-section-label-undone.png)](https://docs.amadalis.ai/images/steps/S107-p5-section-label-undone.png "Open full-size image") Undo puts this section back without its label. These fields are offered on Hero, Features, Testimonials, Gallery, Video, Pricing, FAQ, Call to action, Rich text, Form, Stats, Logo cloud, Image & text, Footer CTA, Team, Timeline / steps, Comparison table, Newsletter signup, Blog teaser, Layout, Recommendations, Live list and Services. ## Choose a Stage band On **Footer CTA** and **Banner**, the field is named **Tone**. On the other supported types, use **Band tone**. 1. In **Settings**, open **Layout**. 2. Open **Band tone**, or **Tone** on Footer CTA and Banner. 3. Choose **Stage (near black, with glow)**. Stage draws a dark background, a soft glow and light text. Buttons and cards use the theme’s Stage colours. It is offered on Hero, Features, Testimonials, Pricing, Call to action, Stats, Image & text, Footer CTA, Banner and Layout. Stage is never chosen by an empty field. The usual default remains: page background for most types, **Subtle surface (default)** for Testimonials, **Style default** for Call to action, **Primary band** for Footer CTA and **Accent** for Banner. To change Stage colours across the site: 1. Open **Site**. 2. Open **Catalogs**. 3. Open **Themes**. 4. Choose **Edit** for the intended theme. 5. Open **Colors**. The **Stage band** group offers **Stage ground**, **Stage card**, **Stage line**, **Stage text**, **Stage muted**, **Stage heading**, **Stage accent**, **Stage accent text** and **Stage glow**. Empty rows use the theme’s derived colours. Review the theme preview before saving or activating a theme. ## Put a picture beside the words On a supported section, choose **Picture beside the words** from your media library. The empty default keeps the section’s usual layout. [![Features settings with Picture beside the words empty (Not set) before choosing a library picture.](https://docs.amadalis.ai/images/steps/S110-p5-picture-empty.png)](https://docs.amadalis.ai/images/steps/S110-p5-picture-empty.png "Open full-size image") An empty picture field keeps the usual section layout. [![The media picker, searched for docs-walk-p5-picture, has the neutral Docs Walk drawing selected for the Features section.](https://docs.amadalis.ai/images/steps/S110-p5-library-picture-selected.png)](https://docs.amadalis.ai/images/steps/S110-p5-library-picture-selected.png "Open full-size image") Choose the picture from the media library. [![Features Words settings show the chosen drawing with its picture description and caption.](https://docs.amadalis.ai/images/steps/S110-p5-picture-description-and-caption.png)](https://docs.amadalis.ai/images/steps/S110-p5-picture-description-and-caption.png "Open full-size image") Give the section’s picture its own description and caption. | Field | What to choose | Default | | --- | --- | --- | | **Picture description (alt text)** | Describe what the picture conveys, within the stated 500 character limit. Leave it empty for a decorative picture. | Empty | | **Picture caption** | A line under the picture. | Empty | | **Picture side** | **Right** or **Left**. | **Right** | | **Picture frame** | **None**, **Screen**, **Dark stage** or **Light**. | **None** | | **Picture width** | **Even** shares the row equally. **Wide** gives the picture more room. **Narrow** makes a slim picture column. | **Even** | | **Heading place** | **Above both columns**, or **Beside the picture, over the words**. | **Above both columns** | [![Features Layout settings show Right, None, Even and Above both columns for the chosen picture.](https://docs.amadalis.ai/images/steps/S110-p5-picture-layout-defaults.png)](https://docs.amadalis.ai/images/steps/S110-p5-picture-layout-defaults.png "Open full-size image") Review the picture’s starting side, width, frame and heading position. [![Picture side is Left, Picture width is Wide and Heading place is Beside the picture, over the words; the canvas, zoomed to 50 percent, shows the wide picture on the left and the heading over the cards on the right.](https://docs.amadalis.ai/images/steps/S110-p5-picture-left-wide-heading.png)](https://docs.amadalis.ai/images/steps/S110-p5-picture-left-wide-heading.png "Open full-size image") These choices change the arrangement without changing the picture. [![Picture width is set to Narrow for the chosen section picture, and the canvas shows the narrow picture beside the words.](https://docs.amadalis.ai/images/steps/S110-p5-picture-width-narrow.png)](https://docs.amadalis.ai/images/steps/S110-p5-picture-width-narrow.png "Open full-size image") Narrow gives the picture a smaller share of the row. **Screen** adds a window bar with three dots, a border and a shadow. **Dark stage** puts the picture on a dark panel with a glow. **Light** adds a thin border and soft shadow. **None** adds no frame. [![The draft preview shows the neutral picture beside the words with no frame: no edge and no window bar, only its rounded corners and a soft shadow.](https://docs.amadalis.ai/images/steps/S110-p5-picture-frame-none.png)](https://docs.amadalis.ai/images/steps/S110-p5-picture-frame-none.png "Open full-size image") None adds no frame around the picture. [![Draft preview with the Docs Walk drawing in a window frame with three dots above and a caption below.](https://docs.amadalis.ai/images/steps/S110-p5-picture-frame-screen.png)](https://docs.amadalis.ai/images/steps/S110-p5-picture-frame-screen.png "Open full-size image") Screen adds a window frame around the picture. [![Draft preview with the Docs Walk drawing and its caption inside a dark rounded panel.](https://docs.amadalis.ai/images/steps/S110-p5-picture-frame-stage.png)](https://docs.amadalis.ai/images/steps/S110-p5-picture-frame-stage.png "Open full-size image") Dark stage puts the picture on a dark panel. [![Draft preview with the Docs Walk drawing inside a thin rounded border, with its caption beneath and a soft shadow.](https://docs.amadalis.ai/images/steps/S110-p5-picture-frame-light.png)](https://docs.amadalis.ai/images/steps/S110-p5-picture-frame-light.png "Open full-size image") Light adds a restrained edge around the picture. The full group is offered on Features, Testimonials, Pricing, FAQ, Rich text, Stats, Logo cloud, Footer CTA, Team, Timeline / steps, Comparison table, Newsletter signup, Blog teaser, Recommendations and Live list. **Image & text** has its own picture controls and also offers **Picture frame**. Use those existing controls for its picture. The full picture group above is a separate choice on the listed types. [![Image & text settings show its own Picture frame set to Screen, and the canvas draws the section’s starter placeholder picture inside a Screen frame.](https://docs.amadalis.ai/images/steps/S110-p5-image-text-frame.png)](https://docs.amadalis.ai/images/steps/S110-p5-image-text-frame.png "Open full-size image") Image & text has its own picture controls. On a phone the picture and words stack. A left picture comes before the words; a right picture follows them. Check **Open preview** at the widths your readers use. [![At phone width the left picture, in a Screen frame, appears above the section’s words.](https://docs.amadalis.ai/images/steps/S110-p5-picture-left-stack-390.png)](https://docs.amadalis.ai/images/steps/S110-p5-picture-left-stack-390.png "Open full-size image") A left picture comes before the words when the columns stack. [![At phone width the right picture, in a Screen frame, appears after the section’s words.](https://docs.amadalis.ai/images/steps/S110-p5-picture-right-stack-390.png)](https://docs.amadalis.ai/images/steps/S110-p5-picture-right-stack-390.png "Open full-size image") A right picture follows the words when the columns stack. ## Add rules to a Hero A Hero created from the catalog offers two choices in **Settings**: | Field | Choice that draws the rule | Default | | --- | --- | --- | | **Label rule** | **A short rule before the label** | **None** | | **Lede rule** | **A rule between the headline and the subheadline** | **None** | The label rule needs the Hero’s **Eyebrow** words. The lede rule needs its **Subheadline**. A Hero that keeps an imported design keeps that design’s own structure. [![Hero Words settings show Label rule and Lede rule both set to None, with the supplied eyebrow, headline and subheadline on the canvas.](https://docs.amadalis.ai/images/steps/S116-p5-hero-rules-none.png)](https://docs.amadalis.ai/images/steps/S116-p5-hero-rules-none.png "Open full-size image") Both rules are optional. [![The draft Hero has a short line before DRAFT REVIEW while no line separates the headline and subheadline.](https://docs.amadalis.ai/images/steps/S116-p5-hero-label-rule.png)](https://docs.amadalis.ai/images/steps/S116-p5-hero-label-rule.png "Open full-size image") The label rule needs the Hero’s label words. [![The draft Hero has a line between its headline and subheadline, with no label rule.](https://docs.amadalis.ai/images/steps/S116-p5-hero-lede-rule.png)](https://docs.amadalis.ai/images/steps/S116-p5-hero-lede-rule.png "Open full-size image") The lede rule separates the heading from its supporting words. [![Hero draft preview with a short line before DRAFT REVIEW and another between Compare the same words and its supporting sentence.](https://docs.amadalis.ai/images/steps/S116-p5-hero-both-rules.png)](https://docs.amadalis.ai/images/steps/S116-p5-hero-both-rules.png "Open full-size image") Use either rule alone or both together. [![Phone Hero preview with a line before DRAFT REVIEW and another between the wrapped heading and supporting words.](https://docs.amadalis.ai/images/steps/S116-p5-hero-both-rules-390.png)](https://docs.amadalis.ai/images/steps/S116-p5-hero-both-rules-390.png "Open full-size image") Check the lines with the words at phone width too. [![Hero Words settings with Label rule and Lede rule both None.](https://docs.amadalis.ai/images/steps/S116-p5-hero-rules-undone.png)](https://docs.amadalis.ai/images/steps/S116-p5-hero-rules-undone.png "Open full-size image") Undo restores the Hero without these rules. ## Make an index of links On **Features**, open **Index list** in the entries. An empty list keeps the section’s normal cards. [![Features has an empty Index list (0 entries, + Add line) and still shows its ordinary cards.](https://docs.amadalis.ai/images/steps/S114-p5-index-empty.png)](https://docs.amadalis.ai/images/steps/S114-p5-index-empty.png "Open full-size image") An empty Index list leaves the section’s normal cards in place. For each entry, **Entry shows as** chooses **Group (a number, a name and a line)** or **Link row (one link under the group above)**. An unset entry is read as a group. For a group: 1. Fill **Group number**. 2. Fill **Group name**. 3. Fill **Group line**. For each link row: 1. Fill **Link words**. 2. Set its destination in **Link**. 3. Fill **Room line**. These fields start empty. Each link belongs to the group above it. A link before the first group still draws, without a group heading. [![Index list entry form with Group selected and Group number 01, Group name Edit and Group line Work on the draft filled.](https://docs.amadalis.ai/images/steps/S114-p5-index-group-fields.png)](https://docs.amadalis.ai/images/steps/S114-p5-index-group-fields.png "Open full-size image") Start a group with its number, name and short line. [![Features Index list entry fields with Link words and Room line empty, Link Not set and Choose a page or file available.](https://docs.amadalis.ai/images/steps/S114-p5-index-other-child-fields.png)](https://docs.amadalis.ai/images/steps/S114-p5-index-other-child-fields.png "Open full-size image") The entry also carries the words, destination and room line for a link row. [![Index list link row form with Care guide as the link words, the Care Guide page as its destination and Read the next step as the room line.](https://docs.amadalis.ai/images/steps/S114-p5-index-link-fields.png)](https://docs.amadalis.ai/images/steps/S114-p5-index-link-fields.png "Open full-size image") A link row belongs to the group above it. The index draws ruled link rows in the section’s **Columns**, whose choices are **2**, **3** and **4**. The normal starter uses three columns. Groups stay together. On a phone they form one column in the order you wrote them. [![Three authored groups and their ruled links appear in three columns in the draft preview.](https://docs.amadalis.ai/images/steps/S114-p5-index-three-columns.png)](https://docs.amadalis.ai/images/steps/S114-p5-index-three-columns.png "Open full-size image") The section’s Columns choice arranges the groups. [![Phone preview with Edit, Read and Review stacked in that order, each followed by a Care guide link.](https://docs.amadalis.ai/images/steps/S114-p5-index-phone-390.png)](https://docs.amadalis.ai/images/steps/S114-p5-index-phone-390.png "Open full-size image") The groups keep their written order when the columns stack. [![The same index groups are arranged in two columns after changing Columns to 2: 01 Edit on the left, 02 Read and 03 Review on the right.](https://docs.amadalis.ai/images/steps/S114-p5-index-two-columns.png)](https://docs.amadalis.ai/images/steps/S114-p5-index-two-columns.png "Open full-size image") Change the column choice to compare the arrangement. [![Draft preview with Edit, Read and Review in three ruled columns, each with a Care guide link.](https://docs.amadalis.ai/images/steps/S114-p5-index-columns-undone.png)](https://docs.amadalis.ai/images/steps/S114-p5-index-columns-undone.png "Open full-size image") Undo restores the earlier column choice. ## Draw facts as ruled rows On **Stats**: 1. Open **Layout**. 2. Choose **Facts list**. Each fact’s label comes first and its value stands beside it. Other Layout choices remain **Centered (default)**, **Heading left, numbers right** and **Compact proof strip**. [![Stats Layout has Centered (default) selected in the section settings.](https://docs.amadalis.ai/images/steps/S115-p5-stats-centered-choice.png)](https://docs.amadalis.ai/images/steps/S115-p5-stats-centered-choice.png "Open full-size image") Centered is the usual arrangement for the figures. [![Stats Layout has Heading left, numbers right selected in the editor.](https://docs.amadalis.ai/images/steps/S115-p5-stats-heading-left-choice.png)](https://docs.amadalis.ai/images/steps/S115-p5-stats-heading-left-choice.png "Open full-size image") The selected heading arrangement is ready to apply. [![Stats Layout has Compact proof strip selected in the editor.](https://docs.amadalis.ai/images/steps/S115-p5-stats-strip-choice.png)](https://docs.amadalis.ai/images/steps/S115-p5-stats-strip-choice.png "Open full-size image") The selected strip choice is ready to apply. [![Stats Layout has Facts list selected before applying the draft change.](https://docs.amadalis.ai/images/steps/S115-p5-stats-facts-choice.png)](https://docs.amadalis.ai/images/steps/S115-p5-stats-facts-choice.png "Open full-size image") Choose Facts list for ruled label and value rows. [![The draft Stats section displays First check beside 01 and Second check beside 02 as ruled fact rows.](https://docs.amadalis.ai/images/steps/S115-p5-facts-list.png)](https://docs.amadalis.ai/images/steps/S115-p5-facts-list.png "Open full-size image") A Facts list puts each label beside its value. **Place** appears for a Facts list. Its default is **In its own band (default)**. Choose **Beside the hero above** to place it with the Hero immediately before it. For a Hero created from the catalog, with **Left** layout and no picture, the facts sit beside the Hero’s words on a wide screen. They move underneath on narrower screens. A centered Hero or a Hero with a picture keeps the facts under its words. Without a suitable preceding Hero, the facts stay in their own band. The facts stay separate when part of the page is withheld, or when the Hero or Stats section is a [slot](https://docs.amadalis.ai/reference/glossary/#slot) whose content is selected for the visitor. [![Stats Place list open with In its own band (default) selected and Beside the hero above available.](https://docs.amadalis.ai/images/steps/S115-p5-facts-place.png)](https://docs.amadalis.ai/images/steps/S115-p5-facts-place.png "Open full-size image") Choose where the facts stand in relation to the preceding Hero. [![The fact rows stand beside the words of the preceding Left Hero with no picture.](https://docs.amadalis.ai/images/steps/S115-p5-facts-beside-hero.png)](https://docs.amadalis.ai/images/steps/S115-p5-facts-beside-hero.png "Open full-size image") An eligible Hero can share its row with the following facts. [![At 1181 pixels, Review the draft remains on the left with two ruled fact rows on the right.](https://docs.amadalis.ai/images/steps/S115-p5-facts-beside-hero-boundary.png)](https://docs.amadalis.ai/images/steps/S115-p5-facts-beside-hero-boundary.png "Open full-size image") Compare the paired result before the narrower layout. [![At 1024 pixels the facts sit under the Hero’s words, as two cells side by side.](https://docs.amadalis.ai/images/steps/S115-p5-facts-tablet.png)](https://docs.amadalis.ai/images/steps/S115-p5-facts-tablet.png "Open full-size image") The facts move under the Hero as the available width narrows. [![Phone preview with Review the draft above two ruled rows: First check 01 and Second check 02.](https://docs.amadalis.ai/images/steps/S115-p5-facts-phone-390.png)](https://docs.amadalis.ai/images/steps/S115-p5-facts-phone-390.png "Open full-size image") On a phone the facts follow the Hero’s words. [![Draft preview with First check 01 and Second check 02 in a ruled list below Review the draft.](https://docs.amadalis.ai/images/steps/S115-p5-facts-place-undone.png)](https://docs.amadalis.ai/images/steps/S115-p5-facts-place-undone.png "Open full-size image") Undo restores the facts’ earlier placement. For the other Stats layouts, **Style** offers **Plain (default)** or **Stat cards**. A Facts list uses its ruled rows. [![With Centered layout applied, Stats Style is set to Plain (default).](https://docs.amadalis.ai/images/steps/S115-p5-stats-plain-style.png)](https://docs.amadalis.ai/images/steps/S115-p5-stats-plain-style.png "Open full-size image") The other layouts keep their separate Style choice. [![With the same Centered layout, Style is set to Stat cards and the figures sit in cards.](https://docs.amadalis.ai/images/steps/S115-p5-stats-card-style.png)](https://docs.amadalis.ai/images/steps/S115-p5-stats-card-style.png "Open full-size image") Stat cards adds cards around the figures. ## Give an article a side rail 1. Open the page’s **Layout** button. 2. In **Page layout**, choose **Article with an On this page rail**. The other choice, **Standard (default)**, keeps the normal sequence of sections. [![Page layout offers Standard and Article with an On this page rail, with Standard selected.](https://docs.amadalis.ai/images/steps/S111-p5-standard-layout.png)](https://docs.amadalis.ai/images/steps/S111-p5-standard-layout.png "Open full-size image") Standard keeps the usual sequence of sections. 3. Read the draft receipt. Use its **Undo** to put the earlier layout back. [![Page layout with Article with an On this page rail selected and a Saved to the page draft receipt offering Undo and Done.](https://docs.amadalis.ai/images/steps/S111-p5-article-layout-receipt.png)](https://docs.amadalis.ai/images/steps/S111-p5-article-layout-receipt.png "Open full-size image") A page layout choice saves straight to the draft. 4. Open **Open preview** to see the article column and rail. The Composer canvas keeps the standard section flow. [![The Composer canvas, zoomed to 50 percent, still shows its normal section flow after the article layout is saved.](https://docs.amadalis.ai/images/steps/S111-p5-article-canvas.png)](https://docs.amadalis.ai/images/steps/S111-p5-article-canvas.png "Open full-size image") Use Open preview to see the article rail. [![The draft article preview has an On this page rail listing the two unfinished sample sections’ placeholder headings, then Draft labels and Review steps.](https://docs.amadalis.ai/images/steps/S111-p5-article-rail.png)](https://docs.amadalis.ai/images/steps/S111-p5-article-rail.png "Open full-size image") The rail links come from the article’s own section headings. [![Article preview at 1024 pixels with On this page on the left and the section content to its right.](https://docs.amadalis.ai/images/steps/S111-p5-article-rail-tablet.png)](https://docs.amadalis.ai/images/steps/S111-p5-article-rail-tablet.png "Open full-size image") Check the article at an intermediate width as well as on a phone. [![On this page is expanded above the phone article, with two fact notices, Draft labels and Review steps.](https://docs.amadalis.ai/images/steps/S111-p5-article-list-390.png)](https://docs.amadalis.ai/images/steps/S111-p5-article-list-390.png "Open full-size image") On a phone the heading links move into a compact list. The rail uses the article sections’ headline words. Rich text can contribute the first heading in its body. A section with no heading adds no rail entry. An **[HTML anchor](https://docs.amadalis.ai/reference/glossary/#html-anchor)** you set under **Advanced** is the named point its link jumps to; otherwise the page makes an anchor from the heading. Opening Hero, Banner and Gallery sections and closing Footer CTA, Call to action and Banner sections keep their full width. On a narrow screen the rail becomes a compact **On this page** list above the article. An imported page that keeps its WordPress layout and sidebar does not offer this page layout. [![Page layout has Standard selected and Article with an On this page rail unselected.](https://docs.amadalis.ai/images/steps/S111-p5-standard-restored.png)](https://docs.amadalis.ai/images/steps/S111-p5-standard-restored.png "Open full-size image") Undo returns this page to its earlier layout. ## Open a picture at full size Hero, Gallery, Call to action and Image & text offer **Open full size on click** under **Behaviour**. It is on by default. Switch it off to keep that section’s pictures from opening in the viewer. **Picture descriptions.** With **Open full size on click** on, a picture control uses its supplied alt text as its name. Without a description, it is named “Open the picture full size”. Fill in what a meaningful picture conveys. A **Features** card has its own **Picture description (alt text)** below **Image**. In a native card, leaving it empty uses the card title. A new description over the stated 500 character limit is refused rather than cut. Older stored descriptions keep their previous rendering. [![Image & text Behaviour settings show Open full size on click switched on.](https://docs.amadalis.ai/images/steps/S112-p5-full-size-on.png)](https://docs.amadalis.ai/images/steps/S112-p5-full-size-on.png "Open full-size image") Pictures can open full size unless this choice is off. [![Open full size on click is switched off in the section’s saved Behaviour settings.](https://docs.amadalis.ai/images/steps/S112-p5-full-size-off.png)](https://docs.amadalis.ai/images/steps/S112-p5-full-size-off.png "Open full-size image") Off keeps the picture in place when it is clicked. Visitors can click a picture or reach it with the keyboard and press Enter. The viewer opens its original library file. Pictures placed beside a section’s words use the same viewer. The photo viewer adjusts the exit mark (**Close**) and arrow icons’ colour for dark themes. [![The neutral drawing is open in the picture viewer with its Close control.](https://docs.amadalis.ai/images/steps/S112-p5-picture-viewer-open.png)](https://docs.amadalis.ai/images/steps/S112-p5-picture-viewer-open.png "Open full-size image") Click or press Enter on the picture to open its original file. [![The picture viewer is open on the neutral drawing at phone width.](https://docs.amadalis.ai/images/steps/S112-p5-picture-viewer-open-390.png)](https://docs.amadalis.ai/images/steps/S112-p5-picture-viewer-open-390.png "Open full-size image") Close the viewer to return to the draft preview. [![The Docs Walk picture sits within the phone draft preview, above the page text, with no viewer open.](https://docs.amadalis.ai/images/steps/S112-p5-picture-stays-in-page-390.png)](https://docs.amadalis.ai/images/steps/S112-p5-picture-stays-in-page-390.png "Open full-size image") The picture remains part of the page without opening a viewer. ## Remove an icon or a card title For an optional **Icon** in Features, Stats or a List, choose **None** to clear it. The catalog calls that empty choice **No icon**. A saved entry or starter keeps its existing icon until you change it. You can also ask the copilot for no icons. [![Features has Icon set to None, ready to apply; the canvas still shows the lightning icon beside First step.](https://docs.amadalis.ai/images/steps/S118-p5-icon-none.png)](https://docs.amadalis.ai/images/steps/S118-p5-icon-none.png "Open full-size image") Choose None to clear this optional icon. [![The draft card keeps its title and description after its icon is removed.](https://docs.amadalis.ai/images/steps/S118-p5-card-icon-removed.png)](https://docs.amadalis.ai/images/steps/S118-p5-card-icon-removed.png "Open full-size image") The words remain when the icon is cleared. [![The same draft card at phone width shows its words without an icon, in the draft preview.](https://docs.amadalis.ai/images/steps/S118-p5-card-icon-removed-390.png)](https://docs.amadalis.ai/images/steps/S118-p5-card-icon-removed-390.png "Open full-size image") Check the card at phone width too. [![Features card editor has Icon set to zap, and the First step card displays its lightning icon.](https://docs.amadalis.ai/images/steps/S118-p5-icon-restored.png)](https://docs.amadalis.ai/images/steps/S118-p5-icon-restored.png "Open full-size image") Undo restores the earlier icon. On an existing Features card, you can empty **Title** and apply the change. A new card still needs a title. [![An existing Features card with Title empty and Description still filled, ready to apply.](https://docs.amadalis.ai/images/steps/S119-p5-title-cleared.png)](https://docs.amadalis.ai/images/steps/S119-p5-title-cleared.png "Open full-size image") An existing card can keep its description without a title. [![The draft Features card displays its description with no title after the saved change.](https://docs.amadalis.ai/images/steps/S119-p5-card-without-title.png)](https://docs.amadalis.ai/images/steps/S119-p5-card-without-title.png "Open full-size image") Check the card itself after applying the empty title. [![Features card shows First step in its Title field and above its description on the canvas.](https://docs.amadalis.ai/images/steps/S119-p5-title-restored.png)](https://docs.amadalis.ai/images/steps/S119-p5-title-restored.png "Open full-size image") Undo restores the title on this draft. [![New Features card has an empty required Title field and the message A new entry needs Title; Entries still shows three cards.](https://docs.amadalis.ai/images/steps/S119-p5-new-card-title-required.png)](https://docs.amadalis.ai/images/steps/S119-p5-new-card-title-required.png "Open full-size image") A new card still needs a title. ## Style the site’s shared parts These choices affect shared parts of the site. Read each review card and its timing. A theme or shared header change can affect published pages without a new page publish. ### Fonts and small accent text 1. Open **Theme Studio**. 2. Open **Typography**. 3. Find **Font families**. **Interface** chooses the face for menus, buttons, labels and form fields. **Mono** chooses a face for code, figures and small labels. Both roles start unset. Leaving them empty keeps the fonts those parts already use. If the Interface font is unset, it uses the body font. Code can use the device’s monospace font. The font library includes **JetBrains Mono**. Library font files load early, with substitute fonts matched to their size. There is no extra option to enable that delivery. [Open the header recording](https://docs.amadalis.ai/videos/steps/S106-p5-header-navigation.webm). Watch the header while the linked page loads. [Open the header recording](https://docs.amadalis.ai/videos/steps/S106-p5-header-navigation-390.webm). The recording shows the header during this phone navigation. The page below the header is covered. These recordings show the header during one navigation at each width. Small accent text uses the theme’s accent ink. The platform can derive an unset accent ink for each colour mode. To set that colour explicitly, ask the copilot to change the theme’s accent ink. There is no dedicated Studio row for it. ### Header link and style 1. Open **Site**. 2. Open **Site setup**. - **Header link** adds a text link after the menu. Set **The link’s words** and **Where it goes**. Choose **A page of this site** or **An address**. No link is the default. A link to a draft page stays hidden until the page is published. - **Header style** offers **Standard** and **Editorial**. **Standard** is the default. **Editorial** uses a taller header, the Interface font and a wide panel for a menu item with groups. - **Header button** remains a separate action button. A header that keeps an imported design may keep that design’s own controls. ### Menu descriptions and panel intro In the **[Navigation builder](https://docs.amadalis.ai/reference/glossary/#navigation-builder)**, open a link’s details. **Description of** followed by the link’s name adds one line below that link. For a top-level item that holds groups, **Panel intro** offers **Small label**, **Title**, **Paragraph**, **Link words**, **Link address**, **Card label**, **Card title** and **Card address**. All start empty. These words appear in an Editorial header’s menu panel. The intro occupies a column beside the link groups on a wide screen. Review the menu draft and its publication separately from a page draft. ### Footer columns In **Site setup**, **Footer layout** offers **Links in a row** and **Columns**. **Links in a row** is the default. With **Columns**, each footer menu item that has child links becomes a column, up to five beside the brand. Edit those links in the Navigation builder. **Footer note** adds words in the bar below the columns. It starts empty and is shown only with Columns. The theme’s footer brand colour can give the site name its own colour. When unset, it follows the footer heading colour. ## Give a dropdown its first words 1. Open **Site**. 2. Open **Forms**. 3. Edit a **Dropdown** field. **Prompt** contains **Shown before a visitor chooses**. Leave it empty for **Choose one**, or write your own prompt. The prompt is not an answer and must differ from the choices visitors can submit. [![The Dropdown Prompt control is empty and its hint says Choose one; the live preview’s Preferred visit dropdown reads Choose one.](https://docs.amadalis.ai/images/steps/S120-p5-prompt-empty.png)](https://docs.amadalis.ai/images/steps/S120-p5-prompt-empty.png "Open full-size image") An empty prompt uses Choose one before an answer is chosen. [![The unsaved form preview shows Choose one above the Morning and Afternoon answers.](https://docs.amadalis.ai/images/steps/S120-p5-default-prompt-preview.png)](https://docs.amadalis.ai/images/steps/S120-p5-default-prompt-preview.png "Open full-size image") The prompt is separate from the answers a visitor can submit. [![Shown before a visitor chooses contains Choose a visit time in the Dropdown editor.](https://docs.amadalis.ai/images/steps/S120-p5-custom-prompt-control.png)](https://docs.amadalis.ai/images/steps/S120-p5-custom-prompt-control.png "Open full-size image") Write the words visitors should read before choosing. [![The form preview dropdown shows Choose a visit time and the unchanged Morning and Afternoon choices.](https://docs.amadalis.ai/images/steps/S120-p5-custom-prompt-preview.png)](https://docs.amadalis.ai/images/steps/S120-p5-custom-prompt-preview.png "Open full-size image") Changing the prompt keeps the actual answers intact. ## Work with the copilot Give the copilot the words, pictures and layout you want. For page and section choices, its edits save to the page draft. - If the copilot changes a page while you hold unapplied words, the Composer keeps your edit open and offers **Show the latest**. Finish or discard your local edit before reconciling the newer page. [![Features settings hold the typed words Unapplied local words before they have been applied.](https://docs.amadalis.ai/images/steps/S113-p5-local-words-unapplied.png)](https://docs.amadalis.ai/images/steps/S113-p5-local-words-unapplied.png "Open full-size image") Keep track of words that are still only in the editor. [![The notice Your copilot changed this page, so the canvas is out of date offers Show the latest while the local Features words are still in their open field.](https://docs.amadalis.ai/images/steps/S113-p5-copilot-changed-local-words-kept.png)](https://docs.amadalis.ai/images/steps/S113-p5-copilot-changed-local-words-kept.png "Open full-size image") A newer draft is available; the unapplied words remain in their field. [![The Composer canvas shows Review the draft above the FAQ and the original fact notice above Features.](https://docs.amadalis.ai/images/steps/S113-p5-latest-page-reconciled.png)](https://docs.amadalis.ai/images/steps/S113-p5-latest-page-reconciled.png "Open full-size image") Finish the local edit before reconciling the newer draft. [![FAQ Headline and the selected canvas section both show the original notice asking for facts.](https://docs.amadalis.ai/images/steps/S113-p5-copilot-edit-undone.png)](https://docs.amadalis.ai/images/steps/S113-p5-copilot-edit-undone.png "Open full-size image") Undo restores the earlier draft words. - If a build stops before all sections are written, read its account of what remains. When it can read the unfinished sections, it names them so you can ask it to carry on. - Missing pictures are left out and named. The copilot does not fill a picture slot with a stock placeholder. [![The copilot request supplies the page’s words and says that no picture has been supplied.](https://docs.amadalis.ai/images/steps/S121-p5-missing-picture-request.png)](https://docs.amadalis.ai/images/steps/S121-p5-missing-picture-request.png "Open full-size image") Give the words even when you do not yet have an owned picture. [![The build reply says the picture on the Image & text section was left out, that no buttons or icons were added, and that the page is not public.](https://docs.amadalis.ai/images/steps/S121-p5-missing-picture-account.png)](https://docs.amadalis.ai/images/steps/S121-p5-missing-picture-account.png "Open full-size image") Read what still needs your picture before continuing. [![The new draft’s Image & text picture field reads Not set and the supplied words appear without a stock placeholder.](https://docs.amadalis.ai/images/steps/S121-p5-missing-picture-empty-slot.png)](https://docs.amadalis.ai/images/steps/S121-p5-missing-picture-empty-slot.png "Open full-size image") An empty picture slot is left for your own picture. **Empty galleries.** On a site that was not migrated, a native Gallery with no pictures is left out of the public page, including its heading and band. That includes a strip whose last photo you cleared. Composer keeps a **Picture** slot while you add images. The draft preview follows the public behavior. A carousel with pictures keeps its empty slides. Pages brought over from another system, called migrated pages, keep their earlier rendering. - When you provide exact words, the copilot checks which were placed and reports missing or changed words. Review that account alongside the draft. [![The copilot request names one library picture and supplies the headline, body, picture caption and picture description for a new draft.](https://docs.amadalis.ai/images/steps/S124-p5-named-picture-request.png)](https://docs.amadalis.ai/images/steps/S124-p5-named-picture-request.png "Open full-size image") Give the picture’s name and the words that belong with it. [![The copilot’s closing reply reports the two sections, the supplied words and the named picture placed with its alt text, and says the caption could not be placed because this Image & text section has no caption field.](https://docs.amadalis.ai/images/steps/S124-p5-named-picture-account.png)](https://docs.amadalis.ai/images/steps/S124-p5-named-picture-account.png "Open full-size image") Read the result alongside the draft rather than assuming the picture was matched. [![Draft preview places the Docs Walk drawing beside The supplied drawing and This picture belongs to this draft.](https://docs.amadalis.ai/images/steps/S124-p5-named-picture-draft.png)](https://docs.amadalis.ai/images/steps/S124-p5-named-picture-draft.png "Open full-size image") Check that the intended picture and words landed together. [![Phone draft preview stacks the Docs Walk drawing above The supplied drawing and its paragraph.](https://docs.amadalis.ai/images/steps/S124-p5-named-picture-draft-390.png)](https://docs.amadalis.ai/images/steps/S124-p5-named-picture-draft-390.png "Open full-size image") Review the result at phone width before publishing. [![Image & text settings show the saved body, the chosen library picture and its saved Image alt text; the section has no caption field.](https://docs.amadalis.ai/images/steps/S124-p5-named-picture-fields.png)](https://docs.amadalis.ai/images/steps/S124-p5-named-picture-fields.png "Open full-size image") Check the section’s saved words as well as its appearance. [![The neutral library picture’s existing description and caption are visible in Media details.](https://docs.amadalis.ai/images/steps/S124-p5-named-picture-library.png)](https://docs.amadalis.ai/images/steps/S124-p5-named-picture-library.png "Open full-size image") The named picture comes from the site’s media library. - Instructions about where words belong stay instructions. Ask for the arrangement and provide the text for each part. [![The copilot request separates layout directions from the exact Hero and Rich text words for an unpublished page.](https://docs.amadalis.ai/images/steps/S126-p5-given-words-request.png)](https://docs.amadalis.ai/images/steps/S126-p5-given-words-request.png "Open full-size image") Say which words belong on the page and which lines are directions. [![The draft shows Review one change, Keep the same words, Next step and the supplied paragraph, with no directions added as prose.](https://docs.amadalis.ai/images/steps/S126-p5-given-words-result.png)](https://docs.amadalis.ai/images/steps/S126-p5-given-words-result.png "Open full-size image") The page keeps the supplied words in their intended parts. [![Phone draft preview shows Review one change, Keep the same words, Next step and Close the draft when you finish.](https://docs.amadalis.ai/images/steps/S126-p5-given-words-result-390.png)](https://docs.amadalis.ai/images/steps/S126-p5-given-words-result-390.png "Open full-size image") Read the actual words at phone width too. Check every supplied sentence in the draft itself. - A card that expires or is replaced is described in that state. It is not counted as a decline by you. - Activity names the time zone for its timestamps. Read the status message for the outcome of that action. Changes to the site’s head settings, or their Undo, made in **Head & CSP** can ask for some cached public pages to refresh. An approved change in chat can ask too. Follow the receipt’s timing message; a faster refresh is not guaranteed. For the complete choices and defaults, see [Layout styles reference](https://docs.amadalis.ai/reference/layout-styles/). For activating a shared design, see [Themes and tokens](https://docs.amadalis.ai/composer/themes-and-tokens/). Source: https://docs.amadalis.ai/composer/native-layout-controls/ # Advanced layout controls on imported pages Checked against the product’s code on 7 November 2026. Some imported pages expose advanced native layout controls in the [Composer](https://docs.amadalis.ai/reference/glossary/#composer). These controls depend on the structure of the selected content. They are not a general promise that any source page code becomes a fully editable design. ## Select the supported part 1. Open the imported draft. 2. Select the part to change. 3. Read the available fields in the inspector before applying a change. When you select a layout container, a block of text, an image or a supported component, the inspector shows the fields for that part. Container controls can set layout direction, alignment, gaps and the widths of grid columns. Media controls can set the selected image, alternative text, focal point and crop. Rich text and supported components have their own fields. [Responsive](https://docs.amadalis.ai/reference/glossary/#responsive-layout) and interaction settings affect the selected screen width or interaction state. Check desktop, tablet and phone previews, then inspect focus and [hover](https://docs.amadalis.ai/reference/glossary/#hover-state) behavior where those settings are offered. A saved base style and a change for one interaction state are different values. ## Apply and review Use the action in the group you changed: | Group | Action | | --- | --- | | Content and inline formatting | **Apply text and inline marks** | | Media | **Apply media properties** for the file, alternative text and crop; **Apply media presentation** for its fit | | Component properties | **Apply component properties** | | Opacity and padding | **Apply opacity** or **Apply padding** | | Container layout | **Apply typed layout**; **Resize grid tracks** for the column fractions | | Responsive and interaction states | **Stack on this regime** or **Apply state emphasis**; the matching **Remove** action clears that change | Appearance flyouts have their own **Apply** button. Once an action succeeds, its change is saved to the draft; there is no second page save. Publishing remains separate. Read the result after each action. If someone changed the page since you opened the form, reload the current state before preparing the edit again. Review the imported page against its source at the relevant widths. Some parts the import could not convert are kept as their original page code and listed in the migration review. Those parts do not offer these layout controls, so review them, and the migration’s findings, alongside the rest of the page. A successful editor save does not prove the whole imported page matches the source. For ordinary native sections and columns, start with [the Composer guide](https://docs.amadalis.ai/composer/composer/). Ask Amadalis to review an imported structure whose offered controls do not cover the change you need. Source: https://docs.amadalis.ai/composer/themes-and-tokens/ # Change site colours, fonts and themes Checked against the product’s code on 7 November 2026. Learn how to change your site colours or fonts. Open **Site** > **Catalogs** > **Themes** in the site admin. Edit a [theme](https://docs.amadalis.ai/reference/glossary/#theme)’s shared design choices, review the result and decide whether to make it active. A theme holds the design choices shared across your site. A token is one named choice, such as a text colour, heading font, spacing step or corner radius. The active theme affects the live site. Publishing one page is a separate action. ## Open the theme library 1. Open **Site**. 2. Open **Catalogs**. 3. Open **Themes**. 4. Choose **Edit** on a theme to open Theme Studio, or **New theme** to create one. A theme is **Draft** or **Active**. Only one theme is active for the site at a time. Activating another returns the previous active theme to draft. **Delete** appears only on a theme you created. It asks first with **Delete this theme?** and cannot be undone. [![Themes library shows saved theme cards and their available actions.](https://docs.amadalis.ai/images/steps/2026-11-05-coverage-and-stale/THEMES-LIBRARY-demo-store-1440.png)](https://docs.amadalis.ai/images/steps/2026-11-05-coverage-and-stale/THEMES-LIBRARY-demo-store-1440.png "Open full-size image") Opening a saved theme and activating it are separate actions. [![Delete this theme? card: Docs Walk Theme is removed from the catalog, existing pages keep rendering, with Cancel and Delete theme.](https://docs.amadalis.ai/images/steps/S016-themes-delete-this-theme-card.png)](https://docs.amadalis.ai/images/steps/S016-themes-delete-this-theme-card.png "Open full-size image") Delete appears only on a theme you created, and asks first. ## Edit tokens Theme Studio offers these sections: | Section | What it controls | | --- | --- | | **Colors** | The theme’s named colour roles. | | **Typography** | Fonts and type sizes. | | **Spacing** | The spacing scale. | | **Radius & shadows** | Corners and shadows. | | **Layout** | Shared layout values. | | **Modes** | Named sets of token overrides. | | **Developer** | The theme’s definition in JSON, a structured text format used by developers. | A mode uses the base [tokens](https://docs.amadalis.ai/reference/glossary/#token), then overrides the values it changes. Review each mode your site uses. The preview is a sample that shows the theme’s design choices. It is not a preview of one of your pages. Check a real page after making a theme active. ## Check contrast The **Colors** section shows contrast checks for specific pairs of text and background colours. These checks warn about a pair that falls below its threshold. They do not block saving. An error in the theme’s values, which the studio reports beside the preview, does block saving until it is fixed. Use them while editing, then review the actual page too. A theme check does not test every possible image, custom colour or content arrangement on that page. Review native forms in each mode too; see [Forms and replies](https://docs.amadalis.ai/site/forms-and-replies/#send-your-first-test-reply). Library themes can change the header name’s colour, menu text and button text on an accent background to suit their backgrounds. Very tight letter spacing relaxes on smaller headings. Review each mode’s button and menu colours on the real page, including the current link and links under the pointer. ## Save a draft For an existing draft, choose **Save changes**. For a new theme: 1. Enter its name. 2. Fill the **[slug](https://docs.amadalis.ai/reference/glossary/#slug)** field with lowercase words joined by hyphens, such as `studio-spring`. 3. Choose **Create theme**. Saving a draft does not activate it. Save the draft before asking to activate it so the approval card describes the stored theme. [![Themes library searched for Docs Walk, showing the Docs Walk Theme card marked Draft, source Custom, with Review and activate, Edit and Delete.](https://docs.amadalis.ai/images/steps/S016-themes-saved-draft-docs-walk-theme.png)](https://docs.amadalis.ai/images/steps/S016-themes-saved-draft-docs-walk-theme.png "Open full-size image") A saved theme waits in the library as a draft until you activate it. ## Activate a theme To switch the active theme, choose a saved draft’s **Review and activate** control and review its approval card. 1. Choose **Review and activate** on a saved draft, either on its card in the Themes list or in Theme Studio. 2. Read the approval card. It describes the theme being activated and the existing theme returning to draft. [![Activate this theme? card: 51 colour, type and layout changes and 2 mode changes, Emporium stops being the site's theme, why it asks first, and six colour tokens with their old and new values.](https://docs.amadalis.ai/images/steps/S017-themes-activate-comparison-card.png)](https://docs.amadalis.ai/images/steps/S017-themes-activate-comparison-card.png "Open full-size image") Activation shows what changes before anything restyles the site. 3. Review the token changes, then use the card’s confirmation control if you want the theme to become active. After activation, the Themes list shows a receipt with **Undo**. Undo puts the earlier active theme back. [![Receipt: Docs Walk Theme is now the site's theme, with Undo and Dismiss; the card reads Active.](https://docs.amadalis.ai/images/steps/S017-themes-activated-receipt-with-undo.png)](https://docs.amadalis.ai/images/steps/S017-themes-activated-receipt-with-undo.png "Open full-size image") After activation the receipt offers Undo. The active theme is saved now. Visitors see the change within the hour, usually much sooner. While the site’s server is down, visitors may see the previous version of a page for up to a day. Theme activation can change the appearance of many published pages without republishing each one. [![The store's Care Guide page at desktop width in the test theme: white page, blue Read the guide button.](https://docs.amadalis.ai/images/steps/S017-themes-public-page-test-theme-1440.png)](https://docs.amadalis.ai/images/steps/S017-themes-public-page-test-theme-1440.png "Open full-size image") The public site restyled by the test theme. [![The store’s Care Guide page at phone width in the test theme, with a white page and blue Read the guide button.](https://docs.amadalis.ai/images/steps/S017-themes-public-page-test-theme-390.png)](https://docs.amadalis.ai/images/steps/S017-themes-public-page-test-theme-390.png "Open full-size image") The same page on a phone. The activated theme gives the primary button a blue background and keeps the heading, buttons and picture within the phone screen. [![Themes library after Undo, with Docs Walk Theme back to Draft.](https://docs.amadalis.ai/images/steps/S017-themes-after-undo-test-theme-draft.png)](https://docs.amadalis.ai/images/steps/S017-themes-after-undo-test-theme-draft.png "Open full-size image") Undo returns the test theme to draft. [![The Care Guide page at desktop width in the store's own theme again: pale blue page, dark Read the guide button.](https://docs.amadalis.ai/images/steps/S017-themes-public-page-original-theme-restored-1440.png)](https://docs.amadalis.ai/images/steps/S017-themes-public-page-original-theme-restored-1440.png "Open full-size image") The earlier theme is live again. ## Edit an active theme carefully Choose **Save changes** after editing an active theme. If its tokens or modes have changed, a **Save to the live site?** card shows the comparison before saving. That save changes the live theme. A Theme Studio save has no **Undo**. To reverse it, change the values back and save again. Review the comparison before confirming a live design change. For a change to one section rather than the whole theme, use **Appearance** in [the Composer](https://docs.amadalis.ai/composer/composer/). Source: https://docs.amadalis.ai/content/bylines/ # Bylines and author fields In the site admin, open **[Bylines](https://docs.amadalis.ai/reference/glossary/#byline)** to manage the people and teams credited on content. Checked against the product’s code on 7 November 2026. **Bylines** is EmDash’s list of people and teams credited on content. A credited profile is separate from a login. Linking one to a user does not grant that person new permissions. ## Create or edit a profile 1. Open **Bylines**. 2. Choose **New byline**. 3. Fill in **Display name**. 4. Review its **[Slug](https://docs.amadalis.ai/reference/glossary/#slug)**, the stable name used to identify it. 5. Add the profile’s image where appropriate. 6. Add **Website URL** where appropriate. 7. Add **Bio** where appropriate. 8. Under **Attribution**, choose a **Linked user** or mark it as a **[Guest byline](https://docs.amadalis.ai/reference/glossary/#guest-byline)**. 9. Fill in any **Additional details**. 10. Choose **Create**. An existing profile uses **Save**. 11. Check the saved profile in the list. Search the list by name, or filter it to **Guest only** or **Non-guest** bylines. Open a profile to edit it. A guest profile can credit someone who has no site login. ## Add author fields An Admin can change **[Byline schema](https://docs.amadalis.ai/reference/glossary/#byline-schema)**, which defines the available author fields. These fields provide the additional details on byline profiles. 1. Open **Byline schema**. 2. Choose **New field**. 3. Enter **Label**. 4. Review **Slug**. 5. Choose **Type**. 6. Review **Required**. 7. Review **Translatable**, which allows separate translations. 8. Fill in any options offered for that field type. 9. Choose **Create field**. 10. Check the field in the schema list. The schema list offers editing and controls to move fields up or down. Changing a field’s definition is separate from filling in that field on existing profiles. A field’s slug and type cannot be changed through the copilot’s update request. ## Remove carefully ### What happens when you delete a byline or field Deleting a byline removes the profile, and content credited to it loses that credit. This cannot be undone. Deleting a byline field also removes every stored value for that field. Read the affected value count or its unavailable state before confirming. Neither permanent deletion offers automatic Undo. The copilot can read bylines, and it creates or updates a byline profile without pausing; the receipt offers Undo. A profile has no draft, so an update applies at once. Deleting a byline always pauses and cannot be undone. Byline schema changes need an Admin and always pause for approval. Consult [Content and media requests](https://docs.amadalis.ai/reference/copilot/content-and-media/#author-bylines) for the individual approval and Undo rules. Source: https://docs.amadalis.ai/content/calendar/ # Use the content calendar In the site admin, open **Calendar** to review content by date and plan your publishing work. Use **Remove schedule** to cancel a queued publication when your role permits it. Checked against the product’s code on 7 November 2026. **Calendar** is EmDash’s view of published and scheduled content across [collections](https://docs.amadalis.ai/reference/glossary/#collection), such as posts and other content types. It uses the site’s saved [time zone](https://docs.amadalis.ai/reference/glossary/#timezone). A scheduled entry is a plan to publish, not a delivery confirmation. ## Find an entry 1. Open **Calendar**. 2. Choose **Month** for the grid or **Agenda** for a list. 3. Move to the previous or next month, or choose **Today**. 4. Open **Filter** if you need a narrower view. 5. Choose the collection, language and region, or state to include. 6. Open an entry to inspect its details. The entry panel shows its state, due time, language and region where applicable, bylines and last edit. It can distinguish a live version from scheduled changes. **Open in editor**, **Preview** or **Preview changes**, and **View live** lead to different versions of the content. ## Change a schedule Open the entry’s details before choosing a schedule action. - When your role permits it, **Reschedule** chooses another time. - **Remove schedule** removes the future publication. For an already published entry, its scheduled edits remain a [draft](https://docs.amadalis.ai/reference/glossary/#draft); removing the schedule does not take its existing live version offline. An overdue entry can offer **Publish now**. This is your explicit publication action. A copilot request to schedule or publish always pauses for approval. For pages and posts, the publish check runs before scheduling and again when publication is due. A refusal clears the schedule; a check that cannot finish leaves publication waiting for another check. Read [the scheduling steps and outcomes](https://docs.amadalis.ai/content/pages-posts-and-media/#create-a-page-or-post) before rescheduling. Read errors and overdue warnings before assuming content went live. A range with more entries than the calendar can show reports that limit; filter the view before relying on its displayed inventory. Source: https://docs.amadalis.ai/content/comments/ # Remove and moderate comments To remove a comment from public view, open **Comments** in the site admin and choose **[Trash](https://docs.amadalis.ai/reference/glossary/#trash)**. Use this inbox to read and moderate comments. Permanent deletion is a separate Admin action. Checked against the product’s code on 7 November 2026. **Comments** is EmDash’s [moderation](https://docs.amadalis.ai/reference/glossary/#moderation) inbox. It handles comments stored by the site, including supported comments brought in during a migration. ## Find and read a comment 1. Open **Comments**. 2. Choose **Pending**, **Approved**, **Spam** or **Trash**. 3. Search the comment text or author. 4. If more than one [collection](https://docs.amadalis.ai/reference/glossary/#collection) is available, narrow the list by collection, such as posts or another content type. 5. Open a comment to read it before deciding what to do. The list shows the author, a short extract, its collection and date. A moderation status is separate from the content item’s own published state. ## Change its status On a row the moderation actions are icons. Open the comment or select it to see the words, then choose the intended status: - **Approve** makes a comment public. - **Spam** marks unwanted comments. - **Trash** hides a comment in a way you can reverse. You can select several comments and apply an offered bulk action. When asking the copilot to moderate, describe the exact comments and the desired status. It pauses for approval before changing moderation state. Its receipt offers Undo, which puts the previous status back if the comments have not changed again since. Undo does not recall an email or other notification that approving already sent. ## Delete permanently Only Admins can delete comments permanently, on the screen and through the copilot. **Delete Permanently** is not Trash: the comment, its text and its author details are removed and cannot be restored. Deleting one comment asks **Delete Comment?** first. A copilot deletion always pauses for your approval. To control whether visitors can leave comments on a collection, review that collection’s comments settings in [Content Types](https://docs.amadalis.ai/content/content-types/). This does not add a comment form to every page layout. Source: https://docs.amadalis.ai/content/content-types/ # Content types and relations In the site admin, open **Content Types** to define the [collections](https://docs.amadalis.ai/reference/glossary/#collection) and fields your content uses. Checked against the product’s code on 7 November 2026. **Content Types** is EmDash’s screen for defining content structure, also called its [schema](https://docs.amadalis.ai/reference/glossary/#content-types). A content type describes a collection of records, such as posts or a custom directory. It is different from a [Composer page type](https://docs.amadalis.ai/reference/glossary/#page-type), which supplies a page recipe. ## Create a collection You need an Admin role to create a collection. The copilot offers structure changes only to Admins and still asks for approval. Editors can ask it to list registered content types or read their structure. 1. Open **Content Types**. 2. Choose **New Content Type**. 3. Fill in **Label (Singular)**. 4. Fill in **Label (Plural)**. 5. Review **[Slug](https://docs.amadalis.ai/reference/glossary/#slug)**. 6. Add a description if useful. 7. Turn on **Routable** for entries that need public addresses. It requires a slug before an entry can be published. 8. If the entries need public addresses, set **URL Pattern** for them. 9. Review its navigation settings. 10. Review its editing lock. 11. Review its SEO options. 12. Review its comments options. 13. Choose **Create Content Type**. If you configured public addresses, add and publish a test entry, then check its address before you rely on the pattern. Some collections are **Defined in code**. The screen identifies settings that need a code file change. On a hosted Praxis site, ask Amadalis support instead. On hosted Praxis, creating or changing block types and adding block fields, which hold structured page components, are refused. Open the collection’s schema to add fields. **System Fields** are separate from **Custom Fields**. Check the hosted limits above before choosing a field type. 1. Choose **Add Field**. 2. Choose a supported field type. 3. Enter its **Label**. 4. Review its **Slug**. 5. Review **Required** where offered. 6. Review **Unique** where offered. 7. Review **Searchable** where offered. 8. Fill in the settings offered for that type. 9. Choose **Add Field** to save it. 10. Check the field in the collection’s schema. Field deletion has its own confirmation. ## Relate two collections Start from **Content Types** in the site admin navigation. If you are editing a collection’s schema, return to **Content Types** in the navigation first. **Relations** shows relationships between content types. 1. Choose **Relations** beside **New Content Type**. 2. Choose **New Relation**. 3. Choose the type under **Links from**. 4. Choose the type under **Links to**. 5. Review the names for each side. 6. Review the stable **Slug**. 7. Choose how many records may be linked from each side. 8. Choose **Create Relation**. 9. Check the [relation](https://docs.amadalis.ai/reference/glossary/#relation) in the list. A relation supplies shared rules for reference fields, which link records to other records. Its content types and slug cannot change after creation. Review the impact shown before changing limits or deleting a relation. Deleting a field can also offer to remove the relationship it uses; read that additional consequence. ## Reorder the content types An Admin can change the order content types appear in for everyone editing the site. This changes navigation order, not content, fields or tables. 1. Ask the copilot to list the current content types. 2. Ask it to show that complete list in your intended order. 3. Read **Reorder the content types?** and the before and after lists. 4. Choose **Save this order** if they are right. 5. Open **Content Types** to check the saved order. A partial list is refused. If the set changes while the card is open, ask for a new proposal. The receipt’s **Undo** puts back the previous order while nobody has reordered again. See [Content type requests](https://docs.amadalis.ai/reference/copilot/site-and-settings/#content-types). ## Keep content and schema changes distinct Creating a collection does not fill it with records. Hiding it from navigation removes shortcuts, not its underlying content or API access. Use a [Collection index page](https://docs.amadalis.ai/composer/collection-index/) to list entries from an existing collection. Creating that page does not create the collection or its records. Deleting a content type also deletes all content in its collection and every relation it takes part in. Read **Delete Content Type?** carefully before you confirm. The copilot pauses for supported schema writes; relation creation and editing use EmDash’s own screen. ## Your next step Create a draft in the collection you configured. Use [Pages, posts and media](https://docs.amadalis.ai/content/pages-posts-and-media/) to review the content before publishing. Source: https://docs.amadalis.ai/content/copy-content/ # Copy a page or post Use **Duplicate** in EmDash’s own **Pages** or **Posts** screens in the site admin to start a new page or post from an existing one. An Author can copy their own entries; an Editor or Admin can copy other entries too. The original stays in place. Checked against the product’s code on 7 November 2026. ## Make the copy 1. Open **Pages** or **Posts** in EmDash’s own content screens in the site admin. You see the entries in that collection. 2. Open the original entry’s actions menu. It offers **Duplicate** when you have permission to copy it. 3. Choose **Duplicate**. A new draft appears in the list, with **(Copy)** added to its title or name and its own address. 4. Open the copy by its title. For content built in Composer, open the copy in [Composer](https://docs.amadalis.ai/composer/composer/) to edit it. Check that you are editing the new draft. 5. Change its title. The copy can now be distinguished from the original. 6. Review its content. Replace words and pictures that should differ. 7. Check its links and forms. A copied form still uses the original form definition and inbox. 8. Follow [Review and publish](https://docs.amadalis.ai/composer/composer/#review-and-publish) when the copy is ready. Until publication, it remains a draft. [![Pages shows the original entry and a separate Draft row with (Copy) in its title, with the original's actions menu open on Duplicate.](https://docs.amadalis.ai/images/steps/2026-11-05-coverage-and-stale/COV1-02-original-and-copy-1440.png)](https://docs.amadalis.ai/images/steps/2026-11-05-coverage-and-stale/COV1-02-original-and-copy-1440.png "Open full-size image") Duplicate creates a separate draft with Copy in its title. [![At phone width, Pages shows the original entry and a separate Draft row with (Copy) in its title.](https://docs.amadalis.ai/images/steps/2026-11-05-coverage-and-stale/COV1-02-original-and-copy-390.png)](https://docs.amadalis.ai/images/steps/2026-11-05-coverage-and-stale/COV1-02-original-and-copy-390.png "Open full-size image") Duplicate creates a separate draft with Copy in its title. The copy belongs to the person who makes it. It gets new identities for its sections, columns and elements, so targeting attached to the original identities is not inherited. Referenced media remain shared. Copying does not make a separate file for each picture or a separate inbox for each form. ## Ask the copilot 1. Open **Copilot**. The conversation is ready for your request. 2. Type “Copy \[page or post title\] as a new draft”, replacing the brackets with the real title. 3. Choose **Send**. Copying a draft needs no approval card; read the result to find the new entry. 4. Open the copy. Review it before publishing separately. The copilot receipt can offer **Undo**, which moves the exact unchanged copy to Trash. Later edits or publication can prevent that reversal. See [Content and its catalog](https://docs.amadalis.ai/reference/copilot/content-and-media/#content-and-its-catalog). ## Remove an unwanted copy 1. Open the copy’s actions menu. Check its title before continuing. 2. Choose **Move to trash**. The confirmation names the change. 3. Confirm **Move to Trash**. The copy leaves the main list; the original stays. The list’s **Duplicate** action has no automatic Undo receipt. Use [Trash and recovery](https://docs.amadalis.ai/content/trash-and-recovery/) if you later need the copy again. ## Your next step Review the copy’s links and pictures, and use [Forms and replies](https://docs.amadalis.ai/site/forms-and-replies/) to check any shared form. Then follow [Review and publish](https://docs.amadalis.ai/composer/composer/#review-and-publish) for the new draft. Source: https://docs.amadalis.ai/content/dashboard/ # Read the Dashboard Checked against the product’s code on 7 November 2026. **[Dashboard](https://docs.amadalis.ai/reference/glossary/#dashboard)** is EmDash’s admin home. It brings content counts and recent editing activity together. Use **Insights** > **Analytics** for visitor measurement. ## Read a demo-site notice On a site Amadalis has marked as a demo, the Dashboard shows **This site is marked as a demo.** Visitors can browse and use the cart. Public account registration and claims, emailed sign-in link requests, forms, comments, stock notifications and checkout are refused without saving the submitted details or sending a message. You can test forms and checkout while signed in as a team member of that site. Consent choices and permitted analytics still work; site-search events omit the typed query. Amadalis manages the demo mark. If the site cannot read the mark, it follows the ordinary site rules. After importing store settings again, ask Amadalis to check it. ## Open the right content The **Content** card lists the [collections](https://docs.amadalis.ai/reference/glossary/#collection), or groups of content records, available on the site. 1. Find the collection you want. 2. Read its published and draft counts as small badges. 3. Open its row to go to that collection. A badge does not appear when its count is zero. A collection hidden from navigation is also omitted here. Use a collection’s creation shortcut when it is offered. **Upload Media** opens the media library. When the Composer manages your pages or posts, the creation shortcut for them opens the Composer’s new page or new post dialog instead of EmDash’s editor. See [Pages, posts and media](https://docs.amadalis.ai/content/pages-posts-and-media/). ## Read a publishing warning When a scheduled entry is overdue and the scheduled publishing check has not run recently, the Dashboard shows **Scheduled publishing needs attention**. When a publication policy blocked a scheduled entry, it shows **Publication policy blocked scheduled content** with a link to each entry and its reason; Editors and Admins can **Dismiss** an entry’s notice. 1. Open the affected content. 2. Read the reason before changing its schedule. For pages and posts, a refusal at the scheduled time removes the schedule. The draft stays unpublished, or an already live page keeps its published version. Read the reason in Composer before fixing the page and scheduling it again. If the check could not finish, the schedule stays in place for another check. A time passing is not proof that publication succeeded. Use [the calendar](https://docs.amadalis.ai/content/calendar/) to inspect dates and scheduled changes across collections. **Recent Activity** is a separate view of content work. For a copilot change, read its receipt and available Undo in the copilot. An empty Dashboard or a loading error does not mean the site has no content. Read the reported state and refresh if necessary. On a site with no content yet, an Admin may see EmDash’s **Moving from another EmDash site?** suggestion. Importing a whole site package is not available on Praxis sites: the import is refused and nothing changes. See [Imports and transfer](https://docs.amadalis.ai/content/imports-and-transfer/). Source: https://docs.amadalis.ai/content/imports-and-transfer/ # Import and site transfer In the site admin, open **Settings** > **Transfer** for EmDash site packages. Read the import distinction below before choosing a WordPress migration route. Checked against the product’s code on 7 November 2026. Praxis includes EmDash’s **Import from WordPress** and **Transfer** screens. They are separate from the **Migration** workspace used to review a move with Amadalis. ## EmDash’s WordPress import You need an Admin role for EmDash’s WordPress import. This is separate from **Migration**. 1. Choose **Import** in the site admin navigation. 2. Check that **Import from WordPress** is the intended screen. 3. Choose the agreed source: a WordPress address and migration key, or a WordPress [export](https://docs.amadalis.ai/reference/glossary/#export) file. The importer can show connection, review, import and media stages. The migration key is the connection credential supplied by EmDash’s exporter. Before starting: 1. Review the collections and fields the importer proposes. 2. Review author mapping. 3. Review menus. 4. Review [taxonomies](https://docs.amadalis.ai/reference/glossary/#taxonomy). 5. Review settings. If the importer proposes a block field, which holds structured page components, the hosted site refuses the step and nothing is changed; choose another field type, such as formatted rich text. For a move being handled by Amadalis, follow [Migration as a service](https://docs.amadalis.ai/agencies/migration-as-a-service/) and use the agreed source route. EmDash’s importer and the Praxis Migration workspace have different review and recovery flows. Do not run both over the same work without agreeing the plan. ## Export a site package Only an Admin can export. The package carries all content, drafts and trash included, media files and site settings, and each author’s name and email address. Store and share the file as carefully as the site itself. 1. Open **Settings**. 2. Open **Transfer**. 3. In **Export**, read **What the package includes**. 4. Read **What it leaves out**. 5. Choose whether to **Include comments**. 6. Choose **Export site**. Keep the page open while the export advances. If you leave, return to continue it. 1. Read whether the export is ready, failed or expired. 2. When it is ready, use **Download package** or **Download as one file**, as offered. Review failed or expired exports before relying on a download. The package is an EmDash transfer package file. It is not the same as the visitor datasets exported through **Privacy & Data** > **Exports**. ## Hosted import boundary Importing a whole site transfer package into a hosted Praxis site is refused. Export remains available. A Dashboard import suggestion does not override that restriction. Ask Amadalis to review a move that needs whole site replacement. Source: https://docs.amadalis.ai/content/ # What you can do in Content Checked against the product’s code on 7 November 2026. Use [EmDash](https://docs.amadalis.ai/reference/glossary/#emdash)’s content screens for records, media, reusable material and site administration. Open these EmDash screens in the site admin, such as **Pages**, **Posts**, **Media** and **Settings**. This documentation groups them under Content so you can find their guides together. Use the guide for the required role, setup and current limits. ## Start with a task Choose the result you want. Each guide explains where to begin, what to review and how to check the result. - [Manage pages and media](https://docs.amadalis.ai/content/pages-posts-and-media/) - [Group content](https://docs.amadalis.ai/content/pages-posts-and-media/#group-content-with-categories-and-tags) - [Read content requests](https://docs.amadalis.ai/reference/copilot/content-and-media/) - [Recover content from Trash](https://docs.amadalis.ai/content/trash-and-recovery/) - [Copy a page or post](https://docs.amadalis.ai/content/copy-content/) - [Translate a page and its navigation](https://docs.amadalis.ai/content/translations/) - [Restore an earlier revision](https://docs.amadalis.ai/content/revisions/) ## Capabilities and screens | Capability | What you can do | Read next | | --- | --- | --- | | Dashboard | Review the summary on EmDash’s admin home. | [Read the Dashboard](https://docs.amadalis.ai/content/dashboard/) | | Pages and Posts | Browse records and enter the Composer for supported pages. | [Pages, posts and media: Create a page or post](https://docs.amadalis.ai/content/pages-posts-and-media/#create-a-page-or-post) | | Other [collections](https://docs.amadalis.ai/reference/glossary/#collection) | Manage records in the site’s configured content types. | [Content types and relations](https://docs.amadalis.ai/content/content-types/) | | Calendar and scheduling | Review scheduled publications and the editor boundary. | [Use the content calendar](https://docs.amadalis.ai/content/calendar/) | | Media library | Upload files and manage their descriptions, folders, crop and focal points. | [Pages, posts and media: Upload a picture or file](https://docs.amadalis.ai/content/pages-posts-and-media/#upload-a-picture-or-file) | | Comments | Review comment moderation and deletion requests. | [Remove and moderate comments](https://docs.amadalis.ai/content/comments/) | | Native Menus | Read EmDash’s menu list alongside the Site Navigation workflow. | [Change a menu in your header or footer](https://docs.amadalis.ai/site/menus/) | | Redirects | Review redirect rules and the missing-path log. | [Redirects and the 404 log](https://docs.amadalis.ai/site/redirects-and-404s/) | | Widgets and widget areas | Review widget definitions and placement requests. | [Widgets and widget areas](https://docs.amadalis.ai/content/widgets/) | | Reusable sections | Read the saved section library and reuse requests. | [Reuse a section on another page](https://docs.amadalis.ai/content/reusable-sections/) | | Bylines | Manage the author records used by content. | [Bylines and author fields](https://docs.amadalis.ai/content/bylines/) | | Byline schema | Review custom fields for author records. | [Bylines and author fields](https://docs.amadalis.ai/content/bylines/) | | Content types and relations | Review content fields and relationships, including current limits on block fields. If you already have a table, [register it with an Admin and developer](https://docs.amadalis.ai/developers/existing-content-tables/). | [Content types and relations](https://docs.amadalis.ai/content/content-types/) | | Users | Follow the account Team route for people and role management. | [Native site access settings](https://docs.amadalis.ai/account/site-access-and-settings/) | | Plugins and registry | Inspect installed plugins and the controls available to your role. | [Plugins and plugin settings](https://docs.amadalis.ai/content/plugins/) | | WordPress import | Distinguish EmDash’s importer from the assisted Migration workflow. | [Import and site transfer](https://docs.amadalis.ai/content/imports-and-transfer/) | | General and social settings | Review site identity, formats and social values. | [EmDash site settings](https://docs.amadalis.ai/content/site-settings/) | | Native SEO settings | Review search verification and when Praxis crawler policy supplies robots.txt. | [EmDash site settings: Native SEO settings](https://docs.amadalis.ai/content/site-settings/#native-seo-settings) | | Passkeys and sign in | Review sign in methods alongside the account sign in workflow. | [Native site access settings](https://docs.amadalis.ai/account/site-access-and-settings/) | | Allowed email domains | Review domain signup roles up to Editor and the invitation route for Admin access. | [Native site access settings](https://docs.amadalis.ai/account/site-access-and-settings/) | | API tokens | Review API token details and how to revoke a token’s access. | [Native site access settings](https://docs.amadalis.ai/account/site-access-and-settings/) | | Email settings | Review the native email settings and the separate form-delivery behavior. | [EmDash site settings](https://docs.amadalis.ai/content/site-settings/) | | Backup settings | Review content backup controls and the separate operator restore process. | [EmDash site settings](https://docs.amadalis.ai/content/site-settings/) | | Media usage | Review which content refers to a file and the available maintenance requests. | [EmDash site settings](https://docs.amadalis.ai/content/site-settings/) | | Site transfer | Review site package export and the current restriction on importing a whole site. | [Import and site transfer](https://docs.amadalis.ai/content/imports-and-transfer/) | | Native theme and plugin detail pages | Review configured native listings alongside the site’s theme and plugin guides. | [Plugins and plugin settings](https://docs.amadalis.ai/content/plugins/) | | Missing admin address | Return from a missing admin address to the Dashboard or intended screen. | [Read the Dashboard](https://docs.amadalis.ai/content/dashboard/) | | Recover content from Trash | restore a removed entry as a draft and understand permanent deletion. | [Recover content from Trash](https://docs.amadalis.ai/content/trash-and-recovery/) | | Copy a page or post | make a separate draft and check its shared media and forms. | [Copy a page or post](https://docs.amadalis.ai/content/copy-content/) | | Translate a page and its navigation | prepare the other language and review its menu separately. | [Translate a page and its navigation](https://docs.amadalis.ai/content/translations/) | | Restore an earlier revision | choose a saved version rather than a receipt Undo. | [Restore an earlier revision](https://docs.amadalis.ai/content/revisions/) | ## More in this area These guides cover the other tasks and settings in this area. - [Bylines and author fields](https://docs.amadalis.ai/content/bylines/): Create credited profiles, link them to users and manage the fields stored on each profile. - [Use the content calendar](https://docs.amadalis.ai/content/calendar/): Inspect published entries, scheduled changes and items that need publishing attention. - [Remove and moderate comments](https://docs.amadalis.ai/content/comments/): Review comments, move them to Trash or delete them permanently as an Admin. - [Content types and relations](https://docs.amadalis.ai/content/content-types/): Define a collection, its fields and the relationships between collections. - [Read the Dashboard](https://docs.amadalis.ai/content/dashboard/): Find content counts, recent activity and publishing warnings in EmDash’s Dashboard. - [Import and site transfer](https://docs.amadalis.ai/content/imports-and-transfer/): Distinguish EmDash’s importer and transfer files from the Praxis migration workspace. - [Plugins and plugin settings](https://docs.amadalis.ai/content/plugins/): Inspect installed EmDash plugins and read the hosted limits on changing them. - [Reuse a section on another page](https://docs.amadalis.ai/content/reusable-sections/): Save content in EmDash’s Sections library and insert a copy in another record’s rich text editor. - [EmDash site settings](https://docs.amadalis.ai/content/site-settings/): Find EmDash settings and check why a backup of drafts and published posts cannot be downloaded on hosted Praxis. - [Widgets and widget areas](https://docs.amadalis.ai/content/widgets/): Add content to a named widget area, arrange its widgets and understand where it can appear. ## Your next step Choose one task above and follow its guide. To add or edit your first content, begin with [manage pages and media](https://docs.amadalis.ai/content/pages-posts-and-media/). Check the saved or published result before moving to another task. Source: https://docs.amadalis.ai/content/pages-posts-and-media/ # Pages, posts and media Checked against the product’s code on 7 November 2026. Learn how to write a page or blog article, schedule a [draft](https://docs.amadalis.ai/reference/glossary/#draft) and upload a picture through **Pages**, **Posts** and **Media** in the site admin. These are EmDash’s own content screens. EmDash provides the **Pages**, **Posts** and **Media** screens. Open **Media** from the sidebar to reach **Media Library**. Praxis connects page and post creation to the [Composer](https://docs.amadalis.ai/reference/glossary/#composer). ## Create a page or post [![EmDash Pages screen listing published demo-store pages with search, filters and Add New.](https://docs.amadalis.ai/images/owners/menu-content-pages.png)](https://docs.amadalis.ai/images/owners/menu-content-pages.png) EmDash’s Pages list. The page creation action is separate from publishing a page. [Open full size](https://docs.amadalis.ai/images/owners/menu-content-pages.png). 1. Open **Pages** or **Posts** in the admin sidebar. [![EmDash Posts list with No posts yet and Add New.](https://docs.amadalis.ai/images/steps/S054-posts-list-add-new.png)](https://docs.amadalis.ai/images/steps/S054-posts-list-add-new.png "Open full-size image") Add New starts a post. 2. Choose **Add New**. Praxis opens **New page** or **New post** in the Composer. 3. Enter the **Title**. 4. Choose a **[Page type](https://docs.amadalis.ai/reference/glossary/#page-type)** or **[Post type](https://docs.amadalis.ai/reference/glossary/#post-type)** from the gallery. [![New post dialog with Title Docs Walk Post and the Blog post type selected, and Create draft.](https://docs.amadalis.ai/images/steps/S054-posts-new-post-dialog.png)](https://docs.amadalis.ai/images/steps/S054-posts-new-post-dialog.png "Open full-size image") A post starts from a post type. 5. Choose **Create draft**. The new content opens in the Composer. [![The post's draft in the Composer with its Hero selected and the receipt Removed Rich text with Undo.](https://docs.amadalis.ai/images/steps/S054-posts-composer-post-draft.png)](https://docs.amadalis.ai/images/steps/S054-posts-composer-post-draft.png "Open full-size image") The post opens in the Composer as a draft. 6. Replace the starter text. 7. Replace the pictures. 8. Check links. 9. Review the preview. 10. Follow [the Composer’s publish procedure](https://docs.amadalis.ai/composer/composer/#review-and-publish) when the content is ready. The new item is a draft. Creating it does not put it on the public site. When you edit content that is already published, visitors keep seeing its published version until you publish the changes. If an existing item opens in EmDash’s content editor and says it is built in the Composer, follow its link to edit the content there. EmDash’s editor cannot save that Composer content. Its publication scheduling controls are a separate action. To schedule a post after creating its draft in **Composer**: 1. Return to **Posts** in the admin sidebar. 2. Open the post by its title. 3. In EmDash’s editor, find the **Publish** panel. 4. Choose **Schedule**, or **Change schedule** if a date is already recorded. If that panel is hidden on a narrow screen, use the calendar icon for **Schedule** in the editor’s top bar. 5. Set the future date. 6. Set the time. 7. Check the time zone shown. 8. Confirm the schedule. The stored schedule appears in **Publish**, where **Remove schedule** cancels it. Before a page or post can be scheduled, it faces the publish check. A section still waiting for your facts, a note left in a visible field or a button with words but no link can make the schedule refuse. Read the reason, fix the page and schedule it again. A copilot request is checked before its approval card and again when you approve. Publication is checked again when the scheduled time arrives. If the check refuses, a draft stays unpublished and its schedule is removed. A live page keeps its published version; its scheduled changes stay in draft and come off the schedule. Composer shows the reason beside the page’s state in the page list and below the open page’s top bar. An Admin can read a recorded refusal under **Scheduled publishing** in **Activity**. If the check cannot finish, publication waits with its schedule in place, and the next run checks again. For a page showing chosen **Services**, the check uses the access of the person who approved the schedule. A missing approval record or that person losing access can make it refuse. Read the reason before publishing it yourself or setting another schedule. Use the post’s scheduling controls in EmDash’s editor to choose a future date, time and time zone, then check the stored scheduled state. In an earlier supplied demo-store walk the copilot refused to schedule the post, while EmDash’s editor recorded its schedule. The schedule was removed before it became due, so that walk did not test eventual publication. [![Schedule publication dialog: January 2027 with the 15th chosen, time 09:00 PM and the time zone America/New\_York (EST).](https://docs.amadalis.ai/images/steps/S054-posts-schedule-publication-dialog.png)](https://docs.amadalis.ai/images/steps/S054-posts-schedule-publication-dialog.png "Open full-size image") Choose the date, time and zone. [![The post's Publish box: First publication, Scheduled for Jan 15, 2027, 9:00 PM (EST), with Change schedule and Remove schedule.](https://docs.amadalis.ai/images/steps/S054-posts-scheduled-first-publication.png)](https://docs.amadalis.ai/images/steps/S054-posts-scheduled-first-publication.png "Open full-size image") A scheduled post shows its planned publication time. ## Return published content to draft 1. Open **Copilot** in the site admin. 2. Ask it to take the post or page offline. Identify it by its title and public link. 3. Read **Take this page offline?** and check the named item. 4. Choose **Take it offline**, or **Keep it live** to cancel. Its content stays as a draft. The public link stops working until you publish it again, which requires a new approval. ## Upload a picture or file 1. Open **Media**. This is EmDash’s library for images, videos and documents. 2. Choose the upload control. On the local library it reads **Upload Files**; a narrow screen may shorten it to **Upload**. 3. Select your files and wait for their uploads to finish. [![Upload to Library dialog with the test picture marked Complete, 94.9 KB, and 1 of 1 complete.](https://docs.amadalis.ai/images/steps/S055-media-upload-dialog-complete.png)](https://docs.amadalis.ai/images/steps/S055-media-upload-dialog-complete.png "Open full-size image") Files upload as soon as you add them. 4. Open an image in the library. 5. Fill in **Alt Text** with a description of what the image conveys. 6. Add a **Caption** if needed. 7. Choose **Save** to save the changed details. [![Media details for the test picture: location Docs Walk Media, Alt Text and Caption filled, with Delete, Replace image and Save.](https://docs.amadalis.ai/images/steps/S055-media-alt-text-and-caption.png)](https://docs.amadalis.ai/images/steps/S055-media-alt-text-and-caption.png "Open full-size image") Give each picture its description and caption. You can organise the library into folders. To create a folder: 1. Choose **Add new folder**. On a narrow screen the control reads **New folder**. 2. Fill in **Name**. 3. Choose **Create**. To move a file: 1. Open its details in **Media**. 2. Choose the destination folder under **Location**. 3. Choose **Save**. [![Media details for the test picture with the Location menu open: Docs Walk P4 Media A ticked as the current folder and Docs Walk P4 Media B highlighted.](https://docs.amadalis.ai/images/steps/S055-media-move-to-folder-control.png)](https://docs.amadalis.ai/images/steps/S055-media-move-to-folder-control.png "Open full-size image") To move a file, choose another folder under Location, then Save. [![Media Library opened at Docs Walk P4 Media B (breadcrumb Media Library, Docs Walk P4 Media B), holding the one test picture.](https://docs.amadalis.ai/images/steps/S055-media-moved-into-folder-b.png)](https://docs.amadalis.ai/images/steps/S055-media-moved-into-folder-b.png "Open full-size image") The file now sits in the destination folder. The media library also has image cropping and focal point controls. A focal point chooses what should stay visible when an image is cropped. Review which file you are changing before replacing an original. To crop a picture without overwriting the original: 1. Open the image in **Media**. 2. Choose **Crop**. 3. Adjust the crop. 4. Choose **Create cropped copy**. **Replace original** is the separate action that changes the existing image. [![Edit image, Crop: aspect ratio Square (1:1), output 1000 by 1000, a square crop box over the picture, and Create cropped copy.](https://docs.amadalis.ai/images/steps/S055-media-crop-square.png)](https://docs.amadalis.ai/images/steps/S055-media-crop-square.png "Open full-size image") Crop makes a copy and keeps the original. [![The Docs Walk Media folder with the original and its square copy, and Cropped copy created.](https://docs.amadalis.ai/images/steps/S055-media-cropped-copy-in-folder.png)](https://docs.amadalis.ai/images/steps/S055-media-cropped-copy-in-folder.png "Open full-size image") The copy sits beside the original. [![Edit image, Focal point: the point moved onto the circle, with Portrait, Square and Landscape previews.](https://docs.amadalis.ai/images/steps/S055-media-focal-point.png)](https://docs.amadalis.ai/images/steps/S055-media-focal-point.png "Open full-size image") The focal point decides what stays in view when a picture is cropped. ## Use media on a page 1. Open the page or post in the Composer. 2. Select the section. 3. Use its image field to pick the uploaded image. 4. Apply the section changes. 5. Check the preview. 6. Publish when ready. [![Select Featured Image chooser opened on Main library, Docs Walk Media, with the test picture selected and Select.](https://docs.amadalis.ai/images/steps/S056-media-chooser-docs-walk-folder.png)](https://docs.amadalis.ai/images/steps/S056-media-chooser-docs-walk-folder.png "Open full-size image") Choose a picture from the library. [![The Composer's Choose Media URL panel for the Hero, searched for docs-walk, showing the two test pictures and Choosing saves it to the draft now. Undo takes it back.](https://docs.amadalis.ai/images/steps/S056-media-composer-image-chooser.png)](https://docs.amadalis.ai/images/steps/S056-media-composer-image-chooser.png "Open full-size image") In the Composer, a section's picture is chosen from the same library. [![The post draft's Hero now drawing the test picture under its headline, with Undo.](https://docs.amadalis.ai/images/steps/S056-media-image-used-on-draft.png)](https://docs.amadalis.ai/images/steps/S056-media-image-used-on-draft.png "Open full-size image") The picture used on a draft. The post’s Hero now shows the chosen picture beneath its headline, with Undo offered for that draft change. The **Used in** list is intended to help identify media references. In the supplied demo-store walk it listed no usage while the picture was visible in a post draft, and the delete card did not name that draft. An empty usage list is not proof that a picture is unused, especially while indexing is in progress. Check drafts and published content before confirming a permanent deletion. [![Delete media? confirmation for the test picture, warning that deletion is permanent and cannot be undone, that content using the file may show a broken reference, with Cancel and Delete.](https://docs.amadalis.ai/images/steps/S056-media-delete-confirmation.png)](https://docs.amadalis.ai/images/steps/S056-media-delete-confirmation.png "Open full-size image") Deleting a picture asks first and cannot be undone. ## Group content with categories and tags Use **Site** > **[Taxonomies](https://docs.amadalis.ai/reference/glossary/#taxonomy)** for Categories, Tags and your own groupings. This workspace manages the site’s native EmDash taxonomies. 1. Choose **New taxonomy**. 2. Enter its **Name**, such as Topics. 3. Under **Applies to**, select the content types that should offer it. 4. Choose **Shape**: **Flat** keeps values as peers; **Nested** allows a value to sit under another. 5. Review the proposed **Key** and the singular word under **One of them is called**. Use **Change** beside either if needed. The key is fixed after creation. [![New taxonomy: Name Docs Walk Topics, Applies to Posts, Shape Flat, key docs\_walk\_topics, one of them is called Docs Walk Topic, and Continue.](https://docs.amadalis.ai/images/steps/S100-taxonomies-new-taxonomy-form.png)](https://docs.amadalis.ai/images/steps/S100-taxonomies-new-taxonomy-form.png "Open full-size image") Name it, choose what it applies to and its shape. 6. Choose **Continue**. 7. Read the proposed change. 8. Confirm the action named on its approval card. [![Create the taxonomy Docs Walk Topics? What will change, why it asks first, and that this one cannot be undone from here, with Don't create it and Create the taxonomy.](https://docs.amadalis.ai/images/steps/S100-taxonomies-create-approval-card.png)](https://docs.amadalis.ai/images/steps/S100-taxonomies-create-approval-card.png "Open full-size image") Creating a taxonomy asks first. 9. Open the new grouping. 10. Use its add-value control. Its words follow the singular name you chose. 11. Review the proposed addition. 12. Apply it only when it is right. [![Add Docs Walk Alpha to Docs Walk Topics? It files no content, and you can undo it, with Cancel and Apply.](https://docs.amadalis.ai/images/steps/S100-taxonomies-add-value-card.png)](https://docs.amadalis.ai/images/steps/S100-taxonomies-add-value-card.png "Open full-size image") Each value is added with its own approval. [![Docs Walk Topics with two values, Docs Walk Alpha and Docs Walk Beta, and the receipt Added the value Docs Walk Beta with Undo.](https://docs.amadalis.ai/images/steps/S100-taxonomies-two-values-added.png)](https://docs.amadalis.ai/images/steps/S100-taxonomies-two-values-added.png "Open full-size image") The values offered by this taxonomy. Docs Walk Alpha and Docs Walk Beta are now values of Docs Walk Topics, and adding Beta has its own Undo. A value’s actions include **Rename**, **Move up** and **Move down**. Review changes before applying them. A nested grouping can place one value under another. The list also shows whether the content catalog can use that grouping for personalization. Continue with [the content catalog](https://docs.amadalis.ai/optimization/affinity-engine/#build-the-content-catalog) when your content is ready. [![Move Docs Walk Beta up? It orders the values Docs Walk Beta then Docs Walk Alpha, renames and removes nothing, with Keep the current order and Save the order.](https://docs.amadalis.ai/images/steps/S100-taxonomies-reorder-card.png)](https://docs.amadalis.ai/images/steps/S100-taxonomies-reorder-card.png "Open full-size image") Reordering asks first, and can be undone. [![Receipt Reordered the values in docs\_walk\_topics: Docs Walk Beta, Docs Walk Alpha, with Undo; Beta is now listed first.](https://docs.amadalis.ai/images/steps/S100-taxonomies-reordered-receipt-with-undo.png)](https://docs.amadalis.ai/images/steps/S100-taxonomies-reordered-receipt-with-undo.png "Open full-size image") The new order, with Undo. ## Your next step Use [Menus](https://docs.amadalis.ai/site/menus/) to add a published page to navigation, or [Redirects and 404s](https://docs.amadalis.ai/site/redirects-and-404s/) when replacing an old address. Source: https://docs.amadalis.ai/content/plugins/ # Plugins and plugin settings In the site admin, open **[Plugins](https://docs.amadalis.ai/reference/glossary/#plugin)** to inspect installed plugins and the actions your role can take. Checked against the product’s code on 7 November 2026. **Plugins** is EmDash’s installed plugin manager. Hosted Praxis has no plugin installation or update source. Choosing a Praxis theme is separate from managing plugins. Only an Admin can change plugins on the screen. The copilot offers its plugin requests only to Admins. The copilot cannot install or update plugins. The supplied plugins are the platform’s own, so it refuses to switch them off or remove them. It pauses for approval before switching one on or changing its non-secret settings. Switching a platform plugin on offers no Undo. It will not change a setting the plugin marks as private. Ask “Which plugins are on?” to check their current state. ## Inspect an installed plugin 1. Open **Plugins**. 2. Expand the intended plugin. 3. Inspect its source, version, the features it provides, pages and widgets. 4. Use the settings icon on its row to open its own configuration when it has one. Enter secret settings only in their trusted screen fields. A stored secret can be shown as already set without revealing its value. Use the offered clear or replacement action rather than putting a secret into chat. ## Enable or update These are EmDash’s own screen controls, separate from the copilot requests above. Disabling stops the plugin’s behavior while retaining its stored data. Pages or features that depend on it can change. 1. Find the intended plugin. 2. Use its enable or disable control. 3. Check its resulting state. **Check for updates** needs an update source. Hosted Praxis has none, so it does not provide an update path. **Copilot receipts.** If a change to a site extension, called a plugin, saves but the copilot cannot check the result, its receipt says so. Check **Plugins** before repeating the change, and use **Undo** only when offered. If Undo cannot read the current value, it changes nothing and asks you to try again. If it saves the reversal but cannot read it back, its reply says so. ## Remove a plugin The supplied platform plugins have no **Uninstall** control. EmDash shows it for marketplace or registry plugins; hosted Praxis has neither source. In an **Uninstall** dialog, **Also delete plugin storage data** permanently deletes that data. Leaving it off retains the data, but the plugin stops running. An uninstall has no automatic Undo. Registry and marketplace detail screens describe a particular plugin before installation. A registered theme marketplace route is separate from [Praxis Theme Studio](https://docs.amadalis.ai/composer/themes-and-tokens/); its presence does not make a marketplace theme a Praxis theme recipe. ## Your next step Review [EmDash site settings](https://docs.amadalis.ai/content/site-settings/) for configuration affected by an installed plugin before using it on a public page. Source: https://docs.amadalis.ai/content/reusable-sections/ # Reuse a section on another page To reuse content outside Composer, save it in EmDash’s **Sections** library in the site admin. Insert it with **Insert Section** in an EmDash content editor that offers a [rich text](https://docs.amadalis.ai/reference/glossary/#rich-text) field. The inserted content is a copy; later library edits do not update pages that already use it. Checked against the product’s code on 7 November 2026. **Sections** is EmDash’s library of reusable content. A library entry is different from a [section type](https://docs.amadalis.ai/reference/glossary/#section-type) in **Site** > **Catalogs**. A type defines the available fields; an entry holds content you want to reuse. ## Create an entry 1. Open **Sections**. 2. Choose **New section**. 3. Fill in **Title**. 4. Review the proposed **[Slug](https://docs.amadalis.ai/reference/glossary/#slug)**, its stable identifying name. 5. Add a **Description** if needed. 6. Choose **Create section**. 7. Add the entry’s **Content** in its editor. 8. Review **Section Details**, including its keywords. 9. Save the changes. 10. Check the saved entry before inserting it elsewhere. The list supports search and a source filter. Use **Copy slug** in an entry’s more actions menu when you need to identify it. Opening **Edit** brings back its content and details. ## Understand copies Saving a library entry does not publish a page. The copilot can create, read, update and delete library entries built from the site’s section types. It does not insert an entry into a page. Use an EmDash editor for a collection outside Composer. EmDash’s editor cannot save pages and posts managed by Composer. In a supported collection: 1. Open the record’s collection in the site admin. 2. Open the record. 3. In a rich text field, type `/` at the start of a line outside a table. 4. Choose **Section** to open **Insert Section**. 5. Choose the library entry there. 6. Review the inserted copy in the record’s draft. Future insertions use the saved entry. Editing or deleting the library entry does not change copies already placed on pages. Review each page’s draft before publishing its inserted copy. For field definitions and examples, use [the section reference](https://docs.amadalis.ai/reference/sections/). ## Theme entries and deletion A theme supplied entry is protected from deletion. Editing it creates a custom copy used in place of the theme version. Read the editor’s source explanation before saving. Deleting a custom entry permanently removes it from the library. Existing page copies remain. The copilot saves a new library entry without pausing, because an entry changes no page; Undo removes it while it is unchanged. Editing an entry also needs no approval card, because existing page copies stay unchanged. Deleting an entry still pauses for approval. Undo of an update puts the earlier entry back only if nobody edited it since. Deleting an entry cannot be undone. ## Your next step Use [Formatting and shared content](https://docs.amadalis.ai/composer/formatting-and-shared-content/) to review how reused content fits the page you are editing. Source: https://docs.amadalis.ai/content/revisions/ # Restore an earlier revision Restore a saved revision to get an old version of a page back as the draft. Use a [revision](https://docs.amadalis.ai/reference/glossary/#revision) in EmDash’s own **Pages** or **Posts** screens in the site admin to get an earlier saved draft back. An Author can restore their own entries; an Editor or Admin can restore other entries too. This is different from a receipt’s **Undo**, which reverses the change covered by that receipt. Checked against the product’s code on 7 November 2026. ## Choose a saved version For a page open in **Composer**: 1. Choose **History** beside **Layout**. **Saved versions** lists the versions, newest first, with when, who and what changed. 2. Select the earlier version you need. 3. Choose **Restore this version**. Read the approval card and the schedule it would cancel. 4. Choose **Restore it** only for the intended version. It becomes the draft; the published page is unchanged. The receipt’s **Undo**, when offered, puts back the preceding draft. It can bring back the cancelled schedule while its time is still ahead. A later draft change or an entry held by someone else can prevent Undo. For EmDash’s content editor: 1. Open **Pages** or **Posts** in the site admin. You see that collection’s entries. 2. Open the entry by its title. EmDash’s content editor shows its settings, even when its content is edited in Composer. 3. If you have edits open in Composer, apply the ones you want to keep before continuing. Use **Save** here only for content edited in EmDash. 4. Open **Revisions** in the entry’s settings. The saved versions appear; **No versions yet** means there is no saved history to choose from. 5. Select the version you need. Its saved content opens for inspection. 6. Use **Older version** or **Newer version** if you need to inspect a neighbour. The selected version changes without restoring it. [![Revisions shows an earlier saved version selected, with Restore available.](https://docs.amadalis.ai/images/steps/2026-11-05-coverage-and-stale/COV1-05-revision-selected-1440.png)](https://docs.amadalis.ai/images/steps/2026-11-05-coverage-and-stale/COV1-05-revision-selected-1440.png "Open full-size image") Inspect a saved version before restoring it. [![At phone width, an earlier saved version is selected, with Restore available.](https://docs.amadalis.ai/images/steps/2026-11-05-coverage-and-stale/COV1-05-revision-selected-390.png)](https://docs.amadalis.ai/images/steps/2026-11-05-coverage-and-stale/COV1-05-revision-selected-390.png "Open full-size image") Inspect a saved version before restoring it. **Show changes** compares the selected saved version with its preceding version. **Back to editing** leaves the history view without restoring anything. If the versions could not load, **Try again** repeats that read. ## Compare the saved draft with the published content Use this read before publishing saved changes to a page or post. You need access to drafts. It compares the current saved content with the published content; **Show changes** above compares neighbouring versions in history. 1. Save the changes you want included. Unsaved typing is not part of the comparison. 2. Open **Copilot**. 3. Ask “Compare the saved draft and published content of \[page or post title\]. Do not change it.” 4. Choose **Send**. The result returns both stored versions and whether there is a separate saved draft. An item that has never been published has no published version. 5. Read the two versions before deciding what to publish. This read does not restore, discard or publish anything, so it needs no approval card or Undo. Use [Composer preview](https://docs.amadalis.ai/composer/composer/#review-and-publish) to inspect the page’s appearance too. See [Compare a content item’s draft and published version](https://docs.amadalis.ai/reference/copilot/content-and-media/#content-and-its-catalog). ## Restore the draft For pages and posts built in Composer, recovering earlier writing stages a draft and leaves the published version alone. Restoring cancels the existing publication schedule. A page due to go out on Friday needs a new approved schedule. Unsaved changes are lost. The dialog or success message may still mention the old scheduled time. Check **Publish** after restoring. Other EmDash collections can keep their schedule. 1. Choose **Restore** on the selected version. The dialog asks **Restore this version?** 2. Read the dialog’s warning about the draft and any schedule. Choose **Cancel** if this is not the version you want. 3. Confirm **Restore**. **Version restored** confirms that the selected version is now the draft. 4. Review the restored draft. The live site keeps its published version until you publish again. [![Restore this version? says the chosen version becomes the draft, with Restore and Cancel; no schedule warning is shown.](https://docs.amadalis.ai/images/steps/2026-11-05-coverage-and-stale/COV1-06-restore-dialog-unscheduled-1440.png)](https://docs.amadalis.ai/images/steps/2026-11-05-coverage-and-stale/COV1-06-restore-dialog-unscheduled-1440.png "Open full-size image") Restoring replaces the draft. [![At phone width, Restore this version? says the chosen version becomes the draft, with Restore and Cancel; no schedule warning is shown.](https://docs.amadalis.ai/images/steps/2026-11-05-coverage-and-stale/COV1-06-restore-dialog-unscheduled-390.png)](https://docs.amadalis.ai/images/steps/2026-11-05-coverage-and-stale/COV1-06-restore-dialog-unscheduled-390.png "Open full-size image") Restoring replaces the draft. ## Ask the copilot 1. Open **Copilot**. The conversation is ready for your request. 2. Type a request to list the saved revisions of the entry. Name the page or post you want to recover. 3. Choose **Send**. The history is returned newest first. 4. Ask it to restore the specific saved version you chose from that history. The request identifies that version rather than guessing from a receipt time. 5. Choose **Send**. The card asks **Restore this earlier version?** 6. Review the replacement and schedule before approving. **Keep the current draft** cancels the request. 7. Choose **Restore it**. Read the result, then review the restored draft. An eligible copilot restore now offers **Undo** on its receipt, with the same draft and schedule limits as Composer **History**. See [Revisions](https://docs.amadalis.ai/reference/copilot/pages-and-sections/#revisions). ## Recover after a restore Use **Undo** on a Composer or copilot restore receipt when offered. EmDash’s own restore dialog does not provide that receipt. Saved revision history remains available, so you can inspect and restore another saved version. It does not recover work you never saved. For a recent Composer change with a receipt, use [Composer Undo](https://docs.amadalis.ai/composer/composer/) when that receipt covers the result you need. ## Your next step Review the restored draft and any publication schedule before leaving it. Use [Pages, posts and media](https://docs.amadalis.ai/content/pages-posts-and-media/#create-a-page-or-post) to review the scheduling controls, or [Review and publish](https://docs.amadalis.ai/composer/composer/#review-and-publish) if you choose to publish it now. Source: https://docs.amadalis.ai/content/site-settings/ # EmDash site settings Open **Settings** in the site admin to review EmDash’s shared site identity, social, email and maintenance settings. Checked against the product’s code on 7 November 2026. **Settings** contains EmDash’s own configuration screens. Praxis also has account settings and **Site** workspaces. Choose the screen that owns the change. ## General and social 1. Open **Settings**. 2. Choose **General** to open **General Settings**. 3. Change the intended field. 4. Save the change. 5. Review the result. The screen holds **Site Title**, **Tagline**, logo, favicon and reading preferences such as **Posts Per Page**, **Date Format** and **[Timezone](https://docs.amadalis.ai/reference/glossary/#timezone)**. EmDash’s **Change domain** updates its recorded Site URL, used by EmDash’s own links. It does not connect a domain. Connect and manage a hosted site’s domains in [your account](https://docs.amadalis.ai/account/your-account-and-domains/). EmDash’s **Continue on** sign in handover and **Email users** are refused on Praxis sites: sign in from your account. **Social Links** stores the site’s social profile details. These are separate from a page’s sharing title, description and image. Use [SEO](https://docs.amadalis.ai/site/seo/) for page details used by search and sharing, and the site defaults. ## Native SEO settings In the site admin, open **Settings** > **SEO** for EmDash’s native settings. This is separate from **Site** > **SEO** in Praxis. The native screen offers **Title Separator**, **Default Social Image**, **Google Verification** and **Bing Verification**, alongside its robots settings. A verification value supplies a tag; it is not proof that the outside service accepted the site. When a Praxis crawler policy is present, that policy supplies [robots.txt](https://docs.amadalis.ai/reference/glossary/#robotstxt) instead of the native text box. Review crawler access through the Site SEO and Readiness workflows before assuming a native robots edit changed the public response. ## Email **Email Settings** shows EmDash’s email provider status. 1. Open **Settings**. 2. Choose **Email**. 3. Read the provider status. 4. Enter the intended test recipient. 5. Choose **Send Test** to attempt a message. 6. Read the result on screen. 7. Check the actual mailbox. Forms, shopper accounts and order messages have their own delivery configuration. A provider shown in this screen alone does not prove that every kind of site email can be sent. ## Backups Only an Admin can manage backups. 1. Open **Settings** in the site admin. 2. Open **Backups**. The **Backups** screen describes a content archive with drafts and published posts, Trash, media details and site settings, excluding user accounts and secrets. You cannot currently create or download that backup on the hosted site’s database. Where the backup generator and storage support it, **Back up now** and **Daily automatic backups** store copies, and **[Backups to keep](https://docs.amadalis.ai/reference/glossary/#backups-to-keep)** sets how many. These controls do not enable the unavailable hosted generator. When the limit is reached, each new copy permanently deletes the oldest one, and lowering the number deletes the oldest copies at the next backup. Deleting a stored backup yourself is also permanent. These content archives are different from a database restore. To restore the site, ask Amadalis support: Amadalis staff restore your site’s database from one of its verified backups, and the site is suspended while the restore runs. The **Point-in-Time Restore** note on this screen describes EmDash sites using Cloudflare D1 database storage. ## Media usage tracking An Admin can review and set up media usage tracking. 1. Open **Settings** in the site admin. 2. Open **Media usage tracking**. 3. Read its current setup and indexing state. If **Enable tracking** or **Retry setup** is offered, prepare before confirming: 1. Finish edits. 2. Pause other content writers. 3. Let running updates finish. The confirmation says tracking cannot be turned off. Keep the page open until setup finishes. Follow **Needs attention** or an indexing error before relying on the reference index to be complete. For roles, read [Your team](https://docs.amadalis.ai/account/your-team/). For signup domains, personal tokens and passkeys, use [Native site access settings](https://docs.amadalis.ai/account/site-access-and-settings/). For export and import boundaries, use [Import and site transfer](https://docs.amadalis.ai/content/imports-and-transfer/). Source: https://docs.amadalis.ai/content/translations/ # Translate a page and its navigation Make a draft page translation between English and Spanish with **Copilot** in the site admin. An Editor or Admin can follow the page and navigation workflow below. A page translation and a menu translation are separate changes. Checked against the product’s code on 7 November 2026. ## Create the page translation 1. Open **Copilot** in the site admin. The conversation is ready for your request. 2. Type “Translate \[page title\] into Spanish as a draft”, replacing the brackets with the real title. For a Spanish source, ask for English instead. 3. Choose **Send**. The copilot creates a linked draft and returns its preview. No approval is needed to create that draft. 4. Open the returned preview. Review the translated headings, paragraphs and picture descriptions. 5. Check the links. Translation keeps their existing destinations, so a link can still lead to the source language. 6. Check any preserved HTML. Those blocks are copied without translation and need your review. 7. Follow [Review and publish](https://docs.amadalis.ai/composer/composer/#review-and-publish) when the translated draft is ready. Publishing is a separate decision. [![The returned Spanish draft is open in its preview for review.](https://docs.amadalis.ai/images/steps/2026-11-05-coverage-and-stale/COV1-03-translated-draft-preview-1440.png)](https://docs.amadalis.ai/images/steps/2026-11-05-coverage-and-stale/COV1-03-translated-draft-preview-1440.png "Open full-size image") Open the returned preview to read the translated draft. [![At phone width, the returned Spanish draft is open in its preview for review.](https://docs.amadalis.ai/images/steps/2026-11-05-coverage-and-stale/COV1-03-translated-draft-preview-390.png)](https://docs.amadalis.ai/images/steps/2026-11-05-coverage-and-stale/COV1-03-translated-draft-preview-390.png "Open full-size image") Open the returned preview to read the translated draft. [![Copilot returns a Spanish draft and a link to its preview.](https://docs.amadalis.ai/images/steps/2026-11-05-coverage-and-stale/COV1-03-translation-result-1440.png)](https://docs.amadalis.ai/images/steps/2026-11-05-coverage-and-stale/COV1-03-translation-result-1440.png "Open full-size image") A page translation starts as a linked draft for review. If a translation already exists, the request names it and refuses to overwrite it. Edit that entry instead. If translation is not configured on the site, the request is refused rather than creating a translated page. If a translated picture description exceeds 500 characters, the draft keeps its original words and the result asks you to review it. It is not shortened silently. ## Prepare its navigation A menu translation clones the source menu’s current items. It does not translate every label or replace every destination for you. Creating it can affect navigation for that language immediately, so review the approval before continuing. 1. Ask **Copilot** to show the menu you want to translate and its current items. You can check its name, language, labels and links. 2. Ask “Create a Spanish translation of the English menu \[menu name\]”, using the real menu name. Reverse the languages for a Spanish source. 3. Choose **Send**. The card asks **Create this menu translation?** 4. Review the source and target language. The card describes the cloned items and the possible immediate change to navigation. 5. Choose **Create translation** only if that change is right. The receipt names the saved menu translation. 6. Follow [Change a menu](https://docs.amadalis.ai/site/menus/) to review its labels and destinations in the target language. Review each further public change before publishing it. [![Create this menu translation? is open with Create translation and Don't create it; the translation has not been approved.](https://docs.amadalis.ai/images/steps/2026-11-05-coverage-and-stale/COV1-04-menu-translation-approval-1440.png)](https://docs.amadalis.ai/images/steps/2026-11-05-coverage-and-stale/COV1-04-menu-translation-approval-1440.png "Open full-size image") A menu translation needs approval and can affect navigation immediately. ## Other content and credited authors For other content collections, asking for a translation starts a draft copy of the fields. It does not automatically translate all their words. A translated byline is a separate approved change. Supply the translated biography if you need one; an omitted biography is blank, and the new byline is not linked to a user account. Translating a taxonomy value also needs approval. It does not assign that value to content or translate its prose automatically. ## Reverse a translation Page translation has no automatic Undo. Move an unwanted translated draft to [Trash](https://docs.amadalis.ai/content/trash-and-recovery/) rather than removing its source. The menu, byline and taxonomy translation receipts can offer **Undo** while the new sibling and its covered state are unchanged. For a menu, Undo removes only the new language sibling while the source remains. See [Page translation](https://docs.amadalis.ai/reference/copilot/pages-and-sections/#pages), [Site menus](https://docs.amadalis.ai/reference/copilot/navigation-and-seo/#site-menus), [Author bylines](https://docs.amadalis.ai/reference/copilot/content-and-media/#author-bylines) and [Taxonomies](https://docs.amadalis.ai/reference/copilot/site-and-settings/#taxonomies) for the matching requests. ## Your next step Review the translated draft and its links before following [Review and publish](https://docs.amadalis.ai/composer/composer/#review-and-publish) for that page. Use [Menus](https://docs.amadalis.ai/site/menus/) for further changes to navigation labels and destinations. Source: https://docs.amadalis.ai/content/trash-and-recovery/ # Recover content from Trash Recover a page or post from [Trash](https://docs.amadalis.ai/reference/glossary/#trash) in EmDash’s own **Pages** or **Posts** screens in the site admin. An Author can recover their own entries; an Editor or Admin can recover other entries too. Permanent deletion needs an Admin. Checked against the product’s code on 7 November 2026. ## Find and restore an entry 1. Open **Pages** or **Posts** in EmDash’s own content screens in the site admin. You see that collection’s entries. 2. Choose **Trash**. The list now shows its removed entries. 3. Open the actions menu for the entry you want. It offers **Restore** and **Delete permanently**. 4. Choose **Restore**. The entry leaves Trash. 5. Choose **All**. The restored entry is back as a [draft](https://docs.amadalis.ai/reference/glossary/#draft). 6. Open its title. Review the restored content before putting it back on the site. [![Pages is on Trash, with the selected entry's actions menu showing Restore and Delete permanently.](https://docs.amadalis.ai/images/steps/2026-11-05-coverage-and-stale/COV1-01-trash-row-actions-1440.png)](https://docs.amadalis.ai/images/steps/2026-11-05-coverage-and-stale/COV1-01-trash-row-actions-1440.png "Open full-size image") Restore brings the selected entry out of Trash. [![At phone width, Pages is on Trash, with the selected entry's actions menu showing Restore and Delete permanently.](https://docs.amadalis.ai/images/steps/2026-11-05-coverage-and-stale/COV1-01-trash-row-actions-390.png)](https://docs.amadalis.ai/images/steps/2026-11-05-coverage-and-stale/COV1-01-trash-row-actions-390.png "Open full-size image") Restore brings the selected entry out of Trash. Restoring does not publish the entry. It also clears its old publication schedule, even if the entry was live or scheduled before it was removed. Follow [Review and publish](https://docs.amadalis.ai/composer/composer/#review-and-publish) when it is ready. Set a new schedule separately if needed. ## Ask the copilot The copilot restore needs an Editor or Admin. 1. Open **Copilot**. The conversation is ready for your request. 2. Type “Show the pages in Trash” or “Show the posts in Trash”. The request names the collection to search. 3. Choose **Send**. Read the returned entries before choosing one. 4. Ask “Restore \[entry title\] from Trash as a draft”, replacing the brackets with the entry you found. 5. Choose **Send**. The card asks **Restore this content from Trash?** 6. Check the entry, then choose **Restore it**. The receipt confirms restoration as a draft with no schedule. The restore receipt’s **Undo** moves the same entry back to Trash. See [Content and its catalog](https://docs.amadalis.ai/reference/copilot/content-and-media/#content-and-its-catalog) for the restore and permanent deletion requests. ## Put it back in Trash In **Composer**, the **Move to trash** control opens a card naming the page and its address. Confirm the move only after reading what happens to a live page. Its receipt’s **Undo** brings the page back as a draft; publish it separately when ready. The screen’s **Restore** action does not produce a copilot Undo receipt. To reverse it: 1. Open the restored entry’s actions menu in **All**. The menu offers **Move to trash**. 2. Choose **Move to trash**. A confirmation opens. 3. Confirm **Move to Trash**. The entry returns to Trash. ## Permanent deletion **Delete permanently** in Trash opens **Delete Permanently?** Nothing is permanently deleted until an Admin confirms **Delete Permanently**. Use **Cancel** to keep the entry. Permanent deletion removes the entry and its SEO data, comments, revision history and usage references. It has no Undo. Recovering from Trash is the reversible choice while you are still deciding. ## Your next step Review the restored draft, then follow [Review and publish](https://docs.amadalis.ai/composer/composer/#review-and-publish). If it needs a new publication time, use the scheduling steps in [Pages, posts and media](https://docs.amadalis.ai/content/pages-posts-and-media/#create-a-page-or-post). Source: https://docs.amadalis.ai/content/widgets/ # Widgets and widget areas In the site admin, open **[Widgets](https://docs.amadalis.ai/reference/glossary/#widget)** to manage widget areas and the items assigned to them. Checked against the product’s code on 7 November 2026. **Widgets** is EmDash’s manager for content placed in named areas, such as a sidebar. A widget area shows on the public site only where the site’s layout displays it by name. On Praxis that is mainly the sidebars and footers of pages moved from WordPress. A new area you create here is not shown anywhere until a layout uses its name. ## Add an area and a widget Changes save at once. Visitors see the change within the hour, usually much sooner. While the site’s server is down, visitors may see the previous version of a page for up to a day. 1. Open **Widgets**. 2. Choose **Add Widget Area**. 3. Give the area a **Name** (lowercase letters, numbers and hyphens only). 4. Give it a **Label** people will read. 5. Add a **Description** if useful. 6. Choose **Create**. 7. Drag a kind from **Available Widgets** into the area. The widget is added at once, named after its kind. 8. Open the widget. 9. Change its **Title**. 10. Fill in its content or settings. 11. Choose **Save**. A content widget contains editable text and blocks. A menu widget chooses an existing **Menu**. A component widget chooses a **Component** made available by the site and its offered settings. The available components depend on the site. ## Change order or remove content Drag a widget by its reorder handle to change its order within the area. To edit it again: 1. Open the widget. 2. Change the intended value. 3. Choose **Save**. Deleting a widget removes it from that area. Deleting the area also deletes all its widgets. Both confirmations describe permanent removal, so review them before accepting. Widget changes have no draft or Publish step. They take effect when saved, though cached pages can take longer to show them. ## Ask the copilot Ask it to list the areas, inspect an area’s widgets or add a supported widget. Writes to [widget areas](https://docs.amadalis.ai/reference/glossary/#widget-area) and widgets pause for approval. Some changes have a checked Undo; deletion has no automatic Undo. Read the exact receipt. ## Your next step Inspect a page whose layout displays the widget area you changed. Use [EmDash site settings](https://docs.amadalis.ai/content/site-settings/) to review the related site configuration. Source: https://docs.amadalis.ai/copilot/activity/ # Read copilot Activity Open **Activity** in the site admin to inspect recorded changes and use an offered Undo. This guide covers the site’s activity, rather than the account Security log. Checked against the product’s code on 7 November 2026. **Activity** records what the copilot proposed, what was approved or refused, what changed and what was undone. It also records edits your team made directly in the admin. It is separate from the account’s Security log. ## Read the record An Admin sees the whole team’s activity on this site. Other roles see only their own. 1. Open **Activity**. 2. Use its filters to narrow the record. 3. Read who acted. 4. Read what they changed. 5. Read its result. 6. Read its time. 7. When the record identifies an item, open it to inspect its current state. A proposal or approval is different from a completed change. **Expired** means a new copilot card ran out of time without an answer. **Not answered** means it was replaced, stopped or refused before an answer. Neither means you declined. Older records can say “declined or ran out of time”. Some cards on other screens expire without adding an Activity row. For new records, direct admin actions, including **Undo**, read **Team member** with the recorded identifier. Chat actions read **Copilot**. Older entries keep their recorded actor. The platform uses **Scheduled publishing** as the actor for records about a scheduled page or post that was refused or is waiting for a check. A refusal removes its schedule. An unfinished check leaves it waiting for the next run. See [publication scheduling](https://docs.amadalis.ai/content/pages-posts-and-media/#create-a-page-or-post) for the page state and next step. An approved change goes ahead even if its Activity record fails to save; the failure is logged on the server. The change keeps its Undo on its receipt. ## Use Undo An entry offers **Undo** only when it can put the earlier state back. Permanent actions have no automatic Undo. A later edit, or an Undo that has expired, can prevent that restoration. 1. Choose **Undo** only when the entry offers it. 2. Read the result. It can leave later edits in place. A refusal may offer another attempt or explain why the earlier action cannot safely be reversed. A failed or partial Undo has not restored everything. The [receipt](https://docs.amadalis.ai/reference/glossary/#receipt) and [Composer session history](https://docs.amadalis.ai/composer/composer/#undo-or-discard-a-change) provide other places to inspect their recorded changes. Deleting a saved conversation is not an Undo. ## Keep a copy Only an Admin can download Activity as a CSV spreadsheet file or a JSON file for software to read, and each download is recorded. A download holds the newest 40 rows that match your filters. 1. Set the filters for the view you want to keep. 2. Use its offered copy or download action. 3. Read the downloaded scope with those filters and the 40-row limit in mind. ## Your next step Open the item named in the result and check its current state. For a page change, continue in [the Composer](https://docs.amadalis.ai/composer/composer/). Source: https://docs.amadalis.ai/copilot/conversations-and-context/ # Conversations, context and files Open **[Copilot](https://docs.amadalis.ai/reference/glossary/#copilot)** in the site admin to continue a conversation or manage its saved conversations. Checked against the product’s code on 7 November 2026. Use a conversation to keep related requests together. The copilot can also open beside the screen or object you are working on. ## Start and organize a conversation If a request is still running, finish or stop it before starting another. To start another conversation, choose **New conversation** in the conversation list. To continue an older one, open it from that list. Opening it restores its saved messages and supported result cards, marked as saved results. It does not replay the changes or guarantee that a past action is still available. Use **Rename** to give a conversation a useful name. **Archive** hides it from the normal list. To bring an archived conversation back: 1. Tick **archived** at the top of the list. 2. Use **Unarchive** on the conversation. **Delete** asks **Delete forever?** before permanent removal. Deleting a conversation does not reverse changes it already made to the site. Use **Copy conversation** or **Download conversation** to keep its readable transcript. A copied transcript is a record of the conversation, not permission to repeat its actions. Share it only with people who should see its contents. ## Give the copilot the right facts 1. On the screen you are working on, choose **Ask the copilot (⌘J)**, or press Cmd+J (Ctrl+J on Windows). 2. State the result you want. Identify any other page or item explicitly. The copilot can use the current screen and selected item as information for the request. A Composer selection can identify “this section”. Each request also reads available saved site facts, including its name, last applied template, live theme, locations and email configuration. A failed facts read is left out. Its instructions follow the actions your role can use. Text read from your pages, browser context or an import is supplied as quoted data, separately from your request. That text cannot grant approval for a change. A long saved conversation does not mean every earlier message is included in the information sent to the [model](https://docs.amadalis.ai/reference/glossary/#ai-model) for the current request. Repeat an important fact when a later request depends on it. The collapsed thinking display shows the model’s reported reasoning; read the resulting action and [receipt](https://docs.amadalis.ai/reference/glossary/#receipt) separately. ## Attach or stop The attachment control accepts images, video, audio and PDF. Choosing a file uploads it for the request; adding it to the media library follows the separate approved media action. Read an upload refusal rather than assuming every file type is accepted. **Stop generating** ends the current response. It does not undo an action already applied. Check its receipt and [recorded activity](https://docs.amadalis.ai/copilot/activity/) before retrying. Enter keys and passwords in their dedicated setup screens, never in chat. **Options** shows the model choice and usage status. When the account’s AI usage check pauses new requests, existing site work keeps working. If AI usage cannot be checked, a limited answer can continue before the copilot asks you to try again in a few minutes. See [account AI settings](https://docs.amadalis.ai/account/your-account-and-domains/#choose-the-copilots-ai-model) for the account controls. Source: https://docs.amadalis.ai/copilot/copilot/ # The copilot Checked against the product’s code on 7 November 2026. Type a request to **[Copilot](https://docs.amadalis.ai/reference/glossary/#copilot)**, the AI assistant in the site admin, to make a page or edit existing content. Review any approval card and cancel it if it is not the change you want. Actions that need approval wait for your decision. Check the result and use **Undo** when the receipt offers it. The copilot cannot publish a page without your approval. The model proposes; the platform authorizes. The copilot works through the site’s permitted actions. A request in chat does not give it extra permissions. ## Ask for a useful result 1. Open **Copilot**, or use **Ask the copilot** from the screen you are working on. 2. Describe the result and give it the facts it needs. The copilot panel can use the current screen or selected item to understand your request. For example: > Create an About page for our pottery studio. We run beginner classes on Saturdays. Use a heading, a short introduction and a button to our Classes page. Ask me if you need more details. A vague request can lead to a question or a set of choices. You can ask **What can you do?** to get an answer based on the capabilities available to your site and role. For a page, review the [draft](https://docs.amadalis.ai/reference/glossary/#draft) it creates. Check the words, images and links before publishing. Continue in the same conversation to ask for a smaller change, such as making that page’s introduction shorter. In an earlier supplied demo-store walk, the copilot refused to schedule a post; the demonstrated route used the post’s scheduling controls in EmDash’s editor. A page or post now faces the publish check before its schedule is saved and again when publication is due. See [Pages, posts and media](https://docs.amadalis.ai/content/pages-posts-and-media/#create-a-page-or-post) for the steps, refusal and retry outcomes. [![Copilot asks what kind of page to create after the request make a new page, with page-type choices.](https://docs.amadalis.ai/images/owners/platform-copilot-show-picker-card-make-a-new-page.png)](https://docs.amadalis.ai/images/owners/platform-copilot-show-picker-card-make-a-new-page.png) The copilot asks which kind of page you want before creating the draft. [Open full size](https://docs.amadalis.ai/images/owners/platform-copilot-show-picker-card-make-a-new-page.png). ## Read the approval card When a change needs approval, the copilot pauses and shows a [card](https://docs.amadalis.ai/reference/glossary/#approval-card). Read: - What it will change and which page or item it affects. - What visitors or other people will see afterwards. - Whether the card promises a way to undo it. - The action named on the confirmation button. Choose that action only when the consequence matches your request. Use the decline control to leave the proposed action unapplied. An unanswered card can expire. That proposed action stays unapplied. If you still want it, ask again and review the new card. Check [Activity](https://docs.amadalis.ai/copilot/activity/) to distinguish expiry from a decline. For a first page publish, the card says **Publish this page?** It offers **Publish this page** and **Keep as draft**. [![Copilot dock over the Composer with the card Publish this page? naming Docs Walk First Page and its address, You can undo this afterwards, and Publish this page and Keep as draft.](https://docs.amadalis.ai/images/steps/S019-copilot-publish-card.png)](https://docs.amadalis.ai/images/steps/S019-copilot-publish-card.png "Open full-size image") The copilot names the page and its address before it publishes. [![Copilot replies after Keep as draft: Okay, I didn't publish this page, and the page is still a draft and nothing has changed; the Composer still reads Draft.](https://docs.amadalis.ai/images/steps/S019-copilot-publish-declined.png)](https://docs.amadalis.ai/images/steps/S019-copilot-publish-declined.png "Open full-size image") Declining keeps the page a draft. For edits to a live page, it says **Publish these changes?** The choices are **Publish the changes** and **Keep them unpublished**. Approving replaces the published version. Visitors see the change within the hour, usually much sooner. While the site’s server is down, visitors may see the previous version of a page for up to a day. Typing a request to publish starts that approval flow. The page does not become public from that request alone. [![Receipt card LIVE Docs Walk First Page with Undo and Open page, a small preview, and Docs Walk First Page is now live; the Composer reads Published.](https://docs.amadalis.ai/images/steps/S019-copilot-published-receipt.png)](https://docs.amadalis.ai/images/steps/S019-copilot-published-receipt.png "Open full-size image") After approval the page is live, with Undo. ## Read the result For analytical answers, read any warning about figures, a winner, a cause or an effect beside the reply. The platform can flag claims it cannot support from the conversation’s results. It does not block or rewrite the answer, and it does not catch every mistake. Check the stated period, who was counted and the linked results yourself. After a change, read the [receipt](https://docs.amadalis.ai/reference/glossary/#receipt). It records what happened and offers **Undo** when a usable undo is available. A proposal, a declined card and a completed change are different states. [![Copilot shows the LIVE receipt for Docs Walk First Page, with Undo, Open page and Make more changes.](https://docs.amadalis.ai/images/steps/S020-copilot-result-and-next-actions.png)](https://docs.amadalis.ai/images/steps/S020-copilot-result-and-next-actions.png "Open full-size image") The result, with what you can do next. The live page’s result offers Undo and Open page, with Make more changes below the result. Use **Activity** to review recorded proposals, approvals, changes and undo actions. If the result is a page, open its preview or [the Composer](https://docs.amadalis.ai/composer/composer/) to inspect it. [![Copilot Activity filtered with Page is Docs Walk First Page: Published a page by Copilot, Applied, then Previewed a change to a page, Planned.](https://docs.amadalis.ai/images/steps/S020-copilot-activity-filtered-to-page.png)](https://docs.amadalis.ai/images/steps/S020-copilot-activity-filtered-to-page.png "Open full-size image") The page filter narrows Activity to this page’s proposals and changes. ## Undo a change To reverse it from the receipt, choose **Undo**. That button acts at once. To ask in the conversation: 1. Say “undo that”. 2. If the change affects the public site, read **Undo this change?** 3. If that card appears, choose **Undo change** to go ahead or **Keep it** to leave the change in place. [![Receipt Live, changes pending for Docs Walk First Page with Undo, after the copilot changed the hero subheadline; the Composer shows the new subheadline and the not-live-yet banner.](https://docs.amadalis.ai/images/steps/S021-copilot-draft-edit-receipt-with-undo.png)](https://docs.amadalis.ai/images/steps/S021-copilot-draft-edit-receipt-with-undo.png "Open full-size image") A draft edit from the copilot comes with Undo. [![The Composer after Undo: status Published with no pending changes, and the original subheadline back.](https://docs.amadalis.ai/images/steps/S021-copilot-draft-undo-result.png)](https://docs.amadalis.ai/images/steps/S021-copilot-draft-undo-result.png "Open full-size image") Undo put the earlier words back. In the copilot, a published page’s card offers **Undo**. Undoing a first publish takes the page offline. Undoing a later publish puts the earlier version back live and keeps your newer changes unpublished, or takes the page offline if that earlier version is no longer kept. The Composer labels those actions by their offline or restore effect. [![After asking undo that: card Undo this change? Undoing is final; undo the publish of Docs Walk First Page, visitors will no longer see it, with Undo change and Keep it.](https://docs.amadalis.ai/images/steps/S021-copilot-undo-this-change-card.png)](https://docs.amadalis.ai/images/steps/S021-copilot-undo-this-change-card.png "Open full-size image") Asking in the conversation shows a card first. [![Copilot reply Done, I've undone the publish, the page is offline again and back to draft; the Composer reads Draft.](https://docs.amadalis.ai/images/steps/S021-copilot-public-undo-result-draft.png)](https://docs.amadalis.ai/images/steps/S021-copilot-public-undo-result-draft.png "Open full-size image") The page is a draft again; the receipt preview reads Not found. An older change can become unsafe to undo after newer edits. Read a refusal before retrying. Some actions are permanent, and a card can say **This can’t be undone.** Review that before approving. [![The earlier receipt's button now reads Undo needs review and is disabled, while the page keeps the newer headline Docs Walk: a newer headline typed in the Composer.](https://docs.amadalis.ai/images/steps/S021-copilot-stale-undo-needs-review.png)](https://docs.amadalis.ai/images/steps/S021-copilot-stale-undo-needs-review.png "Open full-size image") An Undo that would overwrite newer work is refused. ## Your next step Open the resulting draft in [the Composer](https://docs.amadalis.ai/composer/composer/) and review its words, pictures and links before publishing. Source: https://docs.amadalis.ai/copilot/ # What you can do in the copilot Checked against the product’s code on 7 November 2026. Describe a result, review what the platform proposes and read the [receipt](https://docs.amadalis.ai/reference/glossary/#receipt) for the change. In the site admin, open **Copilot**, or choose **Ask the copilot** on the screen you are using. Ask for a result, then review any proposed change. Use the guide for the required role, setup and current limits. ## Start with a task Choose the result you want. Each guide explains where to begin, what to review and how to check the result. - [Ask for a page](https://docs.amadalis.ai/copilot/copilot/#ask-for-a-useful-result) - [Review an approval](https://docs.amadalis.ai/copilot/copilot/#read-the-approval-card) - [Find a supported request](https://docs.amadalis.ai/reference/copilot/) ## Capabilities and screens | Capability | What you can do | Read next | | --- | --- | --- | | Room and message box | Ask for work, attach supporting material and stop generation. | [The copilot: Ask for a useful result](https://docs.amadalis.ai/copilot/copilot/#ask-for-a-useful-result) | | Draft page cards | Read the draft, omitted sections and available next actions. | [The copilot: Read the result](https://docs.amadalis.ai/copilot/copilot/#read-the-result) | | Questions and choices | Clarify an open request before a page is built. | [The copilot: Ask for a useful result](https://docs.amadalis.ai/copilot/copilot/#ask-for-a-useful-result) | | Approval cards | Read what will change, who will be affected and whether Undo is available. | [The copilot: Read the approval card](https://docs.amadalis.ai/copilot/copilot/#read-the-approval-card) | | Receipts and Undo | Distinguish a proposal from a completed change and its available Undo. | [The copilot: Undo a change](https://docs.amadalis.ai/copilot/copilot/#undo-a-change) | | Activity and exports | Review the actions that were recorded and export the available log. | [Read copilot Activity](https://docs.amadalis.ai/copilot/activity/) | | Conversations and transcripts | Organize conversations and copy or download their messages. | [Conversations, context and files](https://docs.amadalis.ai/copilot/conversations-and-context/) | | Generation progress | Read the progress and expand response details shown by the copilot. | [Conversations, context and files](https://docs.amadalis.ai/copilot/conversations-and-context/) | | Model options and usage state | Read model choices and the displayed usage or paused state. | [Your account: sites, custom domains and billing: Choose the copilot’s AI model](https://docs.amadalis.ai/account/your-account-and-domains/#choose-the-copilots-ai-model) | | Dock and screen context | Open the copilot beside a screen or selected object. | [Conversations, context and files](https://docs.amadalis.ai/copilot/conversations-and-context/) | | Available capabilities | Ask what the current site and role can request. | [What you can ask the copilot](https://docs.amadalis.ai/reference/copilot/) | | Permissions and sensitive settings | Review permissions and use the designated settings controls for sensitive values. | [Copilot: Account, team and visitor privacy](https://docs.amadalis.ai/reference/copilot/account-and-privacy/) | | Staff copilot | Read the separate staff-only request reference. | [How Amadalis runs hosted sites](https://docs.amadalis.ai/trust/operations/) | ## More in this area These guides cover the other tasks and settings in this area. - [Read copilot Activity](https://docs.amadalis.ai/copilot/activity/): Filter recorded changes, inspect their outcomes and use an offered Undo. - [Conversations, context and files](https://docs.amadalis.ai/copilot/conversations-and-context/): Manage a saved conversation and understand which information a copilot request uses. ## Your next step To make a new request, begin with [ask for a page](https://docs.amadalis.ai/copilot/copilot/#ask-for-a-useful-result). If a card or receipt is already open, use the approval or result guide above before continuing. Source: https://docs.amadalis.ai/developers/existing-content-tables/ # Register an existing content table Use this as a site Admin working with a developer when the site’s database already contains a content table that the CMS has not registered. Start in EmDash’s own **Content Types** screen in the site admin. Registration makes it manageable as a [content type](https://docs.amadalis.ai/reference/glossary/#content-types). It does not create a replacement table or fill it with new records. Checked against the product’s code on 7 November 2026. ## Check the existing table Start with a table that is actually present in this site’s database. This workflow discovers existing content tables whose names start with `ec_`; it does not import an outside table or create one from a proposed name. 1. Open EmDash’s own **Content Types** screen in the site admin. The screen lists the registered content types. 2. Look for **Unregistered Content Tables Found**. When unregistered tables are found, this panel lists each collection identifier and item count. 3. Check the identifier with the developer responsible for that table. Choose the real existing table rather than guessing from its display name. A count of zero is not proof that the table is empty. Discovery can also return zero if the row count could not be read. Investigate an unexpected count before changing registration. Check the existing collection identifier before choosing Register. ## Register it in the screen **Register** takes effect directly. It has no second confirmation and no automatic Undo. 1. Choose **Register** beside the intended table. On success, it leaves the unregistered panel and appears in the content types list. 2. Open the new content type by its label. Its schema opens for review. 3. Review the fields it needs with your developer before editing the existing records. Follow [Content types and relations](https://docs.amadalis.ai/content/content-types/) for the supported field controls and hosted limits. Registration adds the collection’s CMS metadata. It does not change the existing content rows. It does not set up a public page for those records; review public addresses and field metadata separately. If the screen reports a failure, read the reason and inspect the current list before retrying. ## Ask the copilot instead This route is also Admin only. It gives you an approval card before registration and lets you supply singular and plural labels and a description. 1. Open **Copilot**. The conversation is ready for your request. 2. Type “Show this site’s unregistered content tables”. The request is a read, not a registration. 3. Choose **Send**. The answer gives the exact collection identifier, database table name and row count for each returned result. 4. Ask “Register the existing table for \[collection identifier\] as a content type”, using the exact identifier returned. Include your singular and plural labels if needed. 5. Choose **Send**. The card asks **Register this existing content table?** 6. Review the table and consequence. **Leave it unregistered** cancels the request. 7. Choose **Register the table** only for the intended table. The receipt names the registered content type and directs you to review its fields. 8. Open **Content Types**. Review the registered type before editing records. The request checks the table again before registering. If it is no longer an unregistered table, nothing is changed by that request. If the discovery answer says it is incomplete, do not assume an omitted table is absent. The copilot asks before registering the exact table it found. See [Content types](https://docs.amadalis.ai/reference/copilot/site-and-settings/#content-types) for the matching discovery and registration requests. On hosted Praxis, [personal API tokens are read only](https://docs.amadalis.ai/developers/platform/); they are not an alternative way to perform this write. ## Undo and deletion Registration has no automatic Undo in either route. Do not delete the content type to reverse registration: deleting a content type is a separate destructive action that also deletes its content and relationships. Review the registered type with your developer if it is not what you intended. ## Your next step With your developer, review the registered fields using [Content types and relations](https://docs.amadalis.ai/content/content-types/) before editing records. If you need a public list, follow [List a collection on a page](https://docs.amadalis.ai/composer/collection-index/); registration itself does not create that page. Source: https://docs.amadalis.ai/developers/governed-tools/ # The copilot's governed tools Use this guide when working with **Copilot**, the AI assistant, in the site admin. It cannot publish without your approval: the platform requires an approval grant from the person signed in before applying that proposed change. Checked against the product’s code on 7 November 2026. **The model proposes; the platform authorizes.** A model response is a proposal to call a tool with declared inputs and validation rules. The platform decides whether the person signed in may use it and whether the proposed change can proceed. This page explains the rules a customer can expect. It is not an API for calling the copilot from an external agent. ## One action, from request to result 1. You ask for a result, such as changing a headline or publishing a page. 2. The platform checks your permissions and validates the proposed input. 3. It prepares a preview of the change. 4. A consequential action stops at an [approval card](https://docs.amadalis.ai/reference/glossary/#approval-card). 5. Your approval authorizes that prepared action. The platform checks that the person and the relevant state still match. 6. The result includes a [receipt](https://docs.amadalis.ai/reference/glossary/#receipt) and, when supported, **Undo**. An expired approval or a changed target can require a new preview. It is better to read a fresh card than to approve a description of a page that has since changed. For requests in a connected business application, the copilot runs any needed record lookup before preparing the change that depends on it. The change still waits for your approval. If the lookup results do not identify the record, the copilot can ask which record you mean. A failed lookup stops that plan without saving the change. ## What needs approval | Action | Expected boundary | | --- | --- | | Create or edit ordinary page content | Writes a draft. Publishing remains separate. | | Publish, take offline or delete | Requires approval. | | Change consequential settings, consent policy or crawler policy | Requires approval. | | Export or erase visitor data | Requires approval and the relevant permission. Erasure has no undo. | | Schedule publication | Approves the exact future publication once. Editing the content through the Composer or the copilot afterwards cancels that schedule. | For pages and posts, the publish check runs before a schedule approval card, again when you approve and again when publication is due. A refusal at the due time cancels the schedule without publishing the draft or its changes. If the check cannot finish, publication waits for another check. Approval does not bypass these checks. These rules govern what the copilot does. A person’s own **Publish** click in EmDash’s editor publishes at once, as their explicit act. Anything the copilot publishes always pauses for the approval card. A consequential tool cannot register without an approval requirement. The platform checks the approval from the person signed in. Prompt wording does not replace those checks. The available tools also depend on your role and the site’s enabled [capabilities](https://docs.amadalis.ai/reference/glossary/#capability). Ask the copilot **“What can you do?”** to get the current set for your site and role. ## Read the card Before deciding on the card: 1. Check the object. 2. Check the scope of the change. 3. Read the consequence. 4. Read the reversibility line. Refusing the card leaves the proposed action unapplied. A card that is not answered within five minutes expires without approval. A timeout or server restart never becomes approval. An Admin role is not permission for the model to approve its own work. The copilot cannot install or update plugins. It also refuses to switch off or remove the platform’s own plugins. Credentials belong in the relevant account or integration form. For actions such as SSO setup, the copilot opens the secure account control rather than collecting the secret in chat. ## Undo has a scope An Undo is tied to the change it reverses and can expire. A newer change can make an earlier Undo refuse instead of overwriting newer work. When the reversal itself changes what visitors see, it can require approval too. Some changes have no operation that puts the earlier state back. The approval card must not promise reversibility without an implementation. Read [Known limitations](https://docs.amadalis.ai/trust/known-limitations/) for the current gaps. The account’s [Security log](https://docs.amadalis.ai/reference/glossary/#security-log) and the site’s copilot [Activity](https://docs.amadalis.ai/reference/glossary/#activity) are separate records. Each Security log entry is linked by a SHA-256 checksum to the previous entry in the platform’s audit log. Its [tamper-evident checks and limits](https://docs.amadalis.ai/account/activity/#understand-verification) are separate from the site’s Activity record. An approved change goes ahead even if its Activity record fails to save; the failure is logged on the server. The change keeps any Undo it offered on its receipt. ## External automation EmDash’s MCP endpoint is disabled on Praxis sites. Personal API tokens cannot write through EmDash’s API. The [public machine files](https://docs.amadalis.ai/developers/machine-readable-site/) offer content for reading. Reads with a personal API token must also pass the team’s [API token checks](https://docs.amadalis.ai/account/site-access-and-settings/#personal-api-tokens). The internal tool registry does not establish a supported external write endpoint. Discuss a required integration with Amadalis before depending on one. For the request inventory by customer area, read [What you can ask the copilot](https://docs.amadalis.ai/reference/copilot/). Source: https://docs.amadalis.ai/developers/ # What you can do in Developers Checked against the product’s code on 7 November 2026. Understand the platform and extend page behavior through supported events, scripts and requests checked for permission and approval. Use these developer guides alongside **[Composer](https://docs.amadalis.ai/reference/glossary/#composer)**, **Insights** and the public site. They explain where to add scripts, send events and inspect the files your site publishes. Use the guide for the required role, setup and current limits. ## Start with a task Choose the result you want. Each guide explains where to begin, what to review and how to check the result. - [Understand the platform](https://docs.amadalis.ai/developers/platform/) - [Add JavaScript to a page](https://docs.amadalis.ai/developers/page-scripts-and-events/) - [Track a custom event](https://docs.amadalis.ai/developers/tracking-events/) - [Register an existing content table](https://docs.amadalis.ai/developers/existing-content-tables/) ## Capabilities and screens | Capability | What you can do | Read next | | --- | --- | --- | | Platform and native CMS | Understand EmDash and the Praxis workspaces and their boundaries. | [EmDash and what Praxis adds](https://docs.amadalis.ai/developers/platform/) | | Governed requests | Read how permissions, approval, expiry and Undo apply to requests. | [The copilot’s governed tools](https://docs.amadalis.ai/developers/governed-tools/) | | Page scripts | Use supported triggers, targets and consent-aware event capture. | [Add page JavaScript and handle cookie consent](https://docs.amadalis.ai/developers/page-scripts-and-events/) | | Events and reserved names | Read the browser helper, catalog and supported sender boundaries. | [Track custom events with praxis.track](https://docs.amadalis.ai/developers/tracking-events/) | | Sections, elements and fields | Look up section fields, nested entries and defaults for empty values. | [Section types](https://docs.amadalis.ai/reference/sections/) | | Theme tokens and settings | Read named design values, accepted names, colour modes and shared settings. | [Theme tokens and roles](https://docs.amadalis.ai/reference/settings/theme-tokens/) | | Public pages and shared layout | Understand published content and shared header and footer settings. | [Public site search and page navigation](https://docs.amadalis.ai/developers/public-site/) | | Theme modes | Review the base design values and the changes in each colour mode. | [Public site search and page navigation](https://docs.amadalis.ai/developers/public-site/) | | Unpublished and waking states | Review when a public site is available and what its current status means. | [Public site search and page navigation](https://docs.amadalis.ai/developers/public-site/) | | Forms and access | Read form submission and restricted-content rules. | [Forms and replies](https://docs.amadalis.ai/site/forms-and-replies/) | | Listings, search and comments | Read the available public content views and limits. | [Public site search and page navigation](https://docs.amadalis.ai/developers/public-site/) | | Languages | Review the current language setting used by the public site. | [Public site search and page navigation](https://docs.amadalis.ai/developers/public-site/) | | Redirects and missing pages | Review old paths and 404 behavior. | [Redirects and the 404 log](https://docs.amadalis.ai/site/redirects-and-404s/) | | Metadata and structured data | Read public search metadata and the structured facts published for machines. | [SEO: search titles and descriptions](https://docs.amadalis.ai/site/seo/) | | Robots policy | Read crawler policy and which source supplies the instructions. | [Find sitemaps and machine readable site files](https://docs.amadalis.ai/developers/machine-readable-site/) | | Sitemaps and feeds | Inspect preferred page addresses, sitemap indexes and public feeds. | [Find sitemaps and machine readable site files](https://docs.amadalis.ai/developers/machine-readable-site/) | | Markdown and machine descriptors | Read published content as Markdown and inspect the files that describe it. | [Find sitemaps and machine readable site files](https://docs.amadalis.ai/developers/machine-readable-site/) | | Register an existing content table | make an existing unregistered table manageable in the CMS, with an Admin and a developer. | [Register an existing content table](https://docs.amadalis.ai/developers/existing-content-tables/) | ## More in this area These guides cover the other tasks and settings in this area. - [Public site search and page navigation](https://docs.amadalis.ai/developers/public-site/): Understand visitor post search, protected text, navigation, archives and languages on the public site. ## Your next step Begin with [understand the platform](https://docs.amadalis.ai/developers/platform/) for the system’s boundaries. For an implementation task, choose the script, event or public-file guide above and check its supported scope before writing code. Source: https://docs.amadalis.ai/developers/machine-readable-site/ # Find sitemaps and machine readable site files Checked against the product’s code on 7 November 2026. Find the sitemap at `/sitemap.xml` on your site’s own address. This index links to the site’s XML sitemaps. The route table below also covers crawler rules and readable copies of published pages and posts for search engines and AI tools. Check them on your site’s own address before connecting an integration. ## Routes | Route | Purpose | | --- | --- | | `/robots.txt` | Crawler directives from the site’s bot policy, with EmDash’s SEO settings as a fallback when that policy supplies none. | | `/sitemap.xml` | XML sitemap index. The host supports native sites and sites shaped by a WordPress migration. | | `/sitemap-pages.xml`, `/sitemap-posts.xml` | Published, indexable content addresses. | | `/sitemap-taxonomies.xml` | Taxonomy archives on sites shaped by a WordPress migration. | | `/llms.txt` | A guide linking the readable content resources and entries. | | `/sitemap.md` | A Markdown sitemap. | | `/content/index.md` | A Markdown index of exported content. | | `/content/pages/.md` | Markdown for one page. Replace `` with its actual [slug](https://docs.amadalis.ai/reference/glossary/#slug). | | `/content/posts/.md` | Markdown for one post. Replace `` with its actual slug. | | `/content/jsonld.json` | Structured content with validation results. | | `/content/openapi.json` | A description of this reading surface. | | `/content/mcp.json` | Resource descriptions for tools that understand MCP metadata. It is not a running MCP server. | | `/content/validate.json` | A report comparing exported facts with the public content used to produce them. | | `/feed.xml` | The post feed. | The OpenAPI descriptor lists GET operations. It does not define writes to site content. A Markdown copy is a content representation, not a copy of the page’s visual layout or interactive behavior. ## Which content appears A draft does not appear in `/llms.txt` or the public content pack. The content pack selects published pages and posts. It excludes entries protected by a WordPress password brought in by a migration, and entries marked [noindex](https://docs.amadalis.ai/reference/glossary/#noindex) in their content SEO settings. Restricted pages and posts pass through the anonymous content gate before Markdown is created, so the export contains the public portion. If an entry’s access cannot be checked, that entry is left out of the public content pack rather than exported with a blank body. Its individual Markdown address can return **404** during that failure, even for a public entry. Retry before treating an omitted entry as a deletion. The index has a fixed entry ceiling. Do not use it as a replacement for a full site export or as proof that every entry in a large site was included. Sitemap entries also exclude content marked `noindex`. Search visibility and access control remain different settings. A crawler directive is not a substitute for the content access gate. ## Which address the links use Links in these resources use the origin of the request that served the file. On the platform address, they use that address. On an active custom domain, they use that domain. Check the returned links after a domain change. If a file names an unexpected host, report the file and the address you requested to support. ## Change crawler policy **Site → Readiness** shows the bot and agent policy. Ask the copilot to change it through an approval card. The policy distinguishes discovery, AI search and training access. EmDash’s own **Settings → SEO** includes a robots text field. While a Praxis bot policy supplies robots text, that policy takes precedence. The code can produce crawler directives. It does not prove that every remote crawler obeys them. ## Check a site 1. Set `SITE_ORIGIN` to the site’s real HTTPS origin. The example domain below is a placeholder. 2. Read `/llms.txt` to find the content resources and entries. 3. Read `/sitemap.xml` to find the XML sitemaps. 4. Read `/content/validate.json` for the exported-fact comparison report. The commands below make those public reads: Terminal window ``` SITE_ORIGIN="https://your-site.example"curl -fsS "$SITE_ORIGIN/llms.txt"curl -fsS "$SITE_ORIGIN/sitemap.xml"curl -fsS "$SITE_ORIGIN/content/validate.json" ``` 1. Review the returned hostnames, published entries and validation warnings. 2. Check a restricted test page as an anonymous reader too. **Limits.** These reads do not validate private admin access or an external agent’s ability to change the site. Source: https://docs.amadalis.ai/developers/page-scripts-and-events/ # Add page JavaScript and handle cookie consent Checked against the product’s code on 7 November 2026. A developer or designer with permission to edit a page can add JavaScript to only that page in **[Composer](https://docs.amadalis.ai/reference/glossary/#composer)** > **Scripts**. This opens **Scripts & events**, with **Page scripts** and **Section bindings**. Page scripts belong to the page. A section binding moves with its section. ![Scripts and events on a labelled demo draft, showing a Click trigger, CSS selector, event name and optional JavaScript.](https://docs.amadalis.ai/_astro/scripts-and-events.BDNas4Eg_ZOmiId.webp) The page script has its own trigger and target. Section bindings are listed separately below it; check which kind you are editing. The screenshot is an existing product capture from 31 October 2026. The page shown is a demo [draft](https://docs.amadalis.ai/reference/glossary/#draft). ## Add a capture binding This example uses **Page scripts** to record a click on an element whose HTML anchor is `request-demo`. **Section bindings** is a separate list. Before you start, check that the target on the page has the anchor `request-demo`. For a Composer section, [Shared section fields](https://docs.amadalis.ai/reference/sections/common-fields/) explains **HTML anchor** under **Advanced**. Work on the base page in **Editing for**; the scope limit is explained under [Consent and scope](https://docs.amadalis.ai/developers/page-scripts-and-events/#consent-and-scope). 1. Open the page in **Composer**. 2. Choose **Scripts**. The button shows how many scripts and bindings the page has. 3. Choose **\+ Add script**. A form opens; nothing is saved yet. 4. Set **Name** to a useful description, such as `Demo request click`. 5. Set **Trigger** to **Click**. 6. Enter `#request-demo` in **Target (CSS selector)**. The selector must match the element on your page. 7. Enter `demo_request` in **Capture event to emit (optional)**. The event name must start with a lowercase letter and use 3 to 64 lowercase letters, digits or underscores. The panel refuses invalid names and names kept for platform events before saving. 8. Leave **JavaScript (optional)** empty. 9. Choose **Save**. Review any approval card before confirming the change. 10. Publish the page through its approval flow when the change is ready. The publish card can name scripts added or changed from the live version, addresses written in their code and the tracking events added. Read those lines before approving; they are not proof that the code is safe. Define `demo_request` in the [event catalog](https://docs.amadalis.ai/developers/tracking-events/) so colleagues know what it means. The binding can emit a custom name before a definition exists. **Cancel** closes the form without saving it. **Remove** asks for a second confirmation before removing a saved script. Adding, saving and removing a page script enter **Changes this session**. Read the receipt and use **Undo** when offered. ## Trigger reference Use **Trigger** to control when a page script runs. Choose the interaction or page state the script should respond to. | Trigger | Runtime behavior | | --- | --- | | **Page load** | Runs when the DOM is ready, or immediately if it is already ready. | | **Click** | Runs for a matching element using the CSS selector. A page script needs a target. | | **Submit** | Runs for a matching submitted element. A page script needs a target. | | **Becomes visible** | Runs once per matched element when at least half is in view. A page script needs a target. | | **Scroll depth** | Runs once when the page reaches **Scroll threshold %**. The runtime uses 50 percent if none is supplied. | | **Toggle open** | Runs when a matched element opens. Without a page target, it watches `details` elements. | | **Hover** | Runs once per matched element when a mouse or pen rests on it for **Hover time (ms)**, from 300 to 5000. The runtime uses 500 if none is supplied. Leaving earlier cancels the wait, and a touch tap never starts it. A page script needs a target. | For section bindings, targets are scoped to the carrying section. Without a target, the section itself is used. Invalid selectors produce no match. The panel warns when a script needs a target. A page script needs a selector for **Click**, **Submit**, **Becomes visible** and **Hover**. A section’s **Toggle open** binding needs a selector for an expandable item inside that section. ## Add JavaScript The **JavaScript (optional)** field takes a function body. The runtime provides `ctx.el` for the matched element and `ctx.event` for the DOM event. Either can be `null` for triggers that do not have one. For example, a Click script can mark the matched element: ``` if (ctx.el) { ctx.el.setAttribute("data-demo-clicked", "true");} ``` For custom event properties: 1. Call `window.praxis.track` from your script with the properties you need. See [Tracking events](https://docs.amadalis.ai/developers/tracking-events/#send-an-event) for its input and return contract. 2. Leave **Capture event to emit (optional)** empty if the code already sends the same event, or the interaction can be counted twice. The Composer canvas renders an inert script card. It does not execute your page script. The unpublished preview did not load the page-script runtime in the recorded check, so it could not verify a script or capture event. Verify behaviour on an authorised published test page in an ordinary visitor window. ### What happens if a page script fails If **JavaScript (optional)** throws an error while its function runs, the runtime catches it without displaying a message. It still attempts **Capture event to emit (optional)** through the usual consent checks. It does not undo changes the function made before throwing. This handling covers errors thrown during that function call. It does not wait for a returned promise or catch a later asynchronous failure. A syntax error that prevents the script from loading is also outside this handling. Your developer should handle asynchronous errors and test the published page in a visitor window. ## Consent and scope ### Cookie consent and your JavaScript Page JavaScript does not automatically wait for cookie consent. It can run before a visitor makes a choice. The optional capture event goes through `praxis.track` and its analytics consent checks. Your own `fetch`, cookies or vendor code do not acquire that protection automatically. Use **Head & CSP** when adding a site tag that must wait for a consent purpose. Check **Editing for** before saving. On the live page, a saved script goes into its draft. On an experiment’s alternative variation, it belongs only to that variation. Scripts cannot be changed while editing an audience or the experiment’s control; switch to the live page for those changes. ## Your next step Use [Tracking events](https://docs.amadalis.ai/developers/tracking-events/) to check the event name and sender, then verify the intended interaction with the site’s consent choices. Source: https://docs.amadalis.ai/developers/platform/ # EmDash and what Praxis adds Use this guide to see what Praxis adds to [EmDash](https://docs.amadalis.ai/reference/glossary/#emdash) and where each task belongs. The map below distinguishes EmDash’s content screens from the [Composer](https://docs.amadalis.ai/reference/glossary/#composer), copilot and experience workspaces. Checked against the product’s code on 7 November 2026. Praxis builds on EmDash. EmDash supplies content collections, media, users, plugins and the core admin. Praxis adds the Composer, the governed copilot and the tools for measuring, targeting and selling through a site. ## The layers | Layer | What it does | | --- | --- | | EmDash | Stores and manages content, media records, collections, menus and the core admin screens. | | Praxis authoring | Builds pages from typed [sections](https://docs.amadalis.ai/reference/glossary/#section), elements and theme [tokens](https://docs.amadalis.ai/reference/glossary/#token). Composer edits are saved to a draft before publication. | | Praxis experience tools | Add analytics, event capture, goals, experiments, audiences, personalization, forms, commerce and visitor data controls. | | Hosting | Routes the site’s hostname to its database and renders its pages. Cloudflare provides the request routing and hosted runtime. | | Account | Holds sites, team memberships, domains, account security and billing controls. **Open admin →** enters a site at the member’s role. | EmDash’s own screens include the content lists and editors for pages and posts, the media library, menus, users and settings. **Composer**, **Insights**, **Optimization** and **Privacy & Data** are Praxis workspaces. The EmDash core is a pinned dependency. Two EmDash admin interface packages carry the structured field change proposed to EmDash upstream. The published EmDash core is unchanged. ## Content and delivery A Composer page contains typed sections and fields. Its theme supplies design tokens. A page edit changes its draft. Publishing is separate from editing. A person’s own **Publish** click in EmDash’s editor publishes at once, as their explicit act. Anything the copilot publishes always pauses for the approval card. On a visitor request, the server resolves the applicable consent and identity. It can then select an experiment version, reorder or replace sections for an [audience](https://docs.amadalis.ai/reference/glossary/#audience) and rank recommendations. The content access gate removes sections the reader is not entitled to read. A failure in the experience selection can fall back to the page’s ordinary content. Identity and content access have their own checks. A fallback is not permission to expose restricted content. An anonymous view of a published page can be served from a shared edge copy. After a publish, visitors see the change within the hour, usually much sooner. While the site’s server is down, visitors may see the previous version of a page for up to a day. Unrelated cookies no longer bypass it. Visitor identity, consent choices and Global Privacy Control can use separate shared copies; an identity holder receives one only when it cannot vary with that visitor’s identity. Sign-in, cart and other cookies that change the page still bypass it. Active experiments and targeted responses are not shared. ## Where to connect your code Before choosing a content API, read [Boundaries to plan around](https://docs.amadalis.ai/developers/platform/#boundaries-to-plan-around) below. The browser helper and public reading surfaces do not grant content-write access. | Need | Start here | | --- | --- | | React to a click, submit, hover, visible element or scroll threshold | [Page scripts and events](https://docs.amadalis.ai/developers/page-scripts-and-events/) | | Record a custom interaction | [Tracking events](https://docs.amadalis.ai/developers/tracking-events/) | | Add a tag with consent for a specific purpose and CSP permissions | **Privacy & Data → Consent → Head & CSP** | | Read public content from a tool or agent | [The public site for machines](https://docs.amadalis.ai/developers/machine-readable-site/) | | Understand what the copilot may change | [Governed tools](https://docs.amadalis.ai/developers/governed-tools/) | | Take visitor data to another system | **Privacy & Data → Exports** and [Privacy and consent](https://docs.amadalis.ai/trust/privacy-and-consent/) | ## Boundaries to plan around A browser event helper is not a privileged content API. Personal API tokens are read only on Praxis sites. EmDash’s MCP endpoint is disabled, and the public MCP file is a resource descriptor. Reads with a personal API token must also pass the team’s [API token checks](https://docs.amadalis.ai/account/site-access-and-settings/#personal-api-tokens). The copilot plugin’s `catalog` and `catalog/validate` routes require `POST`. A token that passes its scope and team checks receives **405** for `GET` or `HEAD`, and its `POST` is refused by the token write restriction. Use the admin’s catalogue screens to read them. Do not plan an external agent integration around the copilot’s internal endpoints. Use the published reading surfaces and discuss any required write integration with Amadalis. The normal signup flow creates one production environment. Check [Known limitations](https://docs.amadalis.ai/trust/known-limitations/) before planning staging, SSO or a migration. For field names, choices and starter settings, use the [product reference](https://docs.amadalis.ai/reference/). Source: https://docs.amadalis.ai/developers/public-site/ # Public site search and page navigation Public site search finds posts by title and by text anyone may read. It does not search every page or product. This guide also explains navigation, archives and the public states a site can serve. To change its front page or navigation, begin with [Site setup](https://docs.amadalis.ai/site/site-setup/) or [Menus](https://docs.amadalis.ai/site/menus/) in the site admin. Checked against the product’s code on 7 November 2026. Praxis serves published content through its configured layout. The surrounding header, footer, archives and shopper account are separate from a page’s editable body. EmDash supplies the underlying content collections and [taxonomy](https://docs.amadalis.ai/reference/glossary/#taxonomy) records. ## Navigation and presentation The active menu supplies links around the page. A header button has its own target and visibility rules. 1. Configure the header button through [Site setup](https://docs.amadalis.ai/site/site-setup/). 2. Configure menu links through [Menus](https://docs.amadalis.ai/site/menus/). 3. Inspect the actual public addresses. When the [theme](https://docs.amadalis.ai/reference/glossary/#theme) offers more than one appearance, such as light and dark, visitors see a switch in the header. Their choice changes only how the page looks to them; it does not translate or publish anything. ## Listings, search and languages Migrated blog content can appear in the blog index and category, tag, author or date archives. Their presence depends on the imported content and route. ### How public site search works Site search looks in post titles and in the text of posts anyone may read. A members only post can be found by its title, never by its protected text. Search does not cover every page or product. The host supports English and Spanish routes and their available alternate links. That does not automatically translate every entry or add a language switcher to every layout. Comments depend on a collection’s settings and its public renderer. A moderation inbox alone does not establish that every page has a comment form. ## Empty sites and serving delays A site with no published page can show an unpublished site message. After a quiet period, the first page view can take longer while the site starts. If it cannot start in time, the visitor may see an earlier copy of the page or the browser’s own error. Try again after a few seconds. **Stored copies.** A visitor who is not signed in may be shown a stored copy of a page, so a change you just published can take a short while to reach them. Visitor identity, [consent](https://docs.amadalis.ai/reference/glossary/#consent) choices and Global Privacy Control can use separate shared copies when the page is safe to share. Sign-in, cart and other cookies that change the page bypass this cache. In a browser that runs JavaScript, a stored product page loads its stock and purchase controls again when it opens. Visitor consent controls measurement and permitted experience changes. Restricted content has its separate reading checks. For crawl policy, sitemaps, feeds and text copies, use [Machine readable site](https://docs.amadalis.ai/developers/machine-readable-site/). Source: https://docs.amadalis.ai/developers/tracking-events/ # Track custom events with praxis.track Use `window.praxis.track(type, props)` to track a custom [event](https://docs.amadalis.ai/reference/glossary/#event) from page JavaScript. In the site admin, open **Composer** > **Scripts** to add a sender, and **Insights** > **Events & Capture** > **Catalog** to define what the event means. A definition alone sends nothing. Checked against the product’s code on 7 November 2026. The helper sends through the site’s own event collector, subject to analytics [consent](https://docs.amadalis.ai/reference/glossary/#consent) and capture limits. ## Send an event Start with [Page scripts and events](https://docs.amadalis.ai/developers/page-scripts-and-events/#add-javascript) if you need to add the sender to a page. The following example runs inside a Composer page script: ``` window.praxis.track("demo_request", { source: "product_page", path: window.location.pathname}); ``` This is an integration example, not a built in event. Use a name and properties that describe the interaction on your site. | Argument | Contract | | --- | --- | | `type` | A lowercase name beginning with a letter, followed by letters, digits or underscores. It must contain 3 to 64 characters. | | `props` | A JSON serializable object. An array or missing value is treated as an empty object. | | Return value | No delivery receipt or promise. The helper returns silently on an invalid name, refusal or serialization error. | The helper becomes available with the page’s capture runtime. A Composer **Page load** script runs after that helper is installed. On a page without Composer page scripts, a visitor who refused analytics or sends Global Privacy Control gets no capture runtime, so `window.praxis` is undefined. Other code should check first, for example `window.praxis && window.praxis.track("demo_request", {})`. Keep properties specific to the action. Do not send passwords, payment data or unrelated personal data. The event catalog describes properties; it is not a sanitizer for arbitrary values your code sends. ## Consent and delivery The capture runtime sends nothing while analytics is not allowed for the visitor, including an undecided visitor in an opt in region. It checks the browser’s Global Privacy Control signal and saved analytics refusal on each call. Do Not Track suppresses the beacon while no analytics choice has been saved. Capture has event budgets in the browser and a rate cap at the public collector. **Capture health** reports dropped activity. A call to `track` is therefore not proof that a row was stored. The public collector refuses event types reserved for the server. It also refuses experiment and variation stamps supplied by the browser. Do not send a browser `purchase`, `refund` or `exposure` to stand in for platform records of those actions. ### If praxis.track is not sending events Check the sender as well as the event definition: - Make sure the capture runtime has installed `window.praxis.track` before your code calls it. - Check analytics consent, Global Privacy Control and the saved analytics choice. The consent rules above still apply. - Use a valid event name and JSON serializable properties. Invalid input can return silently. - Review the browser event budget, the collector rate cap and **Capture health** for dropped activity. The helper gives no delivery receipt. A call does not confirm that the event was stored. ## Define the meaning in the catalog 1. Open **Insights**. 2. Open **Events & Capture**. 3. Open **Catalog**. 4. Choose **New event**. 5. Enter **Label**. 6. Enter **Event name (snake\_case)**. 7. Add **What it means (optional)** if a description would help. 8. Review **Count by default**. 9. Review **Intended weight**. Recording a weight here does not apply it to live scoring. 10. If the event carries a property, choose **\+ Add a property** under **Properties it carries (optional)**. 11. Enter the property key. 12. Choose its type: **text**, **number** or **yes/no**. Repeat the property steps for any others the event carries. 13. If you added a numeric property, review **Monetary/numeric value comes from**. Leave it at **no value** if the event just counts. 14. Choose **Preview**. 15. Read what will be recorded. 16. Choose **Define event** when the preview matches your intent. 17. Check the result, which says the event is in the catalog. A definition also records its value source, counting defaults and intended weight. For a custom definition: - Follow the same name shape as `track`. - Avoid the reserved `praxis_` prefix and structural names `pageview`, `exposure`, `goal` and `tick`. - Keep the key stable. Rename the label if the wording changes. A definition’s key cannot be changed in place. Defining an event does not add a listener or start sending it. Add a page or section binding, call `track`, or enable the appropriate automatic capture separately. The catalog is not an ingestion allowlist. A valid custom event can arrive without a definition and appear in **Needs review**. Disabling a definition removes its compiled capture bindings; it is not a general server block on custom calls to `track`. ## Built in vocabulary and automatic capture The catalog shows built in events alongside your own. Examples include: | Event | Meaning | | --- | --- | | `pageview` | A page view from the site’s capture runtime. | | `section_view` | A section became sufficiently visible when that capture class is enabled. | | `content_click` | A click through to content from a bound section. | | `page_engagement` | Visible time on a page when that capture class is enabled. | | `form_submit` | A successful native form submission recorded by the server. | **Automatic capture** has controls for section views, clicks within sections, outbound links, downloads, scroll depth, search, forms, video and time on content. **Query parameters** selects additional arrival parameters to capture. Enabling collection requires approval. An event can be listed before anything on the site sends it. It collects nothing until something does. See the [complete event catalog](https://docs.amadalis.ai/reference/event-catalog/) for every seeded event, its sender and its properties. ## Event weights and goals An event’s catalog weight records intent. It does not change live [affinity](https://docs.amadalis.ai/reference/glossary/#affinity) scoring. Changing live weights is a separate approved personalization setting. A [goal](https://docs.amadalis.ai/reference/glossary/#goal) uses the recorded events to define a result. Agree the event meaning with the people building goals and experiments before instrumenting the page. For consent details, read [Privacy and consent](https://docs.amadalis.ai/trust/privacy-and-consent/). ## Link a signed in customer After your own sign in succeeds, post the customer’s stable account identifier to `/api/dxp/identity/link`. The server identifies the current browser from its cookie. This links the browser for counting; it does not authenticate the customer or grant access to paid content. The page’s capture script now installs `praxis.identify` and `praxis.logout`. On eligible pages for the site’s own signed-in shoppers, it can submit a signed link automatically. This still needs analytics consent and a visitor cookie; it does not replace account sign-in. Live connection tickets included with a page are encrypted; do not try to read the visitor id by decoding one. Keep the live channel’s shared secret on the server. If that secret is missing or empty, the site issues no live connection ticket. `POST /api/dxp/consent` no longer returns a `visitorId` field. Its JSON reply still reports the recorded purposes, consent regime, policy version, GPC downgrade and consent snapshot. `GET /api/dxp/live-check` reports whether the browser has an identity without printing any part of its id. Do not use either reply to obtain the visitor id. Do not send a visitor ID. Once a site has created its identity secret, a link needs a valid server-issued `assertion` and numeric `exp`; a missing or invalid assertion is refused. The platform keeps that site secret encrypted and does not expose it as a customer setting. An unreadable stored secret refuses linking. A site that has never created one can still accept an unsigned link. For a custom sign-in integration, ask support how to obtain the required assertion; an account identifier alone is not proof of authentication. This example is only for an integration that already has a valid server-issued assertion. `customerId` is the stable account identifier from your verified sign-in flow; `identityAssertion` is that assertion and `identityExpiry` is its numeric expiry. Do not invent these values. ``` const response = await fetch("/api/dxp/identity/link", { method: "POST", headers: { "content-type": "application/json" }, body: JSON.stringify({ accountId: customerId, assertion: identityAssertion, exp: identityExpiry })});const result = await response.json();if (!response.ok || !result.ok) { // Handle the refused link in your own account flow.} ``` When the customer signs out, post to `/api/dxp/identity/detach` as part of your own sign out flow. Check the response before assuming detachment succeeded. A successful detach clears the person and visitor cookies; the next eligible page load can create a fresh anonymous identity. It does not replace your application’s session logout. Consent and the site’s counting policy still govern retained identity details. ``` const detached = await fetch("/api/dxp/identity/detach", { method: "POST" });if (!detached.ok) { // Handle the failed detach in your own account flow.} ``` Return to [Counting people and linking browsers](https://docs.amadalis.ai/privacy/counting-and-identity/) to review the saved link and erasure boundaries. Source: https://docs.amadalis.ai/get-started/getting-started/ # Getting started: your invitation and first page Checked against the product’s code on 7 November 2026. Learn how to start your first site, open **[Composer](https://docs.amadalis.ai/reference/glossary/#composer)** in the site admin and publish your first page after review. Praxis is in private preview. You need an invitation to create an account. If you do not have one, [Apply to the Lighthouse program](https://amadalis.ai/lighthouse). ## Create your account Read the **Terms** and **Privacy Policy** linked on the form before creating your account. The form says that creating an account accepts the Terms and acknowledges that you have read the Privacy Policy. 1. To accept your invitation to create a site, open the link sent to you. It opens **Create your site** with **Your email** already filled in. The invitation is for that address. 2. Fill in **Organization name**. Your organization is the account your sites belong to, and its name also makes your site’s address. 3. Fill in **Site name**. This is the name shown in your account. You choose the name visitors see when you set up the site. 4. Add **Your name** if you want to. 5. Set a password of at least 12 characters. 6. Leave **Existing WordPress site** empty for this tutorial. 7. Review the selected **Plan**. 8. Choose **Create my site**. The [receipt](https://docs.amadalis.ai/reference/glossary/#receipt) says **Check your email to activate your account.** 1. Open the verification email. 2. Follow its link. Registration alone does not create a live site or activate billing. **If you are moving a WordPress site:** if you enter an existing WordPress address, nothing is imported at sign up. After verification, Praxis asks you to connect that site or upload a WordPress export file, and shows what it can bring across before any import starts. If the email has not arrived, check your spam folder, then choose **Send the verification email again** on the receipt. If the receipt’s status says the email could not be delivered, write to [support](mailto:support@amadalis.ai). ## Open your site 1. Sign in to [your account](https://account.amadalis.ai/account) after verification. 2. If the account shows **Your site is waiting for payment**, choose **Pay now and start my site**. The site starts building once the payment is confirmed. 3. In **Your sites**, select your site. 4. Wait for the site to become available. 5. Choose **Open admin**. **While activation is pending:** **Open admin** stays unavailable and the account explains the next step. Payment is needed only if your selected plan requires it. [![The account's Sites tab, Your sites: two sites listed and Quietmarch Apparel (demo-store.sites.amadalis.ai, Live) selected, its card showing Rename, Owner, Open admin, Address, Status Live with content database reachable, Billing On your plan and Checked.](https://docs.amadalis.ai/images/steps/S002-getting-started-sites-open-admin.png)](https://docs.amadalis.ai/images/steps/S002-getting-started-sites-open-admin.png "Open full-size image") Select your site in Your sites, then choose Open admin. The admin includes EmDash’s content screens, such as **Pages** and **Media**. Praxis adds workspaces including **Composer**, **Copilot** and **Site**. [![The demo store's admin as Open admin opens it: Dashboard with Page, Post, Product and Upload Media, the Drafts, Media files and User counts, Content, Recent Activity, and the menu from Dashboard to Settings.](https://docs.amadalis.ai/images/steps/S002-getting-started-admin-dashboard.png)](https://docs.amadalis.ai/images/steps/S002-getting-started-admin-dashboard.png "Open full-size image") Open admin signs you in to your site's admin. ## Create a page [![EmDash Pages list with published shop pages and the Add New button.](https://docs.amadalis.ai/images/owners/menu-content-pages.png)](https://docs.amadalis.ai/images/owners/menu-content-pages.png) EmDash’s Pages screen. Add New starts the page creation flow. [Open full size](https://docs.amadalis.ai/images/owners/menu-content-pages.png). 1. Open **Composer**. 2. Choose **New page**. 3. Enter a **Title**, such as “About our studio”. 4. Choose a **[Page type](https://docs.amadalis.ai/reference/glossary/#page-type)** from the gallery. Filtering is optional. [![New page dialog with the title Docs Walk First Page typed, the page types filtered to How it works and that type selected, Create draft enabled.](https://docs.amadalis.ai/images/steps/S003-getting-started-new-page-type.png)](https://docs.amadalis.ai/images/steps/S003-getting-started-new-page-type.png "Open full-size image") Add New opens the Composer's New page dialog: give the page a title and choose its page type. 5. Choose **Create draft**. Your page opens with the selected type’s starter sections. It is a [draft](https://docs.amadalis.ai/reference/glossary/#draft). Visitors cannot see it yet. [![Composer showing the new draft Docs Walk First Page at /docs-walk-first-page, marked Draft, with a notice that five sections still hold sample copy.](https://docs.amadalis.ai/images/steps/S003-getting-started-new-draft.png)](https://docs.amadalis.ai/images/steps/S003-getting-started-new-draft.png "Open full-size image") The new page opens in the Composer as a draft. Sections that still need your facts are named at the top. ## Make it yours 1. Click a section to select it. 2. Where **Edit text** is offered, choose it or double click the words. 3. Change the words on the page. 4. Press Escape to apply that text edit to the draft. [![Hero headline being edited in place, with the text bar open and Done and Revert buttons.](https://docs.amadalis.ai/images/steps/S004-getting-started-section-text-typed.png)](https://docs.amadalis.ai/images/steps/S004-getting-started-section-text-typed.png "Open full-size image") Click the words of a section to edit them in place. [![Hero headline now reads Docs Walk: a first page, with the section selected and its toolbar shown.](https://docs.amadalis.ai/images/steps/S004-getting-started-section-text-changed.png)](https://docs.amadalis.ai/images/steps/S004-getting-started-section-text-changed.png "Open full-size image") After Done, the new words are saved to the draft. For other fields: 1. Open **Settings** for the selected section. 2. Change the field you need, such as a button’s destination. 3. Choose **Apply changes**. Replace sample text, check images and give each button a real destination. Use **Structure** to find a section that is hard to select on the canvas. [![Hero settings panel with a subheadline, the button label Read the care guide and its address /care-guide, and Apply changes.](https://docs.amadalis.ai/images/steps/S004-getting-started-settings-apply-changes.png)](https://docs.amadalis.ai/images/steps/S004-getting-started-settings-apply-changes.png "Open full-size image") Review the button label and address, then choose Apply changes. 1. Check the preview at desktop width. 2. Check it at tablet width. 3. Check it at phone width. 4. Choose **Open preview** to review the draft in its own tab. [![Phone-width preview of the draft: headline, subheadline and a Read the care guide button.](https://docs.amadalis.ai/images/steps/S004-getting-started-phone-preview.png)](https://docs.amadalis.ai/images/steps/S004-getting-started-phone-preview.png "Open full-size image") The draft at phone width, with its Read the care guide button. If you prefer to start with a request, **Describe it to the Copilot** opens the same page creation work through the copilot. Give it the facts the page needs. See [The copilot](https://docs.amadalis.ai/copilot/copilot/). ## Publish when you are ready 1. Choose **Publish**. 2. Review **Publish this page?** Check the page name, public address and any notes about the content. [![Publish this page? card naming Docs Walk First Page and its address /docs-walk-first-page, with Publish this page and Keep as draft.](https://docs.amadalis.ai/images/steps/S005-getting-started-publish-card.png)](https://docs.amadalis.ai/images/steps/S005-getting-started-publish-card.png "Open full-size image") The approval card names the exact page and address before anything goes live. 3. Choose **Publish this page** to make it public, or **Keep as draft** to leave it unpublished. [![Composer showing the page as Published, with a receipt: Published Docs Walk First Page, View page, Take it offline.](https://docs.amadalis.ai/images/steps/S005-getting-started-published-receipt.png)](https://docs.amadalis.ai/images/steps/S005-getting-started-published-receipt.png "Open full-size image") After approval the page is live, and the receipt offers to take it offline. 4. After publication, choose **View page** to open the page at its own public address. [![Desktop published page shows Docs Walk: a first page, its introductory text, Read the care guide and the site footer.](https://docs.amadalis.ai/images/steps/S005-getting-started-public-result-1440.png)](https://docs.amadalis.ai/images/steps/S005-getting-started-public-result-1440.png "Open full-size image") The published page at desktop width. The published page shows the heading “Docs Walk: a first page” and the button to read the care guide. [![Phone published page shows Docs Walk: a first page, Read the care guide, a menu button and the site footer.](https://docs.amadalis.ai/images/steps/S005-getting-started-public-result-390.png)](https://docs.amadalis.ai/images/steps/S005-getting-started-public-result-390.png "Open full-size image") The same page on a phone. At phone width, the header has a menu button and the same page heading, introduction and care guide button fit below it. If publishing is refused, read the named problem and correct it before trying again. For example, a section waiting for your facts or a button without a destination can prevent publication. [![Composer with a message: Could not publish Docs Walk First Page. These sections still need your facts: Timeline / steps, Image & text, Features, FAQ, Call to action. Nothing went live.](https://docs.amadalis.ai/images/steps/S005-getting-started-publish-refused-needs-facts.png)](https://docs.amadalis.ai/images/steps/S005-getting-started-publish-refused-needs-facts.png "Open full-size image") Publishing is refused while sections still need your facts, and nothing goes live. Example words and missing facts are different. The Composer names sections that need your facts separately. Fill those notes or remove those sections before publishing. Other sample words remain advisory: review them in the Composer and on the publish card. [![Composer on the template draft Home at /home-2, marked Draft, with the note: Four sections still carry sample copy: Banner, Hero, Blog teaser and Footer CTA. Publish anyway, or fill them first. The page shows the example magazine banner, its hero and the Start reading button.](https://docs.amadalis.ai/images/steps/S005-getting-started-sample-copy-note-in-composer.png)](https://docs.amadalis.ai/images/steps/S005-getting-started-sample-copy-note-in-composer.png "Open full-size image") Template example copy is named, not refused. [![Publish this page? card: Publish Home and the page goes live on the public web at /home-2. Four sections still carry sample copy: Banner, Hero, Blog teaser and Footer CTA. Publish anyway, or fill them first. With Publish this page and Keep as draft.](https://docs.amadalis.ai/images/steps/S005-getting-started-publish-card-sample-copy-advisory.png)](https://docs.amadalis.ai/images/steps/S005-getting-started-publish-card-sample-copy-advisory.png "Open full-size image") The publish card names the sample copy and leaves the choice to you. Editing a published page creates unpublished changes. Visitors keep seeing the published version until you approve the next publish. ## Take a publish back After a first publish, the Composer offers **Take it offline**. Elsewhere, **Unpublish** also returns a published page to draft. After publishing changes to an existing live page, the receipt’s restore action puts its previous published version back and keeps the newer changes unpublished. If that earlier version is no longer kept, the same control takes the page offline instead, so read the receipt afterwards. [![Composer marks Docs Walk First Page Published; its bottom receipt offers View page and Take it offline.](https://docs.amadalis.ai/images/steps/S006-getting-started-receipt-take-it-offline.png)](https://docs.amadalis.ai/images/steps/S006-getting-started-receipt-take-it-offline.png "Open full-size image") The first publish's receipt carries Take it offline. [![Copilot card: Take this page offline? Docs Walk First Page stops serving and returns to draft, with Take it offline and Keep it live.](https://docs.amadalis.ai/images/steps/S006-getting-started-take-offline-card.png)](https://docs.amadalis.ai/images/steps/S006-getting-started-take-offline-card.png "Open full-size image") Asking the copilot to take the page offline shows a card first. [![Composer showing the page as Draft again, with the copilot's reply that the page is offline and its content is preserved.](https://docs.amadalis.ai/images/steps/S006-getting-started-offline-result-draft.png)](https://docs.amadalis.ai/images/steps/S006-getting-started-offline-result-draft.png "Open full-size image") After approval the page is a draft again and its public address no longer serves. Continue with [The Composer](https://docs.amadalis.ai/composer/composer/) and [Themes and tokens](https://docs.amadalis.ai/composer/themes-and-tokens/). To receive your first reply, follow [Forms and replies](https://docs.amadalis.ai/site/forms-and-replies/). Source: https://docs.amadalis.ai/get-started/ # What you can do to get started Checked against the product’s code on 7 November 2026. Go from your invitation to a first page, then learn how to review and publish changes. Begin with your Lighthouse invitation and follow [Getting started](https://docs.amadalis.ai/get-started/getting-started/) to create and verify your account. Once you can open your [Praxis account](https://account.amadalis.ai/account): 1. Open **Sites**. 2. Choose the site you will work on. 3. Choose **Open admin** to enter that site. Use the guide for the required role, setup and current limits. ## Start with a task Choose the result you want. Each guide explains where to begin, what to review and how to check the result. - [Create your first page](https://docs.amadalis.ai/get-started/getting-started/) - [Choose a site template](https://docs.amadalis.ai/site/site-setup/) - [Open the account console](https://docs.amadalis.ai/account/your-account-and-domains/) ## Capabilities and screens | Capability | What you can do | Read next | | --- | --- | --- | | Lighthouse and invitations | Apply to the Lighthouse program and follow the invitation route. | [Getting started: your invitation and first page: Create your account](https://docs.amadalis.ai/get-started/getting-started/#create-your-account) | | Verification and sign in | Confirm your email and open the site with your own account. | [Sign in, invitations and recovery](https://docs.amadalis.ai/account/sign-in-and-recovery/) | | First site and payment state | Read the site status and the next step before a build starts. | [Your account: sites, custom domains and billing: Open or create a site](https://docs.amadalis.ai/account/your-account-and-domains/#open-or-create-a-site) | | Templates and business facts | Choose a starting template and supply facts for its draft copy. | [Set up a site from a template: Choose a template and its copy](https://docs.amadalis.ai/site/site-setup/#choose-a-template-and-its-copy) | | First page | Create a page, fill its sections and check its destinations. | [The Composer: make page drafts, edit headlines and sections](https://docs.amadalis.ai/composer/composer/) | | Publish and take back a change | Review the approval, inspect the public page and use the available way back. | [The Composer: make page drafts, edit headlines and sections](https://docs.amadalis.ai/composer/composer/) | | WordPress migration | Agree a migration scope before switching an existing site. | [Choose a migration source](https://docs.amadalis.ai/migration/sources/) | | Get help | Report a problem and understand support entry. | [Your account: sites, custom domains and billing: Ask for support](https://docs.amadalis.ai/account/your-account-and-domains/#ask-for-support) | ## More in this area These guides cover the other tasks and settings in this area. - [What’s new](https://docs.amadalis.ai/whats-new/): Recent updates to the hosted product, with links to the guides. ## Your next step Begin with [create your first page](https://docs.amadalis.ai/get-started/getting-started/). Follow its steps and check the result before moving to another task. Source: https://docs.amadalis.ai/ # Praxis documentation Checked against the product’s code on 7 November 2026. Build and manage your site with Praxis by Amadalis. Use the Composer for pages, the copilot for a guided request, and the product areas below for the rest of your work. Praxis builds on [EmDash](https://github.com/emdash-cms/emdash), whose content screens are covered here too. ## Start here New to Praxis? Follow [Getting started](https://docs.amadalis.ai/get-started/getting-started/) from your Lighthouse invitation to a first published page. Then [choose a site template](https://docs.amadalis.ai/site/site-setup/) or [edit a page in the Composer](https://docs.amadalis.ai/composer/composer/). Already working on a site? [Browse all product areas](https://docs.amadalis.ai/#find-your-product-area), search for a screen name, or [look up a field or event](https://docs.amadalis.ai/reference/). ## For developers Start with [the platform’s shape](https://docs.amadalis.ai/developers/platform/). Then [add page scripts](https://docs.amadalis.ai/developers/page-scripts-and-events/), [send supported tracking events](https://docs.amadalis.ai/developers/tracking-events/), or [read how copilot requests are governed](https://docs.amadalis.ai/developers/governed-tools/). For public content copies and crawler files, use [the machine-readable site guide](https://docs.amadalis.ai/developers/machine-readable-site/). ## Find your product area Every area has an overview of its capabilities and screens, with a guide or reference to read next. ### [Get started](https://docs.amadalis.ai/get-started/) Go from your invitation to a first page, then learn how to review and publish changes. - [Create your first page](https://docs.amadalis.ai/get-started/getting-started/) - [Choose a site template](https://docs.amadalis.ai/site/site-setup/) - [Open the account console](https://docs.amadalis.ai/account/your-account-and-domains/) ### [The Composer](https://docs.amadalis.ai/composer/) Build and edit pages, sections and layouts, then publish the version you have reviewed. - [Edit a headline or add a section](https://docs.amadalis.ai/composer/composer/) - [Change a theme](https://docs.amadalis.ai/composer/themes-and-tokens/) - [Find a section field](https://docs.amadalis.ai/reference/sections/) ### [The copilot](https://docs.amadalis.ai/copilot/) Describe a result, review what the platform proposes and read the receipt for the change. - [Ask for a page](https://docs.amadalis.ai/copilot/copilot/#ask-for-a-useful-result) - [Review an approval](https://docs.amadalis.ai/copilot/copilot/#read-the-approval-card) - [Find a supported request](https://docs.amadalis.ai/reference/copilot/) ### [Site](https://docs.amadalis.ai/site/) Set up the site, its navigation, design libraries, forms and search metadata. - [Set up the site](https://docs.amadalis.ai/site/site-setup/) - [Change header and footer links](https://docs.amadalis.ai/site/menus/) - [Change search titles and descriptions](https://docs.amadalis.ai/site/seo/) ### [Content](https://docs.amadalis.ai/content/) Use EmDash’s content screens for records, media, reusable material and site administration. - [Manage pages and media](https://docs.amadalis.ai/content/pages-posts-and-media/) - [Group content](https://docs.amadalis.ai/content/pages-posts-and-media/#group-content-with-categories-and-tags) - [Read content requests](https://docs.amadalis.ai/reference/copilot/content-and-media/) ### [Insights](https://docs.amadalis.ai/insights/) Read site traffic, define events and goals, and inspect the population behind a report. - [See visitors and traffic sources](https://docs.amadalis.ai/insights/analytics/) - [Track a custom event](https://docs.amadalis.ai/developers/tracking-events/) - [Read the event catalog](https://docs.amadalis.ai/reference/event-catalog/) ### [Optimization](https://docs.amadalis.ai/optimization/) Plan experiments and audience experiences using campaigns, catalog content and recorded visitor signals. - [Test two page versions](https://docs.amadalis.ai/optimization/experiments/) - [Show content to an audience](https://docs.amadalis.ai/optimization/audiences-and-targeted-content/) - [Track a campaign](https://docs.amadalis.ai/optimization/campaigns-and-tracked-links/) ### [Commerce](https://docs.amadalis.ai/commerce/) Manage products, orders and customer access, with payment and delivery checks. - [Set up a store](https://docs.amadalis.ai/commerce/commerce/) - [Handle an order](https://docs.amadalis.ai/commerce/commerce/#work-through-an-order) - [Review access controls](https://docs.amadalis.ai/reference/settings/page-settings/) ### [Privacy and data](https://docs.amadalis.ai/privacy/) Review visitor choices, captured data, exports and permanent erasure. - [Review consent policy](https://docs.amadalis.ai/privacy/consent-and-visitor-data/) - [Find and erase browser data](https://docs.amadalis.ai/privacy/consent-and-visitor-data/#find-the-visitor-record) - [Export site data](https://docs.amadalis.ai/privacy/consent-and-visitor-data/#export-site-datasets) ### [Account, team and domains](https://docs.amadalis.ai/account/) Open sites, manage people and domain settings, and read account security and billing. - [Open your site](https://docs.amadalis.ai/account/your-account-and-domains/) - [Invite a designer or teammate](https://docs.amadalis.ai/account/your-team/) - [Connect a domain](https://docs.amadalis.ai/account/your-account-and-domains/#add-your-own-domain) ### [Migration](https://docs.amadalis.ai/migration/) Scope a WordPress move, review the imported content and agree the switch. - [Move a WordPress site](https://docs.amadalis.ai/agencies/migration-as-a-service/) - [Review the import](https://docs.amadalis.ai/agencies/migration-as-a-service/#how-the-service-is-reviewed) - [Check current limits](https://docs.amadalis.ai/trust/known-limitations/) ### [Developers](https://docs.amadalis.ai/developers/) Understand the platform and extend page behavior through supported events, scripts and governed requests. - [Understand the platform](https://docs.amadalis.ai/developers/platform/) - [Add JavaScript to a page](https://docs.amadalis.ai/developers/page-scripts-and-events/) - [Track a custom event](https://docs.amadalis.ai/developers/tracking-events/) ### [Agencies and partners](https://docs.amadalis.ai/agencies/) Manage client relationships, delegated access and an agreed delivery scope. - [Manage clients](https://docs.amadalis.ai/agencies/agency-guide/) - [Arrange migration](https://docs.amadalis.ai/agencies/migration-as-a-service/) - [Understand support access](https://docs.amadalis.ai/trust/security/#support-access-is-visible) ### [Trust and security](https://docs.amadalis.ai/trust/) Understand permissions, consent, support entry, recovery and the product’s current limits. - [Read security controls](https://docs.amadalis.ai/trust/security/) - [Understand consent](https://docs.amadalis.ai/trust/privacy-and-consent/) - [Check known limitations](https://docs.amadalis.ai/trust/known-limitations/) ### [Reference](https://docs.amadalis.ai/reference/) Look up fields, events, request permissions, settings and product terms. - [Browse section fields](https://docs.amadalis.ai/reference/sections/) - [Find an event sender](https://docs.amadalis.ai/reference/event-catalog/) - [Look up a copilot request](https://docs.amadalis.ai/reference/copilot/) ## Before you make a live change Read [approval and Undo](https://docs.amadalis.ai/copilot/copilot/#read-the-approval-card), check [known limitations](https://docs.amadalis.ai/trust/known-limitations/), and use [Trust and security](https://docs.amadalis.ai/trust/security/) for team access and support entry. The [changelog](https://docs.amadalis.ai/trust/changelog/) explains the changes recorded in the documentation. ## Take the docs with you Every guide has **Copy page as Markdown** and a download link. You can also [read the documentation index](https://docs.amadalis.ai/llms.txt) or [download the full Markdown text](https://docs.amadalis.ai/llms-full.txt). ## Your next step Start with [Getting started](https://docs.amadalis.ai/get-started/getting-started/). Open your site, create a draft and review it before publishing. See [What’s new](https://docs.amadalis.ai/whats-new/) for updates confirmed in the hosted product. Source: https://docs.amadalis.ai/insights/alerts/ # Set and inspect an analytics alert In the site admin, open **Insights** > **Analytics** to work with analytics [alerts](https://docs.amadalis.ai/reference/glossary/#alert). Use this guide to choose a condition and inspect whether its notification was sent. Checked against the product’s code on 7 November 2026. An alert evaluates recorded analytics; it cannot detect an event the site never collected. 1. Open **Insights**. 2. Open **Analytics**. 3. Open **Reports**. 4. Open a question with a supported [measure](https://docs.amadalis.ai/reference/glossary/#measure). 5. Choose **Set an alert** beside the question heading. Its measure is already selected. ## Choose the condition **Threshold** is the limit you choose for a fixed comparison. **The baseline** compares with usual variation. A [baseline](https://docs.amadalis.ai/reference/glossary/#baseline) compares with the previous six windows of the same length and only acts once at least three of them have data. 1. Choose **A threshold** or **The baseline**. 2. Choose **Above** or **Below**. 3. Set **Threshold**, or **Times the usual swing** for a baseline comparison. 4. Set **Window in days**. 5. Review the selected measure and condition. If the site has no email connection, an email alert shows **Channel silent** and sends nothing until one is connected. 1. Choose **By email** or **On this screen**. 2. For email, enter **Email address**. This is the address the alert will use. 3. Choose **Create this alert**. 4. Read its card, including the destination. 5. Approve the intended alert. Nothing is watched until you approve. ## Read an evaluation The alert list shows its recent evaluation and firings. **Evaluate now** uses the same evaluation path as the scheduled check. Read the evaluated window, observed value and condition together. A firing is a recorded condition match. Its notification state reports the sending attempt; it does not prove that a message reached a mailbox. A saved alert also does not establish that every scheduled run has succeeded. To stop an alert: 1. Choose **Stop this alert**. 2. Read its card. 3. Choose **Approve & stop watching**. 4. Read the receipt and its Undo. The alert is removed; the record of times it already fired is kept, and Undo on the receipt puts the alert back exactly as it was. To change an alert, stop it and create a new one. Keep the intended window and delivery state with any exported or shared result. ## Your next step Use [Analytics reports and sources](https://docs.amadalis.ai/insights/analytics-reports-and-sources/) to inspect the activity behind the measure you chose for the alert. Source: https://docs.amadalis.ai/insights/analytics-reports-and-sources/ # Reports, sources and funnels Checked against the product’s code on 7 November 2026. Use **Sources** in **Insights** > **Analytics** to see where visitors come from. Use **Funnels** to inspect where people abandon checkout, when those steps are recorded. **Period** controls the reporting window. A shared report link can retain its view settings, so check the range before comparing two results. ## Shape a report 1. Open **Reports**. 2. Choose an offered question. 3. Choose **Change what this counts** to inspect its [measure](https://docs.amadalis.ai/reference/glossary/#measure), grouping categories, filters and audience comparison. Topic sections include revenue, products, engagement, retention, acquisition and recommendations. Only supported measures and grouping categories let you open a list of the visitors behind a result. Open an eligible row to inspect the recorded population behind it. A formula, excluded records or an unsupported combination can prevent that link; a chart is not proof that every real world action was collected. ## Trace acquisition 1. Open **Sources**. 2. Choose the view for channel, ad platform, source, campaign, referring site or messaging event. 3. Choose the [goal](https://docs.amadalis.ai/reference/glossary/#goal) under **Converting on**. 4. Review any notice that your own browser is excluded. ### Why your own visits can be missing Your own visits follow the site’s consent rules too. Global Privacy Control prevents capture even after acceptance. Do Not Track prevents capture while you have saved no analytics choice. Declining analytics also prevents it. Under an opt in policy, analytics stays off until you accept it. Use **Privacy choices** on the public site, when offered, to review your choice. A saved analytics acceptance takes precedence over Do Not Track, but never over Global Privacy Control. The **Sources** notice follows the same order: Global Privacy Control, a saved decline, then Do Not Track while no analytics choice is saved. **Group by** can use your own channel groups. Review a group’s rules and their order before approving a change. Existing source facts and a custom grouping are separate: renaming a group does not change the links visitors actually used. Campaign reporting can compare first and last touch. Read that choice of which campaign gets credit with the date window, goal and retained campaign context before claiming a campaign earned a result. ## Inspect a funnel A [funnel](https://docs.amadalis.ai/reference/glossary/#funnel) compares recorded activity at the steps you choose. **ordered** follows the steps in sequence. **strict** allows no other funnel step between them. **any** counts each step separately rather than following one journey. 1. Open **Insights**. 2. Open **Analytics**. 3. Open **Funnels**. 4. Choose the recorded event for the first step. 5. Choose the recorded event for the next step. 6. Use **\+ Add step** if the journey needs another step. 7. Choose the recorded event for that added step. Repeat those steps if needed. 8. Under **Order**, choose **ordered**, **strict** or **any**. These ask different questions. 9. Set **Convert within**. Its window starts at the first step. 10. Under **Count**, choose **visitors** or **sessions**. 11. Under **Excluding**, choose an optional event that drops a journey if it happens between two steps. 12. Choose **Run funnel**. 13. Review the result and the evidence limits below. 14. Choose **Save as a funnel** if you want to keep this new funnel. 15. Enter **Name**. 16. Choose **Save funnel**. An existing saved funnel offers **Update the saved funnel** and **Update funnel** instead. Saving the funnel keeps its definition; it is not evidence that every action was recorded. Read **Your largest drop** and its supporting paths. Driver comparisons look for visitor attributes associated with reaching the outcome. They show patterns in the measured group; they do not establish the cause of a drop. A driver gets no verdict until 25 visitors or 2 percent of the step’s people, whichever is fewer, share the signal. The step must also have at least five people who converted and five who dropped out. Use [Goals](https://docs.amadalis.ai/insights/goals/) for success rules, [Measures](https://docs.amadalis.ai/insights/measures-and-retention/) for compound calculations and [Explore](https://docs.amadalis.ai/insights/explore/) for a more detailed visitor query. Source: https://docs.amadalis.ai/insights/analytics/ # Analytics: visits, visitor sources and finished forms Checked against the product’s code on 7 November 2026. Open **Insights** > **Analytics** to see how busy your site was, measured by recorded visits. Use **Period** for yesterday or another range. Use **Sources** to see where visitors come from and **Funnels** to review what they did next, such as submitting a form. These reports use recorded activity, so [consent](https://docs.amadalis.ai/reference/glossary/#consent) can leave visits out. Set **Period** before reading a result. It applies across the tabs and is kept in the page address, so a link can reopen that view. ## Start with Overview Read the headline and the **People**, **Visits** and **Pages read** tiles. The [goal](https://docs.amadalis.ai/reference/glossary/#goal) tile depends on the site’s configured goal and measure. A missing or unavailable measure is different from a measured zero. Open **How these numbers are made** to see where the records came from, who was counted, how much history is kept and what is missing. Use **Measures** to look up what a measure counts. See [event retention](https://docs.amadalis.ai/privacy/consent-and-visitor-data/#event-retention) for how a saved period affects the available history. | Count | Meaning | | --- | --- | | **People** | Distinct recorded visitors in the period. | | **Visits** | Recorded sessions. A new session starts on first activity, after 30 minutes of inactivity or after 24 hours in one session. | | **Pages read** | Recorded page views. Opening the same page again counts again. | | **Revenue** | Recorded purchases less refunds, in their recorded currency. A refund counts in the period when it occurred. | Under opt-in consent, visitors who have not accepted analytics are absent from these traffic counts. Under opt-out, analytics can start before a choice unless the visitor refuses it. Global Privacy Control prevents that visitor tracking. Missing traffic is not estimated into the answer. An order can contribute revenue without a visitor identity when the shopper has refused analytics. Revenue and identified people therefore count different groups. Questions that combine different currencies are refused; money is not converted for you. [![Demo-store Analytics Overview with a date range, people, visits, pages read, a goal card and traffic sources.](https://docs.amadalis.ai/images/owners/measure-01-analytics-overview.png)](https://docs.amadalis.ai/images/owners/measure-01-analytics-overview.png) Demo-store traffic in Overview. The values belong to this capture and its selected period. [Open full size](https://docs.amadalis.ai/images/owners/measure-01-analytics-overview.png). ## Choose what Analytics shows and counts ### Leave known bots out of the numbers Editors and Admins can change whether supported reports count visitors marked as known crawlers or monitors. They are counted by default. 1. Open **Measures**. 2. Choose the switch **Leave out visitors marked as bots**. 3. Read **Change how this site counts bots?**, including the named standing alerts. 4. Choose **Approve & change counting** if the effect is intended. 5. Read the receipt. Analytics queries, funnel step counts, retention, campaign numbers and standing-alert checks follow this setting. Content performance, capture counts and experiment results keep their own counting. An alert can start or stop firing because of this change. Emails already sent cannot be recalled. The receipt’s **Undo** restores the previous setting; switching it back also asks for approval. The copilot can make the same change; see [Analytics configuration requests](https://docs.amadalis.ai/reference/copilot/analytics-and-events/#analytics-reports-and-configuration). ### Choose the goal Analytics shows Editors and Admins can choose one active [goal](https://docs.amadalis.ai/reference/glossary/#goal) for the site’s Overview tile and **Sources** > **Converting on**. #### Use the screen chooser When a goal is in view and the site has more than one active goal, **Overview** and **Sources** offer **Showing: \[goal\]**. 1. Open **Overview**. 2. Open **Showing: \[goal\]**. 3. Choose the active goal you want to show. 4. Read the receipt. The choice needs no approval card. 5. If you want to put back the earlier choice, use the receipt’s **Undo** before leaving **Overview**. 6. Open **Sources** and check **Converting on**. Later, choose the earlier goal in the same chooser. You can also use that chooser on **Sources**. #### Ask the copilot 1. Open [Goals](https://docs.amadalis.ai/insights/goals/) and find the active goal you want to show. 2. Ask the copilot: “Show \[goal name\] as the goal in Analytics.” 3. Read the receipt. This choice needs no approval card. 4. Return to **Overview** to check its goal tile. 5. Open **Sources** and check **Converting on**. This is one shared choice for the site. It changes neither a goal or measure nor the events collected. If the goal is not counted yet, choosing it does not count it; use **Count this goal**. Use the receipt’s **Undo** to put back the previous choice. See [Choose the goal shown in Analytics](https://docs.amadalis.ai/reference/copilot/analytics-and-events/#analytics-reports-and-configuration). ## Find where traffic came from 1. Open **Sources**. 2. Use **By** to choose a level such as **Channel** or **Source**. A level with no recorded data is unavailable and explains why. 3. Open a row to narrow the result. Check the filter sentence as you go. [![Sources opened on Referral: Showing people who arrived via Referral in the last 28 days, with Show everyone, and the sources demo-data and docs-walk-test with people, times reached and rate.](https://docs.amadalis.ai/images/steps/S072-analytics-sources-referral-detail.png)](https://docs.amadalis.ai/images/steps/S072-analytics-sources-referral-detail.png "Open full-size image") Open a row to see its sources and the filter in plain words. 4. Read **Converting on** to see which goal the conversion result uses. [![Analytics Sources by Channel, converting on Demo data: reached the shop: Direct, Referral, Email and Paid social with share, sources, people and rate.](https://docs.amadalis.ai/images/steps/S072-analytics-sources-by-channel.png)](https://docs.amadalis.ai/images/steps/S072-analytics-sources-by-channel.png "Open full-size image") Where visitors came from over 28 days. This view uses the visitor’s first arrival. Other measures can use the most recent arrival, so check the measure definition before comparing reports. The **Group by** control applies your channel grouping only at the channel level. If your own test visit is absent, read the browser notice. Check the site’s **Privacy choices**, when offered, and any browser privacy signal before expecting that browser to appear. ## Ask a report question 1. Open **Reports**. 2. Choose a question under **What do you want to know?** 3. Read the answer. 4. Expand **Change what this counts** if you want to adjust it. 5. Change **Count** as needed. 6. Change **Split by** as needed. 7. Change **Then by** as needed. 8. Change the filters as needed. **Compare with** is available when the report supports an audience comparison. [![Report Where do people come from? split by channel then visitor type, five rows with share and visitors, and the summary Visitors by channel then visitor type, top 25.](https://docs.amadalis.ai/images/steps/S073-analytics-report-cut-channel-then-visitor-type.png)](https://docs.amadalis.ai/images/steps/S073-analytics-report-cut-channel-then-visitor-type.png "Open full-size image") A report question, cut two ways. The report groups visitors first by channel and then by visitor type, with each row’s share and visitor count shown together. The view’s people links open the visitors counted with those filters. A difference between two report values is not an experiment verdict. Use [Experiments](https://docs.amadalis.ai/optimization/experiments/) to test a change. ## Build a funnel To inspect how many people finished a form, build a [funnel](https://docs.amadalis.ai/reference/glossary/#funnel) whose last step is that form’s recorded submission [event](https://docs.amadalis.ai/reference/glossary/#event). Choose **visitors** under **Count** when you want people rather than sessions. A funnel compares the recorded steps you chose, such as opening a page and then submitting the form. Read the example’s count mismatch below before relying on its totals. 1. Open **Funnels**. 2. Choose a starting question, or **build a funnel step by step**. 3. Choose the recorded event for a step. 4. Use **\+ Add step** for a longer journey, then repeat the event choice for each added step. 5. Choose **ordered**, **strict** or **any** under **Order**. Ordered allows other events between steps. Strict allows no other funnel step between them. Any counts each step independently. 6. Set **Convert within** in days, counted from entry into the first step. 7. Under **Count**, choose **visitors** or **sessions**. 8. Set an **Excluding** event only if it should disqualify the journey. [![Funnel builder: step 1 Page view, step 2 Content click, order ordered, convert within 7 days, count visitors, and Run funnel.](https://docs.amadalis.ai/images/steps/S074-analytics-funnel-steps-and-window.png)](https://docs.amadalis.ai/images/steps/S074-analytics-funnel-steps-and-window.png "Open full-size image") Choose the steps, order and window. 9. Choose **Run funnel**. After a result, the controls are under **Change this funnel**. [![Result 11%, 130 entered and 14 completed end to end, the counting rules, the biggest drop, and what hurts and helps most.](https://docs.amadalis.ai/images/steps/S074-analytics-funnel-run-result.png)](https://docs.amadalis.ai/images/steps/S074-analytics-funnel-run-result.png "Open full-size image") The answer states exactly how it was counted. The headline reports 130 entrants and 14 completions, but the example’s step table reported 130 at the final step. Read the drop between steps and open the people behind it. The explanation of possible drivers describes correlation, not proof that one action caused the result. To keep the definition: 1. Choose **Save as a funnel**. 2. Enter a descriptive name such as “Checkout journey”. 3. Choose **Save funnel**. Changing a saved definition uses **Update the saved funnel**. Running a funnel or choosing a starting question does not save it. [![Receipt Docs Walk Funnel is saved with Undo, the result at a 14 day window, and the name field with Update funnel.](https://docs.amadalis.ai/images/steps/S074-analytics-funnel-saved-and-update-form.png)](https://docs.amadalis.ai/images/steps/S074-analytics-funnel-saved-and-update-form.png "Open full-size image") Save it, then update it when you change it. [![Receipt Docs Walk Funnel is saved (updated to v2) with Undo, and Update the saved funnel and Archive.](https://docs.amadalis.ai/images/steps/S074-analytics-funnel-updated-to-v2.png)](https://docs.amadalis.ai/images/steps/S074-analytics-funnel-updated-to-v2.png "Open full-size image") Each update is a new version. To archive a saved funnel: 1. Choose **Archive**. 2. Read **Really archive?** 3. Confirm only if you want to archive it. Its receipt’s **Undo** can restore it. If the restored funnel is not selected immediately, choose it again from the saved list and verify its steps and window. [![The Archive control armed as Really archive? beside Update the saved funnel.](https://docs.amadalis.ai/images/steps/S074-analytics-funnel-really-archive.png)](https://docs.amadalis.ai/images/steps/S074-analytics-funnel-really-archive.png "Open full-size image") Archive asks once more. [![Receipt The Docs Walk Funnel funnel is archived, it leaves the list, and undo restores it, with Undo.](https://docs.amadalis.ai/images/steps/S074-analytics-funnel-archived-receipt-with-undo.png)](https://docs.amadalis.ai/images/steps/S074-analytics-funnel-archived-receipt-with-undo.png "Open full-size image") Archived, with Undo. [![After Undo, Docs Walk Funnel is chosen again in Saved with its steps and the 14 day window.](https://docs.amadalis.ai/images/steps/S074-analytics-funnel-restored-after-undo.png)](https://docs.amadalis.ai/images/steps/S074-analytics-funnel-restored-after-undo.png "Open full-size image") Undo brings the funnel back. ## Your next step Choose the result you want to measure next. Use [Goals](https://docs.amadalis.ai/insights/goals/) to define it, then return to the report and check what it counts. Source: https://docs.amadalis.ai/insights/channel-groups/ # Group your traffic sources As an Editor or Admin, open **Insights** > **Analytics** > **Sources** in the site admin when your [Sources report](https://docs.amadalis.ai/insights/analytics-reports-and-sources/) needs your own traffic labels. A channel group groups recorded arrivals without changing the recorded events or their original channels. Checked against the product’s code on 7 November 2026. ## Build the grouping 1. Open **Insights** in the site admin. Its reporting tools are available. 2. Open **Analytics**. The reporting tabs appear. 3. Open **Sources**. You see the traffic sources report. 4. Choose **Channel groups**. The grouping form opens. 5. Fill in **Name this grouping**. This is the name readers will choose in the report. 6. Fill in **Rule 1 files them under**. This names the group for arrivals that match the first rule. 7. Choose the channels under **when the channel is any of**. They appear as selected values. 8. If needed, choose a comparison under **and the source**. The comparison controls how recorded source values will match. 9. Supply the matching values under **any of these source values**. The selected values become part of this rule. 10. If needed, set **and the medium** in the same way. Its chosen values further narrow the rule. 11. Choose **Add another rule** if you need another group. Fill in that rule before continuing. 12. Fill in **Everything no rule matched is called**. Arrivals that match no rule use this fallback group. [![Channel groups has a grouping name, one channel rule and a fallback name entered before Review this grouping.](https://docs.amadalis.ai/images/steps/2026-11-05-coverage-and-stale/COV1-11-channel-grouping-form-1440.png)](https://docs.amadalis.ai/images/steps/2026-11-05-coverage-and-stale/COV1-11-channel-grouping-form-1440.png "Open full-size image") Name each group and the arrivals its rule matches. The first matching rule wins. Conditions within a rule work together, while any of the listed values for one condition can match. Add the rules in the order you want them tested. Unmatched arrivals go into the fallback, so the grouping accounts for the same arrivals as the default report. ## Review and use it 1. Choose **Review this grouping**. The approval shows the grouping and its effect on Sources. If the button is unavailable, read its reason beside it. 2. Review the rules and their order. The new labels will be available to other readers of this site’s Sources report. 3. Choose **Approve & add the grouping** if it is right. The receipt confirms the saved grouping. 4. Choose **Back to the report**. Sources opens again. 5. At the channel level, choose your saved grouping under **Group by**. The report now uses your group labels. [![The Sources report's Group by menu offers the saved grouping alongside Default channels.](https://docs.amadalis.ai/images/steps/2026-11-05-coverage-and-stale/COV1-12-group-by-saved-grouping-1440.png)](https://docs.amadalis.ai/images/steps/2026-11-05-coverage-and-stale/COV1-12-group-by-saved-grouping-1440.png "Open full-size image") Choose the saved grouping under Group by to read Sources with its labels. ## Ask the copilot Ask **Copilot** to create a channel grouping, giving its name, each rule in order, and the fallback name. Choose **Send**, then review the same **Add this way of grouping your traffic?** approval before choosing **Approve & add the grouping**. Its receipt can offer **Undo** to remove the newly created grouping. See [Analytics reports and configuration](https://docs.amadalis.ai/reference/copilot/analytics-and-events/#analytics-reports-and-configuration). ## Return to the default Choose **Default channels** under **Group by** to change the report view back. This does not delete your saved grouping. To remove the grouping, open **Channel groups**, choose its **Remove** action and review the removal approval. Removing it returns reports using it to the default channels. Nothing recorded is rewritten. ## Your next step In **Insights** > **Analytics** > **Sources**, choose your saved grouping under **Group by** and read its results. Use [Reports, sources and funnels](https://docs.amadalis.ai/insights/analytics-reports-and-sources/) to review the period and reporting population. Source: https://docs.amadalis.ai/insights/connections/ # Connect Google Analytics Checked against the product’s code on 7 November 2026. Connect [Google Analytics](https://docs.amadalis.ai/reference/glossary/#google-analytics) 4 (GA4) in **Insights** > **Connections** in the site admin. Editors and Admins can enter the property and [service account key](https://docs.amadalis.ai/reference/glossary/#service-account-key). This screen configures an outside property. It does not replace Praxis’s first party Analytics or display GA4 report tables itself. The [reports and annotations](https://docs.amadalis.ai/insights/connections/#reports-and-annotations) section below explains what is still coming soon. Use Praxis’s own **Analytics** for current reports. ## Review the connection Editors and Admins can connect, replace or disconnect the Google Analytics key. Before entering it, prepare the service account: a software identity in Google. Use its [JSON](https://docs.amadalis.ai/reference/glossary/#json) key file, and give that identity access to the intended property. Keep the key out of the copilot conversation. 1. Enter **Property id**, the number identifying your Google Analytics property. 2. Enter the **Service account key** only on the connection card. 3. Choose **Connect**. 4. Review the proposed connection. 5. Apply it only for the intended property. 6. Read the status badge. 7. Read the result of the last check. A passing check names the property Google answered for; if it says this platform’s default property, your own property is not connected yet. A stored key and a connected status alone are not proof that a particular report query has succeeded. ## Check, rotate or disconnect Use **Check now** to test the configured path. To replace a key: 1. Choose **Rotate key**. 2. Enter the replacement in the trusted key form. 3. Choose **Save the new key**. 4. Read its review. 5. Approve the intended replacement. 6. Read the updated status. Disconnecting cannot restore the old key, so reconnecting needs a new key entry. 1. Choose **Disconnect** only when you intend to destroy the stored credential. 2. Read **Disconnect Google Analytics?**. 3. Choose **Disconnect it** if that is the intended change. 4. Read the resulting review. 5. Approve the intended disconnection. 6. Read the updated status. ## Reports and annotations An annotation is a dated note on a report. The connection supplies copilot requests for reading a GA4 report and proposing an annotation. Reading and writing have different approval rules. An annotation write requires approval. Reading Google Analytics reports and writing annotations through this connection is coming soon. Until then, use Praxis’s own **Analytics** for your numbers. Source: https://docs.amadalis.ai/insights/event-measures/ # Add a measure for a recorded event Use **Copilot** in the site admin as an Editor or Admin when a recorded event, including a custom event, needs its own reporting [measure](https://docs.amadalis.ai/reference/glossary/#measure). Review the saved definition under **Insights** > **Analytics** > **Measures**. Adding the definition collects nothing new and does not publish a page. Checked against the product’s code on 7 November 2026. ## Choose what to count Start with [Events and capture](https://docs.amadalis.ai/insights/events-and-capture/) to find the real event in this site’s catalog. Decide whether the measure should count: - Occurrences of that event. - Distinct visitors who sent that event. - Distinct sessions that contain that event. - The total of a numeric property sent with that event. For a numeric total, use a property the event actually records as a number. Defining a measure does not supply missing events or property values. ## Add the definition 1. Open **Copilot** in the site admin. The conversation is ready for your request. 2. Ask it to show the catalog entry for your event. Check that the returned event is the one you want to count. 3. Type “Add a new measure called \[label\] that counts occurrences of \[event\]. Give it the new stable key \[key\].” Replace the brackets with your real label, catalog event and a new lowercase key with underscores between words. 4. Choose **Send**. This definition saves without an approval card; the result names the measure and its saved version. 5. Open **Insights** > **Analytics**. The reporting tabs appear. 6. Open **Measures**. Find your measure by its label and check what it counts. For the other basic counts, ask to count distinct visitors or distinct sessions for that event instead. For a total, ask to sum the named numeric property. Give the copilot the exact recorded event and property rather than asking it to invent them. [![Measures shows the saved measure's name, what it counts and its recorded-event source.](https://docs.amadalis.ai/images/steps/2026-11-05-coverage-and-stale/COV1-13-measure-definition-1440.png)](https://docs.amadalis.ai/images/steps/2026-11-05-coverage-and-stale/COV1-13-measure-definition-1440.png "Open full-size image") The Measures entry shows the saved event and what it counts. [![Copilot confirms the new measure by name and offers Undo.](https://docs.amadalis.ai/images/steps/2026-11-05-coverage-and-stale/COV1-13-measure-receipt-1440.png)](https://docs.amadalis.ai/images/steps/2026-11-05-coverage-and-stale/COV1-13-measure-receipt-1440.png "Open full-size image") The copilot confirms the saved measure. The measure is available to reports immediately. Follow [Analytics reports and sources](https://docs.amadalis.ai/insights/analytics-reports-and-sources/) to use it. The **New measure** form teaches Journey, Ratio and Capped count; use [Measures and retention](https://docs.amadalis.ai/insights/measures-and-retention/) for those tasks. ## Change or undo it Use a new key for a new measure. Changing the definition saved under an existing key changes the meaning of that measure and can restate saved reporting views. Platform measures cannot be overwritten. A measure used by a locked active experiment plan can refuse a change. The copilot receipt’s **Undo** removes a new definition or restores the one it replaced. Read the result before relying on a reversal after other changes. See [Reporting measures](https://docs.amadalis.ai/reference/copilot/analytics-and-events/#reporting-measures) for the request and its Undo boundary. ## Your next step Use [Reports, sources and funnels](https://docs.amadalis.ai/insights/analytics-reports-and-sources/) to read a report with the saved measure. Check its definition under **Insights** > **Analytics** > **Measures** whenever its meaning is unclear. Source: https://docs.amadalis.ai/insights/events-and-capture/ # Events and capture settings Checked against the product’s code on 7 November 2026. Open **Insights** > **Events & Capture**. An [event](https://docs.amadalis.ai/reference/glossary/#event) definition gives a recorded action a name and meaning. It does not make anything on the site send that action. ## Define and manage an event 1. Open **Catalog**. 2. Choose **New event**. 3. Enter **Label**. 4. Review **Event name (snake\_case)**. 5. Add **What it means (optional)** if a description would help. 6. Review **Count by default**. 7. Review **Intended weight**. This does not change the affinity engine’s active tuning. 8. If the event carries a property, choose **\+ Add a property**. 9. Enter that property’s key. 10. Choose its type. Repeat the property steps for any other details carried with the event. 11. Review any value source. 12. Choose **Preview**. 13. Read what will be recorded. 14. Choose **Define event** if the preview matches your intent. 15. Read the result, which says the event is in the catalog. An event can be listed before anything on the site sends it. It collects nothing until something does. Use [Composer tracking](https://docs.amadalis.ai/composer/access-and-tracking/#track-an-element) for a supported page action, configure [automatic capture](https://docs.amadalis.ai/reference/glossary/#automatic-capture) or send it from [site code](https://docs.amadalis.ai/developers/tracking-events/). To manage an existing event: 1. Open the event on **Catalog**. 2. Choose **Enable this event**, **Disable this event** or **Archive**. 3. Read the prepared change. 4. Approve only the intended action. Archiving retires the definition and deletes nothing already recorded; other senders can still record the same event. To bring an archived event back, undo the archive from the activity log. **Rename** appears on events you defined and changes only the words on screen. A definition is not a firewall that rejects every incoming event with another name. ## Check that an event arrives After publishing the page that sends an event, ask the copilot whether it has arrived, such as “Has demo\_request arrived in the last 30 minutes?” It looks back over events already recorded, for 30 minutes unless you name another period of up to 24 hours. Name a page to check only that page. It does not wait or keep watching. When the event has arrived, the answer gives the count and the time of the newest one, in UTC. When it has not, the answer says the event is switched off or not defined, or asks you to open the published page, do the action once and ask again. Visitors who refused analytics or send Global Privacy Control are never counted, so an answer that nothing arrived does not prove that nobody did the action. ## Collection tabs | Tab | What to review | | --- | --- | | **Query parameters** | Extra arrival parameter names to capture. Keep personal or secret values out of URLs. | | **Automatic capture** | Section views, clicks inside sections, outbound clicks, file downloads, scroll depth, site search, form engagement and time on the page. | | **Needs review** | Arriving event types that have no adopted definition. | | **Capture health** | Collection limits and reported dropped events. | A removed query name stops being stored as soon as you approve, on every page view, including one your own code sends. Added names reach visitors as pages refresh. On the visitor-data page-view path, campaign tags and click identifiers containing an email address are left out, and a referrer’s path and query are not kept. New order attribution also leaves out email-like values from arrival tags and removes them from recorded arrival addresses. This does not clean attribution already stored on orders. Declared values containing an email address or a long run of digits are dropped from the page-view record as well as the visitor traits. ### Choose extra arrival parameters Editors and Admins can choose extra values to record from a visitor’s arrival address. Add only names you intend to collect; keep personal and secret values out of links. 1. Open **Query parameters**. 2. Review the names already listed. 3. Enter an intended name in **Add a parameter**, such as `promo`. 4. Choose **\+ Add**. Repeat for each additional name. 5. Choose **Save changes**. 6. Read **Approval required**, including the added and removed names and who the values are captured for. 7. Choose **Approve and apply** only if the list is right. 8. Read the saved receipt. The list accepts up to ten names, each 1 to 32 lowercase letters, digits or underscores. `utm_source`, `utm_medium`, `utm_campaign`, click identifiers and the page’s own `path`, `ref`, `pl` and `r` cannot be added here. To stop collecting an extra parameter, use its remove button, then save and approve the revised list. An empty list turns extra-parameter capture off. The receipt’s **Undo** restores the previous list. The collection and delivery limits above still apply. You can also ask the copilot to change the list; see [Event capture requests](https://docs.amadalis.ai/reference/copilot/analytics-and-events/#event-capture). ### Turn automatic event capture off 1. Open **Insights**. 2. Open **Events & Capture**. 3. Open **Automatic capture**. 4. Find the card for the kind of action you want to stop collecting. 5. Choose **Disable**. 6. Read **Stop collecting this on the live site?**. 7. Choose **Approve & disable** if that is the intended change. To stop recording search terms, use these steps on the **Site search** card. Automatic capture changes ask for your approval, apply when pages load the updated capture settings and still follow each visitor’s analytics consent. An already open page or an older stored page copy can keep the earlier settings. Native form engagement omits submitted field values; the form inbox is a separate record that can hold those values. Search capture can include the search text. Unknown event types can already be recorded before you add their definitions to the catalog. Capture health reports what reached its reporting path; it does not guarantee that a page which closed early reported every dropped attempt. See [the event reference](https://docs.amadalis.ai/reference/event-catalog/) for the supplied event names. Source: https://docs.amadalis.ai/insights/explore/ # Explore visitors, content and events Checked against the product’s code on 7 November 2026. Open **Insights** > **Explore** to find recorded visitor activity on a page. Its **[Visitors](https://docs.amadalis.ai/reference/glossary/#visitor)**, **Content / Products**, **[Audiences](https://docs.amadalis.ai/reference/glossary/#audience)** and **Events** views answer different questions from the site’s recorded data. ## Find a group of visitors 1. Open **Visitors**. 2. Choose an offered question or build a [query](https://docs.amadalis.ai/reference/glossary/#query). 3. Combine conditions that must all match, alternatives where any can match and exclusions where none may match. A sequence condition (**did A, then B**) asks who did one action and then another within a number of days you choose. Only an Admin can see a visitor’s private details; an Editor sees the profile without them. 1. Read the query summary. 2. Read its count. 3. Inspect the returned rows for that query. 4. Open a visitor to read their profile. A count of browser records is not automatically a count of identified people across every account site. ## Save a fixed audience from a query Use an Editor or Admin account with audience access. After checking a visitor query, you can ask the copilot to save its current matches as a fixed [audience](https://docs.amadalis.ai/reference/glossary/#audience). This is a snapshot, not a rule that keeps finding new members. A newly saved list is a draft. Creating it does not publish a targeted section or send an offer. A saved list cannot yet target this site’s pages; use an audience based on a rule or an interest for targeting. 1. Read the query summary and count in **Visitors**. Check that its conditions describe the group you want. 2. Open **Copilot**. 3. Ask “Save the current Explore visitor query as a fixed audience called \[name\].” Include the conditions from its summary. 4. Choose **Send**. Read the saved audience’s name, member count and capture time in the result. 5. If the result says the list was capped, treat the count as the saved subset, not the whole matching population. The copilot refuses a query that searches for one visitor or names one person, such as by a visitor id or an email address. The snapshot stores visitor identifiers, not their private profile fields. Its membership does not refresh on its own. To replace this draft list, ask the copilot to refresh that same saved audience using its existing identifier and query. Read the new count and capture time. The receipt’s **Undo** restores the earlier snapshot. For a newly saved list, Undo removes it. Saving a list does not approve a targeted section or send an offer. See [Audience definitions and saved queries](https://docs.amadalis.ai/reference/copilot/audiences-and-targeting/#audience-definitions-and-saved-queries) for the requests and [Audiences and targeted content](https://docs.amadalis.ai/optimization/audiences-and-targeted-content/) for the separate public change. ## Inspect content or audiences **Content / Products** compares recorded activity such as views, cart additions and conversions. **Audiences** opens the configured audience populations. Use the current filters and date scope when comparing the views. ## Watch or query events 1. Open **Events**. 2. Choose **Live** for the recent event list, which refreshes periodically. 3. Pause the refresh when you want to read the rows; filters still work. For an earlier range: 1. Choose **History**. 2. Select the date range. 3. Use its paging to inspect the rows. 4. Refresh explicitly when needed. Open an event’s visitor profile or narrow the recent event list to that visitor using its offered actions. Details of what the visitor was shown and why exist only when the recorded event carries them. A recent event list has a size limit; it is not an export of all stored data. For privacy export or erasure, use [Visitor Data](https://docs.amadalis.ai/privacy/consent-and-visitor-data/#find-the-visitor-record). For an aggregate question, start with [Analytics](https://docs.amadalis.ai/insights/analytics/). Source: https://docs.amadalis.ai/insights/goals/ # Define and test a goal Checked against the product’s code on 7 November 2026. Open **Insights** > **Goals**. A [goal](https://docs.amadalis.ai/reference/glossary/#goal) describes a result you want to count, such as completed signups when your site records the matching event. It can be used in reporting, experiments and personalization measurement. ## Choose a kind 1. Choose **New goal**. 2. Enter the goal’s key. 3. Enter its name. 4. Choose a kind from the table below. The key is the goal’s permanent identifier and cannot be changed after the goal is saved; your site code uses it when it directly reports that goal. | Kind | What it counts | | --- | --- | | **Event match** | Recorded events that match the selected type and rule. | | **Page reach** | Visits reaching an exact path or a chosen path prefix. | | **Explicit goal post** | Goal events sent by your code with this goal’s key. | For **Event match**, choose the event type the site sends. For **Page reach**: 1. Enter **path pattern**. 2. Choose **prefix** or **exact**. For **Explicit goal post**, arrange the sender with your developer. The key alone does not make site code send it. ## Preview and approve Read **Live backtest preview** for the rule and historical window being evaluated. It reports how many stored events and visitors would have matched. It does not create those events, rewrite history or predict future conversions. 1. Choose the value rule: no value, a fixed value or a value from an [event property](https://docs.amadalis.ai/reference/glossary/#property), a detail supplied with that event. 2. For a fixed value, enter **amount**. 3. For a fixed value, enter **currency**. 4. For an event property, enter the name of the numeric detail in the field below that choice. A value rule cannot recover a value that the event never supplied. Changing an existing goal’s rule or value raises its version and restates its past results, including experiment results, the next time they are recalculated. A rename alone keeps the version and restates nothing. Read the rule before using it to interpret an experiment or report. 1. Choose **Preview change**. 2. Read the change on **Save this goal?**. 3. Choose **Approve & apply** if it is the intended definition. 4. Read the result. Nothing is saved until you approve. ## Check the first real result Use a test site and a browser that has accepted analytics and does not send [Global Privacy Control](https://docs.amadalis.ai/reference/glossary/#global-privacy-control) or Do Not Track. 1. Trigger the intended action. 2. Check its recorded event in [Events & Capture](https://docs.amadalis.ai/insights/events-and-capture/). 3. Check its goal result. The browser helper sends no goal events after analytics is declined. A saved goal without a sender cannot produce a conversion. Consent, retained data and the properties actually captured determine what can be matched. Use [Events & Capture](https://docs.amadalis.ai/insights/events-and-capture/) to inspect the incoming vocabulary. Use [Measures and retention cohorts](https://docs.amadalis.ai/insights/measures-and-retention/) for metrics built from goals. ## Retire a goal Editors and Admins can archive a goal that should stop counting future conversions. Check the reports and experiments that use it before choosing this. ### Use the Goals screen 1. Find the active goal on **Goals**. 2. Choose its **Archive** button. 3. Choose **Really archive?**. 4. Read **Archive this goal?** and its proposed change. 5. Choose **Approve & apply** if it is intended. 6. Read the receipt and its available **Undo**. The screen asks you to confirm even though the copilot request below does not need an approval card. ### Ask the copilot 1. Ask the copilot: “Archive the goal \[goal name\].” 2. Read the receipt naming that goal. This request needs no approval card. 3. Check that the goal is archived rather than available for a new binding. Its history and past results stay as computed; archiving does not erase recorded events. Use the receipt’s **Undo** to restore the definition. See [Goal requests](https://docs.amadalis.ai/reference/copilot/analytics-and-events/#goals). Source: https://docs.amadalis.ai/insights/ # What you can do in Insights Checked against the product’s code on 7 November 2026. Read site traffic, define [events](https://docs.amadalis.ai/reference/glossary/#event) and [goals](https://docs.amadalis.ai/reference/glossary/#goal), and inspect the people and activity counted in a report. In the site admin, open **Insights**, then choose **Analytics**, **Events & Capture**, **Explore** or another workspace below. Use the guide for the required role, setup and current limits. ## Start with a task Choose the result you want. Each guide explains where to begin, what to review and how to check the result. - [See visitors and traffic sources](https://docs.amadalis.ai/insights/analytics/) - [Track an event](https://docs.amadalis.ai/developers/tracking-events/) - [Read the event catalog](https://docs.amadalis.ai/reference/event-catalog/) - [Group your traffic sources](https://docs.amadalis.ai/insights/channel-groups/) - [Add a measure for a recorded event](https://docs.amadalis.ai/insights/event-measures/) - [Add a reporting dimension](https://docs.amadalis.ai/insights/reporting-dimensions/) ## Capabilities and screens | Capability | What you can do | Read next | | --- | --- | --- | | Period and Overview | Read people, visits, pages and goals for the selected period. | [Analytics: visits, visitor sources and finished forms: Start with Overview](https://docs.amadalis.ai/insights/analytics/#start-with-overview) | | Reports | Change counts, breakdowns, filters and audience comparisons. | [Reports, sources and funnels](https://docs.amadalis.ai/insights/analytics-reports-and-sources/) | | Retention cohorts | Compare the later activity of groups that first visited in the same period. | [Measures and returning visitor groups](https://docs.amadalis.ai/insights/measures-and-retention/) | | Alerts | Choose an alert condition, inspect its evaluation and check notification delivery. | [Set and inspect an analytics alert](https://docs.amadalis.ai/insights/alerts/) | | Funnels | Compare steps in a visitor journey, the allowed completion time and saved funnels. | [Reports, sources and funnels](https://docs.amadalis.ai/insights/analytics-reports-and-sources/) | | Sources and channel groups | Read how visits are assigned to a source and review custom channel groups. | [Reports, sources and funnels](https://docs.amadalis.ai/insights/analytics-reports-and-sources/) | | Campaign reporting | Read campaign results and check which activity each count includes. | [Campaigns and tracked links: Read campaign outcomes](https://docs.amadalis.ai/optimization/campaigns-and-tracked-links/#read-campaign-outcomes) | | Measures and dimensions | Look up definitions and review requests that combine measures. | [Measures and returning visitor groups](https://docs.amadalis.ai/insights/measures-and-retention/) | | Event catalog | Look up starter and custom event names, their details and what sends them. | [Events and capture settings](https://docs.amadalis.ai/insights/events-and-capture/) | | Automatic capture | Review the kinds of actions captured automatically and their consent requirements. | [Events and capture settings](https://docs.amadalis.ai/insights/events-and-capture/) | | Query parameters | Review extra values captured from the visitor’s arrival address. | [Events and capture settings](https://docs.amadalis.ai/insights/events-and-capture/) | | Needs review and Capture health | Review undefined event names and recorded capture losses. | [Events and capture settings](https://docs.amadalis.ai/insights/events-and-capture/) | | Create and manage events | Define event details and review requests to enable, disable or archive a definition. | [Events and capture settings](https://docs.amadalis.ai/insights/events-and-capture/) | | Browser tracking | Send supported custom events through the browser helper. | [Track custom events with praxis.track](https://docs.amadalis.ai/developers/tracking-events/) | | Goals and backtests | Define a goal and check how it would have counted recorded activity. | [Define and test a goal](https://docs.amadalis.ai/insights/goals/) | | Explore visitors | Inspect recorded visitors using group conditions and sequences of actions. | [Explore visitors, content and events](https://docs.amadalis.ai/insights/explore/) | | Explore content, audiences and events | Read the available content, audience and event views. | [Explore visitors, content and events](https://docs.amadalis.ai/insights/explore/) | | Connections | Review an analytics connection and its setup requirements. | [Connect Google Analytics](https://docs.amadalis.ai/insights/connections/) | | Group your traffic sources | build and choose your own channel groups. | [Group your traffic sources](https://docs.amadalis.ai/insights/channel-groups/) | | Add a measure for a recorded event | count an event or total its recorded numeric value. | [Add a measure for a recorded event](https://docs.amadalis.ai/insights/event-measures/) | | Add a reporting dimension | group reports by recorded information. | [Add a reporting dimension](https://docs.amadalis.ai/insights/reporting-dimensions/) | ## More in this area These guides cover the other tasks and settings in this area. - [Set and inspect an analytics alert](https://docs.amadalis.ai/insights/alerts/): Watch a recorded measure and review when an alert fired and whether notification was attempted. - [Reports, sources and funnels](https://docs.amadalis.ai/insights/analytics-reports-and-sources/): Choose a reporting population, trace acquisition and inspect a funnel’s drop-offs. - [Connect Google Analytics](https://docs.amadalis.ai/insights/connections/): Connect a Google Analytics 4 property and check the connection before depending on its reports. - [Events and capture settings](https://docs.amadalis.ai/insights/events-and-capture/): Define events, configure collection and review arriving event types. - [Explore visitors, content and events](https://docs.amadalis.ai/insights/explore/): Build a visitor query, inspect content performance and read the live list of recent events. - [Define and test a goal](https://docs.amadalis.ai/insights/goals/): Choose what a successful action means and preview its matches before applying it. - [Measures and returning visitor groups](https://docs.amadalis.ai/insights/measures-and-retention/): Read metric definitions, create a compound measure and interpret groups of visitors who return. ## Your next step Choose one task above and follow its guide. For a first look at your site’s numbers, begin with [see visitors and traffic sources](https://docs.amadalis.ai/insights/analytics/). Check the reporting period before comparing results. Source: https://docs.amadalis.ai/insights/measures-and-retention/ # Measures and returning visitor groups Use **Insights** > **Analytics** in the site admin to define what a report counts and compare groups of visitors who returned later. Checked against the product’s code on 7 November 2026. Open **Insights** > **Analytics** and choose the **[Measures](https://docs.amadalis.ai/reference/glossary/#measure)** tab. It lists the measures, dimensions and [goals](https://docs.amadalis.ai/reference/glossary/#goal) available to reporting. A display name alone does not tell you the definition or its version. ## Build a compound measure 1. Choose **New measure** to open the studio. 2. Choose **Journey**, **Ratio** or **Capped count**. 3. Enter **Display name**. 4. Review **Stable key**. 5. Fill in **What this measures**. The studio builds from supported catalog objects with saved versions. For a journey, choose events the site actually records; a ratio needs existing measures to use as its two sides. An ordered journey counts a defined sequence. A ratio divides one eligible measure, the numerator, by another, the denominator. A capped count limits how much one visitor can contribute. These count different groups and should not be compared as if they were the same simple event total. For **Journey**: 1. Choose the event for each journey step. 2. Choose **Order semantics**. 3. Set **Convert within**. 4. Set **Exclude visitors who show** only if the journey needs that exclusion. For **Ratio**: 1. Choose **Numerator**, the measure to divide. 2. Choose **Denominator**, the measure to divide by. For **Capped count**: 1. Choose **Event to count per visitor**. 2. Choose whether to **Cap extreme visitor values**. 3. If the cap is on, review **Upper percentile**. Then save the definition: 1. Choose **Review definition**. 2. Read the proposed definition. 3. Choose **Save metric** when it matches your question. 4. Read its receipt. 5. Check its entry in **Compound registry**. A saved metric does not by itself lock it into an active experiment. Experiment planning has its own version and approval rules. ## Read returning visitor groups This retention means returning activity. 1. Open **Reports** in Analytics. 2. Open **Do visitors come back?**. 3. Choose **Day**, **Week** or **Month**. 4. Read each group’s size and interval together. The report groups people by the period they first arrived and shows how many came back in each later interval. Each group is called a cohort. Recent groups have not had time to fill every future cell. It is separate from the site’s data deletion policy. Erased visitor records leave the cohort calculations. The available retained events determine what can be counted. For deletion policy and archive coverage, read [Privacy and consent](https://docs.amadalis.ai/trust/privacy-and-consent/#retention). For experiment use, read [Experiments](https://docs.amadalis.ai/optimization/experiments/). Source: https://docs.amadalis.ai/insights/reporting-dimensions/ # Add a reporting dimension Use **Copilot** in the site admin as an Editor or Admin when you need to group a report by something this site already records. Review the saved definition under **Insights** > **Analytics** > **Measures**. A dimension supplies the grouping, such as a recorded event property. It does not collect new data. Checked against the product’s code on 7 November 2026. ## Choose the recorded source A dimension can read an event property, a supported event column, a visitor trait from their first arrival, the calendar day or audience membership. Ask the copilot to check the recorded source before defining it. Decide how its values should be offered: - A fixed set of named values appears as selectable chips. Supply the complete allowed set. - Identifiable records use a searchable picker. - An open set of values needs a stated number of leading values whenever it groups a report. ## Add the definition 1. Open **Copilot** in the site admin. The conversation is ready for your request. 2. Ask it to inspect the recorded source you want to group by. Check that the property, trait or other supported source exists. 3. Type “Add a new reporting dimension called \[label\], reading \[recorded source\], with the new stable key \[key\]. Its values are \[value choice\].” Replace the brackets with the real source and your choice above. Use a new lowercase key with underscores between words. 4. Choose **Send**. The definition saves without an approval card; the result names the dimension and its version. 5. Open **Insights** > **Analytics**. The reporting tabs appear. 6. Open **Measures**. Find the dimension by its label and check its meaning. 7. Ask **Copilot** to break a recorded measure down by this dimension. For an open set, include how many leading values to show. Read the grouped result. [![Measures shows the saved dimension's name, what it groups and where its values come from.](https://docs.amadalis.ai/images/steps/2026-11-05-coverage-and-stale/COV1-14-dimension-definition-1440.png)](https://docs.amadalis.ai/images/steps/2026-11-05-coverage-and-stale/COV1-14-dimension-definition-1440.png "Open full-size image") The dictionary entry shows where the saved dimension's values come from. [![Copilot confirms the new dimension by name and offers Undo.](https://docs.amadalis.ai/images/steps/2026-11-05-coverage-and-stale/COV1-14-dimension-receipt-1440.png)](https://docs.amadalis.ai/images/steps/2026-11-05-coverage-and-stale/COV1-14-dimension-receipt-1440.png "Open full-size image") The copilot confirms the saved dimension. A successful definition is available for breakdowns immediately. A report can still have no rows if no matching data has been recorded. ## Change or undo it Use a new key for a new grouping. Updating an existing definition can change its version and restate saved reporting views under the new meaning. Platform dimensions cannot be overwritten. The copilot receipt’s **Undo** removes a new definition or restores the one it replaced. Read the result before relying on it after later changes. See [Reporting groupings](https://docs.amadalis.ai/reference/copilot/analytics-and-events/#reporting-groupings) for the request. For the reporting workflow, follow [Analytics reports and sources](https://docs.amadalis.ai/insights/analytics-reports-and-sources/). ## Your next step Ask **Copilot** to group a recorded measure by your saved dimension, including how many leading values to show when needed. Use [Reports, sources and funnels](https://docs.amadalis.ai/insights/analytics-reports-and-sources/) to review the reporting view. Source: https://docs.amadalis.ai/migration/ # What you can do in Migration Checked against the product’s code on 7 November 2026. Scope a WordPress [move](https://docs.amadalis.ai/reference/glossary/#migration), review the imported content and agree the switch. In the site admin, open **Migration** and **Migration jobs** to review an agreed move with Amadalis. Start by agreeing the scope with the service team. Use the guide for the required role, setup and current limits. ## Start with a task Choose the result you want. Each guide explains where to begin, what to review and how to check the result. - [Move a WordPress site](https://docs.amadalis.ai/agencies/migration-as-a-service/) - [Review the import](https://docs.amadalis.ai/agencies/migration-as-a-service/#how-the-service-is-reviewed) - [Check current limits](https://docs.amadalis.ai/trust/known-limitations/) ## Capabilities and screens | Capability | What you can do | Read next | | --- | --- | --- | | Authorized live source | Review the source connection and what it can provide. | [Choose a migration source](https://docs.amadalis.ai/migration/sources/) | | WordPress export file | Read the draft import and live settings consequences. | [Choose a migration source](https://docs.amadalis.ai/migration/sources/) | | Existing site at signup | Distinguish an assessment from authorization to import. | [Choose a migration source](https://docs.amadalis.ai/migration/sources/) | | Jobs and workspace | Read job status and review requests to cancel, resume or recover work. | [Roll back a migration and recover a job](https://docs.amadalis.ai/migration/workspace-and-recovery/) | | Imported items and findings | Review converted content, manual work and agreed exceptions. | [Review a migration and record cutover](https://docs.amadalis.ai/migration/review-and-cutover/) | | Compare and native preview | Compare the original site and the editable imported content at desktop and phone widths. | [Review a migration and record cutover](https://docs.amadalis.ai/migration/review-and-cutover/) | | Findings and honesty report | Read what needs attention and what did not transfer. | [Review a migration and record cutover](https://docs.amadalis.ai/migration/review-and-cutover/) | | Media transfer results | Inspect copied files, duplicate handling and failed transfers. | [Roll back a migration and recover a job](https://docs.amadalis.ai/migration/workspace-and-recovery/) | | Imported page publication | Publish approved drafts separately from import completion. | [Review a migration and record cutover](https://docs.amadalis.ai/migration/review-and-cutover/) | | Workflow, scan and native-site views | Read the job’s recorded checks and its estimated assessment. | [Review a migration and record cutover](https://docs.amadalis.ai/migration/review-and-cutover/) | | Cutover and acceptance | Agree acceptance and arrange the domain switch separately. | [Review a migration and record cutover](https://docs.amadalis.ai/migration/review-and-cutover/) | | Cancel, resume and rollback | Review what each recovery action changes and which live settings it retains. | [Roll back a migration and recover a job: Use Job controls](https://docs.amadalis.ai/migration/workspace-and-recovery/#use-job-controls) | | Migration in the copilot | Review supported requests and keep source secrets in trusted forms. | [Copilot: WordPress migration](https://docs.amadalis.ai/reference/copilot/migration/) | | Public preview service | Read the invitation and service scope before relying on a preview. | [Migration preview and exporter](https://docs.amadalis.ai/migration/preview-and-exporter/) | | Exporter and source options | Check which authorized source material the service can use. | [Migration preview and exporter](https://docs.amadalis.ai/migration/preview-and-exporter/) | ## More in this area These guides cover the other tasks and settings in this area. - [Migration preview and exporter](https://docs.amadalis.ai/migration/preview-and-exporter/): Understand the temporary preview and obtain the right WordPress exporter for an agreed source route. - [Review a migration and record cutover](https://docs.amadalis.ai/migration/review-and-cutover/): Compare imported drafts, resolve named findings and inspect the candidate’s cutover evidence. - [Choose a migration source](https://docs.amadalis.ai/migration/sources/): Review what each WordPress source route can supply before importing. - [Roll back a migration and recover a job](https://docs.amadalis.ai/migration/workspace-and-recovery/): Cancel an import, roll back imported drafts and review what redirects, menus and themes still need. ## Your next step For a new project, begin with [move a wordpress site](https://docs.amadalis.ai/agencies/migration-as-a-service/). If a job already exists, use the review or recovery guide above before changing it. Source: https://docs.amadalis.ai/migration/preview-and-exporter/ # Migration preview and exporter Checked against the product’s code on 7 November 2026. Amadalis can provide an invited migration preview before a project proceeds. A temporary preview is separate from your hosted account and its imported site awaiting acceptance. ## Inspect a temporary preview 1. Open the supplied invitation. 2. Review the source route it offers. 3. Review which categories it can obtain before starting. 4. Enter any source credentials only in the dedicated connection form. A preview stays open for 30 minutes after its import finishes. Access then ends. Ask your engineer to confirm when the copied content and media have been removed. Use the preview to inspect the imported result and named gaps. It does not establish a visual match for the whole site, a completed account signup or an approved switch to the public site. ## Get the right exporter The **[Praxis Migration Exporter](https://docs.amadalis.ai/reference/glossary/#praxis-migration-exporter)** for WordPress supplies read only addresses for exported content and its file inventory. Access requires the source user’s WordPress Export permission. It is different from the exporter used by EmDash’s own separate importer. Use the package and version agreed with Amadalis for your migration. If the exporter guide shows no download, ask Amadalis for the package. Files are checked against the original where the source provides a checksum, a digital fingerprint used to check a file. Review any missing verification with your engineer. Keep the original source available for [review and the switch to the new site](https://docs.amadalis.ai/migration/review-and-cutover/). Source: https://docs.amadalis.ai/migration/review-and-cutover/ # Review a migration and record cutover Open **Migration** > **Migration jobs** in the site admin and select the job you are reviewing with Amadalis. Use this guide to see which imported WordPress pages are ready before agreeing to replace your website. Checked against the product’s code on 7 November 2026. **Before you start:** arrange the move with Amadalis through [the migration service](https://docs.amadalis.ai/agencies/migration-as-a-service/). This guide starts with an imported job to review. The **Migration** workspace brings imported content and review evidence together. A successful import is the beginning of review, not permission to switch the public domain. Read any items held for a site Admin, including redirects, SEO fields or content-type settings and site accounts. Ask an Admin to complete those parts; imported pages do not prove they were applied. ## Review each imported item A migration handoff does not recreate a missing page. If the site can be read and the imported page is no longer there, the copilot receives that fact instead of being sent to edit a stale page address. A shared colour that cannot be resolved remains a finding to review. When its control’s explanation already names the missing binding, the report avoids a second explanation for that same binding. An explanation is not proof the original colour, gradient or video was reproduced. 1. Search **Imported items**. Use the available filters or [CSV](https://docs.amadalis.ai/reference/glossary/#csv) spreadsheet file to inspect the list. 2. Open the page by its title. Its review shows **Before**, **After** and **Split**. 3. Choose **Split** to compare the original with the destination at the same browser width. 4. Choose **Open the page** when offered to inspect the destination’s editable page. If the comparison says **Oracle**, it is a source reference, not the editable page on your new site. Ask the migration engineer for that page before accepting it. Supported parts of a source page become sections you can edit. A part that cannot be rebuilt exactly is kept as it was and listed for review. Anything not listed may still need a manual check. On an Elementor import, a shared color missing from the export can be read from that page’s saved styles. The export’s shared color definitions take priority. Review any colors still listed as missing. An import can bring in pages while leaving other site parts unfinished. A review item can say **Your menus, categories, tags, authors, SEO settings, sections, header and footer, and widgets were not imported.** Its full reason continues: **None of them were written to your site. Please contact support so we can finish the import.** Pages already imported stay in place. Another review item can say **Your authors, SEO settings, section previews, header and footer, and widgets were not imported.** Menus, categories, tags and sections can already be in place. Follow its request to contact support. Use the offered conversion action or **Undo conversion** according to the item. For a finding, use **Fix with Copilot**, **Accept** or **Mark manual**. The whole page has **Accept the page** and **Mark manual**. Read the actual proposed change and its result. Accepting an item is different from hiding a finding you have not inspected. ## Inspect the review tabs When a page review is open, choose **All pages** to return to the job. Choose **Inspect** to reveal the tabs below. **Workflow** shows progress. **Honesty report** and **Scan** expose reported gaps and the estimate of what the source contains and what can move. Scan complexity is an estimate, not a measured promise of how long the project will take. **Native site** shows how the site’s page addresses, menus, redirects and search settings work. **[Cutover](https://docs.amadalis.ai/reference/glossary/#cutover)** brings the candidate’s required comparisons, checks for content still served by the source site and acceptance together. It counts only the gaps nobody has accepted yet. Items you accepted as they are stay listed beside the original import totals, which do not change. Before approving, ask the migration engineer to finish and record the comparison evidence. 1. Open **Cutover**. 2. Read **Review and fidelity acceptance**, including each remaining blocker. 3. Choose **Approve publication and cutover** only when it is available and you accept the reviewed version. 4. Read the result. The button becomes **Publication and cutover approved**. This records permission; it does not publish pages or switch traffic. 5. Read **Native cutover receipt**. Ask the engineer to resolve any blocked check. 6. Choose **Issue receipt** only when it is available. 7. Check that the receipt reads **issued** before arranging the switch. ## Publish and switch separately For eligible [drafts](https://docs.amadalis.ai/reference/glossary/#draft): 1. Choose **Review** to return from Inspect to **Imported items**. 2. Select each intended page using its checkbox. The bulk actions appear when items are selected. 3. Choose **Publish N**, where N is the number of eligible selected drafts. 4. Review the selection and any warning about pages that were drafts on the source. 5. Choose **Confirm publish N** to publish through your own session. 6. Read how many pages published and any failures. Failed pages remain selected. **Limits.** Pages can succeed or fail separately; failed pages remain selected for review or retry. Publishing the whole imported site is not an all-or-nothing operation. Anything the copilot publishes pauses for its approval card. Arrange the domain switch only after the reviewed candidate and required evidence are accepted. Domain verification, routing and certificate readiness remain separate checks. Follow [Add your own domain](https://docs.amadalis.ai/account/your-account-and-domains/#add-your-own-domain) with the migration engineer, keeping the domain pointed at the old site until the account’s domain card gives the switch instruction. Keep the source site available until the migration engineer confirms the switch. After the switch, check the published pages, menus, pictures and forms at the public address. Source: https://docs.amadalis.ai/migration/sources/ # Choose a migration source Open **Migration** in the site admin when reviewing the source route agreed with Amadalis. This guide explains which source material each route needs. Checked against the product’s code on 7 November 2026. Start a [move](https://docs.amadalis.ai/reference/glossary/#migration) with Amadalis through [the migration service](https://docs.amadalis.ai/agencies/migration-as-a-service/) and agree the source and destination before importing. Then [open the destination site’s admin](https://docs.amadalis.ai/get-started/getting-started/#open-your-site). Arrange access to import and publish with its owner; see [team roles](https://docs.amadalis.ai/account/your-team/). Use a site Admin when the import needs new content types or fields. A lower role is refused before importing when those changes are needed. The **Migration** workspace is separate from [EmDash’s own importer](https://docs.amadalis.ai/content/imports-and-transfer/). ## Inspect the available routes | Route | What to review | | --- | --- | | Authorized exporter | The categories the exporter can actually supply with the source user’s permission. | | WordPress software interface (API) with a signed in connection | Available content and the categories reported partial or unavailable. | | WordPress export file | The data present in that WordPress XML export (WXR) file, including its limits for later plugin tables. | | Public scan | Only what the unauthenticated source exposes. | Pages and posts arrive as drafts. The import also changes your live site’s redirects, replaces a menu with the same name and makes its theme the live theme. Visitors see the change within the hour, usually much sooner. While the site’s server is down, visitors may see the previous version of a page for up to a day. Review those effects before importing into a site already in use. A partial import can leave pages in place while menus and other site parts need attention. Read [any named failures in the review](https://docs.amadalis.ai/migration/review-and-cutover/#review-each-imported-item) before assuming every part arrived. Keep passwords out of the copilot conversation. **Import live** stays unavailable until the scan has run. Open **Migration**. If the source forms are hidden, choose **New import** to reveal them. Use only the route agreed with Amadalis. In **Import a live WordPress site**: 1. Enter the WordPress address. 2. If the agreed route uses an application password, enter the WordPress username. 3. Enter that user’s application password in its dedicated field. Skip this step if the agreed route does not use one. 4. Choose **Scan**. 5. Read **Available**, **Partial** and **Unavailable** for each reported source category. 6. Choose **Import live** only after reviewing those limits and the live changes above. In **Import a WordPress export (WXR)**: 1. Choose the agreed WordPress export file ([WXR](https://docs.amadalis.ai/reference/glossary/#wxr)). 2. Choose **Inspect WXR**. 3. Review the source estimate and limitations. 4. Choose **Import as drafts** only after reviewing those limits and the live changes above. The import opens its job and shows progress. If it is refused or reports a failure, read that message before trying again. For a job with imported items, continue with [Review each imported item](https://docs.amadalis.ai/migration/review-and-cutover/#review-each-imported-item). Changing a source or connection requires a new current inspection. ## Understand the effects ### What happens to old WordPress addresses The import maps the WordPress addresses it can recover to their destination addresses and writes permanent redirects (301) for supported mappings. It does not guarantee that every old address stays the same or has a matching page. An old link can still return a 404 if no public page or working redirect matches it. A mapping whose destination could not be resolved is kept disabled. Redirect conflicts and loops need review. Some archive addresses fall back to the homepage until a better destination is supplied. An imported page can still be a draft, so a mapping is not proof that visitors can read it. Before cutover, review these findings in [the import review](https://docs.amadalis.ai/migration/review-and-cutover/#review-each-imported-item). Check your important old links against published destination pages and use [Redirects](https://docs.amadalis.ai/site/redirects-and-404s/) to review or repair their destinations. The old hostname must reach the new site for its redirects to answer. The **Available**, **Partial** and **Unavailable** results show where the chosen source supports an import. Unsupported behavior can need rebuilding in Praxis. Preserving a plugin’s data does not make its software run. Review the [items needing a separate plan](https://docs.amadalis.ai/agencies/migration-as-a-service/#items-that-need-a-separate-plan) with the migration team. The workspace serves one destination site. A WordPress network needs a plan for each destination; scanning it does not automatically create a matching network of sites. The optional existing WordPress address at signup starts discovery after verification; it does not itself authorize a full import. Use [review and cutover](https://docs.amadalis.ai/migration/review-and-cutover/) before switching a domain. Source: https://docs.amadalis.ai/migration/workspace-and-recovery/ # Roll back a migration and recover a job Checked against the product’s code on 7 November 2026. To inspect recovery options for a test import: 1. Open **Migration**. 2. Select the intended job in **Migration jobs**. 3. Review **Job controls**. **Roll back native drafts** moves imported pages that are still drafts to [Trash](https://docs.amadalis.ai/reference/glossary/#trash). It does not restore the import’s redirects, menu or theme. Job status, the destination’s content and the file transfer results are different facts. ## Inspect the job 1. Use the job’s workflow and imported item view to see where it stopped. 2. Inspect the available file list or previews. 3. Read any reported failure. Files can be reported as migrated, reused or failed; read a failure rather than treating a total as a successful transfer. If review says menus and other site parts were not imported, follow its request to contact support. Imported pages can remain. Read [the warning and its full scope](https://docs.amadalis.ai/migration/review-and-cutover/#review-each-imported-item) before changing the job. Each file is checked against the original where the source provides a checksum, a digital fingerprint used to check the copy. Where it does not, the screen says the file could not be fully verified. ## Use Job controls | Action | Effect | | --- | --- | | **Cancel import** | Requests a stop at a safe stopping point. Created drafts remain reviewable. | | **Roll back native drafts** | Moves imported pages that are still drafts to Trash. Read which items can still be rolled back. | | **Resume job** | Prepares a stopped job for the source to be attached again. | | **Delete job** | Removes migration job records after its remaining imported drafts have been handled. | To cancel, roll back or delete, choose the action, then choose **Confirm CANCEL**, **Confirm ROLL BACK** or **Confirm DELETE JOB**. To resume: 1. Choose **Resume job** when it is available. 2. Attach the source again. The job does not keep the original connection details or export file. ## Reset deliberately **Reset workspace** is broader than changing the selected job. It applies to every migration job in this workspace. 1. Below the jobs list, choose **Reset workspace**. 2. Read the second button’s warning about removing all jobs and rolling back drafts. 3. Choose that confirmation button only if this is the workspace you intend to reset. Confirming removes every migration job in this workspace, its records and automatic migration redirects, and moves its drafts to recoverable [Trash](https://docs.amadalis.ai/reference/glossary/#trash). Published content and imported themes stay. Reset has no automatic Undo. Wait for any running import to stop, or cancel it, before resetting. Rolling back moves imported pages that are still drafts to Trash. It does not undo the import’s redirects, the menu it replaced or the theme it made live; ask your migration engineer to restore those. Keep the original available and ask the migration engineer to review the remaining state before proceeding. Source: https://docs.amadalis.ai/optimization/affinity-engine/ # The affinity engine, explained Checked against the product’s code on 7 November 2026. Use **Optimization** > **Personalization** > **Engine** in the site admin to inspect and change how recorded actions contribute to visitor interest scores. The [affinity](https://docs.amadalis.ai/reference/glossary/#affinity) engine keeps interest scores for a visitor. Relevant actions add weight to those scores. Time reduces them. [Audiences](https://docs.amadalis.ai/reference/glossary/#audience) and recommendations can use the resulting strength. The scores come from configured arithmetic. With the same settings, activity and time, the calculation gives the same result. ## Setup comes first 1. Open **Optimization**. 2. Open **Personalization**. 3. Open **Engine**. 4. Read **Affinity on** or **Affinity off**. The information tip beside it gives the reason. [![Personalization settings: Saved · revision 1, Affinity on, with the tip "Affinity is on for this site: the engine learns on 2 axes, and 1 thing is personalized for a behavioral audience."](https://docs.amadalis.ai/images/steps/S048-affinity-engine-on-and-saved.png)](https://docs.amadalis.ai/images/steps/S048-affinity-engine-on-and-saved.png "Open full-size image") The Engine says whether affinity is on, and why. The saved settings have Affinity on, and the fields below set how many interest points each recorded visitor action adds. Showing targeted content needs saved settings, an active piece of content assigned to an affinity audience and the personalization service connection. Your content interests and relevant [events](https://docs.amadalis.ai/reference/glossary/#event) also need to be configured. Ask Amadalis to check that setup with you before relying on the scores. [![Events & Capture with Content click selected: on, 15 events from 10 visitors in 28 days, all from the Recommendations section.](https://docs.amadalis.ai/images/steps/S048-affinity-engine-event-content-click.png)](https://docs.amadalis.ai/images/steps/S048-affinity-engine-event-content-click.png "Open full-size image") Check that the event the engine counts is actually arriving. In the **Add an interest** panel: 1. Enter the **Interest name**. 2. In **Read from**, enter the tag or field on your content that carries it. 3. Use the add button below the fields. The interest is only staged until you choose **Save** and approve the change. Follow [Tune and review](https://docs.amadalis.ai/optimization/affinity-engine/#tune-and-review) below to save it. Content categories and tags can also supply interests through the [content catalog](https://docs.amadalis.ai/reference/glossary/#content-catalog). ## Build the content catalog A catalog snapshot is the content list saved at one point in time. The content catalog is separate from the section and theme catalogs. Prepare your published content and its [categories and tags](https://docs.amadalis.ai/content/pages-posts-and-media/#group-content-with-categories-and-tags) first. [![Content catalog: active snapshot of 25 items, built and activated Oct 31, 1 axis, 2 audiences, and the Items tab.](https://docs.amadalis.ai/images/steps/S101-affinity-engine-catalog-active-snapshot.png)](https://docs.amadalis.ai/images/steps/S101-affinity-engine-catalog-active-snapshot.png "Open full-size image") The active catalog snapshot. The active catalog snapshot contains 25 items, with its build and activation times shown beside it. 1. Open **Optimization**. 2. Open **Catalog**. 3. Choose **Build the catalog** if none exists, or **Rebuild the catalog** for an existing one. 4. Read **Build this site’s content catalog?** or **Rebuild the content catalog?** and its scope. [![Rebuild the content catalog? replacing 25 items, becoming 26, adding Docs Walk First Page, reversible, with Keep the current catalog.](https://docs.amadalis.ai/images/steps/S101-affinity-engine-rebuild-card.png)](https://docs.amadalis.ai/images/steps/S101-affinity-engine-rebuild-card.png "Open full-size image") Rebuilding shows what it would add and remove first. The rebuild replaces the active catalog snapshot, independently of publishing a page draft. 5. Confirm **Build the catalog** or **Rebuild and publish the catalog**, as offered. 6. Inspect **Items**. 7. Inspect **Values**. 8. Inspect **Audiences**. 9. Inspect **Suggested tags**. 10. Compare the content and values with what you expected to include. [![Values tab: accessories and layers, 3 items each, each with its active audience.](https://docs.amadalis.ai/images/steps/S101-affinity-engine-catalog-values.png)](https://docs.amadalis.ai/images/steps/S101-affinity-engine-catalog-values.png "Open full-size image") Each tag value and the audience it earned. [![Audiences tab: Accessories Affinity and Layers Affinity, active, with members.](https://docs.amadalis.ai/images/steps/S101-affinity-engine-catalog-audiences.png)](https://docs.amadalis.ai/images/steps/S101-affinity-engine-catalog-audiences.png "Open full-size image") The audiences generated from the values. 11. Under **Suggested tags**, choose **Propose tags**. 12. Read the separate approval. 13. Confirm **Propose tags** if you want those suggestions prepared. 14. Review the suggestions it returns. 15. Choose **Approve** or **Decline** on the suggestion’s row. 16. Read the prepared change. 17. Confirm **Approve the tag** or **Decline the tag**, or choose **Leave it proposed**. A suggestion is not an accepted tag. [![Suggested tags: No tag suggestions waiting, with Propose tags.](https://docs.amadalis.ai/images/steps/S101-affinity-engine-suggested-tags.png)](https://docs.amadalis.ai/images/steps/S101-affinity-engine-suggested-tags.png "Open full-size image") Proposed tags wait here for a person. No tag suggestions are waiting for approval, and Propose tags is the control for requesting suggestions. Use a receipt’s **Undo** when offered to restore the previous catalog state. A rebuilt catalog alone does not establish that affinity delivery is configured. Check the service, settings, audience and active-content prerequisites above. ## What adds to a score An event must carry a value for a configured interest and have a positive weight. The engine first reduces the old score for elapsed time, then adds that action’s weight. A page visit alone does not establish a particular interest. Check which events your site actually sends in **Insights**, then **Events & Capture**. An event appearing in a settings list is not proof that your site sends it. Use **What each visitor action counts for** to review the weights. A larger weight adds more evidence for the values carried by that action. A blank weight counts as zero. The greyed number in an empty field is the platform’s suggested value, and it does not apply until you enter it and save. [![Weight fields: Clicked a piece of content set to 2 points; empty fields show greyed suggested values.](https://docs.amadalis.ai/images/steps/S049-affinity-engine-weight-controls.png)](https://docs.amadalis.ai/images/steps/S049-affinity-engine-weight-controls.png "Open full-size image") Each action's points. A blank field counts nothing. [![Visitor Data, Interests and audiences: the demo visitor’s Layers score is 0.53 and direct-channel score is 0.63.](https://docs.amadalis.ai/images/steps/S049-affinity-engine-score-after-one-click.png)](https://docs.amadalis.ai/images/steps/S049-affinity-engine-score-after-one-click.png "Open full-size image") Read the current scores on Interests and audiences. ## How interest fades The raw score is the interest total after action weights and their fading over time, before it is converted to a strength between zero and one. **How long interest lasts** controls the decay rate. In the platform’s initial settings, that value is seven days. The screen reads this as interest halving about every 4.9 days of inactivity. The score continues to fade over time. [![How long interest lasts 7 days ("Interest halves about every 4.9 days of inactivity") and the How interest fades chart.](https://docs.amadalis.ai/images/steps/S050-affinity-engine-how-interest-fades.png)](https://docs.amadalis.ai/images/steps/S050-affinity-engine-how-interest-fades.png "Open full-size image") The memory setting and what it does over time. The downward curve shows interest scores fading during inactivity rather than ending at a fixed deadline. The raw score is converted into a strength between zero and one. **How much activity counts as strong interest** controls how much evidence is needed for a high strength. For example, with a raw score of 3 and that setting at 1.8: ``` strength = 3 / (3 + 1.8) = 0.625 ``` At a join threshold of 0.6, that passes the interest check. This is a calculation example. Actual delivery also needs a usable audience, active targeted content and visitor consent. ## When an audience applies A threshold is a boundary value. **A visitor joins an audience at** sets the join threshold. **and leaves when it falls below** sets the lower threshold used for recorded membership exits. [![A visitor joins an audience at 0.6 and leaves below 0.45, with The gap between them.](https://docs.amadalis.ai/images/steps/S051-affinity-engine-join-and-leave-thresholds.png)](https://docs.amadalis.ai/images/steps/S051-affinity-engine-join-and-leave-thresholds.png "Open full-size image") Joining and leaving use two marks, so membership does not flicker. There are two views to understand. Page delivery checks the current faded score against that audience’s join threshold. Recorded membership transitions use the join and leave thresholds when activity is processed. A delivered page and the recorded member list can therefore change at different times. Use the audience’s definition and **Members & why** alongside a check of the delivered content. A tune for one audience can override its join threshold, memory and evidence setting. An interest can also set its own values in the interests table, and where both apply, the interest’s own setting wins. Current limitation: the audience’s leave setting and individual action weights do not provide separate page delivery controls. ## How recommendations use scores A **Recommendations** section ranks catalog items using the visitor’s strengths for the items’ tags. The Composer offers **Always show first**, but currently refuses saving changes to pins. Changes to **Never show** and **What each card shows** are refused too; see [Recommendations](https://docs.amadalis.ai/optimization/recommendations/) for the saving limits. Set **When there is nothing to personalise on** for cases without a usable score. The choices are **The most recently updated items**, **Your pins, then catalog order** and **Hide the section entirely**. With **Hide the section entirely**, a visitor without a usable score sees no section at all, not even your pinned items. A usable catalog, settings and service connection are part of this setup. Personalization consent and Global Privacy Control also govern whether visitor interest can be used or updated. ## Tune and review A revision is a saved version of the settings. 1. Change the intended setting in **Engine**. 2. Choose **Save**. 3. Read **Review this change**. 4. Choose **Approve & save** if it matches your intent. 5. Read the resulting revision and its receipt, which offers **Undo this change**. [![Review this change: Watched a video to the end now earns 2 points (it counted for nothing), the note Docs walk: a test revision, rolled back next, where it takes effect, and Approve & save.](https://docs.amadalis.ai/images/steps/S053-affinity-engine-new-revision-review-card.png)](https://docs.amadalis.ai/images/steps/S053-affinity-engine-new-revision-review-card.png "Open full-size image") Every saved change is reviewed first. Open **Change history**, followed by its revision count, to inspect earlier revisions. **Roll back to this** restored a different written video weight as a new revision, and **Undo this change** returned the previous settings. Restoring a revision with a blank video weight was refused when the current weight was zero. Do not treat a blank field and a written zero as an interchangeable put-back. The revision 3 picture below records an earlier manual save, not an automatic restore. [![Personalization Change history shows revision 1 In force with its reason; name hidden.](https://docs.amadalis.ai/images/steps/S053-affinity-engine-change-history.png)](https://docs.amadalis.ai/images/steps/S053-affinity-engine-change-history.png "Open full-size image") Change history lists recent saved revisions. [![Personalization Change history shows revision 2 In force and revision 1 Earlier, with Saved revision 2 and Undo this change; name hidden.](https://docs.amadalis.ai/images/steps/S053-affinity-engine-history-two-revisions.png)](https://docs.amadalis.ai/images/steps/S053-affinity-engine-history-two-revisions.png "Open full-size image") Each save is a revision with its reason. [![The history with revision 3 Docs walk: put revision 1's settings back, In force, above revisions 2 and 1.](https://docs.amadalis.ai/images/steps/S053-affinity-engine-history-restored-revision-3.png)](https://docs.amadalis.ai/images/steps/S053-affinity-engine-history-restored-revision-3.png "Open full-size image") Putting settings back writes a new revision. Revision 3 was manually saved after the attempt to restore earlier settings was refused. Continue with [Audiences and targeted content](https://docs.amadalis.ai/optimization/audiences-and-targeted-content/) to put an interest audience to use. Source: https://docs.amadalis.ai/optimization/affinity-settings/ # Configure affinity Checked against the product’s code on 7 November 2026. Open **Optimization** > **Personalization** > **Engine** to review [affinity](https://docs.amadalis.ai/reference/glossary/#affinity) configuration. Affinity is a decaying score of recorded actions, not a model that invents a person’s interests. ## Read the active settings Check **Affinity on** or **Affinity off** and its stated reason. Affinity is on only when the engine has saved settings, at least one thing on the site is personalized for a behavioral [audience](https://docs.amadalis.ai/reference/glossary/#audience), and the site’s personalization service is connected. When it is off, the reason beside **Affinity off** names the first of these that is missing. An editor screen alone does not prove a visitor is receiving affinity based content. Review what each supported action contributes, how long scores are remembered and the interest categories in use. A shorter memory makes older actions matter less sooner. Merely listing an event’s intended weight in the event catalog does not change these active weights. ## Change the audience boundaries 1. Review **A visitor joins an audience at**. 2. Review **and leaves when it falls below**. 3. Review the safety limits. 4. Review any setting that replaces the default for one audience. The first two fields set when a visitor enters and leaves an affinity audience, each as a number between 0 and 1. A saved [revision](https://docs.amadalis.ai/reference/glossary/#revision) lists them as **Join point** and **Leave point**. Separate points avoid repeatedly changing membership near one boundary. [When an audience applies](https://docs.amadalis.ai/optimization/affinity-engine/#when-an-audience-applies) explains the difference between page delivery and recorded membership. Use **Add an interest** for a supported new interest category. The content catalog and the settings currently in effect can also supply interest categories; an empty manual list does not prove the engine has no interests available. ## Save and review a revision 1. Change the intended values. 2. Choose **Save**. 3. Read **Review this change**. 4. Choose **Approve & save** if the change matches your intent. 5. Read the resulting revision and its receipt. Use **Change history** to inspect earlier revisions, the recorded reason and an offered action to restore an earlier version. Restoring an earlier version is a new change to the settings, with its own approval. A restore to a blank action weight can currently be refused when the active weight is zero. A restore does not rewind everything visitors did in the meantime. Check [the affinity explanation](https://docs.amadalis.ai/optimization/affinity-engine/) and [content catalog](https://docs.amadalis.ai/optimization/content-catalog/) together before relying on the experience. Source: https://docs.amadalis.ai/optimization/audiences-and-targeted-content/ # Audiences and targeted content Checked against the product’s code on 7 November 2026. Learn how to show a different banner to returning visitors, or other content to an audience, in **Optimization** > **Audiences** and **Personalization** > **[Targeted content](https://docs.amadalis.ai/reference/glossary/#targeted-content)** in the site admin. For returning visitors, use the built-in **returning** audience and follow [Create targeted content](https://docs.amadalis.ai/optimization/audiences-and-targeted-content/#create-targeted-content); you do not need a new rule. Consent and **Holdback %** still apply. An [audience](https://docs.amadalis.ai/reference/glossary/#audience) defines who qualifies. Targeted content defines what those people see. Creating an audience alone does not change a page. ## Build a rule audience 1. Open **Optimization**. 2. Open **Audiences**. 3. Choose **\+ New audience**. 4. Choose **Build a rule**. 5. Enter the audience’s name in the first field. 6. Choose its conditions from the available fields. [![Build a rule with Segment name Docs Walk Audience, a Trait condition Viewed page is /docs-walk-first-page, and the preview sentence.](https://docs.amadalis.ai/images/steps/S036-audiences-rule-name-and-viewed-page.png)](https://docs.amadalis.ai/images/steps/S036-audiences-rule-name-and-viewed-page.png "Open full-size image") Name the audience and add a condition. The preview says it in plain words. [![The same rule with an AND group set to any of, Channel is Direct or Referral.](https://docs.amadalis.ai/images/steps/S036-audiences-rule-any-of-group.png)](https://docs.amadalis.ai/images/steps/S036-audiences-rule-any-of-group.png "Open full-size image") A group holds alternatives: any of, all of or none of. 7. Review how the conditions are grouped. 8. Use the form’s save control. A new rule is saved as a draft. [![Docs Walk Audience page marked Draft, Members not counted yet, and a note that a draft rule is not evaluated for any visitor.](https://docs.amadalis.ai/images/steps/S036-audiences-rule-saved-as-draft.png)](https://docs.amadalis.ai/images/steps/S036-audiences-rule-saved-as-draft.png "Open full-size image") A saved rule starts as a draft and checks nobody. 9. Open the saved audience. 10. Choose **Activate**. 11. Read **Turn on this audience?** 12. Choose **Turn it on** or **Leave it off**. **Deactivate** turns it off again. [![Turn on this audience? says no targeted content uses the audience yet, with Leave it off and Turn it on.](https://docs.amadalis.ai/images/steps/S036-audiences-turn-on-card.png)](https://docs.amadalis.ai/images/steps/S036-audiences-turn-on-card.png "Open full-size image") Turning it on asks first. [![The audience marked Active with the receipt Turned on Docs Walk Audience, with Undo.](https://docs.amadalis.ai/images/steps/S036-audiences-turned-on-receipt.png)](https://docs.amadalis.ai/images/steps/S036-audiences-turned-on-receipt.png "Open full-size image") Active, with Undo. A draft rule is not evaluated for visitors. An active rule is checked on every page view. It shows visitors nothing until targeted content uses it. Editing an active rule changes who qualifies on later page views. Conditions outside a group must all match. Choose **\+ Any-of group** to add a group, then set it to **any of** or **none of**. An **any of** group needs at least one matching condition. A **none of** group needs no matching condition in that group. Choose fields and values the product actually offers rather than assuming a visitor fact exists. **Region** and **City** come from the request itself, and are read only for visitors who allowed personalization. Enter a region as its code, such as `US-MA`. A rule with **City** also needs **Country** or **Region**, because many places share a city’s name. A city comes from the visitor’s network location, which is often wrong on mobile and office networks. ## Understand the audience list The list includes rule audiences and audiences based on [affinity](https://docs.amadalis.ai/reference/glossary/#affinity) signals. Choose **Affinity signal** when the audience should come from a scored interest. That path needs the affinity engine’s setup and relevant activity first. A rule’s member count can say **not counted yet**. The product checks the rule on page views and does not keep a running count for every rule. That message is not a count of zero people. Affinity audience details offer **Definition**, **Members & why** and **Analytics**. Use the definition and membership reasons to understand that audience before targeting it. ### Create an affinity audience Editors and Admins can create an audience from a real catalog interest. First complete [the affinity engine’s setup](https://docs.amadalis.ai/optimization/affinity-settings/) and check the relevant [catalog attributes](https://docs.amadalis.ai/optimization/content-catalog/). Membership comes from recorded interest as it rises and fades, not visitor identifiers you type in. 1. Ask the copilot: “Create a draft affinity audience for visitors interested in \[existing catalog attribute and value\].” 2. Read the saved draft and condition. Creating it needs no approval; a draft has no members. 3. Ask: “Activate \[audience name\].” 4. Read **Change this audience’s status?**, including the effect on content already targeted to it. 5. Choose **Change audience status** if that is intended. 6. Open the audience and read **Members & why** before using it for targeted content. To stop using that affinity audience, ask to archive it and review the same status card. A status change can affect live targeting. Its receipt’s **Undo** restores the previous status only while the audience has not changed again. Creating the draft also has receipt Undo. See [Affinity audience requests](https://docs.amadalis.ai/reference/copilot/audiences-and-targeting/#audience-definitions-and-saved-queries). ## Create targeted content 1. Open **Optimization**. 2. Open **Personalization**. 3. Open **Targeted content**. 4. Choose **New targeted content**. Choose the kind of change: | Choice | What it changes | | --- | --- | | **Content swap** | Different content in one section for an audience. | | **Arrangement** | The order of sections on a page for an audience. | | **Time-boxed offer** | A live offer triggered during a visit, with an expiry. | For a first change, use **Content swap**: A section field name identifies one editable value, such as its headline. Use the exact name in the linked section reference when creating a content swap. The readable field label and its code name can differ. 1. Enter a name in the field at the top of the form, such as `studio-hero`. This is required. [![New targeted content with Content swap chosen, Name docs-walk-swap and Description Docs Walk Swap.](https://docs.amadalis.ai/images/steps/S038-audiences-targeted-content-name-and-type.png)](https://docs.amadalis.ai/images/steps/S038-audiences-targeted-content-name-and-type.png "Open full-size image") Choose Content swap and name it. 2. Choose the **Audience**. It starts on the built-in **returning** audience, so change it unless that is the audience you want. 3. Choose the page where the change belongs. 4. Choose its **Section**. 5. Under **3 · What**, type a field name on a row. The form does not list the section’s fields. Find the exact names in the [section reference](https://docs.amadalis.ai/reference/sections/). Each name must match one of that section’s fields, or the value is not shown. 6. Type its new value. 7. Use **\+ add a field** for more, repeating the name and value steps. 8. Review **Holdback %**. It starts at 10, so 10 percent of matching visitors keep seeing the default as a comparison group. At 0 nobody is held back and the lift cannot be measured. The nearby hint keeps showing the initial percentage, so read the number in the field after editing it. [![Who: Docs Walk Audience, holdback 0; Where: Docs Walk First Page, Hero selected; What: headline DOCS WALK TARGETED.](https://docs.amadalis.ai/images/steps/S038-audiences-targeted-content-who-where-what.png)](https://docs.amadalis.ai/images/steps/S038-audiences-targeted-content-who-where-what.png "Open full-size image") Pick the audience, the page and section, and the field to change. 9. Choose a [goal](https://docs.amadalis.ai/reference/glossary/#goal) under **Measured on** if you want to measure an outcome. Choose one route: - **Save as draft** leaves it unpublished. - To review the proposed change: 1. Choose **Preview change**. 2. Read the consequence card. 3. Choose **Approve & make it live** or **Keep as draft**. [![The exact change (nothing is saved yet): makes Docs Walk Swap live for people in Docs Walk Audience, with Approve & make it live and Keep as draft.](https://docs.amadalis.ai/images/steps/S038-audiences-targeted-content-exact-change.png)](https://docs.amadalis.ai/images/steps/S038-audiences-targeted-content-exact-change.png "Open full-size image") The exact change is shown before approval. [![Receipt: Docs Walk Swap is now live for people in Docs Walk Audience, in the page's hero, with Undo.](https://docs.amadalis.ai/images/steps/S038-audiences-targeted-content-live-receipt.png)](https://docs.amadalis.ai/images/steps/S038-audiences-targeted-content-live-receipt.png "Open full-size image") Live, with Undo. A draft audience cannot be targeted. **Save as draft** and **Preview change** stay off until you activate that audience or choose another one, and the form names the first missing choice beside them. Targeted content on a page that is not published yet serves nothing until that page is published. ## Keep a useful default The page’s default content remains necessary. Visitors who do not qualify, visitors held back for measurement and visitors for whom personalization is unavailable can see it. [![Desktop page shows DOCS WALK TARGETED above its introductory text and Read the care guide button.](https://docs.amadalis.ai/images/steps/S039-audiences-matching-visitor-1440.png)](https://docs.amadalis.ai/images/steps/S039-audiences-matching-visitor-1440.png "Open full-size image") A visitor in the audience sees the targeted headline. [![Phone view with DOCS WALK TARGETED as the page headline.](https://docs.amadalis.ai/images/steps/S039-audiences-matching-visitor-390.png)](https://docs.amadalis.ai/images/steps/S039-audiences-matching-visitor-390.png "Open full-size image") On a phone. The matching visitor sees “DOCS WALK TARGETED” as the headline at phone width. [![Desktop page shows the default headline Docs Walk: a first page above Read the care guide.](https://docs.amadalis.ai/images/steps/S039-audiences-default-visitor-1440.png)](https://docs.amadalis.ai/images/steps/S039-audiences-default-visitor-1440.png "Open full-size image") A visitor outside the audience sees the default. [![Phone view with the page’s own headline, Docs Walk: a first page.](https://docs.amadalis.ai/images/steps/S039-audiences-default-visitor-390.png)](https://docs.amadalis.ai/images/steps/S039-audiences-default-visitor-390.png "Open full-size image") On a phone. The default visitor sees “Docs Walk: a first page” as the headline at phone width. Visitor consent and Global Privacy Control govern whether personalization may run. An audience rule does not bypass those choices. Audience rules decide whether someone qualifies for personalised content. To stop a targeted item for its whole audience, open its record in **Personalization** > **Targeted content** and choose **Pause**. ## Review what happened The targeted content’s receipt offers **Undo** when available. You can **Pause** live targeted content and **Resume** it later. **Archive** stays off while the item is live, so pause it first, and it asks **Really archive?** before it proceeds. [![Record of docs-walk-swap: Active, with Pause, Edit and Archive; audience, holdback, placement, variant and fallback.](https://docs.amadalis.ai/images/steps/S040-audiences-targeted-item-record.png)](https://docs.amadalis.ai/images/steps/S040-audiences-targeted-item-record.png "Open full-size image") Each targeted item has a record. The targeted item is Active, with Pause, Edit and Archive beside its audience and page placement. [![Stop this targeting? says Docs Walk Audience will see the default content again, with Approve & apply and Cancel.](https://docs.amadalis.ai/images/steps/S040-audiences-stop-targeting-card.png)](https://docs.amadalis.ai/images/steps/S040-audiences-stop-targeting-card.png "Open full-size image") Pausing asks first. [![Paused record with the receipt Stopped targeted content Docs Walk Swap, Undo, and Resume.](https://docs.amadalis.ai/images/steps/S040-audiences-stopped-receipt-undo-and-resume.png)](https://docs.amadalis.ai/images/steps/S040-audiences-stopped-receipt-undo-and-resume.png "Open full-size image") Paused, with Undo and Resume. Use **Performance** to compare targeted and held back visitors on the chosen goal. A positive difference based on too little activity or unfinished outcome periods is not a final result. Read the report’s messages about who was counted and whether enough results are available. [![Measurement: exposures targeted 3, holdback 0, default 0; lift cannot be measured without a held-back group; History: activated, then paused.](https://docs.amadalis.ai/images/steps/S040-audiences-targeted-item-measurement-and-history.png)](https://docs.amadalis.ai/images/steps/S040-audiences-targeted-item-measurement-and-history.png "Open full-size image") What it served, and its history. The record has three targeted exposures and no held back exposures, so it cannot yet compare the targeted result with that group. You can also ask the copilot to explain a named campaign’s recorded decisions, or compare its targeted and held-back results. A campaign with no held-back visitors cannot supply that comparison. The explanation request can inspect your own marked test browser; it does not inspect a real visitor’s personal record. See [Targeted content requests](https://docs.amadalis.ai/reference/copilot/audiences-and-targeting/#targeted-content-and-affinity). For interest scores, decay and recommendations, continue with [The affinity engine, explained](https://docs.amadalis.ai/optimization/affinity-engine/). A rule audience does not require every visitor to have an affinity score. ### Mark your own test browser Editors and Admins can mark their own browser to check personalization. Use this site’s own admin. The mark creates a fresh visitor identity; it cannot be applied to someone else’s visitor record. Personalization must be allowed in this browser. If the site asks first, or you declined it earlier, allow it on the site’s cookie banner before marking. If the site offers no way to allow it, read the refusal instead. A browser sending Global Privacy Control cannot be marked. 1. Open **Personalization**. 2. Open **Targeted content**. 3. In **Test visitors**, type a label such as “My laptop” in the label field. 4. Choose **Make this browser a test visitor**. 5. Find the new row marked **this browser** and read its expiry date. A label can have 1 to 40 characters. The mark lasts 30 days, with at most ten active test visitors per site. To remove it, choose **Remove** on its row, then **Remove this test visitor**. This removes the mark, not the browser’s recorded visitor history. Source: https://docs.amadalis.ai/optimization/campaigns-and-tracked-links/ # Campaigns and tracked links Checked against the product’s code on 7 November 2026. Learn how to track a [campaign](https://docs.amadalis.ai/reference/glossary/#campaign) link in **Optimization** > **Campaigns** and **Links** in the site admin. Group the campaign’s activity, create an address to share and inspect what its traffic counts include. A campaign brings its links, [audience](https://docs.amadalis.ai/reference/glossary/#audience), targeted content and experiments together. A [tracked link](https://docs.amadalis.ai/reference/glossary/#tracked-link) gives you an address to share and counts activity around that link. ## Create a campaign 1. Open **Optimization**. 2. Open **Campaigns**. 3. Choose **\+ New campaign**. 4. Enter a **Name**. The campaign key is made from the name and stays fixed after creation. 5. Choose its **[Channels](https://docs.amadalis.ai/reference/glossary/#channel)**. 6. Add **Starts** when relevant. 7. Add **Ends** when relevant. 8. Choose a **Goal** if the campaign has one. Define it in [Goals](https://docs.amadalis.ai/insights/goals/) first if it is not yet available. 9. Choose **Pages that count as this campaign** when relevant. [![New campaign form: Name Docs Walk Campaign with its key docs-walk-campaign, channel Referral ticked, goal Demo data: reached the shop, page Docs Walk First Page, and What happens when you create it.](https://docs.amadalis.ai/images/steps/S032-campaigns-new-campaign-fields.png)](https://docs.amadalis.ai/images/steps/S032-campaigns-new-campaign-fields.png "Open full-size image") Name the campaign, choose its channels, goal and pages. 10. Choose **Create campaign**. 11. Review the result. [![Docs Walk Campaign is a draft with setup 1 of 3 done, its campaign sections and two audience entry routes; name hidden.](https://docs.amadalis.ai/images/steps/S032-campaigns-saved-draft-campaign.png)](https://docs.amadalis.ai/images/steps/S032-campaigns-saved-draft-campaign.png "Open full-size image") A new campaign is a draft until one of its links goes live. The campaign begins as a draft. It also gets an audience named **Came from** followed by the campaign’s name. It holds anyone who arrives tagged with the campaign key from any channel, and anyone who views one of the campaign’s pages. An approved live link can make the campaign live. Creating a campaign publishes nothing and needs no approval. Its receipt’s **Undo** removes it completely only while no link or rule uses it. After that, **Archive** is the way to end it. The campaign page contains **Overview**, **Links**, **Audience**, **What they see**, **Experiments**, **Outcomes** and **Activity**. Use its setup actions to create related items already pointed at this campaign. ## Add a tracked link On a campaign with no links, choose **\+ New link for this campaign** in its **Links** section. Once links exist, the action reads **\+ New link**. The form opens with that campaign already chosen. You can also open **Optimization**, then **Links**, and choose **\+ New link**. 1. Enter the **Destination URL**. 2. Choose the registered **Campaign**. 3. Choose a **Channel**. 4. Add **Source (optional)** if you need it. [![New tracked link targets the demo page, with Docs Walk Campaign, Referral, source docs-walk-test and the consent notice.](https://docs.amadalis.ai/images/steps/S033-campaigns-new-link-fields.png)](https://docs.amadalis.ai/images/steps/S033-campaigns-new-link-fields.png "Open full-size image") A link carries its campaign, channel and source. 5. Choose **Save link**. 6. Read the card. 7. Choose **Approve & apply** to publish the link, or **Cancel**. [![Approval required: publishes a new public link, its public address, where it redirects, campaign, channel, source, who can use it, and Undo removes it, with Cancel and Approve & apply.](https://docs.amadalis.ai/images/steps/S033-campaigns-link-approval-card.png)](https://docs.amadalis.ai/images/steps/S033-campaigns-link-approval-card.png "Open full-size image") The link is public, so it asks first. 8. Copy the resulting public link into the email, post or message you are sending. [![Receipt Tracked link created, Campaign Docs Walk Campaign is now live, with Undo; the link page shows the public address, its destination, and redirects and landed visitors at 0.](https://docs.amadalis.ai/images/steps/S033-campaigns-generated-link-receipt.png)](https://docs.amadalis.ai/images/steps/S033-campaigns-generated-link-receipt.png "Open full-size image") The generated address to copy unchanged. Praxis creates the link on your site’s own domain and adds the campaign and channel tags to its destination. For an email link, the result also provides an open pixel, a small tracking image placed in the email. A destination on another site is allowed, and the card says **Sends people to another site**. Your site cannot measure a landing on another site, so that link’s **Landed visitors** count does not grow. Share the generated address as shown. After a link has redirected, its channel cannot be changed. Edit other supported details through the link’s page and review the change before saving. ## Read the counts | Count | What it means | | --- | --- | | **Redirects** | Requests that reached the tracked link and were redirected. These can include automated requests. | | **Landed visitors** | Distinct visitors who landed after the click and allowed the relevant measurement. | | **Opens** | Requests for an email link’s open pixel. Mail software can fetch images automatically. | | **Opened, then landed** | Distinct consenting visitors whose landing was connected to an open of the email. This works only when your sending tool adds the same recipient reference, an identifier for that recipient, to both the pixel and the link. | These are different counts. An open does not establish that a person read the email. A redirect does not establish that a consenting visitor landed. [![Demo campaign Overview with Tagged arrivals selected, empty reporting cards, tracked links and its audience panel.](https://docs.amadalis.ai/images/owners/platform-campaigns-show-campaign-page.png)](https://docs.amadalis.ai/images/owners/platform-campaigns-show-campaign-page.png) A demo campaign with Tagged arrivals selected. This capture has no visits in the chosen reporting window. [Open full size](https://docs.amadalis.ai/images/owners/platform-campaigns-show-campaign-page.png). ## Read campaign outcomes 1. In the **Overview** panel’s header, check the date window. 2. Check **Who is counted**. It starts on **Tagged arrivals**, and **Everyone in it** is the other choice. The Overview appears once someone arrives through the campaign. **Everyone in it** includes people who entered through another configured way in, such as a campaign page or audience rule. [![Campaign Links card: /l/docs-walk-campaign, 3 clicks, landed 2, opens Not for these channels; Audience card: tagged arrival 2 people, its pages 2 people, Came from Docs Walk Campaign 2 people.](https://docs.amadalis.ai/images/steps/S034-campaigns-link-clicks-landings-and-audience.png)](https://docs.amadalis.ai/images/steps/S034-campaigns-link-clicks-landings-and-audience.png "Open full-size image") The campaign records three clicks and two landed visitors in this test. The link records three redirects and two arrivals recorded with consent, which measure different events. **Outcomes** groups recorded conversions by goal. Campaign, experiment and personalization credits are independent. Do not add their totals together as if they were separate conversions. **Ad spend** is not collected from your ad tools. The campaign page does not calculate return on spend from missing spend data. ## End a campaign Archiving a campaign also archives its live links. Those addresses keep redirecting with the campaign tags, so tagged arrivals still count toward the campaign, but the links’ own redirect and open counts stop. An archived campaign cannot take new links. 1. Choose **Archive**. 2. Choose **Really archive?** while it is offered. 3. Read the card. 4. Choose **Approve & apply** if it matches your intent. 5. Read the receipt. Its **Undo** restores the campaign and the links it archived. [![Approval required: archives this campaign, 1 link is archived with it and keeps redirecting, Undo restores the campaign and these links to live, with Cancel and Approve & apply.](https://docs.amadalis.ai/images/steps/S035-campaigns-archive-approval-card.png)](https://docs.amadalis.ai/images/steps/S035-campaigns-archive-approval-card.png "Open full-size image") Archiving keeps already-sent links working. [![Links list: Docs Walk Campaign /l/docs-walk-campaign Archived with its campaign, Referral, 3 redirects, 2 landed, beside the store's two demo links.](https://docs.amadalis.ai/images/steps/S035-campaigns-archived-link-still-listed.png)](https://docs.amadalis.ai/images/steps/S035-campaigns-archived-link-still-listed.png "Open full-size image") The archived link remains listed with its recorded counts. Read each receipt for the available **Undo**. Use [Audiences and targeted content](https://docs.amadalis.ai/optimization/audiences-and-targeted-content/) when you want the campaign’s people to see a different section. Source: https://docs.amadalis.ai/optimization/content-catalog/ # The content catalog Checked against the product’s code on 7 November 2026. Open **Optimization** > **Catalog**. The **[Content catalog](https://docs.amadalis.ai/reference/glossary/#content-catalog)** is a saved version of content and its tags. It is different from **Site** > **Catalogs**, which holds page recipes, sections and themes. ## Build or rebuild Prepare your published content and its [categories and tags](https://docs.amadalis.ai/content/pages-posts-and-media/#group-content-with-categories-and-tags) before building the catalog. Approving a build makes the new version active and tries to refresh the audiences generated from its [tags](https://docs.amadalis.ai/reference/glossary/#tag). Read any audience warning in the result. When there is a previous version, Undo on the receipt can restore it. 1. Choose **Build the catalog** when there is no catalog, or **Rebuild the catalog** for an existing one. 2. Review the source rules, included content and proposed change. 3. Confirm **Build the catalog**, or **Rebuild and publish the catalog** for an existing one. 4. Read the active version’s item count and build information. The active version’s details show its item count and build information. A saved version is not proof that every part of affinity delivery is configured. Review [the affinity setup](https://docs.amadalis.ai/optimization/affinity-engine/#setup-comes-first) separately. ## Review its contents | Tab | What it answers | | --- | --- | | **Items** | Which content and tags are in the saved version? | | **Values** | Which tag values have enough content, and which are held back? | | **Audiences** | Which catalog audiences are available? | | **Suggested tags** | Which proposed tags still need a person’s decision? | A tag value earns its own [audience](https://docs.amadalis.ai/reference/glossary/#audience) once at least two items carry it. You can lower that minimum, down to one, when you rebuild audiences from the tags. A held back value is not a lost tag. Add appropriate content or change the approved configuration before rebuilding audiences from the tags. ## Approve tags deliberately Tags can be suggested by an AI model or by a word match; each row says which. Approving adds the tag to your content’s tag categories, which can generate an audience and change which visitors see the item. A suggestion changes nothing until you approve it, and the tag reaches the catalog at the next rebuild. 1. Open **Suggested tags**. 2. Choose **Propose tags**. 3. Read the approval. 4. Confirm **Propose tags** if you want suggestions prepared. 5. Review a suggestion’s content and proposed value. 6. Choose **Approve** or **Decline** on the suggestion’s row. 7. Read the prepared change. 8. Confirm **Approve the tag** or **Decline the tag**, or choose **Leave it proposed**. 9. Rebuild the catalog when an approved tag should enter its next saved version. Use [Taxonomies](https://docs.amadalis.ai/site/taxonomies/) for the groupings themselves and [Recommendations](https://docs.amadalis.ai/optimization/recommendations/) to place ranked content on a page. Source: https://docs.amadalis.ai/optimization/experiment-results/ # Read experiment results and check variations Checked against the product’s code on 7 November 2026. Start with an existing [experiment](https://docs.amadalis.ai/reference/glossary/#experiment). Use [the experiment guide](https://docs.amadalis.ai/optimization/experiments/) if you need to create one or review its locked plan. 1. Open **Optimization**. 2. Open **Experiments**. 3. Open the experiment. Read **Results**, **Timeline** and **Configuration & QA** together. A chart alone is not the decision to promote a winner. ## Read the result under its plan **Results explorer** shows the available saved result and verdict. 1. Review the primary measure. 2. Review its interval, the estimated range around the reported result. 3. Review the safety measures. 4. Check whether traffic split as planned. Missing or immature evidence can prevent a verdict. A scheduled saved result is not proof that the latest job succeeded. An analysis view can show [fixed horizon](https://docs.amadalis.ai/reference/glossary/#fixed-horizon), [Bayesian](https://docs.amadalis.ai/reference/glossary/#bayesian), [sequential](https://docs.amadalis.ai/reference/glossary/#sequential) or adjusted calculations. **Compare methods on one exact cohort** compares methods on the same supported group of visitors. It does not give permission to choose whichever result looks best. The locked plan governs the decision. Only its precommitted deciding method can authorize promotion. For new plans, each guardrail must rule out harm beyond its accepted limit; simply finding no significant harm is not enough. Earlier locked plans keep their recorded checks. ## Use exploratory views carefully The metric explorer and attribute comparisons help investigate results. The [CUPED](https://docs.amadalis.ai/reference/glossary/#adjustment) panel uses eligible data from before each visitor first saw a variation to adjust its reading, and compares that with the unadjusted result. Timeline views help inspect how outcomes change with days since exposure. Treat slices and method comparisons as exploration. A favorable slice does not override the locked primary decision, insufficient evidence or a [sample ratio warning](https://docs.amadalis.ai/reference/glossary/#sample-ratio-mismatch). ## Refresh an older experiment’s saved results Editors and Admins can ask the copilot to recompute an older experiment that has no locked measurement plan. A locked plan refuses this request; read its saved **Results** instead. ### Use the screen Editors and Admins can also do this on the screen. 1. Open the older running or stopped experiment’s details. 2. Choose **Recompute legacy results** when it is offered. It is offered only for an older, unnamed experiment without a locked plan that is running or stopped. 3. Read the refreshed result or the error that names the experiment. This screen action needs no approval card. It refreshes the saved result and the timeline. The partial-write warning below still applies if the request fails. ### Ask the copilot 1. Ask: “Recompute the saved results for \[experiment name\].” 2. Read the returned report or refusal. 3. Check whether it is still collecting and when it was computed before relying on it. 4. Reopen the experiment’s **Results** to review the saved reading. This rereads stored assignments and goal conversions and writes saved measurements and the daily summary. Traffic and public content stay as they are. It needs no approval card and has no receipt Undo. A failure can follow a partial measurement write, so a failed request does not prove that nothing changed. See [Recompute experiment results](https://docs.amadalis.ai/reference/copilot/experiments/#experiment-stages-planning-and-results). ## Keep a usual Results view For an experiment with a locked measurement plan, you can save your preferred method and a single method or side by side view. ### Use Analysis lens 1. In **Results**, open **Change how this is read**. 2. Find **Analysis lens**. 3. Choose an available method from its method grid. 4. Under **View**, choose **Focused method** or **Compare methods**. 5. If **Save this as my default** is offered, choose it. 6. Check for **Saved as my default**. If it was already shown, the choice already matches your saved view. This saves your view for this experiment. Use the site-default request below to change the site’s usual view. ### Ask the copilot 1. Choose a supported method from the experiment’s available Results methods. 2. Ask the copilot: “Save \[method\] with a side by side comparison as my usual Results view for \[experiment name\].” Name a single method view instead if you prefer it. 3. Read the saved receipt. 4. Reopen **Results** without a shared view link to use that preference. Editors and Admins can also ask: “Set \[method\] and a single method view as this site’s usual experiment Results view.” This sets a site default. A personal preference or shared view link can be more specific; an incompatible method falls back visibly. Neither save changes traffic, the locked plan, figures, thresholds or recorded decisions. These saves need no approval card and offer no Undo. Save the earlier choices again to put them back. See [Results preferences](https://docs.amadalis.ai/reference/copilot/experiments/#experiment-stages-planning-and-results). ## Check the actual experience QA means checking that the intended variation is shown before relying on its results. **Configuration & QA** shows the lock and current configuration, including any differences it flags. The selected variation did not appear in the supplied walk described below. Treat this as a check to verify, rather than a working preview guarantee. 1. Open **Configuration & QA**. 2. Find **[QA preview](https://docs.amadalis.ai/reference/glossary/#qa-preview)**. It needs a published page carrying this experiment. 3. Choose the **Variation**. 4. Choose **Open forced preview**. The preview is intended to show that variation on a published, bound page with a QA marker. In the supplied demo-store walk, the selected Treatment served the live content without that marker, even after consent and a reload. Verify both the variation and the marker before treating a view as a QA check. Correctly marked forced QA exposures are intended to be excluded from experiment results. Eligible participation also depends on visitor identity and personalization consent. If you promote a winner, the approved action stops the experiment and copies the winning version into each page’s draft. From that moment every visitor sees the default version until you publish those drafts, which is a separate act. One Undo puts back both the pages and the running split. Continue with [the experiment guide](https://docs.amadalis.ai/optimization/experiments/) for setup, activation, stopping and promotion. Source: https://docs.amadalis.ai/optimization/experiments/ # Experiments: test and compare page versions Checked against the product’s code on 7 November 2026. Open **Optimization** > **Experiments** in the site admin to test two versions of a page, such as two headlines. Review the measurement plan, prepare the variations and inspect the results before choosing a winner. An [experiment](https://docs.amadalis.ai/reference/glossary/#experiment) compares versions of an experience. Before sending traffic to it, define what counts as success and lock its measurement plan. The optional **Hypothesis** records **What the new version changes**, **What should happen to the goal** and **Why you expect it (optional)**. It cannot change after the plan is locked. ## Create the draft A variation is one version of the experience. The control is the version used as the comparison. A guardrail is a measure you watch for unwanted effects. The outcome window is the time allowed for a visitor’s result to count. 1. Open **Optimization**. 2. Open **Experiments**. 3. Choose **New experiment**. 4. Enter its name. 5. Enter **[Experiment key](https://docs.amadalis.ai/reference/glossary/#experiment-key)**. The key is chosen now and cannot be renamed after the draft exists. 6. Enter **Description**. 7. Set **Traffic variations**. For a first comparison, use a control and one alternative. The first variation is the control. Weights set the relative traffic shares. [![New experiment with name Docs Walk Experiment, key docs-walk-experiment, description, and control and treatment at 50% each.](https://docs.amadalis.ai/images/steps/S041-experiments-new-draft-name-and-versions.png)](https://docs.amadalis.ai/images/steps/S041-experiments-new-draft-name-and-versions.png "Open full-size image") Name the experiment and set its versions. 8. Choose a **Primary goal**. 9. Set **Eligibility** if the test should run only for particular audiences. People outside that eligibility see the normal live page and are not counted in the test. [![Primary goal Demo data: reached the shop and the Eligibility section set to any of.](https://docs.amadalis.ai/images/steps/S041-experiments-new-draft-goal-and-eligibility.png)](https://docs.amadalis.ai/images/steps/S041-experiments-new-draft-goal-and-eligibility.png "Open full-size image") Choose the goal and who is eligible. 10. Leave **Arm override** empty unless you deliberately want an eligible audience sent to a specific variation. 11. Choose **Preview draft**. 12. Review **Save this experiment?** 13. Choose **Save draft**. [![Save this experiment? card: a draft does not affect live traffic, with Save draft.](https://docs.amadalis.ai/images/steps/S041-experiments-save-draft-card.png)](https://docs.amadalis.ai/images/steps/S041-experiments-save-draft-card.png "Open full-size image") Saving a draft needs no approval and changes no traffic. [![Docs Walk Experiment marked Draft with the receipt Saved draft experiment, Undo, and the Configuration & QA tab.](https://docs.amadalis.ai/images/steps/S041-experiments-saved-as-draft.png)](https://docs.amadalis.ai/images/steps/S041-experiments-saved-as-draft.png "Open full-size image") The saved draft. The Draft badge and Saved draft experiment receipt show that this saved setup has not started a live split. ## Put content in each variation 1. Open the draft’s **Configuration & QA** tab. 2. In **[Rendered bindings](https://docs.amadalis.ai/reference/glossary/#binding)**, search for the page the test belongs to. 3. Bind that page. The draft’s alternative starts from a copy of that page. [![Configuration and QA, Rendered bindings: Not bound to any page, and the page search showing Docs Walk First Page.](https://docs.amadalis.ai/images/steps/S042-experiments-bind-search-fixture-page.png)](https://docs.amadalis.ai/images/steps/S042-experiments-bind-search-fixture-page.png "Open full-size image") Find the published page to bind. [![Rendered bindings: Bound to 1 page, Docs Walk First Page, arms with a version: control, treatment; QA preview with Variation Control and Open forced preview.](https://docs.amadalis.ai/images/steps/S042-experiments-rendered-binding-and-qa-preview.png)](https://docs.amadalis.ai/images/steps/S042-experiments-rendered-binding-and-qa-preview.png "Open full-size image") The binding and the QA preview control. The binding names Docs Walk First Page, and Control is selected in the preview controls below it. 1. Open the page in [the Composer](https://docs.amadalis.ai/composer/composer/). 2. Choose the chip that reads **The live page**. 3. Pick the experiment. 4. Pick its variation. 5. Make the changes that version should test. 6. Review that version before starting traffic. Repeat for the other versions. While you edit a variation, the chip reads **Editing Variation**, then the variation and the experiment’s name. [![Composer with the chip Editing Variation Treatment, Docs Walk Experiment, and the page outlined with the label Variation Treatment.](https://docs.amadalis.ai/images/steps/S042-experiments-editing-variation-treatment.png)](https://docs.amadalis.ai/images/steps/S042-experiments-editing-variation-treatment.png "Open full-size image") Pick a variation from The live page chip to edit it. [![Composer is editing Variation Treatment; its headline reads DOCS WALK VARIATION: a first page, with section toolbar Undo and 1 change this session.](https://docs.amadalis.ai/images/steps/S042-experiments-variation-marker-edited.png)](https://docs.amadalis.ai/images/steps/S042-experiments-variation-marker-edited.png "Open full-size image") Each variation holds its own content. You can also start a draft test from the Composer’s **New experiment** action, or from a campaign’s experiment action. Check its page binding and content in the same way. ## Use the planner On a draft without a locked plan, choose **Plan sample & duration**. The **Power & duration planner** opens with **Setup**, **Estimate**, **[Provenance](https://docs.amadalis.ai/reference/glossary/#provenance)** and **Saved plans** views. In **Setup**, review: - The history window used to estimate traffic and outcomes. - **80% power** or **90% power**. Higher [power](https://docs.amadalis.ai/reference/glossary/#power) usually needs more visitors. - The primary measure, its target change and direction. - Any secondary measures and guardrails. - The outcome delay and [attribution window](https://docs.amadalis.ai/reference/glossary/#conversion-window). - The actual traffic shares of your variations. 1. Choose **Calculate estimate**. 2. Review the visitors and duration it estimates. 3. Use **Provenance** to inspect where those inputs came from. The saved calculation appears in **Saved plans**. If the site lacks usable traffic history, or the chosen goal has no conversions yet, the planner can show **No estimate yet**. Use **Run for** to choose the duration for that case. Read the planner’s explanation before continuing. [![Experiment planner Setup with history dates, target effect, power and Run for fields; calculation and locking are disabled.](https://docs.amadalis.ai/images/owners/platform-experimentation-plan-it-planner.png)](https://docs.amadalis.ai/images/owners/platform-experimentation-plan-it-planner.png) The planner before the experiment is bound. This frame shows its inputs, not a calculated estimate or a locked plan. [Open full size](https://docs.amadalis.ai/images/owners/platform-experimentation-plan-it-planner.png). ## Lock the plan Choose **Review & lock plan**. Read **Lock this metric plan permanently?** It lists each measure being locked with its direction, delay and attribution window, and says the plan cannot be edited, replaced or undone. The lock is refused if the settings or page bindings changed after the estimate. [![Lock this metric plan permanently? card for the draft experiment Docs Walk P4 Lock Test: Permanent after approval, there is no Undo; the Primary metric Docs Walk P4 goal conversions, goal conversions, Higher is better; measured by the goal Docs Walk P4 goal with 0 secondary and 0 guardrail; no estimate yet; the plan runs until 15 November and cannot be edited, replaced, or undone; Cancel and Approve & lock permanently.](https://docs.amadalis.ai/images/steps/S044-experiments-lock-plan-card.png)](https://docs.amadalis.ai/images/steps/S044-experiments-lock-plan-card.png "Open full-size image") Read every locked measure before you approve. If delay or attribution is out of view, scroll the card’s table sideways and check those columns before approving. Choose **Cancel** if you do not want to lock this plan. The draft stays unlocked. [![After Cancel, Docs Walk P4 Lock Test is still a Draft, and Configuration & QA reads There is no locked plan to compare this configuration against. No measurement plan is locked for this experiment yet.](https://docs.amadalis.ai/images/steps/S044-experiments-lock-declined-still-unlocked.png)](https://docs.amadalis.ai/images/steps/S044-experiments-lock-declined-still-unlocked.png "Open full-size image") Declining locks nothing. If the plan measures something other than the draft’s **Primary goal**, the card says what it replaces. From activation, the experiment is measured on the plan’s measure. Choose **Approve & lock permanently** only when those choices are right. This lock cannot be edited, replaced or undone. If a locked plan no longer fits the question, make a new draft test or clone the experiment rather than rewriting that plan. [![Docs Walk P4 Lock Test remains Draft with a locked plan, a seven-day attribution window, no start time and an Activate button; Configuration & QA says it matches the plan.](https://docs.amadalis.ai/images/steps/S044-experiments-locked-plan-read-only.png)](https://docs.amadalis.ai/images/steps/S044-experiments-locked-plan-read-only.png "Open full-size image") The locked values show read only. Locking is not activation. [![Settings and audience when the plan was locked: Plan locked since Nov 1, 2026, 10:50 AM EST; Traffic allocation Control 50% and Treatment 50%; Audience & targeting None; Experience bindings /care-guide, Published, with its variant ids.](https://docs.amadalis.ai/images/steps/S044-experiments-locked-settings-snapshot.png)](https://docs.amadalis.ai/images/steps/S044-experiments-locked-settings-snapshot.png "Open full-size image") The plan keeps the settings it was locked with. Locking the plan is separate from sending traffic. ## Activate and check the experience Choose **Activate**. If the plan still needs work, this can open the planner first. Traffic cannot start without the required locked plan. In **Optimization** > **Experiments**, open the experiment and use **Activate** in its header to open the activation card once the measurement plan is locked. Review the traffic change, then choose **Approve & go live** to start the split. Use **QA preview** in **Configuration & QA** to choose the **Variation**, then **Open forced preview**. The preview is intended to show that variation on a published, bound page with a QA marker. In the supplied demo-store walk, the selected Treatment served the live content without that marker, even after consent and a reload. Verify both the variation and the marker before treating a view as a QA check. Correctly marked forced QA exposures are intended to be excluded from experiment results. Eligible participation also depends on visitor identity and personalization consent. ## Read the results 1. Open **Results**. 2. Open **Results explorer**. 3. Check the result’s time window and whether it can name a winner before interpreting the difference between variations. | What you see | How to use it | | --- | --- | | Visitor and conversion counts | Check how much measured activity supports the comparison. | | Lift and intervals | Read the estimated difference together with its uncertainty. | | **These results cannot name a winner yet.** | Keep the experiment running or resolve the stated missing evidence. | | A **Sample-ratio mismatch** alert | Investigate the traffic split. The results are not trustworthy while it persists. | The default analysis waits for the planned end and for visitors to have had their allowed time to reach the outcome. New plans also wait for whole weeks counted from the first exposure’s UTC day. Earlier locked plans keep their own rules. Early results and visitors whose outcome windows are still open do not provide the final decision. The analysis controls offer several statistical methods for reading the results. See [Experiment results and checks](https://docs.amadalis.ai/optimization/experiment-results/) for those views. Switching the method does not change the recorded decision. Some methods record their own decision when you choose **Evaluate & record decision**. Only the deciding method locked in the plan can support promotion; other methods remain for exploration. Recording the decision changes no traffic. Date slices and exploratory views can help you investigate; the screen identifies when a view cannot decide a winner. ## Stop or promote To pause a running experiment: 1. Use **Stop** in its header. 2. Read **Stop this experiment?** 3. Choose **Approve & stop**. All traffic returns to the default, and the receipt’s **Undo** starts the split again. When the evidence supports promotion: 1. Choose **Promote winner**, or **Promote** followed by the winning variation’s name. 2. Read **Promote the winner?** and review the pages it will affect. 3. Choose **Approve & promote**. Promotion stops the split and prepares the winner in the bound pages’ drafts. Traffic returns to the default when the split stops. Review those drafts and publish them through their separate page approval cards when ready. Read the promotion receipt for its available **Undo**, which can restore the pages and the running split. ## Copy or archive an experiment Editors and Admins can reuse a setup or remove an old experiment from **Current**. Use its row buttons, or open its **Actions** menu when they are folded into a menu. ### Copy the setup into a new draft 1. Choose **Clone** on the source experiment. 2. Enter the new **Experiment name**. 3. Choose a unique **Experiment key**. It is fixed after creation. 4. Review the copied setup under **Clone as draft**. 5. Choose **Preview draft**. 6. Read **Create this clean draft?**. 7. Choose **Create draft**. The copy is a new draft. It carries editable setup, not the source’s traffic, bindings, locked plans, results or history. Review and lock its own plan before separately activating it. The receipt’s **Undo** reverses the clone. ### Archive and bring it back Stop a running experiment through [Stop or promote](https://docs.amadalis.ai/optimization/experiments/#stop-or-promote) before archiving it. 1. Choose **Archive** on a Draft or Stopped experiment. 2. Read **Archive this experiment?**. 3. Choose **Archive experiment**. It leaves **Current**, keeping its setup and history. 4. To bring it back later, choose the **Archived** filter. 5. Choose **Unarchive** on the experiment. 6. Read **Return this experiment to Current?**. 7. Choose **Unarchive**. It returns as its saved Draft or Stopped state. Unarchive does not resume visitor traffic. The archive receipt’s **Undo** restores the exact state before that archive; Unarchive has its own receipt Undo. You can also ask the copilot to “Copy \[experiment name\] into a new draft called \[new name\]”, “Archive \[experiment name\]” or “Unarchive \[experiment name\]”. These requests do not need an approval card; the screen’s review steps above still apply when using its controls. See [Experiment requests](https://docs.amadalis.ai/reference/copilot/experiments/#experiment-stages-planning-and-results). ## Give an older experiment a measurement plan Editors and Admins can use this for an older running or stopped experiment whose goal was free text. Have its recorded page placements, analysis dates, the time data is complete through, and its planned sample or end date. Do not guess missing history. A draft should use [Lock the plan](https://docs.amadalis.ai/optimization/experiments/#lock-the-plan) instead. 1. Ask the copilot to preview migrating the named older experiment, supplying those recorded facts. 2. Read the proposed outcome and its reason. The preview writes no migration record, plan or saved result. 3. Read **Migrate this legacy experiment?**. 4. Choose **Run legacy migration** only if the historical facts and outcome are right. 5. Read the receipt and any next action it names. History that can reproduce the saved result against one goal receives a locked plan. Ambiguous or unreconstructable history remains in a named state that cannot authorize promotion. The receipt can ask you to resolve the goal and try again, or explain that only the older saved result can be read. This has no Undo. It does not rewrite an existing locked plan, and a migrated lock cannot be edited or replaced. See [Older experiment requests](https://docs.amadalis.ai/reference/copilot/experiments/#experiment-stages-planning-and-results). ## Your next step After approving publication, check the affected public pages. Use [Experiment results and checks](https://docs.amadalis.ai/optimization/experiment-results/) to review the recorded outcome before planning another comparison. Source: https://docs.amadalis.ai/optimization/ # What you can do in Optimization Checked against the product’s code on 7 November 2026. Plan [experiments](https://docs.amadalis.ai/reference/glossary/#experiment) and [audience](https://docs.amadalis.ai/reference/glossary/#audience) experiences using campaigns, catalog content and recorded visitor signals. In the site admin, open **Optimization**. Choose **Experiments**, **Personalization**, **Audiences**, **Campaigns** or **Links** for the change you want to make. Use the guide for the required role, setup and current limits. ## Start with a task Choose the result you want. Each guide explains where to begin, what to review and how to check the result. - [Test two page versions](https://docs.amadalis.ai/optimization/experiments/) - [Show content to an audience](https://docs.amadalis.ai/optimization/audiences-and-targeted-content/) - [Track a campaign](https://docs.amadalis.ai/optimization/campaigns-and-tracked-links/) ## Capabilities and screens | Capability | What you can do | Read next | | --- | --- | --- | | Experiment list and drafts | Find, create, clone and inspect experiment definitions. | [Experiments: test and compare page versions: Create the draft](https://docs.amadalis.ai/optimization/experiments/#create-the-draft) | | Planner and saved plans | Review history, target effects and the planned run. | [Experiments: test and compare page versions: Use the planner](https://docs.amadalis.ai/optimization/experiments/#use-the-planner) | | Permanent lock and activation | Read the plan lock and separate live activation consequences. | [Experiments: test and compare page versions: Lock the plan](https://docs.amadalis.ai/optimization/experiments/#lock-the-plan) | | Results and analysis views | Read estimated ranges, analysis choices and reasons a result is not ready for a decision. | [Read experiment results and check variations](https://docs.amadalis.ai/optimization/experiment-results/) | | Adjustment, slices and timeline | Inspect adjustment and exploratory views within their decision limits. | [Read experiment results and check variations](https://docs.amadalis.ai/optimization/experiment-results/) | | Bindings and QA | Connect a variation to a page and read the current forced preview limit before treating a preview as a test. | [Read experiment results and check variations](https://docs.amadalis.ai/optimization/experiment-results/) | | Stop and promote | Record an eligible decision and review promotion into page drafts. | [Experiments: test and compare page versions: Stop or promote](https://docs.amadalis.ai/optimization/experiments/#stop-or-promote) | | Content swaps | Create a named change for an active audience and a supported section field. | [Audiences and targeted content: Create targeted content](https://docs.amadalis.ai/optimization/audiences-and-targeted-content/#create-targeted-content) | | Section arrangement | Change the section sequence for an audience and read the current pin limitation. | [Live offers and page arrangement: Reorder sections for an audience](https://docs.amadalis.ai/optimization/live-offers-and-arrangements/#reorder-sections-for-an-audience) | | Live offers | Review text fields, trigger, expiry and current measurement limits. | [Live offers and page arrangement: Show a live offer](https://docs.amadalis.ai/optimization/live-offers-and-arrangements/#show-a-live-offer) | | Slots and ranking rules | Review where targeted content can appear and the rules for choosing it. | [Slots, performance and measurement](https://docs.amadalis.ai/optimization/slots-and-measurement/) | | Performance and [holdback](https://docs.amadalis.ai/reference/glossary/#holdback) | Compare visitors shown the targeted content with those who kept the default. | [Slots, performance and measurement](https://docs.amadalis.ai/optimization/slots-and-measurement/) | | Measurement and attribution policy | Review comparison groups and how results are assigned to an experience. | [Slots, performance and measurement](https://docs.amadalis.ai/optimization/slots-and-measurement/) | | [Affinity](https://docs.amadalis.ai/reference/glossary/#affinity) settings | Configure action weights, fading interest scores and audience entry boundaries. | [Configure affinity](https://docs.amadalis.ai/optimization/affinity-settings/) | | History and audience tuning | Review saved versions and settings that apply to one audience. | [Configure affinity](https://docs.amadalis.ai/optimization/affinity-settings/) | | Recorded lift | Review the recorded comparison between targeted and default experiences. | [Evidence, exploration and items needing review](https://docs.amadalis.ai/optimization/learning-and-exploration/) | | Exploration and pending review | Read the displayed proposals and items awaiting a person. | [Evidence, exploration and items needing review](https://docs.amadalis.ai/optimization/learning-and-exploration/) | | Rule audiences | Build, save and activate a rule audience. | [Audiences and targeted content: Build a rule audience](https://docs.amadalis.ai/optimization/audiences-and-targeted-content/#build-a-rule-audience) | | Affinity audiences and member views | Inspect definitions, members and analytics alongside delivery conditions. | [The affinity engine, explained: When an audience applies](https://docs.amadalis.ai/optimization/affinity-engine/#when-an-audience-applies) | | Content catalog | Review the saved content list, its rebuild controls and suggested tags. | [The content catalog](https://docs.amadalis.ai/optimization/content-catalog/) | | Tracked links and email opens | Create tracked links and distinguish clicks, arrivals and matched email opens. | [Campaigns and tracked links: Add a tracked link](https://docs.amadalis.ai/optimization/campaigns-and-tracked-links/#add-a-tracked-link) | | Campaign hub | Create campaign-linked audiences, links and experience drafts. | [Campaigns and tracked links](https://docs.amadalis.ai/optimization/campaigns-and-tracked-links/) | | Recommendations | Choose content, filters and a fallback; read the current limits on saving card parts, pins and exclusions. | [Show related articles on a page](https://docs.amadalis.ai/optimization/recommendations/) | | Visitor decisions | Inspect why an experience was selected and the limits of replaying that decision. | [Visitor records, identity and decisions](https://docs.amadalis.ai/privacy/visitor-data/) | ## More in this area These guides cover the other tasks and settings in this area. - [Configure affinity](https://docs.amadalis.ai/optimization/affinity-settings/): Review action weights, memory, interests and the points where audience membership changes. - [The content catalog](https://docs.amadalis.ai/optimization/content-catalog/): Build a saved view of the content, review its interest values and approve suggested tags. - [Read experiment results and check variations](https://docs.amadalis.ai/optimization/experiment-results/): Inspect the locked analysis, compare exploratory views and check the rendered variations. - [Evidence, exploration and items needing review](https://docs.amadalis.ai/optimization/learning-and-exploration/): Inspect recorded lift, rules for trying alternatives and proposals without assuming automatic optimization is active. - [Slots, performance and measurement](https://docs.amadalis.ai/optimization/slots-and-measurement/): Set a slot’s capacity and rules, then read outcomes under the selected measurement policy. ## Your next step Choose one task above and follow its guide. If you want to compare page versions, begin with [test two page versions](https://docs.amadalis.ai/optimization/experiments/). Check the result before moving to another task. Source: https://docs.amadalis.ai/optimization/learning-and-exploration/ # Evidence, exploration and items needing review Checked against the product’s code on 7 November 2026. Under **Optimization** > **Personalization**, the tabs **What it has learned**, **What it is trying** and **What needs a person** show recorded evidence and policy. They do not establish that an automatic cycle of testing and applying changes is running on your site. ## Read the recorded evidence 1. Open **What it has learned**. 2. Inspect a reading for the intended [slot](https://docs.amadalis.ai/reference/glossary/#slot) and piece of content. 3. Read its evidence and context. 4. Check how much the configuration is willing to trust that reading. When there is too little evidence for one set of circumstances, a reading from a broader group can be used. The default trust setting is zero. A screen containing a lift reading therefore does not by itself mean that reading is changing delivered scores. Review the active settings and connection with Amadalis before depending on that effect. ## Review rules for trying alternatives [Exploration](https://docs.amadalis.ai/reference/glossary/#exploration) defaults off. 1. Open **What it is trying**. 2. Review the rules for trying alternatives. 3. Review the share of traffic they use. 4. Review what they may draw from, for how long and within which bounds. An [envelope](https://docs.amadalis.ai/reference/glossary/#envelope) is a saved set of limits for possible changes. **Record this envelope** is a deliberate action with its own consequence and reason. Recording it is not evidence that a cycle of automatic changes has started or that any page was published. ## Keep a person’s decisions visible **What needs a person** counts what is waiting on a human: visitor erasures not yet carried through, campaigns a person is holding, slots set up but never served, and saves the platform refused. 1. Open **What needs a person**. 2. Open the count for the list you want to inspect. A held targeted item is resumed on **Targeted content** under **Personalization**. To decide a proposal to change the engine’s settings: 1. Open **What it is trying**. 2. Choose **Apply it** or **Reject it** for that proposal. 3. Read its approval card. 4. Approve only the intended decision. 5. Check the exact result and current state afterwards. Continue with [slot and measurement settings](https://docs.amadalis.ai/optimization/slots-and-measurement/) for delivered ranking rules, or [affinity settings](https://docs.amadalis.ai/optimization/affinity-settings/) for the decaying scores of visitor actions. Source: https://docs.amadalis.ai/optimization/live-offers-and-arrangements/ # Live offers and page arrangement Checked against the product’s code on 7 November 2026. Open **Optimization** > **Personalization** > **Targeted content** in the site admin to prepare a live offer, such as a promo banner, or a different section order for an [audience](https://docs.amadalis.ai/reference/glossary/#audience). Start with a published page and an active audience. See [Audiences and targeted content](https://docs.amadalis.ai/optimization/audiences-and-targeted-content/) for creating and activating an audience. A new [targeted item](https://docs.amadalis.ai/reference/glossary/#targeted-content) needs its own name. Its audience starts as returning visitors, so choose the intended audience deliberately. **Holdback %** starts at 10 percent. For an arrangement, held-back visitors keep the default order; setting it to zero removes the comparison needed to measure lift. Live event delivery uses the campaign’s own holdback too. Use a whole number from 0 to 100 in **Holdback %**. Trust that field after editing it; the “10%” hint underneath does not update. ## Reorder sections for an audience Holdback is the group that keeps the default experience for comparison. Lift is the measured difference between that group and the visitors who received the change. 1. Open **Optimization**. 2. Open **Personalization**. 3. Open **Targeted content**. 4. Choose **New targeted content**. 5. Choose **Arrangement**. 6. Enter a name in the top name field, such as `returning-page-order`. 7. In **1 · Who**, choose an active **Audience**. 8. Set **Holdback %**. Read the field value, since the nearby hint does not follow an edited percentage. 9. In **2 · Where**, choose the **Page**. 10. Under **Section order this audience sees**, use the up and down arrows to move at least one section into the desired order. 11. Leave the pin controls off. Pinned arrangements cannot currently be saved from this form. [![Arrangement form: Page Docs Walk First Page, section order Hero, Recommendations, Layout, pins off.](https://docs.amadalis.ai/images/steps/S085-live-offers-arrangement-order-moved.png)](https://docs.amadalis.ai/images/steps/S085-live-offers-arrangement-order-moved.png "Open full-size image") Move the sections into the order the audience should see. 12. If you want to measure a result, choose a **[Goal](https://docs.amadalis.ai/reference/glossary/#goal)** under **Measured on**. 13. Choose **Preview change**. 14. Read the proposed order. 15. Choose **Approve & make it live** or **Keep as draft**. Moving a section is needed to enable the form’s save and preview actions. Pinning alone does not establish an order. The arrangement applies when an eligible visitor loads the page. The site header and footer stay in place. Visitors outside the audience and those held back keep the default page order. [![The page for a visitor in the audience: the cards come before the two-column section.](https://docs.amadalis.ai/images/steps/S085-live-offers-audience-sees-new-order-1440.png)](https://docs.amadalis.ai/images/steps/S085-live-offers-audience-sees-new-order-1440.png "Open full-size image") The audience's order. For the audience in this picture, the recommendation cards appear above the two column section. [![Page at phone width for the selected audience, with the page cards before the columns section.](https://docs.amadalis.ai/images/steps/S085-live-offers-audience-sees-new-order-390.png)](https://docs.amadalis.ai/images/steps/S085-live-offers-audience-sees-new-order-390.png "Open full-size image") On a phone. The audience’s phone view keeps the cards above the layout text and places one card on each row. [![The page for a visitor outside the audience: the two-column section comes first.](https://docs.amadalis.ai/images/steps/S085-live-offers-default-order-1440.png)](https://docs.amadalis.ai/images/steps/S085-live-offers-default-order-1440.png "Open full-size image") Everyone else keeps the default order. [![Page at phone width outside the audience, with the columns section first.](https://docs.amadalis.ai/images/steps/S085-live-offers-default-order-390.png)](https://docs.amadalis.ai/images/steps/S085-live-offers-default-order-390.png "Open full-size image") On a phone. The default phone view keeps the layout’s words and button above the recommendation cards. ## Show a live offer **Expires after (s)** is the intended time until the offer should end after its trigger. It takes a duration in seconds. Read the expiry warning beside that field before relying on it. A Live offer is a dormant overlay until an approved live update reveals it. Delivery needs the site’s live channel, allowed personalization and a visitor in the audience. A visitor outside the audience does not receive the offer. For an offer triggered by joining its audience, the page can get a ticket before the visitor joins. Without that trigger, the visitor must already be in the offer’s audience for its slot to qualify for a ticket. The audience is checked before the offer is sent. For a new page load, the live connection uses an encrypted ticket that page scripts cannot decode to read the visitor id. Consent and Global Privacy Control still decide whether a ticket is issued. A ticket must be used within two minutes to open the connection; that limit does not end a connection already open. 1. Open the intended page in the [Composer](https://docs.amadalis.ai/composer/composer/). 2. Add a **Live offer** section. 3. Give its button a real destination if it uses one. 4. Apply the section change to the draft. 5. Publish the page when that base section is ready. 6. In **Targeted content**, choose **New targeted content**. 7. Choose the **Time-boxed offer** option. 8. Enter its name. 9. Choose the active audience. 10. Check **Holdback %**. Live event updates honor this campaign’s **Holdback %**. A held-back visitor keeps the default instead of receiving this campaign’s live change. 11. Choose the **Page**. 12. Choose the **Section**. An offer needs a section that supports live updates; static sections are unavailable for this choice. 13. In **3 · What**, type a supported text field’s exact name. 14. Enter its approved value. 15. Use **\+ add a field** for another value if needed. Repeat the name and value steps for that field. For a Live offer, `headline` is the heading and `body` is its body text. The form takes typed names and values. Live delivery replaces visible words only. Set the button destination on the base section and publish it; a live text update does not change its address. See the [conversion section reference](https://docs.amadalis.ai/reference/sections/conversion/) for the available fields. 16. Choose the **Trigger** event. 17. Set **Expires after (s)** to at least five seconds. The server is intended to control expiry, and another matching trigger can start a new expiry period. In the supplied demo-store walk, the offer stayed visible after its configured 60 seconds. Confirm expiry on your site before relying on it. For an event trigger with a window, the event must arrive within that many seconds of the session’s start. If the session start cannot be read, that trigger does not send an offer. 18. Choose a measured **Goal** if needed. [![Time-boxed offer: headline and body fields with Docs Walk text; trigger Add to cart within 30 s; expires after 60 s.](https://docs.amadalis.ai/images/steps/S086-live-offers-text-fields-and-trigger.png)](https://docs.amadalis.ai/images/steps/S086-live-offers-text-fields-and-trigger.png "Open full-size image") Type the words, choose the trigger and how long it lasts. 19. Choose **Preview change**. 20. Review the audience, page, section, words and expiry together. 21. Choose **Approve & make it live** only if the change matches your intent and you have accounted for the expiry warning above. [![The exact change: makes Docs Walk Offer live for the audience in Home's live offer, may update in place, reverts after 60 s.](https://docs.amadalis.ai/images/steps/S086-live-offers-exact-change-card.png)](https://docs.amadalis.ai/images/steps/S086-live-offers-exact-change-card.png "Open full-size image") The card before it goes live. The card names the audience and page section that would show the offer; its stated expiry still needs the separate check described below. Check the published page after the configured duration to see whether the offer has ended. The recorded walk left it visible beyond 60 seconds. [![Store Home with the offer box at the bottom right: Docs Walk: a note for this visit, and Go to the bag.](https://docs.amadalis.ai/images/steps/S086-live-offers-offer-arrived-1440.png)](https://docs.amadalis.ai/images/steps/S086-live-offers-offer-arrived-1440.png "Open full-size image") The offer appears on the open page after the trigger. ## Pause or reverse the change The approval receipt offers **Undo**. You can also **Pause** live targeted content and **Resume** it later. Pause an active item before archiving it. [![Stop this targeting? on docs-walk-offer with Approve & apply.](https://docs.amadalis.ai/images/steps/S087-live-offers-stop-card.png)](https://docs.amadalis.ai/images/steps/S087-live-offers-stop-card.png "Open full-size image") Pausing asks first. [![Paused record with Stopped targeted content Docs Walk Offer, Undo and Resume.](https://docs.amadalis.ai/images/steps/S087-live-offers-stopped-receipt-undo.png)](https://docs.amadalis.ai/images/steps/S087-live-offers-stopped-receipt-undo.png "Open full-size image") Paused, with Undo. For an arrangement, read **Performance** for exposed and held-back results. For a live offer, check its trigger window, audience and campaign holdback. A saved draft serves nothing, and targeted content cannot serve on an unpublished page. Check the published page, audience, consent and holdback when an expected result does not appear. Source: https://docs.amadalis.ai/optimization/recommendations/ # Show related articles on a page Checked against the product’s code on 7 November 2026. To show related articles on a page, open that page in **Composer** in the site admin and add a **Recommendations** section. In **Settings**, choose which articles or other catalog content it can use and check what visitors should see when interest data is unavailable. Check the current save limits below before changing its cards, pins or exclusions. A **Recommendations** section draws cards from the site’s [content catalog](https://docs.amadalis.ai/reference/glossary/#content-catalog). With a usable [affinity](https://docs.amadalis.ai/reference/glossary/#affinity) score it can rank eligible items for the visitor. Otherwise it follows the fallback you choose. See [The affinity engine](https://docs.amadalis.ai/optimization/affinity-engine/) for the scoring model. ## Add and configure the section The content pool is the set of items the section can choose from. A fallback is what it can show when the preferred choice is unavailable. Categories and tags group that content. The Composer currently refuses changes to **What each card shows**, **Always show first** and **Never show**. The fallback choice did save and offered Undo. After a refused edit, **Discard** left the typed value on screen in the recorded check; reload and check the saved draft before editing again. The pictures below show the existing section’s settings. 1. Open **Composer**. 2. Choose the page. 3. Use **Add section** below its sections. 4. Search for **Recommendations** in the add panel. 5. Select it. 6. Open **Structure**. 7. Select the **Recommendations** section. 8. Choose **Settings**. 9. Set **Headline**. 10. Choose the content pool under **Show**. 11. Set **How many cards**. 12. Choose a **Layout**: **Card grid**, **Horizontal rail** or **List**. 13. Inspect the existing parts under **What each card shows**; changes to that control cannot currently be saved. **Call-to-action words** appear only when that card part is present. 14. Set **Cards per row** if you want an explicit row size. 15. Use **Narrow by** to limit eligible items to [taxonomy](https://docs.amadalis.ai/reference/glossary/#taxonomy) values. 16. Choose the [fallback](https://docs.amadalis.ai/optimization/recommendations/#choose-the-fallback) below. Leave pins, exclusions and card parts unchanged while their saving limits apply. 17. Choose **Apply changes**. [![Recommendations settings: Show Pages, How many cards 3, card parts; the canvas shows Home, Shipping and Returns cards.](https://docs.amadalis.ai/images/steps/S088-recommendations-section-controls-and-cards.png)](https://docs.amadalis.ai/images/steps/S088-recommendations-section-controls-and-cards.png "Open full-size image") Choose what the section shows and how many. 18. Review the draft and [publish the page](https://docs.amadalis.ai/composer/composer/#review-and-publish) when ready. A changed section remains part of the page draft until you publish it. The Composer preview is useful for layout; checking visitor ranking also needs the published page and the intended visitor conditions. [![Published page with Docs Walk: picked for this visitor and three page cards.](https://docs.amadalis.ai/images/steps/S088-recommendations-public-cards-1440.png)](https://docs.amadalis.ai/images/steps/S088-recommendations-public-cards-1440.png "Open full-size image") The section on the live page. The three page cards are “Home”, “Shipping and Returns” and “Care Guide”. [![Published recommendations page at phone width, with the three page cards stacked.](https://docs.amadalis.ai/images/steps/S088-recommendations-public-cards-390.png)](https://docs.amadalis.ai/images/steps/S088-recommendations-public-cards-390.png "Open full-size image") On a phone. At phone width, those three cards form one vertical column in the same order. ## Choose the editorial controls **Always show first** and **Never show** offer item searches, but the Composer currently refuses changes to both. You cannot currently save new pins or exclusions through these controls. Pins still pass through the section’s content pool and filters. Multiple values of one taxonomy allow either value. Values from different taxonomies must both match. The candidate content must be available to the catalog. Published native content is included; draft content is not served as a recommendation. If the pool or filters leave no candidates, the section can have no cards. ## Choose the fallback Under **When there is nothing to personalise on**, choose: | Choice | Result | | --- | --- | | **The most recently updated items** | Uses recent updates as the fallback order. | | **Your pins, then catalog order** | Shows eligible pins first, then the remaining catalog order. | | **Hide the section entirely** | Shows no section when there is no usable score, including none of your pins. | Fallback applies when affinity is unavailable or unusable, including when consent or Global Privacy Control prevents personalised ranking. [![Recommendations on the desktop page show Home, Shipping and Returns, then Care Guide.](https://docs.amadalis.ai/images/steps/S090-recommendations-fallback-recent-items-1440.png)](https://docs.amadalis.ai/images/steps/S090-recommendations-fallback-recent-items-1440.png "Open full-size image") This fallback example shows the three page cards in their displayed order. Cards use the data each item actually has. Choosing an image or summary card part does not invent missing pictures or text. See the [personalization section reference](https://docs.amadalis.ai/reference/sections/personalization/) for the full field list. To investigate a visitor’s result, open that browser’s **Decisions** in [Visitor Data](https://docs.amadalis.ai/privacy/consent-and-visitor-data/). Source: https://docs.amadalis.ai/optimization/slots-and-measurement/ # Slots, performance and measurement Use **Optimization** > **Personalization** in the site admin to manage where targeted content can appear and how its results are measured. Use **Performance** to compare outcomes for personalised slots and held back visitors. Checked against the product’s code on 7 November 2026. Under **Optimization** > **Personalization**, **Slots**, **Performance** and **Measurement** are separate views of the experience. ## Configure a slot 1. Open **Slots**. 2. Search for the intended [slot](https://docs.amadalis.ai/reference/glossary/#slot). 3. Open the slot. 4. Inspect **What this slot shows**. 5. Set **Pieces shown at once** (one by default). If a campaign has pinned a piece to the slot, the slot shows it and the rules below take no part; pins are changed on the campaign. The optional rules can consider journey stage, freshness, repeated exposure, variety and preferences for promoting products. Their switches are off in the default rule set. Review a rule’s actual bounds before enabling it. A rule can change ranking; an adjustment that promotes products is not merely a label on an otherwise fixed order. 1. Choose **Save**. 2. Read the consequence. 3. Approve the prepared revision if it matches your intent. 4. Check the receipt and its offered Undo. An eligible [fallback](https://docs.amadalis.ai/reference/glossary/#fallback) still matters when no targeted item can be shown. ## Read performance 1. Open **Performance**. 2. Check the selected scope. 3. Check the goal. 4. Read the population. 5. Read the window and missing data state. Performance compares recorded targeted and held back outcomes. A recorded difference estimates performance under those conditions; it does not automatically prove that targeting caused an improvement for every visitor. ## Review measurement settings **Measurement** holds the platform holdout and [attribution](https://docs.amadalis.ai/reference/glossary/#attribution) settings. A visitor held out of personalization is different from an item held back for one comparison. Setting a new holdout salt, the value used to assign visitors to comparison groups, puts every visitor back into a randomly drawn group and restarts the holdout report, so results before and after the change cannot be compared. The card says so before you approve. Use **Change history** for saved revisions and supported reversals. A rollback changes policy going forward; it does not erase events already recorded. Use [targeted content](https://docs.amadalis.ai/optimization/audiences-and-targeted-content/) and [recommendations](https://docs.amadalis.ai/optimization/recommendations/) for the pieces that fill slots. Source: https://docs.amadalis.ai/privacy/consent-and-visitor-data/ # Consent policy and visitor data Checked against the product’s code on 7 November 2026. Open **Privacy & Data** to review [consent](https://docs.amadalis.ai/reference/glossary/#consent), including when to ask permission before tracking people, and handle visitor records. Use an Admin account for personal visitor data. See [Privacy and consent](https://docs.amadalis.ai/trust/privacy-and-consent/) for the explanation of the consent model. ## Review the consent policy Opt-in waits for acceptance of the relevant use of data. Opt-out starts with the allowed defaults until the visitor refuses. [Global Privacy Control](https://docs.amadalis.ai/reference/glossary/#global-privacy-control) is a browser signal asking the site to restrict data use. 1. Open **Consent**. 2. Read **Consent policy**. Check whether the policy follows visitor location or forces one setting everywhere, the country map, **Everywhere else** and the marketing default under opt-out. 3. Read **What visitors experience** for the corresponding visitor choices. **Accept all** grants what the banner names, and the banner names marketing only on a page that declares English and only on a site that shares. Global Privacy Control still refuses. Under the platform default, unlisted or unknown locations use opt-in. A more specific regional rule takes precedence over its country rule. Global Privacy Control overrides both the defaults and a recorded acceptance. The consent page is read-only. To change the policy: 1. Open the copilot and describe the policy you want. For example, ask it to require opt-in everywhere if that is your chosen policy. 2. Read **Change this site’s consent policy?** Check the locations, purposes and effect. 3. Choose **Change the policy** to approve, or **Keep the current policy** to decline. 4. Return to **Consent** and review the result. If the page could not refresh, use its refresh action before relying on the old display. An approved policy changes the saved consent settings. An already open page or older stored copy can still show the earlier notice. Ask the copilot to undo the change to restore the earlier policy. Review the public site’s **Privacy choices** after changing the configuration. [![Consent policy view with the automatic region mode, country map, marketing default and visitor-experience explanation.](https://docs.amadalis.ai/images/owners/menu-privacy-and-data.png)](https://docs.amadalis.ai/images/owners/menu-privacy-and-data.png) The read-only consent policy view. Review its map and defaults before requesting a policy change. [Open full size](https://docs.amadalis.ai/images/owners/menu-privacy-and-data.png). ## Check recorded personalization reach by country Use this to understand where personalization reached recorded visitors, rather than estimate everyone who visited. 1. Ask the copilot: “How many visitors did personalization reach by country in the last 28 days?” 2. Read the period and the newest counted record’s time. 3. Compare each country’s count with its shown consent rule. The rules come from today’s policy. 4. Read the grouped other countries as well as the named rows. The question is read only and needs no approval. You can request 1 to 90 days; the default is 28. Countries with fewer than five reached visitors are grouped rather than named, with at most twenty countries named separately. Visitors who refused, sent Global Privacy Control or had not answered where the site asks first are not recorded. The counts cannot show what share of all visitors personalization reached. See [Consent and reach requests](https://docs.amadalis.ai/reference/copilot/account-and-privacy/#consent-policy). ## Event retention Visitor events are kept with no limit until you set a retention period. Once you set one, events older than it are deleted on the site’s regular scheduled run, but only after an [archive export](https://docs.amadalis.ai/reference/glossary/#archive-export) has covered them. Open **Privacy & Data** > **Exports** > **Retention** to set or change how long each kind of event is kept. Review the approval before saving a period. Leaving a kind’s period empty keeps its events without a limit. ## Export site datasets A site export is separate from one visitor’s export. 1. Open **Privacy & Data**. 2. Open **Exports**. 3. Choose **Export a range**. 4. Fill **From (inclusive)**. 5. Fill **To (inclusive)**. 6. Select the **[Datasets](https://docs.amadalis.ai/reference/glossary/#export)** you need. 7. Continue to the approval step. 8. Read **Export this site’s data for download?**, including the range and datasets. 9. Choose **Approve & export** only when its scope is right. 10. Read the result under **Run history**. 11. Open **Downloads** for that run. 12. Choose **Download everything (.zip)** to obtain its complete files. The datasets cover events, decisions, goals, audience transitions, audiences, profiles, consent and daily rollups. Files are compressed NDJSON, a text format with one JSON record per line, plus a manifest listing the export’s files. Daily rollups are summaries grouped by day. A schedule requires the feature to be available for the account. Rerunning a range can replace its stored export files; read that consequence before approving. A file already downloaded cannot be recalled. Exports and event retention are separate settings. See [Event retention](https://docs.amadalis.ai/privacy/consent-and-visitor-data/#event-retention) for when old captured events are deleted. ## Find the visitor record 1. Open **Visitor Data**. 2. Enter an email, user id, visitor id or person id. 3. Choose **Search**. 4. Open the matching browser record. One person can have more than one linked browser. 5. Use **Journey**, **Identity**, **Interests and audiences** or **Decisions** to understand the record. **Data held** shows the stored data and consent choices. [![Visitor Data, Data held: no explicit consent records and arrival channel direct; name hidden.](https://docs.amadalis.ai/images/steps/S077-consent-visitor-record-data-held.png)](https://docs.amadalis.ai/images/steps/S077-consent-visitor-record-data-held.png "Open full-size image") What the site holds for one browser. Check the browser identity before choosing an export or erasure. These operations have different reach. ## Export the record 1. Open **Erase** on the browser record. The export controls are on this tab alongside the erasure controls. 2. Choose **Export this visitor’s data**. 3. Read the scope notice. 4. Choose **Export this visitor’s data** again to draw the approval card. 5. Read **Export this visitor’s data?** Check the time range, linked browsers and any data withheld for lack of consent. 6. Choose **Approve & export**, or **Don’t export** to cancel. 7. Read the receipt. 8. Open **Privacy & Data**. 9. Open **Exports**. 10. Find the run under **Run history**. 11. Open **Downloads**. 12. Choose **Download everything (.zip)** for the complete run. An export can reach beyond this browser to the linked browsers named in the card. A file already downloaded cannot be recalled. ## Erase one browser’s data 1. Open **Erase**. 2. Review the inventory of what will be removed. 3. Choose **Erase this visitor permanently**. 4. Read the scope and permanence notice. 5. Choose the same control again to open the approval card. 6. Read **Permanently erase this visitor’s data?** Check the exact browser record. 7. Choose **Erase permanently** to proceed, or **Keep the data** to cancel. 8. Read the receipt, including the result of resetting the visitor’s live state. Erasure has no Undo. It removes the selected browser’s visitor data; it does not automatically erase the person’s other browsers. Search result checkboxes let you select several browser records for one approval card that names all of them. Commerce orders remain, with their visitor link removed. This action does not delete the order’s customer details or the shopper’s account. Treat the export and erasure cards as statements of their exact scope. ## Your next step Review [counting and identity](https://docs.amadalis.ai/privacy/counting-and-identity/) before interpreting a visitor’s records or combining them with another dataset. Source: https://docs.amadalis.ai/privacy/counting-and-identity/ # Counting people and linking browsers Use **Copilot** to review a proposed identity policy and **Privacy & Data** > **Visitor Data** in the site admin to inspect recorded browser activity. This guide explains how those records relate to people. Checked against the product’s code on 7 November 2026. Praxis distinguishes a [visitor](https://docs.amadalis.ai/reference/glossary/#visitor) browser, a [visit](https://docs.amadalis.ai/reference/glossary/#visit) and a person linked across known browsers. Analytics cannot recognize a person across every device without an identity link. ## Review the counting policy An Admin can ask the copilot to explain the site’s current counting policy. A change to its identity policy pauses for approval. 1. Ask the copilot to explain the current policy. 2. Review whether counting is narrowed by site. 3. Review whether an external customer identifier is retained. Read any proposed change before approving it. Each site keeps its own visitor records. A person known on one of your sites is not linked to the same person on another, so compare totals across sites with care. ## Link or detach deliberately Your site’s developer can post to `/api/dxp/identity/link` after the customer signs in, and `/api/dxp/identity/detach` when they sign out. These link and detach the browser for counting; they do not sign someone into their customer account. The page’s capture script now installs identity helpers. For the site’s own signed-in shopper, an eligible page can submit a signed identity link using a secret held by that site. If that secret cannot be read, the link is refused. A site that has never created a secret still accepts its earlier unsigned links. Follow [Link a signed in customer](https://docs.amadalis.ai/developers/tracking-events/#link-a-signed-in-customer) for the method and its checks. Use [Visitor Data](https://docs.amadalis.ai/privacy/visitor-data/) to find the intended browser record first. 1. Open that record. 2. Open **Identity** to inspect its joined browsers. Detaching a browser removes its link to that person; it does not erase the browser’s events. Use [Visitor Data](https://docs.amadalis.ai/privacy/visitor-data/) for the exact record scope. ## Choose external identifier names An Admin can reserve names for external analytics identifiers, such as `ga4` or `adobe`. This imports nothing, calls no vendor and reads no vendor cookie. Only identifiers your own site tag hands over can be saved, for visitors who consented to analytics, once per visitor. Check that your own privacy notice explains this before enabling it; the visitor consent dialog does not name this collection. 1. Ask the copilot: “Which external analytics identifier namespaces does this site allow?” 2. Review the current list. 3. Ask it to set that list to the complete names you intend to keep. 4. Read **Change which external analytics ids this site records?** and the proposed additions and removals. 5. Choose **Approve & change** only if the list is right. 6. Read the receipt. An empty list turns this collection off. Its **Undo** restores the prior setting; previously stored identifiers remain until erased through the visitor’s erasure path. This setting is separate from linking a person across browsers or connecting an analytics service. See [External identity requests](https://docs.amadalis.ai/reference/copilot/audiences-and-targeting/#visitor-identity-settings). ## Keep consent and erasure distinct Consent and counting policy affect whether identity details can be saved. Refusing a purpose is not erasure of details already held. A browser that sends [Global Privacy Control](https://docs.amadalis.ai/reference/glossary/#global-privacy-control) is not personalized and adds no new identity details. The signal does not delete identity details already saved; erase the record for that. Global Privacy Control still governs the server’s permitted experience purposes. Use [Privacy and consent](https://docs.amadalis.ai/trust/privacy-and-consent/) to understand that request policy. Use a separate approved erasure when data must be removed within its stated scope. Source: https://docs.amadalis.ai/privacy/exports/ # Visitor data exports, schedules and retention Open **Privacy & Data** > **Exports** in the site admin to download recorded site [datasets](https://docs.amadalis.ai/reference/glossary/#dataset), review export runs and set a [retention](https://docs.amadalis.ai/reference/glossary/#retention) period. Checked against the product’s code on 7 November 2026. Open **Privacy & Data** > **Exports**. A site dataset export is separate from exporting one visitor’s record or an EmDash whole site archive. Only an Admin can export data, download its files, schedule exports or set retention. Being signed in alone does not allow a download. ## Export a range Available datasets include events, decisions, goals, audience transitions, audiences, profiles, consent and [daily rollups](https://docs.amadalis.ai/reference/glossary/#rollup). 1. Choose **Export a range**. 2. Fill **From (inclusive)**. 3. Fill **To (inclusive)**. 4. Select the intended **Datasets**. 5. Continue to the approval step. 6. Read **Export this site’s data for download?**, including its range and datasets. 7. Choose **Approve & export** only for the intended scope. 8. Inspect that run in **Run history**. 9. Read its status, row count and dataset scope. 10. Open **Downloads** on that run. 11. When the run has completed and files are listed, download one dataset, or choose **Download everything (.zip)** for the whole run as one ZIP file. The exported records use compressed files with one data record per line in JSON format, which software can read. A queued run is not a completed download. Read its status, row count and dataset scope before using it in another system. ## Schedule and use the data Where scheduled exports are enabled for the site, **Export schedule** offers daily, selected weekday or monthly runs. Amadalis must enable scheduled exports for the account where it is unavailable. 1. Under **Export schedule**, choose **Set a schedule** or **Change schedule**. 2. Choose **How often**. 3. For selected weekdays, choose **On these days**. 4. For a monthly run, choose **On day**. 5. Set **At**. 6. Review the displayed timezone. 7. Review its destination information. 8. Choose **Save schedule**. 9. Read the approval. 10. Approve only the intended schedule. 11. Read its saved summary. **[Warehouse ingestion](https://docs.amadalis.ai/reference/glossary/#warehouse-ingestion)** supplies instructions for loading exports into a data analysis system. DuckDB is a database tool that can inspect the files directly. The recipe for Google’s BigQuery analysis service uses an intermediate transfer. It does not read the platform’s file storage directly. These instructions do not configure the connection for you. ## Set retention Visitor events are kept with no limit until you set a retention period. Once you set one, events older than it are deleted on the site’s regular scheduled run, but only after an archive export has covered them. Setting a period does not mean eligible records have already been deleted or that a particular scheduled run succeeded. 1. Review the event classes under **Retention**. 2. Review their days. 3. Choose **Save retention**. 4. Read the approval. 5. Approve only the intended change. 6. Read the deletion run status. 7. Check which events an archive export has already covered. ## Your next step Check the completed run’s dates, datasets and downloaded files. Use [Visitor Data](https://docs.amadalis.ai/privacy/visitor-data/) when your next task concerns one browser record rather than a site dataset. Source: https://docs.amadalis.ai/privacy/head-and-csp/ # Head entries and Content Security Policy Use **Privacy & Data** > **[Consent](https://docs.amadalis.ai/reference/glossary/#consent)** > **Head & CSP** in the site admin to review added page code and [Content Security Policy](https://docs.amadalis.ai/reference/glossary/#content-security-policy) (CSP), the rules that control which resources can load. In **Enforce** mode, CSP can stop third party scripts from loading unless the policy permits them. Ask a developer to review code and policy values with you. Checked against the product’s code on 7 November 2026. Open **Privacy & Data** > **Consent** > **Head & CSP**. Only an Admin can change head entries or the site’s policy. Other roles see the entries without their code. Its changes can affect every public page. ## Add or edit an entry Code configured to run before consent can transmit data before a visitor makes a choice. 1. Under **Head entries**, choose **Blank raw HTML** or **Tag manager template**, or open an existing entry. 2. Review its content. 3. Review the consent purpose it should wait for. To edit a saved entry, select its row under **Head entries** to open its editor. After opening a new or saved entry: 1. Edit the intended content or setting. 2. Choose **Review entry change**. 3. Inspect the proposed change and its Content Security Policy permissions. 4. Approve only the prepared change you intend. 5. Read the receipt. Editing one entry does not silently rewrite every other entry. Praxis controls when its managed entry is released. It cannot verify what a remote vendor does after its code runs. Authored page JavaScript has its own behavior; configure it separately to honor the visitor’s choices. ## Review the site policy **Rollout mode**, which controls whether the policy blocks resources, starts at **Report only**, which observes without blocking. **Enforce** blocks anything not permitted. Review the directives, which are rules for each kind of resource, and their permitted sources under **Site-wide CSP permissions**. An enforced policy can block a resource or submission that is not permitted. An optional reporting address receives reports of resources that break the policy when the relevant browser and policy send them; configuring it is not proof reports arrived. 1. Choose **Review site-wide CSP change**. 2. Read its consequences. 3. Apply only the intended plan. 4. Read the result. Read the receipt’s offered Undo and inspect the public result. Visitors see the change within the hour, usually much sooner. While the site’s server is down, visitors may see the previous version of a page for up to a day. Use [Privacy and consent](https://docs.amadalis.ai/trust/privacy-and-consent/) for the site’s consent rules, and [page scripts](https://docs.amadalis.ai/developers/page-scripts-and-events/) for JavaScript attached to one page. Source: https://docs.amadalis.ai/privacy/ # What you can do in Privacy and data Checked against the product’s code on 7 November 2026. Review visitor choices, captured data, exports and [permanent erasure](https://docs.amadalis.ai/reference/glossary/#erasure). In the site admin, open **Privacy & Data**. Use **[Consent](https://docs.amadalis.ai/reference/glossary/#consent)** for visitor choices, **Visitor Data** for browser records and **Exports** for site datasets. Use the guide for the required role, setup and current limits. ## Start with a task Choose the result you want. Each guide explains where to begin, what to review and how to check the result. - [Review consent policy](https://docs.amadalis.ai/privacy/consent-and-visitor-data/) - [Find and erase browser data](https://docs.amadalis.ai/privacy/consent-and-visitor-data/#find-the-visitor-record) - [Export site data](https://docs.amadalis.ai/privacy/consent-and-visitor-data/#export-site-datasets) ## Capabilities and screens | Capability | What you can do | Read next | | --- | --- | --- | | Consent policy | Review regional defaults and a proposed policy change. | [Consent policy and visitor data: Review the consent policy](https://docs.amadalis.ai/privacy/consent-and-visitor-data/#review-the-consent-policy) | | Head entries and CSP | Review added page code, when it can load and the policy restricting outside resources. | [Head entries and Content Security Policy](https://docs.amadalis.ai/privacy/head-and-csp/) | | Visitor lookup and batch selection | Find the intended browser records before exporting or erasing. | [Visitor records, identity and decisions](https://docs.amadalis.ai/privacy/visitor-data/) | | Journey, identity and interests | Read visitor records and check which linked browsers a task covers. | [Visitor records, identity and decisions](https://docs.amadalis.ai/privacy/visitor-data/) | | Decisions | Read what was recorded about a delivered experience. | [Visitor records, identity and decisions](https://docs.amadalis.ai/privacy/visitor-data/) | | Subject export | Review a visitor export’s linked browsers and download its completed run. | [Visitor records, identity and decisions](https://docs.amadalis.ai/privacy/visitor-data/) | | Permanent erasure | Review selected-browser scope, retained data and partial cleanup. | [Visitor records, identity and decisions](https://docs.amadalis.ai/privacy/visitor-data/) | | Remote erasure | Read how an outside system can request erasure and what setup it requires. | [Visitor records, identity and decisions](https://docs.amadalis.ai/privacy/visitor-data/) | | Site exports and run history | Select datasets and range, approve and obtain the complete run. | [Visitor data exports, schedules and retention](https://docs.amadalis.ai/privacy/exports/) | | Warehouse ingestion | Review the export format and instructions for reading the files in another system. | [Visitor data exports, schedules and retention](https://docs.amadalis.ai/privacy/exports/) | | Export schedules | Check whether automatic exports are available and review their schedule. | [Visitor data exports, schedules and retention](https://docs.amadalis.ai/privacy/exports/) | | Event retention | Read the unlimited default and how a chosen period deletes older events on the regular scheduled run only after an archive export has covered them. | [Visitor data exports, schedules and retention](https://docs.amadalis.ai/privacy/exports/) | | Identity and counting policy | Read how browser records are linked and what activity can be collected. | [Counting people and linking browsers](https://docs.amadalis.ai/privacy/counting-and-identity/) | | Visitor choices and GPC | Understand saved choices, regional defaults and Global Privacy Control, the browser’s privacy signal. | [Privacy and consent](https://docs.amadalis.ai/trust/privacy-and-consent/) | ## More in this area These guides cover the other tasks and settings in this area. - [Counting people and linking browsers](https://docs.amadalis.ai/privacy/counting-and-identity/): Understand the selected counting scope, saved identity links and their consent boundary. - [Visitor data exports, schedules and retention](https://docs.amadalis.ai/privacy/exports/): Export recorded datasets, inspect the run and set retention behind archive coverage. - [Head entries and Content Security Policy](https://docs.amadalis.ai/privacy/head-and-csp/): Review code in the public head, its consent purpose and the resources the browser may load. - [Visitor records, identity and decisions](https://docs.amadalis.ai/privacy/visitor-data/): Inspect the data held for a visitor and keep browser scope explicit when exporting or erasing. ## Your next step Choose the guide for your task. For a policy review, begin with [review consent policy](https://docs.amadalis.ai/privacy/consent-and-visitor-data/). For exports or erasure, read the selected records and scope before approving. Source: https://docs.amadalis.ai/privacy/visitor-data/ # Visitor records, identity and decisions Checked against the product’s code on 7 November 2026. You need an [Admin](https://docs.amadalis.ai/reference/glossary/#admin) account to look visitors up, export a record or erase one. 1. Open **Privacy & Data**. 2. Open **Visitor Data**. 3. Search with at least two characters of an email, user id or [visitor id](https://docs.amadalis.ai/reference/glossary/#visitor-id). 4. Select the record you intend to inspect. ## Read the record’s tabs | Tab | What to inspect | | --- | --- | | **Overview** | The selected record’s summary. | | **Journey** | Recorded visits and actions in their order. | | **Identity** | Browsers joined to the [person](https://docs.amadalis.ai/reference/glossary/#identity) and their links. | | **Interests and audiences** | Available scores, memberships and reasons. | | **Decisions** | Recorded selections and their available explanation. | | **Data held** | The record types held about the visitor. | | **Erase** | The visitor export action, and the scope and consequence of permanent erasure. | Missing data is different from a zero score or no action. A page can be shown before its decision is recorded, so the **Decisions** tab can miss a recent page view. A decision rerun uses the saved facts about that visit with today’s settings. It may not reproduce the original decision exactly. ## Review identity links Select the browser you intend to inspect. Removing it from a person changes the identity link; it is not erasure of its underlying records. A person can have other joined browsers with separate retained data. ## Export or erase **To export:** open **Erase** and follow [Export the record](https://docs.amadalis.ai/privacy/consent-and-visitor-data/#export-the-record) for the two request clicks, approval and download steps. Use **Export this visitor’s data** and review its approval. **To erase permanently:** open **Erase** and follow [Erase one browser’s data](https://docs.amadalis.ai/privacy/consent-and-visitor-data/#erase-one-browsers-data). The card names the one browser it erases. This cannot be undone. Choose **Erase this visitor permanently** only when that is the browser you intend to erase, then approve the card. Batch selection also names visitor browser records; it does not automatically widen each selection to every browser joined to a person. ## Handle an erasure request across browsers There is no single action in this screen that erases everything held about a person. An export can cover linked browsers; erasure covers the browser records named on its card. 1. In **Identity**, review the person’s linked browsers. 2. Open each browser record you need to erase. 3. Follow [Erase one browser’s data](https://docs.amadalis.ai/privacy/consent-and-visitor-data/#erase-one-browsers-data), or select the relevant browser records for a batch erasure. 4. Check that the approval card names the intended records before approving permanent erasure. There is no Undo. An identity link does not find every browser a person has ever used. Unlinked browsers need finding separately. Erasing a visitor alone leaves the shopper account in place. An Admin outside a support visit can erase that account separately. Open **Privacy & Data** > **Visitor Data** > **Erase shopper account**, enter the shopper’s email, choose **Review**, and read the permanent action before **Erase the account**. A live subscription must be cancelled first. Orders keep their full checkout details, including names, email, telephone, address, notes and arrival details, without the account link. Package purchases remain without that link; back in stock requests keep their email and Stripe keeps its own records. There is no Undo. Form submissions have their own erasure path: use **Delete submission** in [Forms and replies](https://docs.amadalis.ai/site/forms-and-replies/#read-replies). An export already downloaded cannot be recalled. Contact [Amadalis support](mailto:support@amadalis.ai) about retained order details or other records outside these erasure paths. ### What happens to archive copies after erasure If your site keeps [archive exports](https://docs.amadalis.ai/reference/glossary/#archive-export), the visitor’s entries there are marked for removal and rewritten by the date shown on the receipt. If the receipt says marking failed, ask Amadalis support to complete the archive removal. Erasing also clears the visitor’s live personalization. If that part fails, the receipt says so; the stored records are still erased. For the shorter workflow, use [Consent and visitor data](https://docs.amadalis.ai/privacy/consent-and-visitor-data/). For the counting boundary, use [Counting and identity](https://docs.amadalis.ai/privacy/counting-and-identity/). Source: https://docs.amadalis.ai/reference/copilot/account-and-privacy/ # Copilot: Account, team and visitor privacy Open **Copilot** in the site admin and describe the result you want. Use the tables below to check the requests in this area, their approval steps and their available Undo. Checked against the product’s code on 7 November 2026. Account requests check your current account role. Some require the owner; others permit an Admin. Team requests act through your account’s Team controls. In these account and privacy requests, a token is a credential for a connected service’s permitted requests. A [theme token](https://docs.amadalis.ai/reference/glossary/#token) is a design value instead. Opening the single sign-on, two-factor authentication, automatic team membership setup or billing screen only opens that screen. It does not complete the setup or disclose a secret in chat. Granting support access and disabling login or connection credentials need approval and have no automatic Undo. Visitor erasure permanently removes the data within its stated scope. Orders keep their checkout name and email; form submissions need separate erasure. Visitor events are kept with no limit until you set a retention period. Once you set one, events older than it are deleted on the site’s regular scheduled run, but only after an archive export has covered them. An export download already taken cannot be recalled. Backup tools do not provide a customer restore request in the checked code. Revoking a support grant stops new entries and ends its open session on the next request after the grant check refreshes, within 30 seconds. At expiry, the next request ends the session. The team session policy is checked on the Praxis account and inside open site admin sessions. See [Account Security](https://docs.amadalis.ai/account/security/#team-session-policy) for the refresh timing and policy-read failure limits. In the tables, **Yes** under approval means a separate approval is required before applying the request. **Available** under Undo means the request can be reversed. The specific receipt must offer **Undo**; it can be limited by the input, later changes or the state that was saved. **No** means this request provides no automatic Undo. Reading a fact has nothing to undo. These are plain-language descriptions of requests, not text you must type exactly. Your role, configured connections and site capabilities determine which requests are available. See [How copilot requests are governed](https://docs.amadalis.ai/reference/copilot/). ## Your account | Request | Approval | Undo | | --- | --- | --- | | Download your account Security log in your browser | No | No | | Open the owner’s billing screen | No | No | | Open the owner’s site or whole-account closing steps | No | No | | Read the closing status | No | No | | Stop an eligible site or account closing as its owner | Yes | No | | Approve an imported account claim | Yes | No | | Send an imported account claim email | Yes | No | | List imported account claims and their states | No | No | | Attach a custom domain to your site | Yes | No | | Clear a redirect on a custom domain | Yes | No | | Detach a custom domain from your site | Yes | No | | List your custom domains and their status | No | No | | Recheck a custom domain’s DNS and certificate status | Yes | No | | Choose your site’s primary custom domain | Yes | No | | Redirect one of your custom domains | Yes | No | | Read your account role, sites and plan status | No | No | | List details of tokens used to create team memberships | No | No | | Open the team provisioning screen | No | No | | Revoke a team provisioning token | Yes | No | | Read your team’s session and sign-in policy | No | No | | Open the network address settings | No | No | | Change your team’s session and sign-in policy | Yes | No | | Open the single sign-on settings | No | No | | Disconnect a single sign-on connection | Yes | No | | List single sign-on connection details | No | No | | Grant support access to your account | Yes | No | | List your support access grants | No | No | | Revoke a support access grant | Yes | No | | Open the two-factor settings | No | No | ## API tokens Site API tokens obey the team’s applicable network, membership and two factor rules, with the [token checks and read-failure limits](https://docs.amadalis.ai/account/site-access-and-settings/#personal-api-tokens). Session lifetime and idle timeout do not apply to tokens. | Request | Approval | Undo | | --- | --- | --- | | List API token details | No | No | | Revoke an API token | Yes | No | ## Backups Only an Admin can manage backups. Taking and downloading a content backup are unavailable on this site’s database; those requests are refused. This is separate from a whole-site restore arranged through support. | Request | Approval | Undo | | --- | --- | --- | | Delete a backup archive | Yes | No | | Change backup configuration | Yes | Available | | Create a backup | Unavailable | No | | Download a backup archive | Unavailable | No | | Read backup configuration and status | No | No | ## Consent policy Ask how many recorded visitors personalization reached by country. This read uses today’s policy to explain the country’s rule; it cannot measure the share of all visitors, because refusals and Global Privacy Control are not in those records. | Request | Approval | Undo | | --- | --- | --- | | Read the site’s consent policy | No | No | | Read recorded personalization reach by country | No | No | | Change the site’s consent policy | Yes | Available | ## Exports and retention | Request | Approval | Undo | | --- | --- | --- | | Export selected visitor datasets | Yes | No | | Set an automatic data export schedule | Yes | Available | | Clear the automatic data export schedule | Yes | Available | | Find an export file on the Exports screen | No | No | | List your export runs and their status | No | No | | Set a visitor event retention period | Yes | Available | Only an Admin can download export files. Open **Privacy & Data** > **Exports** > **Run history** > **Downloads** in your signed-in browser; the copilot does not print a download link in chat. ## Passkeys | Request | Approval | Undo | | --- | --- | --- | | Delete a passkey | Yes | No | | List passkey metadata | No | No | ## Self-signup by email domain An email domain can let people join with a chosen role up to Editor. For Admin access, invite the person from **Team** in your Amadalis account. A new rule above Editor is refused before an approval card is offered. An older rule stored as Admin stays stored that way, but new signups under it join as Editor. | Request | Approval | Undo | | --- | --- | --- | | Let people at an email domain create their own account with a chosen role | Yes | Available | | List the email domains that can sign up | No | No | | Stop an email domain from signing up | Yes | Available | | Change an email domain’s signup role or switch it on or off | Yes | Available | **Undo limit.** The copilot cannot restore a deleted Admin domain rule or raise a lowered rule back to Admin. Switching an existing Admin rule off or on can be undone while its saved state still matches. ## Your team For invitations and role changes, name **Contributor**, **Author**, **Editor** or **Admin**. Give the teammate’s email for a role change, enabling or disabling access, or a recovery email. If more than one membership matches, nothing changes. An Editor invitation’s card reads **Invite [person@example.com](mailto:person@example.com) as Editor?**, using the address you gave, and offers **Send Editor invite**. A role-change card names the new role, such as **Change this member’s role to Editor?**, with **Change role to Editor**. Review the person and permission changes before approving. The copilot cannot change the owner’s role or a Viewer’s role. For a Viewer, use **Change role** in your account’s **Team** tab. | Request | Approval | Undo | | --- | --- | --- | | Disable a non-owner team member’s access | Yes | Available | | Enable a disabled team member’s access | Yes | Available | | Invite someone to your team | Yes | Available | | List your team members | No | No | | Resend an open team invitation | Yes | No | | Revoke an open team invitation | Yes | No | | Send a team member a recovery email | Yes | No | | Change a team member’s role | Yes | Available | Role reductions and disabling try to update an open site too. Read the result: an undelivered reduction or disable is retried on the platform’s regular run while it still matches the member’s current state. A failed update can leave an open session usable. A failed attempt to turn access back on is not retried by this process. **Site sign-in and Undo.** Disabling or enabling access also tries to update the member’s sign-in on the site. Read the result; a failed update can leave an open session usable or keep a re-enabled member unable to enter. If you disable yourself and the site is updated, you cannot press **Undo**; the owner or another Admin must restore access in **Team**. If a disable or role change ended access on managed client sites, **Undo** does not restore those sign-ins. After access is restored, the person opens the client site from their account again. See [client-site failure and retry limits](https://docs.amadalis.ai/agencies/agency-guide/#review-and-end-access). ## Visitor data | Request | Approval | Undo | | --- | --- | --- | | Permanently erase one shopper account, separately from visitor data | Yes | No | | Permanently erase one visitor’s captured data | Yes | No | | Permanently erase a selected set of visitors’ captured data | Yes | No | | Find a visitor by an allowed identifier | No | No | | Read your own marked test browser’s profile and recorded journey | No | No | The copilot tells one browser’s story only for a test visitor you marked yourself in **Personalization**. A real visitor’s data is on [Visitor Data](https://docs.amadalis.ai/privacy/consent-and-visitor-data/#find-the-visitor-record). Return to [the copilot request index](https://docs.amadalis.ai/reference/copilot/). ## Your next step Choose a request that matches your task, then [ask the copilot](https://docs.amadalis.ai/copilot/copilot/). Review its proposed consequence before approving any change. Source: https://docs.amadalis.ai/reference/copilot/analytics-and-events/ # Copilot: Analytics and events Open **Copilot** in the site admin and describe the result you want. Use the tables below to check the requests in this area, their approval steps and their available Undo. Checked against the product’s code on 7 November 2026. Reports read the site’s recorded evidence. They do not establish that a missing event happened. See the [event catalog](https://docs.amadalis.ai/reference/event-catalog/) for names, senders and collection gaps. A dimension is a category for grouping records. A metric is a measure to count or calculate. An event binding connects an element or action to the event it sends. An event definition can be saved without collecting it. Enabling capture, changing which elements send events or collecting extra arrival parameters needs approval. Google Analytics requests need a configured connection. Connection credentials belong on the Connections screen, never in a copilot message. In the tables, **Yes** under approval means a separate approval is required before applying the request. **Available** under Undo means the request can be reversed. The specific receipt must offer **Undo**; it can be limited by the input, later changes or the state that was saved. **No** means this request provides no automatic Undo. Reading a fact has nothing to undo. These are plain-language descriptions of requests, not text you must type exactly. Your role, configured connections and site capabilities determine which requests are available. See [How copilot requests are governed](https://docs.amadalis.ai/reference/copilot/). ## Analytics reports and configuration | Request | Approval | Undo | | --- | --- | --- | | Define a standing analytics alert | Yes | Available | | Delete a standing analytics alert | Yes | Available | | Check one analytics alert now | No | No | | Define a channel group for Sources | Yes | Available | | Delete a channel group | Yes | Available | | List your channel groups | No | No | | Add a dated note to a Google Analytics report | Yes | Available | | Save a Google Analytics connection through its settings flow | Yes | Available | | Disconnect Google Analytics | Yes | No | | Read a connected Google Analytics report | No | No | | Choose the goal shown in the Analytics overview | No | Available | | Read the Analytics overview | No | No | | Query the site’s recorded analytics | No | No | | List available measures, dimensions, goals and channel groups | No | No | | Change whether supported analytics count known bots | Yes | Available | For a selector binding requested in chat, first check that rule in **Composer** > **Track**. The copilot uses the browser’s matching-rule measurement from that conversation context, not a number typed by the model. A missing or older measurement can require another check. ## Event capture | Request | Approval | Undo | | --- | --- | --- | | Archive an event definition | Yes | Available | | Bind an event to matching page controls | Yes | Available | | Read event counts | No | No | | Define a custom event in the catalog | No | Available | | Disable event capture definitions | Yes | Available | | Enable event capture definitions | Yes | Available | | Inspect an event definition | No | No | | List event definitions and events needing review | No | No | | Preview an event binding | No | No | | Check whether an event arrived recently | No | No | | Read the extra arrival query parameters being collected | No | No | | Change which extra arrival query parameters are collected | Yes | Available | | Rename an event’s visible label | No | Available | The arrival check reads only events already recorded and does not wait. See [Check that an event arrives](https://docs.amadalis.ai/insights/events-and-capture/#check-that-an-event-arrives). ## Reporting groupings | Request | Approval | Undo | | --- | --- | --- | | Define a reporting dimension from recorded data | No | Available | ## Recent events | Request | Approval | Undo | | --- | --- | --- | | Read recent captured events | No | No | In chat, recent events never name a real visitor. You can narrow them by event type, by country or to a test visitor you marked yourself in **Personalization**. To see which visitor an event came from, use **Events** in **Insights** > **Explore**. ## Funnels | Request | Approval | Undo | | --- | --- | --- | | Define a funnel | No | Available | | Read what drives progression through a funnel | No | No | | Read a funnel’s results | No | No | ## Goals | Request | Approval | Undo | | --- | --- | --- | | Archive a goal definition | No | Available | | Check a goal against past recorded events | No | No | | Define a goal | No | Available | | Read a goal definition | No | No | | List goal definitions | No | No | ## Reporting measures | Request | Approval | Undo | | --- | --- | --- | | Define a reporting metric from recorded data | No | Available | Return to [the copilot request index](https://docs.amadalis.ai/reference/copilot/). ## Your next step Choose a request that matches your task, then [ask the copilot](https://docs.amadalis.ai/copilot/copilot/). Review its proposed consequence before approving any change. Source: https://docs.amadalis.ai/reference/copilot/audiences-and-targeting/ # Copilot: Audiences and targeted content Open **Copilot** in the site admin and describe the result you want. Use the tables below to check the requests in this area, their approval steps and their available Undo. Checked against the product’s code on 7 November 2026. An assignment connects content to an audience and a location on a page. Defining an audience does not itself publish targeted content. A saved visitor list cannot yet target this site’s pages; use an audience based on a rule or an interest for targeting. Generating audiences from catalog tags starts new audiences as drafts. Assigning content to a live audience, activating it or changing a setting has its own approval boundary. Audience delivery is not connected to a sending service in the checked product. The request sends nothing and offers no Undo. This limit does not prevent targeted content on your site. Identity settings change how visitor data is collected and joined; the approval card describes that consequence. In the tables, **Yes** under approval means a separate approval is required before applying the request. **Available** under Undo means the request can be reversed. The specific receipt must offer **Undo**; it can be limited by the input, later changes or the state that was saved. **No** means this request provides no automatic Undo. Reading a fact has nothing to undo. These are plain-language descriptions of requests, not text you must type exactly. Your role, configured connections and site capabilities determine which requests are available. See [How copilot requests are governed](https://docs.amadalis.ai/reference/copilot/). ## Audience definitions and saved queries | Request | Approval | Undo | | --- | --- | --- | | Request audience delivery to a destination | Yes | No | | Create an audience definition | No | Available | | Create an audience from an Explore query | No | Available | | Generate catalog audiences from configured tag mappings | Yes | Available | | List audience definitions | No | No | | Save the visitors matched by an audience query | No | Available | | Query an audience in Explore | No | No | | Change an audience’s status to draft, active or archived | Yes | Available | | Read an audience’s counts | No | No | In chat, an audience query answers with a count and its main breakdowns, never a list of visitors. A query that searches for one visitor or names one person, such as by a visitor id or an email address, is refused, and no list is saved from it. **Visitors** in **Insights** > **Explore** lists the visitors who match. ## Visitor identity settings | Request | Approval | Undo | | --- | --- | --- | | Read which external analytics IDs are collected | No | No | | Change which external analytics IDs are collected | Yes | Available | | Read the visitor identity policy | No | No | | Change the visitor identity policy | Yes | Available | ## Targeted content and affinity | Request | Approval | Undo | | --- | --- | --- | | Archive a targeted content assignment | No | Available | | Assign targeted content to an audience and page slot | Yes | Available | | Draft a targeted content assignment | No | Available | | Inspect a targeted content assignment | No | No | | List targeted content assignments | No | No | | Read targeted content performance | No | No | | Compare a campaign’s targeted and held-back results, or the platform holdout | No | No | | Explain a campaign’s recorded decisions or your own marked test browser | No | No | | Resume a targeted content assignment | Yes | Available | | List the page slots available for targeted content | No | No | | Change affinity and targeting settings | Yes | Available | | Read affinity and targeting settings | No | No | | Remove a targeted content assignment | Yes | Available | ## Rule-based audiences | Request | Approval | Undo | | --- | --- | --- | | Define a rule-based audience | No | Available | | Delete an eligible audience definition | Yes | Available | | Read a rule-based audience | No | No | | List rule-based audiences | No | No | | Enable or disable a rule-based audience | Yes | Available | A rule can use what the request itself shows, including its country, region and city. A rule with a city also needs a country or a region, because many places share a city’s name. Return to [the copilot request index](https://docs.amadalis.ai/reference/copilot/). ## Your next step Choose a request that matches your task, then [ask the copilot](https://docs.amadalis.ai/copilot/copilot/). Review its proposed consequence before approving any change. Source: https://docs.amadalis.ai/reference/copilot/content-and-media/ # Copilot: Content and media Open **Copilot** in the site admin and describe the result you want. Use the tables below to check the requests in this area, their approval steps and their available Undo. Checked against the product’s code on 7 November 2026. Content collections, author bylines and the media library include EmDash’s own content management features. Draft page composition has its own reference in [Pages and reusable sections](https://docs.amadalis.ai/reference/copilot/pages-and-sections/). Permanent content or media deletion has no automatic Undo. Updating content that changes category or tag assignments can also have no exact automatic Undo. Registering media adds an existing stored file to the media library; it does not upload the file. A suggested catalog tag becomes an approved tag only through the separate approval step. In the tables, **Yes** under approval means a separate approval is required before applying the request. **Available** under Undo means the request can be reversed. The specific receipt must offer **Undo**; it can be limited by the input, later changes or the state that was saved. **No** means this request provides no automatic Undo. Reading a fact has nothing to undo. These are plain-language descriptions of requests, not text you must type exactly. Your role, configured connections and site capabilities determine which requests are available. See [How copilot requests are governed](https://docs.amadalis.ai/reference/copilot/). ## Author bylines Updating an author credit pauses at **Change this byline?** because it can change published posts that use it. Review **Save the byline** before approval. The change is saved now; the usual [visitor-copy delay](https://docs.amadalis.ai/composer/composer/#make-a-page-for-a-sale) still applies. | Request | Approval | Undo | | --- | --- | --- | | Create an author byline | No | Available | | Delete an author byline | Yes | No | | Add a byline field | Yes | Available | | Delete a byline field | Yes | No | | Read a byline field | No | No | | List byline fields | No | No | | Reorder byline fields | Yes | Available | | Update a byline field | Yes | Available | | Check where a byline field is used | No | No | | Read an author byline | No | No | | List author bylines | No | No | | Translate an author byline | Yes | Available | | List an author’s byline translations | No | No | | Update an author byline | Yes | Available | ## Content and its catalog For creating and editing a page or post built in Composer, use [Pages and sections](https://docs.amadalis.ai/reference/copilot/pages-and-sections/). Generic content create and update requests cannot save Composer content. | Request | Approval | Undo | | --- | --- | --- | | Read the content catalog | No | No | | Rebuild the content catalog from selected source rules | Yes | Available | | Compare a content item’s draft and published version | No | No | | Create a draft content item in a collection | No | Available | | Discard a content item’s unpublished changes | No | Available | | Duplicate a content item as a new draft | No | Available | | Suggest catalog tags for content | No | No | | Set a content item’s approved catalog tags | Yes | Available | | List items in a content collection | No | No | | List content in Trash | No | No | | Read content performance | No | No | | Permanently delete a content item | Yes | No | | Publish a content item | Yes | Available | | Restore a content item from Trash | Yes | Available | | Schedule publication of a content item | Yes | Available | | Approve a suggested catalog tag | Yes | Available | | Reject a suggested catalog tag | No | No | | Create a draft translation of a content item | No | Available | | List a content item’s translations | No | No | | Move a content item to Trash | Yes | Available | | Unpublish a content item | Yes | Available | | Cancel a content item’s publication schedule | Yes | Available | | Update a content item | Yes | Available | For pages and posts, scheduling runs the publish check before its approval card, again on approval and again when publication is due. A refusal at the due time removes the schedule and leaves the draft or its changes unpublished. If the check cannot finish, publication waits for another check. See [Pages, posts and media](https://docs.amadalis.ai/content/pages-posts-and-media/#create-a-page-or-post). ## Media | Request | Approval | Undo | | --- | --- | --- | | Create a media library record | Yes | Available | | Delete a media item and its stored file | Yes | No | | Update a media item’s descriptive details | No | Available | | Find media in the library | No | No | | Read a media item | No | No | | List media items | No | No | | Change a media file’s public or members-only access | Yes | Available | | Upload a file into the media library | Yes | Available | | Rebuild the media usage index | Yes | No | ## Content search | Request | Approval | Undo | | --- | --- | --- | | Search the site’s content | No | No | Return to [the copilot request index](https://docs.amadalis.ai/reference/copilot/). ## Your next step Choose a request that matches your task, then [ask the copilot](https://docs.amadalis.ai/copilot/copilot/). Review its proposed consequence before approving any change. Source: https://docs.amadalis.ai/reference/copilot/conversation-and-undo/ # Copilot: Conversation and Undo Open **Copilot** in the site admin to find an earlier conversation or ask for Undo. Use the tables below to check the requests in this area, their approval steps and their available Undo. Checked against the product’s code on 7 November 2026. “Undo that” can resolve the latest eligible change in the conversation. If the last step made several changes, it asks which one to undo without changing anything. You can ask to undo the whole step instead. It works newest first and stops if a reversal is refused; read the result before assuming the whole step was undone. If reversing it would affect visitors, the platform asks for approval. The result identifies the change and any later change it did not undo. An Undo request does not promise another Undo of the Undo. Deleting a saved conversation does not itself reverse the changes made during it. A choice card clarifies a request and changes no site content. In the tables, **Yes** under approval means a separate approval is required before applying the request. **Available** under Undo means the request can be reversed. The specific receipt must offer **Undo**; it can be limited by the input, later changes or the state that was saved. **No** means this request provides no automatic Undo. Reading a fact has nothing to undo. These are plain-language descriptions of requests, not text you must type exactly. Your role, configured connections and site capabilities determine which requests are available. See [How copilot requests are governed](https://docs.amadalis.ai/reference/copilot/). ## Undo requests | Request | Approval | Undo | | --- | --- | --- | | Undo the latest change in this conversation that visitors cannot see | No | No | | Undo an eligible change that affects the live site | Yes | No | ## Saved conversations | Request | Approval | Undo | | --- | --- | --- | | Delete a saved copilot conversation | Yes | No | | List your saved copilot conversations | No | No | ## Choice cards | Request | Approval | Undo | | --- | --- | --- | | Show a choice card to clarify a request | No | No | Return to [the copilot request index](https://docs.amadalis.ai/reference/copilot/). ## Your next step Choose a request that matches your task, then [ask the copilot](https://docs.amadalis.ai/copilot/copilot/). Review its proposed consequence before approving any change. Source: https://docs.amadalis.ai/reference/copilot/experiments/ # Copilot: Experiments Open **Copilot** in the site admin and describe the result you want. Use the tables below to check the requests in this area, their approval steps and their available Undo. Checked against the product’s code on 7 November 2026. Creating or copying an experiment saves a draft. Starting, stopping and promoting a variation affect visitors and need approval. Archiving preserves evidence and requires an experiment to be draft or stopped. Unarchiving does not restart traffic. Saved power plans, which estimate the sample needed for a chosen effect, and locked measurement plans have their own evidence requirements. Locking is permanent. The plan records its deciding method; only that method can authorize promotion. New plans require a positive guardrail limit and check that harm beyond it is ruled out. Earlier locked plans keep their recorded checks. A saved Results preference or a recorded decision does not itself change traffic. Undo is offered only when the request can reverse the change. In the tables, **Yes** under approval means a separate approval is required before applying the request. **Available** under Undo means the request can be reversed. The specific receipt must offer **Undo**; it can be limited by the input, later changes or the state that was saved. **No** means this request provides no automatic Undo. Reading a fact has nothing to undo. These are plain-language descriptions of requests, not text you must type exactly. Your role, configured connections and site capabilities determine which requests are available. See [How copilot requests are governed](https://docs.amadalis.ai/reference/copilot/). ## Experiment stages, planning and results | Request | Approval | Undo | | --- | --- | --- | | Start a draft experiment | Yes | Available | | Read the experiment’s Results view | No | No | | Evaluate and record a results decision | No | No | | Set the site’s usual Results method and comparison view | No | No | | Save a suggested threshold of caring | No | No | | Save your preferred Results view for one experiment | No | No | | Archive a draft or stopped experiment | No | Available | | Undo a particular experiment archive | No | No | | Copy an experiment’s setup into a new draft | No | Available | | Read Configuration & QA, its settings and variation checks, for an experiment | No | No | | Stop a live experiment | Yes | Available | | Create a draft experiment | No | Available | | Find measures to divide by in a results ratio | No | No | | Migrate an older experiment to a locked measurement plan | Yes | No | | List experiments and their states | No | No | | Lock an experiment’s measurement plan | Yes | No | | Read a saved power plan | No | No | | Calculate and save a power plan | No | No | | Read the evidence and setup needed for planning | No | No | | Read an experiment’s saved power plan history | No | No | | Promote an eligible experiment variation | Yes | Available | | Read experiment results | No | No | | Recompute stored experiment results | No | No | | Explore an experiment’s results for a selected slice | No | No | | Read an experiment’s daily timeline | No | No | | Return an archived experiment to its saved Draft or Stopped state | No | Available | Return to [the copilot request index](https://docs.amadalis.ai/reference/copilot/). ## Your next step Choose a request that matches your task, then [ask the copilot](https://docs.amadalis.ai/copilot/copilot/). Review its proposed consequence before approving any change. Source: https://docs.amadalis.ai/reference/copilot/forms-and-comments/ # Copilot: Forms and comments Open **Copilot** in the site admin and describe the result you want. Use the tables below to check the requests in this area, their approval steps and their available Undo. Checked against the product’s code on 7 November 2026. Native form definitions, submission access and notification delivery are separate requests. Reading or preparing a submission export does not place all of its submitted data in chat. The download requires sign in and checks the person’s permission to read submissions again. Sent notification emails cannot be recalled. Erasing a submission has no automatic Undo. Deleting a form offers Undo, which restores its definition; its stored submissions are kept. Comment operations include EmDash’s own content management features. In the tables, **Yes** under approval means a separate approval is required before applying the request. **Available** under Undo means the request can be reversed. The specific receipt must offer **Undo**; it can be limited by the input, later changes or the state that was saved. **No** means this request provides no automatic Undo. Reading a fact has nothing to undo. These are plain-language descriptions of requests, not text you must type exactly. Your role, configured connections and site capabilities determine which requests are available. See [How copilot requests are governed](https://docs.amadalis.ai/reference/copilot/). ## Spam protection | Request | Approval | Undo | | --- | --- | --- | | Change the forms spam protection settings | Yes | Available | ## Comments | Request | Approval | Undo | | --- | --- | --- | | Moderate a selected group of comments | Yes | Available | | Read comment counts | No | No | | Delete a comment | Yes | No | | Read a comment | No | No | | List comments | No | No | | Change a comment’s moderation status | Yes | Available | ## Forms and replies Creating a form does not need an approval card, but it does not save an email address typed into chat. Ask the copilot to add the address afterwards. Its **Update this form?** card names the new recipients before you choose **Update form**. The existing **Site admin** recipient can remain; it uses the site’s configured admin address. The card flags a new address you did not write in the conversation. Creating the form keeps its Undo. | Request | Approval | Undo | | --- | --- | --- | | Archive a form | Yes | Available | | Create a form | No | Available | | Delete a form definition | Yes | Available | | Read a form definition | No | No | | List forms | No | No | | Send a form notification test | Yes | No | | Dispatch pending form notifications | Yes | No | | Read form notification delivery status | No | No | | Permanently erase one form submission | Yes | No | | Read a form’s submissions | No | No | | Export a form’s submissions | No | No | | Restore an archived form | No | Available | | Update a form definition | Yes | Available | Return to [the copilot request index](https://docs.amadalis.ai/reference/copilot/). ## Your next step Choose a request that matches your task, then [ask the copilot](https://docs.amadalis.ai/copilot/copilot/). Review its proposed consequence before approving any change. Source: https://docs.amadalis.ai/reference/copilot/ # What you can ask the copilot Open **Copilot** in the site admin to ask for a result. Use this reference to check whether a request needs approval and whether it can offer Undo. Checked against the product’s code on 7 November 2026. Describe the result you want in ordinary words. The copilot can read facts, prepare drafts and propose changes using the requests available on your site. The model proposes; the platform authorizes. The platform checks your role, the request and any required approval before applying it. This reference describes the requests available in the checked version of the product. It does not establish what version is serving on your site. A feature can be switched off, a connection can be missing or your role can lack permission. Asking the copilot what it can do should reflect that site’s available requests. ## Approval and Undo An approval card presents the proposed change and its consequence. **Approval: Yes** means the request requires your separate decision before application. A draft or read can have **Approval: No** and still require permission. Preparing a draft does not grant permission to publish it. A person’s own **Publish** click in EmDash’s editor publishes at once, as their explicit act. Anything the copilot publishes always pauses for the approval card. **Undo: Available** means the request can be reversed. The receipt must offer **Undo** for that particular change. Later edits or missing saved information can prevent that reversal. **Undo: No** means the request itself supplies no automatic Undo. Sending email, permanently erasing data or opening a settings screen cannot be assumed to offer Undo. An approved change goes ahead even if its Activity record fails to save; the failure is logged on the server. The change keeps any Undo it offered on its receipt. ## Requests by area Choose the area of the change you want. Each linked table lists supported requests, whether approval is required and whether the result can offer Undo. - [Pages and reusable sections](https://docs.amadalis.ai/reference/copilot/pages-and-sections/). - [Content and media](https://docs.amadalis.ai/reference/copilot/content-and-media/). - [Navigation and SEO](https://docs.amadalis.ai/reference/copilot/navigation-and-seo/). - [Forms and comments](https://docs.amadalis.ai/reference/copilot/forms-and-comments/). - [Audiences and targeted content](https://docs.amadalis.ai/reference/copilot/audiences-and-targeting/). - [Analytics and events](https://docs.amadalis.ai/reference/copilot/analytics-and-events/). - [Experiments](https://docs.amadalis.ai/reference/copilot/experiments/). - [Store and membership](https://docs.amadalis.ai/reference/copilot/store-and-membership/). - [Account, team and visitor privacy](https://docs.amadalis.ai/reference/copilot/account-and-privacy/). - [Site settings and structure](https://docs.amadalis.ai/reference/copilot/site-and-settings/). - [WordPress migration](https://docs.amadalis.ai/reference/copilot/migration/). - [Conversation and Undo](https://docs.amadalis.ai/reference/copilot/conversation-and-undo/). ## Service staff [Service administration](https://docs.amadalis.ai/reference/copilot/service-administration/) identifies requests that require service staff authority. They are not customer permissions. For the explanation of the approval flow, read [The copilot’s governed tools](https://docs.amadalis.ai/developers/governed-tools/). Source: https://docs.amadalis.ai/reference/copilot/migration/ # Copilot: WordPress migration Open **Copilot** in the site admin and describe the result you want. Use the tables below to check the requests in this area, their approval steps and their available Undo. Checked against the product’s code on 7 November 2026. Migration requests support review work. They do not replace the service’s acceptance and publication checks. See [Migration as a service](https://docs.amadalis.ai/agencies/migration-as-a-service/) for the customer process. The import creates draft content, but related navigation, redirects or theme settings can affect the site. A rollback moves eligible unpublished drafts to Trash; it is not a promise to reverse the entire site import. Resetting the workspace has no automatic Undo. An acceptance record or receipt of readiness to switch from the old site records a decision. It does not prove a deployment or make publication automatic. In the tables, **Yes** under approval means a separate approval is required before applying the request. **Available** under Undo means the request can be reversed. The specific receipt must offer **Undo**; it can be limited by the input, later changes or the state that was saved. **No** means this request provides no automatic Undo. Reading a fact has nothing to undo. These are plain-language descriptions of requests, not text you must type exactly. Your role, configured connections and site capabilities determine which requests are available. See [How copilot requests are governed](https://docs.amadalis.ai/reference/copilot/). ## Migration review and recovery | Request | Approval | Undo | | --- | --- | --- | | Record your acceptance of a reviewed migration | Yes | No | | Preview a WordPress import before importing | No | No | | Issue the readiness receipt for an accepted migration | Yes | No | | Import a WordPress site for review | Yes | No | | Cancel, resume or delete a migration job | Yes | No | | Move an import job’s unpublished drafts to Trash | Yes | No | | Read a migration review queue | No | No | | Resolve one migration review item | Yes | Available | | Give imported pages their original readable names | Yes | Available | | Reset the migration workspace | Yes | No | ## Source discovery | Request | Approval | Undo | | --- | --- | --- | | Choose how to map a WordPress custom post type | No | No | | Read a WordPress migration report | No | No | | Scan the public WordPress source | No | No | Return to [the copilot request index](https://docs.amadalis.ai/reference/copilot/). ## Your next step Choose a request that matches your task, then [ask the copilot](https://docs.amadalis.ai/copilot/copilot/). Review its proposed consequence before approving any change. Source: https://docs.amadalis.ai/reference/copilot/navigation-and-seo/ # Copilot: Navigation and SEO Open **Copilot** in the site admin and describe the result you want. Use the tables below to check the requests in this area, their approval steps and their available Undo. Checked against the product’s code on 7 November 2026. A menu draft does not change live navigation. Publishing the menu and placing it can be approved together. Menu reads and translations include EmDash’s own menu features. Restoring navigation from a menu change receipt does not offer another Undo for that restoration. Drafting SEO text writes nothing. Applying page SEO, site defaults, indexing, machine access or head policy can affect the public site and needs approval. A tracked link creates a public redirect; archiving the link stops its own redirect and open counts, but preserves the redirect and campaign tags. In the tables, **Yes** under approval means a separate approval is required before applying the request. **Available** under Undo means the request can be reversed. The specific receipt must offer **Undo**; it can be limited by the input, later changes or the state that was saved. **No** means this request provides no automatic Undo. Reading a fact has nothing to undo. These are plain-language descriptions of requests, not text you must type exactly. Your role, configured connections and site capabilities determine which requests are available. See [How copilot requests are governed](https://docs.amadalis.ai/reference/copilot/). ## Machine access | Request | Approval | Undo | | --- | --- | --- | | Change the site’s machine access policy | Yes | Available | | Edit the site’s robots.txt policy | Yes | Available | ## Campaign records | Request | Approval | Undo | | --- | --- | --- | | Archive a campaign | Yes | Available | | Create a campaign record | No | Available | | List campaign records | No | No | | Update a campaign record | Yes | Available | ## Head entries and Content Security Policy | Request | Approval | Undo | | --- | --- | --- | | Change public head entries or Content Security Policy | Yes | Available | | Read public head entries and Content Security Policy | No | No | ## Tracked links | Request | Approval | Undo | | --- | --- | --- | | Archive a tracked link | Yes | Available | | Create a tracked link | Yes | Available | | List tracked links | No | No | | Update a tracked link | Yes | Available | ## Site menus | Request | Approval | Undo | | --- | --- | --- | | Read an existing EmDash menu | No | No | | List EmDash menus | No | No | | Translate a CMS menu | Yes | Available | | List a CMS menu’s translations | No | No | ## Drafting and publishing navigation | Request | Approval | Undo | | --- | --- | --- | | Choose which menu appears in each navigation location | Yes | Available | | Delete a menu and its links | Yes | Available | | Draft or edit a menu without publishing it | No | Available | | Read a menu and the draft in this conversation | No | No | | Publish a drafted menu and its locations | Yes | Available | | Build and place the site’s navigation | Yes | Available | | Restore navigation from a menu change receipt | Yes | No | ## Redirects and the 404 log | Request | Approval | Undo | | --- | --- | --- | | Create a redirect | Yes | Available | | Delete a redirect | Yes | Available | | Read a redirect | No | No | | List redirects | No | No | | Read the 404 log | No | No | | Update a redirect | Yes | Available | ## Search and sharing details | Request | Approval | Undo | | --- | --- | --- | | Draft a page title, description or social sharing details | No | No | | Draft site SEO defaults | No | No | | Read page SEO or its completeness overview | No | No | | Change whether a page is indexed | Yes | Available | | Update a page’s search and sharing details | Yes | Available | | Change site SEO defaults | Yes | Available | Return to [the copilot request index](https://docs.amadalis.ai/reference/copilot/). ## Your next step Choose a request that matches your task, then [ask the copilot](https://docs.amadalis.ai/copilot/copilot/). Review its proposed consequence before approving any change. Source: https://docs.amadalis.ai/reference/copilot/pages-and-sections/ # Copilot: Pages and reusable sections Open **Copilot** in the site admin and describe the result you want. Use the tables below to check the requests in this area, their approval steps and their available Undo. Checked against the product’s code on 7 November 2026. Page edits and visibility changes are drafts. Publishing is a separate approved request. Page scripts and the rules that connect elements to events are part of the page draft, so they reach visitors only through an approved publish. Setting an HTML anchor, a named point for links to jump to, or CSS classes, names used to style or find elements, always needs approval. Tag managers and other outside tools can match those names. Nested elements accept CSS classes only. An eligible Undo restores the state covered by its receipt; publishing, later edits and content access can limit that restoration. A publish card can name added or changed scripts, tracking and form recipients, and warn about links to unpublished pages or missing places on the page. Read any notice that a check could not finish; these link warnings do not block publication. A reusable section is a library entry. Editing it does not rewrite copies already inserted into pages. Page types affect future page creation and Composer choices. In chat, placing a selected file or page link, discarding unpublished changes and changing who can read a page each pause for approval. These changes stay in the draft until the page is published. In the tables, **Yes** under approval means a separate approval is required before applying the request. **Available** under Undo means the request can be reversed. The specific receipt must offer **Undo**; it can be limited by the input, later changes or the state that was saved. **No** means this request provides no automatic Undo. Reading a fact has nothing to undo. These are plain-language descriptions of requests, not text you must type exactly. Your role, configured connections and site capabilities determine which requests are available. See [How copilot requests are governed](https://docs.amadalis.ai/reference/copilot/). ## Page types | Request | Approval | Undo | | --- | --- | --- | | Create a page type | Yes | Available | | Delete a page type | Yes | Available | | Read a page type’s recipe and allowed sections | No | No | | List page types | No | No | | Read a section type’s fields | No | No | | Update a page type | Yes | Available | ## Pages | Request | Approval | Undo | | --- | --- | --- | | Attach a selected media item or page link to a draft field | Yes | Available | | Create a draft page | No | Available | | Move a page to Trash | Yes | No | | Discard a page’s unpublished changes | Yes | Available | | Edit a page draft | No | Available | | Edit a live page variation | Yes | Available | | Find pages by name or address | No | No | | Read a page and its sections | No | No | | Set or clear an HTML anchor or CSS classes on a section or element | Yes | Available | | Publish a page | Yes | Available | | Change a page’s draft visibility setting | Yes | Available | | Create a draft page translation | No | No | | Restore a page from an edit receipt | No | Available | | Unpublish a page | Yes | No | ## Revisions A revision is a saved version of a page. | Request | Approval | Undo | | --- | --- | --- | | List a content item’s revisions | No | No | | Restore an eligible content revision | Yes | Available | Restore Undo needs the restored draft to remain current and the entry to be free of another person’s editing lock. It restores a cancelled schedule only while that time is still ahead. ## Reusable sections | Request | Approval | Undo | | --- | --- | --- | | Create a reusable section library entry | No | Available | | Delete a reusable section library entry | Yes | No | | Read a reusable section library entry | No | No | | List reusable section library entries | No | No | | Update a reusable section library entry | No | Available | Return to [the copilot request index](https://docs.amadalis.ai/reference/copilot/). ## Your next step Choose a request that matches your task, then [ask the copilot](https://docs.amadalis.ai/copilot/copilot/). Review its proposed consequence before approving any change. Source: https://docs.amadalis.ai/reference/copilot/service-administration/ # Copilot: Service administration Checked against the product’s code on 7 November 2026. These requests belong to service staff with platform administration authority. A customer’s site role or support access grant does not confer that authority. They are included here to distinguish the registered service actions from requests you can run on your own site. The same approval and Undo distinctions apply. Service billing, account status changes, capability switches and incident records are separate from customer content editing. No price or commercial term is specified here. In the tables, **Yes** under approval means a separate approval is required before applying the request. **Available** under Undo means the request can be reversed. The specific receipt must offer **Undo**; it can be limited by the input, later changes or the state that was saved. **No** means this request provides no automatic Undo. Reading a fact has nothing to undo. These are plain-language descriptions of requests, not text you must type exactly. Your role, configured connections and site capabilities determine which requests are available. See [How copilot requests are governed](https://docs.amadalis.ai/reference/copilot/). ## Service account records | Request | Approval | Undo | | --- | --- | --- | | Add a service note to an account | Yes | No | | Update an account’s commercial details | Yes | No | | Update an account’s compliance details | Yes | No | | Manage an account contact | Yes | No | | Assign service coverage to an account | Yes | No | | End service coverage for an account | Yes | No | | Read an account’s service coverage | No | No | | Manage an account’s email domain record | Yes | No | | Manage an account location | Yes | No | | Change the plan assigned to an account | Yes | No | | Update an account profile | Yes | No | | Manage an account’s tax registration record | Yes | No | ## Service billing administration | Request | Approval | Undo | | --- | --- | --- | | Assign a billing account | Yes | No | | Create a billing account | Yes | No | | Read a billing account | No | No | | Create the service billing catalog records | Yes | No | | Read service billing catalog status | No | No | | Update service billing catalog records | Yes | No | | Add a billing contact | Yes | No | | Record a service billing order | Yes | No | | Open an account’s payment provider billing portal | Yes | No | | Read service billing status | No | No | | Check and align service billing records with the payment provider | Yes | No | Adding a billing contact marked to show to the customer can replace the contact displayed on their account. It sends no email, does not update Stripe and has no Undo. Earlier contacts stay on file. ## Capability switches | Request | Approval | Undo | | --- | --- | --- | | Manage a group of sites for capability settings | Yes | No | | Change a site’s capability switch | Yes | No | | Read a site’s capability switch status | No | No | ## Service change Undo | Request | Approval | Undo | | --- | --- | --- | | Undo an eligible service administration change | Yes | No | ## Serving domains | Request | Approval | Undo | | --- | --- | --- | | Attach a serving domain for an account | Yes | No | | Detach a serving domain from an account | Yes | No | | Recheck an account’s serving domain | Yes | No | | Read an account’s serving domain status | No | No | ## Service health | Request | Approval | Undo | | --- | --- | --- | | Refresh an account’s service health checks | Yes | No | ## Incidents | Request | Approval | Undo | | --- | --- | --- | | Open a service incident | Yes | No | | Send another incident alert for an open incident | Yes | No | | Resolve a service incident | Yes | No | | Read service incidents | No | No | | Update a service incident | Yes | No | ## Account setup | Request | Approval | Undo | | --- | --- | --- | | Cancel an account’s setup workflow | Yes | No | | Update an account setup milestone | Yes | No | | Retry an account’s setup workflow | Yes | No | ## Service activity | Request | Approval | Undo | | --- | --- | --- | | Read service administration activity | No | No | ## Hosted sites | Request | Approval | Undo | | --- | --- | --- | | List hosted sites for service administration | No | No | ## Account team administration | Request | Approval | Undo | | --- | --- | --- | | Invite a member to an account | Yes | No | | Resend an account team invitation | Yes | No | | Revoke an account team invitation | Yes | No | | Disable an account member’s access | Yes | Available | | Enable an account member’s access | Yes | Available | | Send an account member a recovery email | Yes | No | | Change an account member’s role | Yes | No | | Read an account’s team membership | No | No | ## Account status | Request | Approval | Undo | | --- | --- | --- | | Read the deletion certificate for a terminated account | No | No | | List service accounts | No | No | | Create a service account and hosted site | Yes | No | | Reactivate an account’s serving | Yes | Available | | Rename an account | Yes | Available | | Cancel a scheduled account action | Yes | No | | Run an account action that is due | Yes | No | | Read scheduled account actions | No | No | | Suspend an account’s serving | Yes | Available | | Schedule suspension of an account | Yes | Available | | Cancel a prepared account termination | Yes | No | | Read the preparation needed for an account termination | No | No | ## Service usage | Request | Approval | Undo | | --- | --- | --- | | Read an account’s recorded service usage | No | No | Return to [the copilot request index](https://docs.amadalis.ai/reference/copilot/). ## Your next step If you need a service change, [contact support](https://docs.amadalis.ai/trust/operations/) with the affected site and the result you need. The staff controls listed here are separate from customer permissions. Source: https://docs.amadalis.ai/reference/copilot/site-and-settings/ # Copilot: Site settings and structure Open **Copilot** in the site admin and describe the result you want. Use the tables below to check the requests in this area, their approval steps and their available Undo. Checked against the product’s code on 7 November 2026. Site identity, the front page, an active theme and EmDash content settings can affect the public site. Their approval cards describe the scope. A template setup can create several related objects at once; its receipt describes what its Undo covers. Content types, taxonomies, widgets, plugins and some settings expose EmDash’s own content management features through governed requests. Removing a field from a content type’s structure or plugin can have consequences beyond its visible row. Read the card before approval. In the tables, **Yes** under approval means a separate approval is required before applying the request. **Available** under Undo means the request can be reversed. The specific receipt must offer **Undo**; it can be limited by the input, later changes or the state that was saved. **No** means this request provides no automatic Undo. Reading a fact has nothing to undo. These are plain-language descriptions of requests, not text you must type exactly. Your role, configured connections and site capabilities determine which requests are available. See [How copilot requests are governed](https://docs.amadalis.ai/reference/copilot/). ## Content types Listing registered content types and reading their structure need Editor or Admin access. Structure changes, including registering a table and reordering fields or types, are offered only to Admins. Finding unregistered tables also needs Admin access. Approval is still required for the writes below. | Request | Approval | Undo | | --- | --- | --- | | Create a content type | Yes | Available | | Delete a content type | Yes | No | | Add a field to a content type | Yes | No | | Remove a field from a content type | Yes | No | | Reorder a content type’s fields | Yes | Available | | Update a content type field | Yes | Available | | Read a content type’s content structure | No | No | | List content types | No | No | | Register an existing content table as a content type | Yes | No | | Reorder content types in EmDash | Yes | Available | | Find content tables that are not registered as content types | No | No | | Update a content type | Yes | Available | ## Plugins Only Admins can use the copilot to check or change site extensions, called plugins. The copilot cannot install or update plugins. All supplied plugins are the platform’s own. Switching them off or uninstalling them is refused before an approval card or a change. Switching one on still needs approval and offers no Undo. Ask “Which plugins are on?” for a supported read. In this table, **Refused** means the request makes no change to a supplied platform plugin. | Request | Approval | Undo | | --- | --- | --- | | Switch an installed plugin off | Refused | No | | Switch an installed plugin on | Yes | None for supplied plugins | | List plugins and their status | No | No | | Read a plugin’s non-secret settings | No | No | | Change a plugin’s non-secret settings | Yes | Available | | Uninstall a plugin | Refused | No | After a saved plugin change, the receipt says if its result could not be read back. Use **Undo** when offered. A settings reset can have no Undo if its default cannot be checked. If Undo cannot read the current state before changing it, nothing is undone and you can retry. If the reversal is saved but cannot be read back, its reply says so. ## Readiness | Request | Approval | Undo | | --- | --- | --- | | Read the site’s readiness checks | No | No | ## EmDash site settings | Request | Approval | Undo | | --- | --- | --- | | Read EmDash site settings | No | No | | Change language, region and date or time formats | Yes | Available | | Change the site logo or browser icon | Yes | Available | | Change search ownership verification settings | Yes | Available | | Change site social links | Yes | Available | | Change site URL settings | Yes | Available | ## Site email Only an Admin can ask whether site email is configured or request a test to their own address. Keep credentials on the dedicated settings screen. | Request | Approval | Undo | | --- | --- | --- | | Read site email status | No | No | | Send a site email test to your own address | Yes | No | ## Site identity and setup | Request | Approval | Undo | | --- | --- | --- | | Read the capabilities available on this site | No | No | | Choose which page is the site’s front page | Yes | Available | | Change the site’s saved identity | Yes | Available | | Read a site overview | No | No | | List suitable site templates | No | No | | Read a site template’s pages, sections and setup needs | No | No | | Set up a site from a template | Yes | Available | | Undo a site setup from its receipt | Yes | No | ## Taxonomies | Request | Approval | Undo | | --- | --- | --- | | Create a taxonomy | Yes | No | | Delete a taxonomy | Yes | No | | List taxonomies | No | No | | Create a taxonomy term | No | Available | | Delete a taxonomy term | Yes | No | | Reorder taxonomy terms | No | Available | | Translate a taxonomy term | Yes | Available | | List a taxonomy term’s translations | No | No | | Update a taxonomy term | No | Available | | List terms in a taxonomy | No | No | | Update a taxonomy | Yes | Available | ## Themes | Request | Approval | Undo | | --- | --- | --- | | Activate an existing theme | Yes | Available | | Create a theme | Yes | Available | | Delete an eligible theme | Yes | Available | | Read themes and their token values | No | No | | List this site’s themes by their character | No | No | | Update a theme’s tokens or state | Yes | Available | ## Widget areas and instances An instance is one widget placed in an area. | Request | Approval | Undo | | --- | --- | --- | | Create a widget area | Yes | Available | | Delete a widget area | Yes | No | | Read a widget area | No | No | | List widget areas | No | No | | List widget components | No | No | | Create a widget instance | Yes | Available | | Delete a widget instance | Yes | No | | Reorder widgets in an area | Yes | Available | | Update a widget instance | Yes | Available | Return to [the copilot request index](https://docs.amadalis.ai/reference/copilot/). ## Your next step Choose a request that matches your task, then [ask the copilot](https://docs.amadalis.ai/copilot/copilot/). Review its proposed consequence before approving any change. Source: https://docs.amadalis.ai/reference/copilot/store-and-membership/ # Copilot: Store and membership Open **Copilot** in the site admin and describe the result you want. Use the tables below to check the requests in this area, their approval steps and their available Undo. Checked against the product’s code on 7 November 2026. New products start hidden from the shop. A new package is not on sale until you offer it. Publishing, changing an offered product, selling a package and changing an order state have approval boundaries of their own. Adding content to a package or removing it also pauses for approval in chat, because it can change who may read that content. An order state Undo reverses the supported store record change. It does not return a payment or recall an email. Payment connection secrets must be entered through their trusted settings screens. A connection check reads the stored connection; it does not replace the credentials. In the tables, **Yes** under approval means a separate approval is required before applying the request. **Available** under Undo means the request can be reversed. The specific receipt must offer **Undo**; it can be limited by the input, later changes or the state that was saved. **No** means this request provides no automatic Undo. Reading a fact has nothing to undo. These are plain-language descriptions of requests, not text you must type exactly. Your role, configured connections and site capabilities determine which requests are available. See [How copilot requests are governed](https://docs.amadalis.ai/reference/copilot/). ## Payment connection | Request | Approval | Undo | | --- | --- | --- | | Check the stored payment connection | No | No | | Read the site’s payment connection status | No | No | | Register the address for payment-provider notifications again | Yes | No | ## Membership connection | Request | Approval | Undo | | --- | --- | --- | | Define a membership level and what members pay | Yes | Available | | List membership levels and the packages they open | No | No | | Update the event list for membership payment notifications | Yes | No | ## Orders | Request | Approval | Undo | | --- | --- | --- | | Cancel a store order | Yes | Available | | Mark a store order complete | Yes | Available | | Refund an eligible Stripe order as an Admin | Yes | No | | Record a refund already made by hand as an Admin | Yes | Available | | Resend an order email | Yes | No | | Read a store order | No | No | | List store orders | No | No | | Prepare the matching Orders CSV for your signed in browser | No | No | | Mark a store order paid | Yes | Available | | Mark a store order shipped | Yes | Available | | Add a private note to a store order | No | Available | ## Content packages | Request | Approval | Undo | | --- | --- | --- | | Add content to a package | Yes | Available | | Archive a content package | Yes | Available | | Create or rename a content package | No | Available | | Delete an eligible content package | Yes | Available | | Read a content package | No | No | | List content packages | No | No | | Remove content from a package | Yes | Available | | Offer a content package for sale | Yes | Available | ## Products | Request | Approval | Undo | | --- | --- | --- | | Archive a store product | Yes | Available | | Create a hidden store product | No | Available | | Publish a store product | Yes | Available | | Update a store product | Yes | Available | | List store products by name and state | No | No | | Read a store product by its name or id | No | No | ## Coupons | Request | Approval | Undo | | --- | --- | --- | | List coupons by code and state | No | No | | Read a coupon and its uses | No | No | | Create a coupon | Yes | Available | | Change a coupon | Yes | Available | | Pause a coupon | Yes | Available | | Turn a paused coupon back on | Yes | Available | Coupon changes take effect at checkout without publishing a page. Creation Undo removes only a coupon no order has used. Other Undo requests need the coupon to remain in the state the receipt recorded. Imported coupons can be overwritten by a later import. ## Shipping and tax Shipping uses the first matching zone. Tax adds every matching rate, including an imported rate for the same place. Imported rules remain read only. | Request | Approval | Undo | | --- | --- | --- | | List shipping zones or tax rates | No | No | | Save a native shipping zone or tax rate | Yes | Available | | Remove a native shipping zone or tax rate | Yes | Available | ## Store setup Setting up the store creates a content type and needs a site Admin. Its Undo needs an Admin too. An Editor’s commerce rights alone do not allow that setup. | Request | Approval | Undo | | --- | --- | --- | | Set up the native store pages | Yes | Available | Return to [the copilot request index](https://docs.amadalis.ai/reference/copilot/). ## Your next step Choose a request that matches your task, then [ask the copilot](https://docs.amadalis.ai/copilot/copilot/). Review its proposed consequence before approving any change. Source: https://docs.amadalis.ai/reference/event-catalog/ # Event catalog Open **Insights** > **Events & Capture** in the site admin to inspect event definitions. Use this reference to look up an event’s name, meaning and what can send it. Checked against the product’s code on 7 November 2026. The event catalog gives names and meanings to events. An event can be listed before anything on the site sends it. It collects nothing until something does. This reference covers the seeded catalog at the check date, not the current traffic or settings of a deployed site. See [Tracking events](https://docs.amadalis.ai/developers/tracking-events/) for the catalog controls and the browser helper. Automatic capture depends on enabled definitions and matching page controls. Native section bindings and explicit browser calls can also send events. Browser collection follows analytics consent, and delivery can fail. A store purchase or refund can count in aggregate without identifying a shopper. ## Reading the defaults The supplied catalog starts events enabled unless a row below says disabled. An existing site’s enable or disable choice is retained when catalog definitions refresh. **Default weight** is the catalog’s suggested interest weight. It does not change the live affinity weights. A weight of zero records a count without suggesting an interest weight. **Count default** is the catalog’s preferred view of the count, not a promise that every sender deduplicates identically. The properties below are the catalog’s declared properties. They are not a guarantee that every event carries every property. A sender may add context. Where the checked sender differs from the catalog, the row says so. Monetary `value` uses decimal major units with `currency`; no minor unit conversion is implied for your custom events. ## Pages and navigation ### Page view Event name: `pageview`. A page opened. The site capture script sends one event per page load. Properties: `path` (string), `ref` (string). Supplied status: enabled. Default weight: 0. Count default: total. ### Section viewed Event name: `section_view`. A tracked section came at least halfway into view. A recommended card has its own view. The section visibility observer sends it once per observed section or recommended card per page load. Properties: `key` (string), `section` (string), `path` (string), `item` (string), `position` (number), `decision` (string). Supplied status: enabled. Default weight: 0.25. Count default: total. ### Element click (bounded autocapture) Event name: `element_click`. A link, button or submit control inside a tracked section was clicked. The click listener sends the section, control kind and destination. It does not read the control text or form field values. Properties: `key` (string), `section` (string), `role` (string), `href` (string), `path` (string), `item` (string), `position` (number), `decision` (string). Supplied status: enabled. Default weight: 0. Count default: total. ### Outbound click Event name: `outbound_click`. A link to another host was clicked. The click listener sends the destination host. It leaves out the path and query string on that other site. Properties: `href` (string), `key` (string), `path` (string). Supplied status: enabled. Default weight: 0. Count default: total. ### File download Event name: `file_download`. A link to a file on this site was clicked. This is not confirmation that the download completed. The click listener checks the file extension against the configured download extensions. Properties: `file` (string, interest dimension), `href` (string), `key` (string), `path` (string). Supplied status: enabled. Default weight: 1. Count default: total. ### Scroll depth Event name: `scroll_depth`. The page reached a scroll threshold. The scroll listener sends each configured threshold once per page load. The seeded thresholds are 25, 50, 75 and 90 percent. Properties: `pct` (number), `path` (string). Supplied status: enabled. Default weight: 0. Count default: total. ### Site search Event name: `site_search`. A search query was present on arrival or a search form was submitted. The search listener reads the configured query parameters or the search input. The query is truncated to 100 characters. It can record the form submission and a later results page arrival separately. Properties: `query` (string, interest dimension), `path` (string). Supplied status: enabled. Default weight: 1. Count default: total. ### 404 hit Event name: `error_404`. A request received a 404 response. The site server observes the response. Preview renders are excluded. The ordinary analytics and visitor checks still decide whether it is stored. Properties: `path` (string), `ref` (string). Supplied status: enabled. Default weight: 0. Count default: total. ## Content and engagement ### CTA click Event name: `cta_click`. The main call to action in a matching native section was clicked. Section bindings cover Hero, Call to action, Live offer, Footer CTA and Banner. The matching control must be present and carry the section binding. Properties: `key` (string), `section` (string), `role` (string), `href` (string), `path` (string). Supplied status: enabled. Default weight: 1. Count default: total. ### Content click Event name: `content_click`. A content link in a matching native section was clicked. Section bindings cover Features, Logo cloud, Image & text, and Blog teaser. A generic click on any content elsewhere is not enough. Properties: `key` (string), `section` (string), `contentId` (string), `path` (string). Supplied status: enabled. Default weight: 1. Count default: total. ### Content dwell Event name: `content_dwell`. Time spent with an individual piece of content, as defined in the catalog. No built-in sender was found in the checked implementation. It starts disabled. Enabling the row does not add a sender. Properties: `key` (string), `section` (string), `seconds` (number), `path` (string). Supplied status: disabled. Default weight: 2. Count default: total. ### Page engagement Event name: `page_engagement`. Whole seconds while the document was visible, reported in increments. The page engagement timer reports new visible seconds at its regular reporting interval, when the document becomes hidden and when the page is left. It does not measure whether someone read or understood the page. Properties: `seconds` (number), `path` (string). Supplied status: enabled. Default weight: 0. Count default: total. ### FAQ expand Event name: `faq_expand`. A visitor opened a question in a native FAQ section. The section binding sends it when the matching details control opens. Properties: `key` (string), `section` (string), `index` (number), `path` (string). Supplied status: enabled. Default weight: 1. Count default: total. ### Pricing plan click Event name: `pricing_click`. A visitor clicked a plan link in a native pricing section. The section binding sends it for a matching plan control. This records a choice of link, not a purchase. Properties: `key` (string), `role` (string, interest dimension), `path` (string). Supplied status: enabled. Default weight: 2. Count default: total. ### Video start Event name: `video_start`. A video started playing, when a sender reports it. The catalog lists this event, but the checked capture script has no built-in video sender. A video section alone does not send it. Properties: `key` (string), `provider` (string), `title` (string), `path` (string). Supplied status: enabled. Default weight: 0.5. Count default: total. ### Video progress Event name: `video_progress`. A video reached a progress threshold, when a sender reports it. The catalog names progress at 10, 25, 50 and 75 percent. The checked capture script has no built-in video sender. Properties: `key` (string), `provider` (string), `pct` (number), `title` (string), `path` (string). Supplied status: enabled. Default weight: 1. Count default: total. ### Video complete Event name: `video_complete`. A video reached its end, when a sender reports it. The catalog lists this event, but the checked capture script has no built-in video sender. Properties: `key` (string), `provider` (string), `title` (string), `path` (string). Supplied status: enabled. Default weight: 2. Count default: total. ### Share Event name: `share`. A sharing action reported by your site. No built-in sender is attached. An event can be listed before anything on the site sends it. It collects nothing until something does. Properties: `method` (string), `key` (string), `contentId` (string), `path` (string). Supplied status: enabled. Default weight: 2. Count default: total. ### Picture opened full size Event name: `picture_open`. A visitor opened a section picture full size or stepped to another picture in its viewer. The picture viewer reports each picture it shows. The capture script sends the event through analytics consent and event budgets, with at most 20 picture events per page load. It records the section and picture position, not the picture’s address. Linked pictures keep their link; the Composer canvas does not open the viewer. Properties: `key` (string), `section` (string), `index` (number), `path` (string). Supplied status: enabled. Default weight: 0. Count default: total. ## Forms and accounts ### Form start Event name: `form_start`. A visitor first interacted with a form on this page load. The form listener watches focus entering a form. It sends the form identity and page path, without field values. Properties: `form_id` (string), `key` (string), `path` (string). Supplied status: enabled. Default weight: 1. Count default: total. ### Form submit Event name: `form_submit`. A form submission was reported. For native forms, the server sends it only after storing the submission. For other forms, the browser fallback sends it on submit and cannot establish that the remote destination accepted it. Neither sender includes the submitted field values in this event. Properties: `form_id` (string), `key` (string), `path` (string), `value` (number), `currency` (string). Supplied status: enabled. Default weight: 3. Count default: total. The catalog takes its monetary value from `value` and its currency from `currency`. ### Lead generated Event name: `generate_lead`. A submission that your site considers a qualified lead. Your site must decide when to send this event. A normal form submission does not automatically qualify as a lead. Properties: `lead_source` (string), `form_id` (string), `value` (number), `currency` (string). Supplied status: enabled. Default weight: 3. Count default: unique visitors. The catalog takes its monetary value from `value` and its currency from `currency`. ### Sign up Event name: `sign_up`. An account registration reported by your site. No native section is bound to this event in the checked catalog. Newsletter signup is a form submission, not this registration event. Properties: `method` (string), `path` (string). Supplied status: enabled. Default weight: 3. Count default: unique visitors. ### Login Event name: `login`. A login reported by your site. No built-in sender is attached to this catalog entry. Properties: `method` (string). Supplied status: enabled. Default weight: 0. Count default: unique visitors. ## Store ### Product view Event name: `product_view`. A visitor opened a store product page. The product page marks its product details. The capture script sends one product view per page load through the consent checks. Properties: `productId` (string), `category` (string, interest dimension), `line` (string, interest dimension), `price` (number), `path` (string). Supplied status: enabled. Default weight: 1. Count default: total. ### Add to cart Event name: `add_to_cart`. A product was added to the native store basket. The server sends it after the basket change succeeds. The checked sender supplies product, optional variation and quantity. The catalog also declares category, line and value properties, but this sender does not supply them. Basket value, if supplied, expresses intent and is separate from paid revenue. Properties: `productId` (string), `quantity` (number), `category` (string, interest dimension), `line` (string, interest dimension), `value` (number), `currency` (string). Supplied status: enabled. Default weight: 3. Count default: total. The catalog takes its monetary value from `value` and its currency from `currency`. ### Remove from cart Event name: `remove_from_cart`. Units were removed from the native store basket. The server sends it after a successful reduction or removal. The checked sender includes the product, an optional variation and the number removed. The catalog also lists value fields, but this sender does not supply them. Properties: `productId` (string), `quantity` (number), `value` (number), `currency` (string). Supplied status: enabled. Default weight: 0. Count default: total. ### View cart Event name: `view_cart`. A basket view reported by your site. No built-in sender is attached to this entry. It collects nothing until something sends it. Properties: `value` (number), `currency` (string). Supplied status: enabled. Default weight: 1. Count default: total. ### Begin checkout Event name: `begin_checkout`. The start of checkout, as defined in the catalog. The catalog names a server sender, but no implementation of that sender was found in the checked source. The browser helper is refused for this event name. Do not expect a checkout event from this row alone. Properties: `value` (number), `currency` (string). Supplied status: enabled. Default weight: 4. Count default: unique visitors. ### Purchase Event name: `purchase`. An order became paid. The native store records it through the paid order path, including card payments, free orders and an order marked paid by the merchant. Duplicate payment notifications do not create another purchase for the same order. Properties: `orderId` (string), `items` (array), `value` (number), `currency` (string). Supplied status: enabled. Default weight: 5. Count default: total; catalog property used to avoid counting duplicates: `orderId`. The catalog takes its monetary value from `value` and its currency from `currency`. ### Refund Event name: `refund`. A recorded refund reduces the revenue of its order. The payment webhook sends a refund through the store event path. If the payment provider later reports that the refund failed, a reversal corrects that return. The sender distinguishes individual refunds by refund identity. The catalog count default still names `orderId`; it does not express that per-refund distinction. Properties: `orderId` (string), `refundId` (string), `value` (number), `currency` (string). Supplied status: enabled. Default weight: 0. Count default: total; catalog property used to avoid counting duplicates: `orderId`. The catalog takes its monetary value from `value` and its currency from `currency`. ### Wishlist add Event name: `wishlist_add`. A product was saved to a wishlist by your site. No built-in sender is attached. Your site can send this name from its own wishlist action. Properties: `productId` (string), `category` (string, interest dimension), `line` (string, interest dimension). Supplied status: enabled. Default weight: 2. Count default: total. ## Tracked links and email ### Email link clicked Event name: `email_clicked`. A visitor arrived through an email channel tracked link. The server resolves a live tracked link from a consented landing page view. It records once per visitor, link and session. A redirect request without that landing is not this event. Properties: `link` (string), `campaign` (string, interest dimension), `channel` (string). Supplied status: enabled. Default weight: 0. Count default: total. ### SMS link clicked Event name: `sms_clicked`. A visitor arrived through an SMS channel tracked link. The server resolves a live tracked link from a consented landing page view. It records once per visitor, link and session. Properties: `link` (string), `campaign` (string, interest dimension), `channel` (string). Supplied status: enabled. Default weight: 0. Count default: total. ### Tracked link clicked Event name: `link_clicked`. A visitor arrived through another channel of tracked link, such as an ad or partner page. The same landing page path records it once per visitor, link and session. It is separate from email and SMS attribution. Properties: `link` (string), `campaign` (string, interest dimension), `channel` (string, interest dimension). Supplied status: enabled. Default weight: 0. Count default: total. ### Email opened Event name: `email_opened`. An email open reference was matched to a visitor arriving through the corresponding tracked email link. The server requires a matching open reference and a consented landing. A bare tracking pixel hit is not this visitor event. It records once per visitor, link and session. Properties: `link` (string), `campaign` (string, interest dimension), `openedDay` (string). Supplied status: enabled. Default weight: 0. Count default: total. ## Platform records ### Exposure (structural) A structural event records an experience decision rather than a separate action by the visitor. Event name: `exposure`. A visitor was shown a personalised or experimental variation. The platform records exposures. Your browser code cannot send this reserved event name. For experiments, the record follows the variation that rendered on the page. Properties: `slot` (string), `path` (string). Supplied status: enabled. Default weight: 0. Count default: total. ### Goal (structural) Event name: `goal`. An explicitly reported goal was reached. Your site can send this event with a goal key for an explicit goal definition. Goals based on matching other event types can be counted from those events without an additional goal event. Properties: `goal` (string, required), `value` (number), `currency` (string). Supplied status: enabled. Default weight: 0. Count default: total. The catalog takes its monetary value from `value` and its currency from `currency`. ### Tick (structural) Event name: `tick`. A name for a periodic platform check, rather than a visitor action. This is a reserved catalog entry. Your browser code cannot send it. The catalog does not establish how often that check is stored. Properties: None declared. Supplied status: enabled. Default weight: 0. Count default: total. ## Limits of the catalog The catalog includes names reserved for the platform. Listing a name does not give browser code permission to send it. `pageview`, `goal` and the fallback `form_submit` have explicit browser exceptions. Purchases, refunds, basket changes and server attribution events must come through their supported platform paths. An enabled row with no sender stays empty. Disabling a definition removes its compiled capture bindings. It does not block arbitrary calls to the browser helper or erase section intent attributes from existing page controls. ## Your next step Choose the event you need, then follow [Events & Capture](https://docs.amadalis.ai/insights/events-and-capture/) to review its definition and sender. Check that the intended action produces the expected record. Source: https://docs.amadalis.ai/reference/glossary/ # Glossary Checked against the product’s code on 7 November 2026. Look up a word you meet in the site admin, then follow its guide for the steps and current limits. Screen names use the product’s words; an **Also called** line lists other names used in the docs or controls. [3](https://docs.amadalis.ai/reference/glossary/#3) · [4](https://docs.amadalis.ai/reference/glossary/#4) · [A](https://docs.amadalis.ai/reference/glossary/#a) · [B](https://docs.amadalis.ai/reference/glossary/#b) · [C](https://docs.amadalis.ai/reference/glossary/#c) · [D](https://docs.amadalis.ai/reference/glossary/#d) · [E](https://docs.amadalis.ai/reference/glossary/#e) · [F](https://docs.amadalis.ai/reference/glossary/#f) · [G](https://docs.amadalis.ai/reference/glossary/#g) · [H](https://docs.amadalis.ai/reference/glossary/#h) · [I](https://docs.amadalis.ai/reference/glossary/#i) · [J](https://docs.amadalis.ai/reference/glossary/#j) · [K](https://docs.amadalis.ai/reference/glossary/#k) · [L](https://docs.amadalis.ai/reference/glossary/#l) · [M](https://docs.amadalis.ai/reference/glossary/#m) · [N](https://docs.amadalis.ai/reference/glossary/#n) · [O](https://docs.amadalis.ai/reference/glossary/#o) · [P](https://docs.amadalis.ai/reference/glossary/#p) · [Q](https://docs.amadalis.ai/reference/glossary/#q) · [R](https://docs.amadalis.ai/reference/glossary/#r) · [S](https://docs.amadalis.ai/reference/glossary/#s) · [T](https://docs.amadalis.ai/reference/glossary/#t) · [U](https://docs.amadalis.ai/reference/glossary/#u) · [V](https://docs.amadalis.ai/reference/glossary/#v) · [W](https://docs.amadalis.ai/reference/glossary/#w) · [Z](https://docs.amadalis.ai/reference/glossary/#z) ## 3 ### 301 Permanent A redirect status for a permanent move to another address. [Read the guide: Redirects and the 404 log](https://docs.amadalis.ai/site/redirects-and-404s/) ### 302 Temporary A redirect status for a temporary move to another address. [Read the guide: Redirects and the 404 log](https://docs.amadalis.ai/site/redirects-and-404s/) ## 4 ### 404 Errors The recorded requests for paths that were not found. A recorded hit can help you choose a redirect; it does not create one automatically. **Also called:** 404 log. [Read the guide: Redirects and the 404 log](https://docs.amadalis.ai/site/redirects-and-404s/) ### 410 A response saying content has gone. It does not redirect the visitor to another page. [Read the guide: Redirects and the 404 log](https://docs.amadalis.ai/site/redirects-and-404s/) ## A ### A/B test An experiment comparing a baseline with a changed version. Experiments can also offer more than two variations. [Read the guide: Experiments: test and compare page versions](https://docs.amadalis.ai/optimization/experiments/) ### Accent A theme colour role used for emphasis. It is distinct from the primary colour role. [Read the guide: Change site colours, fonts and themes](https://docs.amadalis.ai/composer/themes-and-tokens/) ### Accept all The opt-in banner’s action granting what the banner names. The banner names marketing only on a page that declares English and only on a site that shares. [Read the guide: Privacy and consent](https://docs.amadalis.ai/trust/privacy-and-consent/) ### Access The rules deciding who may read an entry or protected file. They are separate from permissions to edit the site. [Read the guide: Page access and element tracking](https://docs.amadalis.ai/composer/access-and-tracking/) ### Account The Praxis workspace listing your sites and account controls. It is separate from each site’s own admin session and from a visitor’s shopper account. [Read the guide: Your account: sites, custom domains and billing](https://docs.amadalis.ai/account/your-account-and-domains/) ### Account & billing The account controls for its subscription, invoices and supported billing settings. They are separate from the site’s customer checkout. [Read the guide: Your account: sites, custom domains and billing](https://docs.amadalis.ai/account/your-account-and-domains/) ### Account session The sign-in session used for the Praxis account. It is separate from the site session opened through Open admin. [Read the guide: Account Security controls](https://docs.amadalis.ai/account/security/) ### Activate The action making a configured definition active for its feature. A saved definition and an active one are different states. [Read the guide: Audiences and targeted content](https://docs.amadalis.ai/optimization/audiences-and-targeted-content/) ### Activity On a site, Activity is the copilot and direct-edit action record; in the account, Activity shows the separate Security log. An approved change goes ahead if its site Activity record fails to save, the failure is logged on the server, and its receipt keeps any Undo offered. [Read the guide: Read copilot Activity](https://docs.amadalis.ai/copilot/activity/) [Read the guide: Account Activity and the Security log](https://docs.amadalis.ai/account/activity/) ### Ad spend An amount supplied for campaign reporting. It does not mean the platform bought or verified advertising. [Read the guide: Campaigns and tracked links](https://docs.amadalis.ai/optimization/campaigns-and-tracked-links/) ### Address The location a link opens. A page’s visible title is separate from its address. **Also called:** URL. [Read the guide: SEO: search titles and descriptions](https://docs.amadalis.ai/site/seo/) ### Adjustment A supported analysis accounting for specified earlier information or comparison structure. It does not repair missing or invalid experiment data automatically. [Read the guide: Read experiment results and check variations](https://docs.amadalis.ai/optimization/experiment-results/) ### Admin A site role with administrative permissions. A platform staff Admin override has additional restrictions and is not identical to an ordinary customer Admin session. [Read the guide: Invite a designer or teammate and choose their role](https://docs.amadalis.ai/account/your-team/) ### Admin override A confirmed, reasoned entry by platform Admin staff without a customer grant. It has a one hour session lifetime and restrictions on creating continuing access. [Read the guide: Account Security controls](https://docs.amadalis.ai/account/security/) ### Advanced Additional controls for the selected section or element. Their scope and effect depend on the kind of content being edited. [Read the guide: The Composer: make page drafts, edit headlines and sections](https://docs.amadalis.ai/composer/composer/) ### Affinity A configured score for a visitor’s interest in a content attribute. Recorded actions contribute weights and older activity loses influence over time. [Read the guide: The affinity engine, explained](https://docs.amadalis.ai/optimization/affinity-engine/) ### Affinity audience An audience whose membership follows configured interest scores and joining and leaving thresholds. [Read the guide: Audiences and targeted content](https://docs.amadalis.ai/optimization/audiences-and-targeted-content/) ### Agency An account managing client relationships and their sites. Delegated access is distinct from owning the client’s personal login. [Read the guide: Manage client sites and agency access](https://docs.amadalis.ai/agencies/agency-guide/) ### AI allowance The account’s allowance for copilot usage, from its plan or a separate agreement with Amadalis. Without either, the Free plan’s allowance applies unless a separate AI billing arrangement or own provider keys apply. Reaching a monthly limit pauses new requests until reset; AI turned off by agreement stays off after that reset. [Read the guide: Monthly AI allowance](https://docs.amadalis.ai/account/your-account-and-domains/#monthly-ai-allowance) ### AI model The configured model used by the copilot. A model preference does not remove permission checks or approval requirements. [Read the guide: Site capabilities and preferences](https://docs.amadalis.ai/account/capabilities/) ### Alert A saved condition that watches a supported analytics measure. It can record a firing and attempt a notification when its condition matches. [Read the guide: Set and inspect an analytics alert](https://docs.amadalis.ai/insights/alerts/) ### Allowed network addresses The addresses permitted by the team session policy for sign-in and API token requests. The person saving the rule must keep their own address allowed. **Also called:** IP allowlist. [Read the guide: Account Security controls](https://docs.amadalis.ai/account/security/) ### Allowed sections The section choices recorded on a page type. They guide page creation and recommendations rather than describing every insertion choice everywhere in the Composer. [Read the guide: Catalogs and page types](https://docs.amadalis.ai/site/catalogs-and-page-types/) ### Alt text A picture description to fill in for a meaningful image; a visible caption does not replace it. A picture control that opens full size uses its supplied alt text as its name, or “Open the picture full size” when no description is supplied. **Also called:** Alternative text; Alt Text; Picture description (alt text). [Read the guide: Pages, posts and media](https://docs.amadalis.ai/content/pages-posts-and-media/) ### Analytics Recorded activity and calculated summaries for the site. Its figures depend on what was collected, the chosen scope and applicable consent. [Read the guide: Analytics: visits, visitor sources and finished forms](https://docs.amadalis.ai/insights/analytics/) ### API A supported interface through which software reads or changes data. Authentication, permissions and operation-specific checks still apply. [Read the guide: EmDash and what Praxis adds](https://docs.amadalis.ai/developers/platform/) ### API token A personal credential in EmDash’s API Tokens settings that can read published content and drafts within its scopes, the token owner’s current role and the team’s applicable [token checks](https://docs.amadalis.ai/account/site-access-and-settings/#personal-api-tokens). Hosted Praxis refuses writes made with that personal token, even when its listed permissions include writing. **Also called:** Personal API token; API Tokens. [Read the guide: Native site access settings](https://docs.amadalis.ai/account/site-access-and-settings/) ### Appearance The Composer controls for how a selected section or element looks, such as colour, spacing and type. The available controls depend on what is selected. [Read the guide: The Composer: make page drafts, edit headlines and sections](https://docs.amadalis.ai/composer/composer/) ### Apply changes The control that saves edits from the Composer’s section inspector. Saving a page draft does not itself publish it. [Read the guide: The Composer: make page drafts, edit headlines and sections](https://docs.amadalis.ai/composer/composer/) ### Approval card The review step before a consequential copilot change is applied. It describes the proposed action, its consequence and whether it offers Undo; approving one card does not approve future actions. [Read the guide: The copilot](https://docs.amadalis.ai/copilot/copilot/) ### Archive A control for taking an item out of its active list. Its effect depends on the screen: archiving a copilot conversation keeps it, while stopping an analytics alert removes that alert. [Read the guide: Conversations, context and files](https://docs.amadalis.ai/copilot/conversations-and-context/) [Read the guide: Set and inspect an analytics alert](https://docs.amadalis.ai/insights/alerts/) ### Archive export A stored export covering a recorded data range. It is different from archiving an item in an admin list. [Read the guide: Exports, schedules and retention](https://docs.amadalis.ai/privacy/exports/) ### Archive rewrite Replacing stored archive export files to remove an erased visitor’s records. It cannot recall files that someone already downloaded. [Read the guide: Visitor records, identity and decisions](https://docs.amadalis.ai/privacy/visitor-data/) ### Arm override An experiment choice requesting a particular variation within the visitor’s eligibility rules. It is different from changing the visitor’s audience membership. [Read the guide: Experiments: test and compare page versions](https://docs.amadalis.ai/optimization/experiments/) ### Arrangement An audience-specific order of page sections. It does not add new section content by itself. [Read the guide: Audiences and targeted content](https://docs.amadalis.ai/optimization/audiences-and-targeted-content/) ### Article with an On this page rail A page layout that places an article beside a navigation rail. Review it in Open preview because the Composer canvas keeps its normal editing layout. **Also called:** Article rail. [Read the guide: Layout styles](https://docs.amadalis.ai/composer/layout-styles/) ### Attribute A named characteristic of content or a visitor, used in saved rules or interest scores. [Read the guide: The affinity engine, explained](https://docs.amadalis.ai/optimization/affinity-engine/) ### Attribution The rules assigning a recorded outcome to an eligible experience or source. It does not by itself establish cause and effect. [Read the guide: Slots, performance and measurement](https://docs.amadalis.ai/optimization/slots-and-measurement/) ### Audience A named group of visitors used for measurement or targeted content. Its membership can come from recorded conditions, configured affinity scores or a saved query. [Read the guide: Audiences and targeted content](https://docs.amadalis.ai/optimization/audiences-and-targeted-content/) ### Audience member A visitor included under an audience’s recorded membership rules. It does not mean that visitor has a shopper membership or an editing-team role. [Read the guide: Audiences and targeted content](https://docs.amadalis.ai/optimization/audiences-and-targeted-content/) ### Author A role that can edit its own content. A byline credit does not grant this role. [Read the guide: Invite a designer or teammate and choose their role](https://docs.amadalis.ai/account/your-team/) ### Automatic capture The built-in browser collection of supported interactions. Turning on a class does not add every catalogue event or replace application code for unsupported events. [Read the guide: Events and capture settings](https://docs.amadalis.ai/insights/events-and-capture/) ### Average order value Revenue divided by the recorded paid orders behind it. With no recorded paid orders in the period, the average has no data rather than a zero value. [Read the guide: Analytics: visits, visitor sources and finished forms](https://docs.amadalis.ai/insights/analytics/) ## B ### Backup A saved copy used for recovery or export. An EmDash content backup and a full site database restore have different scope. [Read the guide: EmDash site settings](https://docs.amadalis.ai/content/site-settings/) ### Backups to keep The keep count for EmDash’s content backups. Creating a backup beyond the count automatically removes the oldest backup. [Read the guide: EmDash site settings](https://docs.amadalis.ai/content/site-settings/) ### Balanced The copilot model preference intended for writing and page building. [Read the guide: Site capabilities and preferences](https://docs.amadalis.ai/account/capabilities/) ### Band tone A supported section’s background treatment, such as a page surface or dark Stage band. The available choices and starting value depend on the section type. **Also called:** Tone. [Read the guide: Layout styles](https://docs.amadalis.ai/composer/layout-styles/) ### Banner A compact announcement or promotion section. [Read the guide: Conversion reference](https://docs.amadalis.ai/reference/sections/conversion/) ### Baseline An alert’s comparison with earlier windows of recorded activity. It differs from an experiment’s comparison variation. [Read the guide: Set and inspect an analytics alert](https://docs.amadalis.ai/insights/alerts/) ### Bayesian A supported analysis using a probability model for the effect. Its view does not give permission to ignore the locked plan. [Read the guide: Read experiment results and check variations](https://docs.amadalis.ai/optimization/experiment-results/) ### Beside the hero above A Place choice for a Facts list that can join it to the eligible Hero immediately before it. [Read the guide: Layout styles](https://docs.amadalis.ai/composer/layout-styles/) ### Binding In experiments, the connection between a page and its variation versions. A binding to a draft page does not make that page public or provide a published QA preview. **Also called:** Rendered bindings. [Read the guide: Experiments: test and compare page versions](https://docs.amadalis.ai/optimization/experiments/) ### Blog teaser A section showing hand-picked post cards. Live list is the separate choice for reading matching collection entries. [Read the guide: Content reference](https://docs.amadalis.ai/reference/sections/content/) ### Body template The saved pattern for the contents of a form notification email. [Read the guide: Forms and replies](https://docs.amadalis.ai/site/forms-and-replies/) ### Bot & agent access policy Site settings controlling the offered rules for bots and agents. Declaring a policy is different from every outside crawler obeying it. [Read the guide: Find sitemaps and machine readable site files](https://docs.amadalis.ai/developers/machine-readable-site/) ### Button A page link drawn as a button in supported sections or elements. Its visible words and destination are separate values. [Read the guide: Layout elements reference](https://docs.amadalis.ai/reference/sections/elements/) ### Byline The person or team credited on a content entry. That credit does not grant editing permission. [Read the guide: Bylines and author fields](https://docs.amadalis.ai/content/bylines/) ### Byline Schema EmDash’s settings for the fields stored on a byline. It is separate from assigning a byline credit to a page or post. [Read the guide: Bylines and author fields](https://docs.amadalis.ai/content/bylines/) ## C ### Cache A stored copy used to answer later requests. Public copies can take time to refresh after a change, even when the current browser shows the new result. [Read the guide: Head entries and Content Security Policy](https://docs.amadalis.ai/privacy/head-and-csp/) ### Calendar EmDash’s view of content and publication schedules by date. It offers month and agenda views. [Read the guide: Use the content calendar](https://docs.amadalis.ai/content/calendar/) ### Call to action An invitation for a visitor to take an action. The Call to action section provides a dedicated place for that invitation on the page. **Also called:** CTA. [Read the guide: Conversion reference](https://docs.amadalis.ai/reference/sections/conversion/) ### Campaign A named grouping for supported audiences, tracked links and experience drafts. Creating the group does not automatically make its experiences live. [Read the guide: Campaigns and tracked links](https://docs.amadalis.ai/optimization/campaigns-and-tracked-links/) ### Canonical URL The preferred public address declared for a page. It is not a redirect by itself. **Also called:** Canonical address. [Read the guide: SEO: search titles and descriptions](https://docs.amadalis.ai/site/seo/) ### Capability A site-level feature or preference offered in the account. Being visible in the list does not mean every account has it enabled. [Read the guide: Site capabilities and preferences](https://docs.amadalis.ai/account/capabilities/) ### Caption Visible supporting words displayed with a picture when the selected layout supports them. **Also called:** Picture caption. [Read the guide: Pages, posts and media](https://docs.amadalis.ai/content/pages-posts-and-media/) ### Capture Collecting supported events from a browser or other sender. It remains subject to consent, validation and the platform’s collection rules. [Read the guide: Events and capture settings](https://docs.amadalis.ai/insights/events-and-capture/) ### Capture health Information about received activity and collection problems. It cannot prove that an event never happened on a visitor’s device. [Read the guide: Events and capture settings](https://docs.amadalis.ai/insights/events-and-capture/) ### Cart The shopper’s selected items before checkout. It is not a paid order. [Read the guide: Set up your shop, add products and manage orders](https://docs.amadalis.ai/commerce/commerce/) ### Catalog A named list of definitions or items the product can look up. Page design, event definitions and the content catalog are different lists with different purposes. **Also called:** Catalogue; Catalogs. [Read the guide: Catalogs and page types](https://docs.amadalis.ai/site/catalogs-and-page-types/) ### Catalog axis A named content attribute used to describe or group items in the content catalog. [Read the guide: The content catalog](https://docs.amadalis.ai/optimization/content-catalog/) ### Category A taxonomy term used to group related entries. A collection can have its own category choices. [Read the guide: Taxonomies, categories and tags](https://docs.amadalis.ai/site/taxonomies/) ### Certificate The credential allowing an HTTPS connection for a hostname. A domain can be present in the account while its certificate is still waiting. [Read the guide: Your account: sites, custom domains and billing](https://docs.amadalis.ai/account/your-account-and-domains/) ### Chain verification Checking the recorded entries and links in the platform’s audit log, with four historical gaps from 19 August 2026 identified. These tamper-evident checks have [verification limits](https://docs.amadalis.ai/account/activity/#understand-verification); the account screen does not show a completed result. [Read the guide: Account Activity and the Security log](https://docs.amadalis.ai/account/activity/) ### Change history The saved versions of affinity settings and their recorded changes. Restoring a version whose action weight was blank can currently be refused as unchanged even when the live value is a written zero. [Read the guide: Configure affinity](https://docs.amadalis.ai/optimization/affinity-settings/) ### Channel A grouping of how visitors arrived, such as a supported campaign or source category. [Read the guide: Analytics: visits, visitor sources and finished forms](https://docs.amadalis.ai/insights/analytics/) ### Channel silent An email alert state indicating that its email connection is not available. The alert does not send email through a missing connection. [Read the guide: Set and inspect an analytics alert](https://docs.amadalis.ai/insights/alerts/) ### Checkout The flow for completing a supported purchase. Shopify product checkout stays with the linked Shopify store. [Read the guide: Set up your shop, add products and manage orders](https://docs.amadalis.ai/commerce/commerce/) ### Checksum A fingerprint computed from recorded data to help detect changes. Security log entries use SHA-256 fingerprints, each linked to the previous entry in the platform’s audit log. **Also called:** Digital fingerprint. [Read the guide: Account Activity and the Security log](https://docs.amadalis.ai/account/activity/) ### Claim The verification flow for an imported account’s owner to establish access. Approval activates the imported account and cannot be undone. **Also called:** Imported account claim; Claims. [Read the guide: Customer accounts, email and claims](https://docs.amadalis.ai/commerce/customer-identity/) ### Client A customer relationship managed in the agency’s Clients screen, with its sites, people and status. [Read the guide: Manage client sites and agency access](https://docs.amadalis.ai/agencies/agency-guide/) ### Client statement A statement under the agency’s brand using its own retail price book. It is separate from Amadalis’s wholesale bill to the agency. [Read the guide: Agency partner branding and client prices](https://docs.amadalis.ai/agencies/partner-program/) ### Collection A named kind of content with its own fields and entries, such as posts or a custom content list. Defining one does not create its records or a Collection index page. **Also called:** Content type. [Read the guide: Content types and relations](https://docs.amadalis.ai/content/content-types/) ### Collection index A page type that starts Hero, Live list, Rich text, FAQ and Call to action sections. New page uses the basic recipe, with posts as the list source, rather than automatically applying the named list preset. [Read the guide: List a collection on a page](https://docs.amadalis.ai/composer/collection-index/) ### Collection index with paging A designed Live list preset with a paged grid in the catalogue. Its headline, empty sentence and numeric settings need finishing after insertion on the serving version. [Read the guide: List a collection on a page](https://docs.amadalis.ai/composer/collection-index/) ### Colour role The intended use of a named theme colour, such as heading text or a surface background. Use the role rather than assuming one colour value belongs everywhere on the site. **Also called:** Color role. [Read the guide: Change site colours, fonts and themes](https://docs.amadalis.ai/composer/themes-and-tokens/) ### Column One vertical part of a Layout or Row, holding supported content. A narrow layout can stack columns rather than leaving them side by side. **Also called:** Columns. [Read the guide: The Composer: make page drafts, edit headlines and sections](https://docs.amadalis.ai/composer/composer/) ### Comment A response stored against content where comments are enabled. Its moderation state determines whether it is approved, pending or spam. [Read the guide: Remove and moderate comments](https://docs.amadalis.ai/content/comments/) ### Commerce The site area for products, orders, packages, membership and customer settings. It is separate from paying Amadalis for your hosted site. [Read the guide: Set up your shop, add products and manage orders](https://docs.amadalis.ai/commerce/commerce/) ### Compare ⇆ The migration workspace view for comparing the old source page with the native result. **Also called:** Comparison view. [Read the guide: Review a migration and record cutover](https://docs.amadalis.ai/migration/review-and-cutover/) ### Comparison table A section comparing supplied features across the offered columns. It does not verify claims about an organisation or product. [Read the guide: Commerce reference](https://docs.amadalis.ai/reference/sections/commerce/) ### Composer The page editing workspace for choosing, arranging and editing sections. It lets you review a draft before publishing it. [Read the guide: The Composer: make page drafts, edit headlines and sections](https://docs.amadalis.ai/composer/composer/) ### Conflict A refusal indicating that a proposed change no longer matches the state it was prepared from. Refresh and review the current state before preparing the change again. [Read the guide: The copilot’s governed tools](https://docs.amadalis.ai/developers/governed-tools/) ### Connection A configured link to an outside service, such as Google Analytics. Saving its credentials is separate from confirming that the service can be read. [Read the guide: Connect Google Analytics](https://docs.amadalis.ai/insights/connections/) ### Consent The visitor’s recorded choices for the purposes the site asks about. A choice, regional default and Global Privacy Control can affect what the site may do. [Read the guide: Privacy and consent](https://docs.amadalis.ai/trust/privacy-and-consent/) ### Consent banner The opt-in prompt asking a visitor for the optional choices it names. Accept all and Decline are actions on that prompt. [Read the guide: Privacy and consent](https://docs.amadalis.ai/trust/privacy-and-consent/) ### Consent policy The site’s rules for regional consent approaches and the default state of each optional purpose. [Read the guide: Privacy and consent](https://docs.amadalis.ai/trust/privacy-and-consent/) ### Consent regime The regional rules selecting opt in, opt out or essential only defaults for a purpose. [Read the guide: Privacy and consent](https://docs.amadalis.ai/trust/privacy-and-consent/) ### Content The admin area containing EmDash’s content-management screens. Collections, entries and editing permissions belong to this part of the site. [Read the guide: What you can do in Content](https://docs.amadalis.ai/content/) ### Content catalog The saved list of content items and descriptive tags available to supported targeting and recommendations. Rebuilding it is a separate operation from publishing a page. **Also called:** Content catalogue. [Read the guide: The content catalog](https://docs.amadalis.ai/optimization/content-catalog/) ### Content entry One saved item in a collection, such as a page, post or product. It is not the same as an entry in a section’s repeating field. [Read the guide: Content types and relations](https://docs.amadalis.ai/content/content-types/) ### Content Security Policy The site’s browser policy for which outside resources page code may use. Report only asks for reports without blocking, while Enforce can block resources that fail the policy. **Also called:** CSP. [Read the guide: Head entries and Content Security Policy](https://docs.amadalis.ai/privacy/head-and-csp/) ### Content Types EmDash’s screen for defining collections and their fields. It is different from the page-type catalogue used to start page drafts. [Read the guide: Content types and relations](https://docs.amadalis.ai/content/content-types/) ### Contributor A role with more limited content permissions than Author, Editor or Admin. [Read the guide: Invite a designer or teammate and choose their role](https://docs.amadalis.ai/account/your-team/) ### Control variation The reference version against which an experiment’s changed versions are compared. **Also called:** Baseline variation. [Read the guide: Experiments: test and compare page versions](https://docs.amadalis.ai/optimization/experiments/) ### Conversation The messages and results for a copilot discussion. Starting another conversation does not itself undo changes from the earlier one. [Read the guide: Conversations, context and files](https://docs.amadalis.ai/copilot/conversations-and-context/) ### Conversion window The allowed time for a recorded outcome to count after the qualifying activity. **Also called:** Convert within. [Read the guide: Analytics: visits, visitor sources and finished forms](https://docs.amadalis.ai/insights/analytics/) ### Cookie A value stored by a browser for a site. A refused visit can retain an existing identifier without gaining permission to create new keyed experience decisions. [Read the guide: Privacy and consent](https://docs.amadalis.ai/trust/privacy-and-consent/) ### Copilot The assistant you can ask to inspect the site and propose changes. The platform checks its requests and pauses consequential actions for your approval. [Read the guide: The copilot](https://docs.amadalis.ai/copilot/copilot/) ### Counting scope The configured boundary used to count visitors and join supported identity information. It is a measurement choice, not permission to ignore consent. [Read the guide: Counting people and linking browsers](https://docs.amadalis.ai/privacy/counting-and-identity/) ### Crop Selecting part of a picture to use as the image. Review whether the action makes a new copy or replaces the original. [Read the guide: Pages, posts and media](https://docs.amadalis.ai/content/pages-posts-and-media/) ### CSS class A name attached to page content so that a style or script can select it. It is different from visible page text. [Read the guide: Page access and element tracking](https://docs.amadalis.ai/composer/access-and-tracking/) ### CSV A spreadsheet-friendly text format used by supported downloads such as the Security log. [Read the guide: Account Security controls](https://docs.amadalis.ai/account/security/) ### Custom domain A hostname you supply for a site, rather than its platform address. DNS and certificate checks must complete before normal serving. [Read the guide: Your account: sites, custom domains and billing](https://docs.amadalis.ai/account/your-account-and-domains/) ### Custom field A named field added to a content collection, with a type deciding what it can store. The Custom field section can display a supported field’s recorded value. [Read the guide: Content types and relations](https://docs.amadalis.ai/content/content-types/) ### Customer identity The settings for public-site shopper registration, account presentation, email and imported account claims. They do not configure the editing team’s account. [Read the guide: Customer accounts, email and claims](https://docs.amadalis.ai/commerce/customer-identity/) ### Customer registration The setting allowing visitors to create shopper accounts. It does not grant a CMS editing role. [Read the guide: Customer accounts, email and claims](https://docs.amadalis.ai/commerce/customer-identity/) ### Cutover The reviewed change from the old public site to the imported result. It requires its own readiness and approval decisions. [Read the guide: Review a migration and record cutover](https://docs.amadalis.ai/migration/review-and-cutover/) ## D ### Dashboard EmDash’s summary screen for recent content, activity and available status information. It does not replace the detailed screen for an action. [Read the guide: Read the Dashboard](https://docs.amadalis.ai/content/dashboard/) ### Data held The record types stored about the selected visitor, including available consent information. [Read the guide: Visitor records, identity and decisions](https://docs.amadalis.ai/privacy/visitor-data/) ### Data region The recorded region for a site’s database. It does not promise that all caches, AI requests and other service components run only in that country. **Also called:** Where your data lives. [Read the guide: Trust and security: support access](https://docs.amadalis.ai/trust/security/) ### Dataset One named kind of exported records, such as events or decisions. [Read the guide: Exports, schedules and retention](https://docs.amadalis.ai/privacy/exports/) ### Deactivate The action taking a definition out of active use while retaining its saved configuration. [Read the guide: Audiences and targeted content](https://docs.amadalis.ai/optimization/audiences-and-targeted-content/) ### Decay The reduction in an interest score as recorded activity becomes older. **Also called:** How long interest lasts. [Read the guide: The affinity engine, explained](https://docs.amadalis.ai/optimization/affinity-engine/) ### Decision The saved explanation of an experience selected for a visitor. New decisions are keyed to a visitor only when personalization consent and an identity are present. **Also called:** Decision record. [Read the guide: Slots, performance and measurement](https://docs.amadalis.ai/optimization/slots-and-measurement/) ### Decline The consent action refusing the optional purposes in the visitor’s choice. It is unrelated to declining a copilot approval card. [Read the guide: Privacy and consent](https://docs.amadalis.ai/trust/privacy-and-consent/) ### Default The value or behaviour used when a setting does not supply its own choice. A field’s declared default, its basic starter value and its rendering fallback can be different. [Read the guide: Change site colours, fonts and themes](https://docs.amadalis.ai/composer/themes-and-tokens/) ### Delegated access Permission for the agency’s team to manage the client’s sites under the recorded relationship. It is separate from the client owning and using their own login. [Read the guide: Manage client sites and agency access](https://docs.amadalis.ai/agencies/agency-guide/) ### Delete An operation whose removal scope depends on the selected item and confirmation. A page can move to Trash, while deleting a Documents file is permanent. **Also called:** Remove. [Read the guide: The Composer: make page drafts, edit headlines and sections](https://docs.amadalis.ai/composer/composer/) ### Delete Permanently A removal that cannot be recovered through the normal Undo action. Deleting a Documents file is permanent; moving a page to Trash is different. [Read the guide: Documents and protected files](https://docs.amadalis.ai/commerce/documents/) ### Divider A horizontal line separating parts of a page. [Read the guide: Layout elements reference](https://docs.amadalis.ai/reference/sections/elements/) ### DNS The outside records that point a domain towards its service. A saved site setting does not change the domain’s DNS by itself. [Read the guide: Your account: sites, custom domains and billing](https://docs.amadalis.ai/account/your-account-and-domains/) ### Documents The site’s screen for downloadable files and their supported access settings. It is separate from EmDash’s image and media editing tasks. [Read the guide: Documents and protected files](https://docs.amadalis.ai/commerce/documents/) ### Domain A hostname used to reach a site. Adding it to the account is separate from proving control and making it serve the site. [Read the guide: Your account: sites, custom domains and billing](https://docs.amadalis.ai/account/your-account-and-domains/) ### Draft Saved page or post changes that are not yet public; a published entry can have a separate draft. Shared site settings have their own save or approval actions and can affect the public site without publishing a page. [Read the guide: The Composer: make page drafts, edit headlines and sections](https://docs.amadalis.ai/composer/composer/) ### Drop-off The recorded people or visits that did not reach the next funnel step under its rules. [Read the guide: Analytics: visits, visitor sources and finished forms](https://docs.amadalis.ai/insights/analytics/) ### Dropdown An input in which a visitor chooses an offered option. **Also called:** Select. [Read the guide: Forms and replies](https://docs.amadalis.ai/site/forms-and-replies/) ## E ### Editor A role that can edit other users’ content. By default it cannot read visitor records or manage every security and privacy setting. [Read the guide: Invite a designer or teammate and choose their role](https://docs.amadalis.ai/account/your-team/) ### Editorial A header style using the Interface font and a wider panel for grouped menu links. Standard remains the default header style. [Read the guide: Layout styles](https://docs.amadalis.ai/composer/layout-styles/) ### Element A smaller item placed inside a Layout, such as a heading, image or button. It has its own fields and appearance controls. [Read the guide: The Composer: make page drafts, edit headlines and sections](https://docs.amadalis.ai/composer/composer/) ### Eligibility The rules deciding which visitors can enter an experiment. Visitors outside those rules keep the normal experience and are not counted as participants. [Read the guide: Experiments: test and compare page versions](https://docs.amadalis.ai/optimization/experiments/) ### Email domain The part after the at sign in an email address, used by supported team signup or sign-in rules. It is separate from attaching a site’s public domain. [Read the guide: Native site access settings](https://docs.amadalis.ai/account/site-access-and-settings/) ### Email open A recorded load of an email’s tracking image. Mail software can load it without a person reading the message. [Read the guide: Campaigns and tracked links](https://docs.amadalis.ai/optimization/campaigns-and-tracked-links/) ### Email Settings EmDash’s native screen showing email provider status, opened through Email in Settings. Form notifications and Commerce customer email have their own delivery configuration. [Read the guide: EmDash site settings](https://docs.amadalis.ai/content/site-settings/) ### Embed An element for supported outside content, placed by an Admin. The copilot does not add it, and the site’s paywall does not protect the outside content. [Read the guide: Layout elements reference](https://docs.amadalis.ai/reference/sections/elements/) ### Embed / preserved HTML A section carrying supported source markup for review. An outside embed is not protected by the site’s membership paywall. **Also called:** Preserved HTML. [Read the guide: Advanced reference](https://docs.amadalis.ai/reference/sections/advanced/) ### EmDash The content management system underneath Praxis. Its own screens manage content, media, comments and other CMS settings. [Read the guide: EmDash and what Praxis adds](https://docs.amadalis.ai/developers/platform/) ### Emergency read only access A reasoned staff entry used without a customer grant. Its one hour permission ends the open visit on the next request at expiry. [Read the guide: Account Security controls](https://docs.amadalis.ai/account/security/) ### Enforce A CSP rollout choice that asks the browser to block resources the policy does not allow. [Read the guide: Head entries and Content Security Policy](https://docs.amadalis.ai/privacy/head-and-csp/) ### Engine The affinity settings screen for the site’s action weights, interest lifetime and audience boundaries. [Read the guide: Configure affinity](https://docs.amadalis.ai/optimization/affinity-settings/) ### Entitlement The recorded right for a shopper to access protected content or a purchase. A team editing role is a different permission. **Also called:** Access grant. [Read the guide: Packages and membership](https://docs.amadalis.ai/commerce/packages-and-membership/) ### Entries The settings group for repeating items in a section, such as cards, steps or links. It is not the list of records in a content collection. [Read the guide: The Composer: make page drafts, edit headlines and sections](https://docs.amadalis.ai/composer/composer/) ### Entry One item in a repeating section field, such as a feature card or FAQ answer. This differs from a content entry stored in an EmDash collection. [Read the guide: The Composer: make page drafts, edit headlines and sections](https://docs.amadalis.ai/composer/composer/) ### Envelope A saved set of limits for possible changes under exploration. Recording it does not start a cycle of automatic changes or publish a page. [Read the guide: Evidence, exploration and items needing review](https://docs.amadalis.ai/optimization/learning-and-exploration/) ### Erasure Permanent removal of the selected visitor data through an approval. Stored archive exports can retain that visitor until the archive rewrite; downloaded copies cannot be recalled. **Also called:** Erase permanently. [Read the guide: Visitor records, identity and decisions](https://docs.amadalis.ai/privacy/visitor-data/) ### Essential only The consent setting with analytics, personalization and marketing off by default. It does not cancel a visitor’s saved grant. [Read the guide: Privacy and consent](https://docs.amadalis.ai/trust/privacy-and-consent/) ### Event A named occurrence reported by a sender, with optional properties. A definition in the event catalog does not mean anything is sending it yet. [Read the guide: Events and capture settings](https://docs.amadalis.ai/insights/events-and-capture/) ### Event catalog The definitions of event names, properties and suggested settings. It is separate from the records of events received. **Also called:** Event catalogue. [Read the guide: Events and capture settings](https://docs.amadalis.ai/insights/events-and-capture/) ### Event key The stable name identifying an event to senders and stored records. Its readable label can be different. [Read the guide: Events and capture settings](https://docs.amadalis.ai/insights/events-and-capture/) ### Events & Capture The Insights screen for event definitions, capture settings and collection health. [Read the guide: Events and capture settings](https://docs.amadalis.ai/insights/events-and-capture/) ### Excerpt A short summary of a content entry. List and recommendation cards can omit it when the source entry has none. [Read the guide: List a collection on a page](https://docs.amadalis.ai/composer/collection-index/) ### Exclusion The Recommendations setting for leaving an item out of its cards. The Composer currently refuses to save changes to this choice. **Also called:** Never show. [Read the guide: Show related articles on a page](https://docs.amadalis.ai/optimization/recommendations/) ### Experiment A test comparing assigned variations under a saved measurement plan. Drafting it, locking its plan and activating it are separate steps. [Read the guide: Experiments: test and compare page versions](https://docs.amadalis.ai/optimization/experiments/) ### Experiment key The stable identifier recorded for an experiment. Its name can change, but the key is fixed after creation. [Read the guide: Experiments: test and compare page versions](https://docs.amadalis.ai/optimization/experiments/) ### Explicit goal post A sender’s direct report of a goal result, rather than a goal matched from another event. [Read the guide: Events and capture settings](https://docs.amadalis.ai/insights/events-and-capture/) ### Exploration The supported comparison of eligible choices under configured rules. A proposal or item awaiting review is not proof that the platform has applied an improvement. [Read the guide: Evidence, exploration and items needing review](https://docs.amadalis.ai/optimization/learning-and-exploration/) ### Explore The analytics workspace for asking supported questions and reading their results. Read the measure, time range and filters together. [Read the guide: Explore visitors, content and events](https://docs.amadalis.ai/insights/explore/) ### Export A copy of data prepared for download or use elsewhere. Site analytics exports, a visitor export and an EmDash content package have different contents and scope. [Read the guide: Exports, schedules and retention](https://docs.amadalis.ai/privacy/exports/) ### Export schedule A saved plan for automatic site-data exports when the feature is available to the account. Saving one does not prove every scheduled run succeeded. [Read the guide: Exports, schedules and retention](https://docs.amadalis.ai/privacy/exports/) ### Exposure A recorded showing of an experience under the feature’s measurement rules. Different screens can distinguish delivery from a later browser impression. **Also called:** Impression. [Read the guide: Slots, performance and measurement](https://docs.amadalis.ai/optimization/slots-and-measurement/) ### Eyebrow A short piece of text introducing a heading. It is part of the page’s words, not a content category or audience rule. **Also called:** Small label. [Read the guide: The Composer: make page drafts, edit headlines and sections](https://docs.amadalis.ai/composer/composer/) ## F ### Facts list A Stats layout showing supplied labels and values in ruled rows. It does not look up or verify the facts. [Read the guide: Layout styles](https://docs.amadalis.ai/composer/layout-styles/) ### Fallback The content or order used when a targeted change is not selected. Which fallback applies depends on the feature’s rules. [Read the guide: Audiences and targeted content](https://docs.amadalis.ai/optimization/audiences-and-targeted-content/) ### FAQ A section of authored questions and answers. It is separate from the support articles or the copilot conversation. **Also called:** Frequently asked questions. [Read the guide: Content reference](https://docs.amadalis.ai/reference/sections/content/) ### Fast The copilot model preference intended for quick answers and light edits. [Read the guide: Site capabilities and preferences](https://docs.amadalis.ai/account/capabilities/) ### Featured (sticky) posts Posts marked to stand out in a listing. Live list can lead with them, keep date order, omit them or show only them. **Also called:** Sticky posts. [Read the guide: List a collection on a page](https://docs.amadalis.ai/composer/collection-index/) ### Features A section for authored feature cards or an Index list. It does not fetch a content collection by itself. [Read the guide: Content reference](https://docs.amadalis.ai/reference/sections/content/) ### Field One named input or stored value. A form field gathers a visitor’s answer, while a content field stores information on a content entry. [Read the guide: Forms and replies](https://docs.amadalis.ai/site/forms-and-replies/) [Read the guide: Content types and relations](https://docs.amadalis.ai/content/content-types/) ### Filter A condition narrowing the records used by a question or list. It does not create data that was not collected. [Read the guide: Explore visitors, content and events](https://docs.amadalis.ai/insights/explore/) ### Firing A recorded match of an alert’s condition. It does not establish that its notification reached a mailbox. [Read the guide: Set and inspect an analytics alert](https://docs.amadalis.ai/insights/alerts/) ### Fixed horizon An analysis planned for a defined end and outcome window. Early results do not replace its final decision rules. [Read the guide: Read experiment results and check variations](https://docs.amadalis.ai/optimization/experiment-results/) ### Font family The typeface chosen for a text role. Available weights and styles depend on the actual font files. **Also called:** Face. [Read the guide: Layout styles](https://docs.amadalis.ai/composer/layout-styles/) ### Footer The shared area at the bottom of the site, with its navigation and brand details. [Read the guide: Change a menu in your header or footer](https://docs.amadalis.ai/site/menus/) ### Footer CTA A closing call-to-action section near the end of the page. It is separate from the site’s shared footer. [Read the guide: Conversion reference](https://docs.amadalis.ai/reference/sections/conversion/) ### Footer layout The shared choice between a row of footer links and the Columns arrangement. Footer note is used only with Columns. [Read the guide: Layout styles](https://docs.amadalis.ai/composer/layout-styles/) ### Footer note Words in the bar below a Columns footer. The note is omitted when empty and is not used by the row-of-links footer. [Read the guide: Layout styles](https://docs.amadalis.ai/composer/layout-styles/) ### Form A set of visitor input fields and a submission action. A native form can store replies that permitted team members inspect in the admin. [Read the guide: Forms and replies](https://docs.amadalis.ai/site/forms-and-replies/) ### Fragment The part of an address after the hash sign, used to jump to a matching HTML anchor on the page. [Read the guide: SEO: search titles and descriptions](https://docs.amadalis.ai/site/seo/) ### Front page The page selected to appear at the site’s main address. Changing that selection is a shared site change. **Also called:** Home page. [Read the guide: Set up a site from a template](https://docs.amadalis.ai/site/site-setup/) ### Frontier The copilot model preference intended for more complex pages and migration work. [Read the guide: Site capabilities and preferences](https://docs.amadalis.ai/account/capabilities/) ### Fulfilment The handling or delivery state of an order, such as marking it shipped. It does not itself collect a payment. **Also called:** Fulfillment. [Read the guide: Orders, fulfillment and refunds](https://docs.amadalis.ai/commerce/orders/) ### Full address The Security log’s mode for keeping the full recorded network address. It is separate from the allowed-address rule controlling who can sign in. [Read the guide: Account Security controls](https://docs.amadalis.ai/account/security/) ### Funnel A sequence or group of recorded steps used to inspect progress towards an outcome. Its order, counting scope and time window determine what qualifies. [Read the guide: Analytics: visits, visitor sources and finished forms](https://docs.amadalis.ai/insights/analytics/) ## G ### Gallery A section of supplied pictures with its supported layout and full-size viewer choices. [Read the guide: Media reference](https://docs.amadalis.ai/reference/sections/media/) ### General Settings EmDash’s site settings for values such as the title, time zone and public Site URL. They are separate from account billing and the account’s Security tab. **Also called:** General. [Read the guide: EmDash site settings](https://docs.amadalis.ai/content/site-settings/) ### Global Privacy Control A browser privacy signal treated by the server as refusal for the optional purposes that need a consent decision. A grant submitted under that signal is stored as a refusal. **Also called:** GPC. [Read the guide: Privacy and consent](https://docs.amadalis.ai/trust/privacy-and-consent/) ### Goal A named result you want to measure, matched from an event or an explicit goal signal. Its definition also states how the result is counted and, where supported, valued. [Read the guide: Define and test a goal](https://docs.amadalis.ai/insights/goals/) ### Google Analytics The outside analytics service that can be connected to supported reporting. Its service account and property are separate from the site’s native capture. **Also called:** GA4. [Read the guide: Connect Google Analytics](https://docs.amadalis.ai/insights/connections/) ### Grid track A row or column size in a grid layout. It is not an analytics event or a tracked campaign link. [Read the guide: Advanced layout controls on imported pages](https://docs.amadalis.ai/composer/native-layout-controls/) ### Group by A way to break an analytics result into separate values of a recorded field, such as channel. **Also called:** Split by. [Read the guide: Explore visitors, content and events](https://docs.amadalis.ai/insights/explore/) ### Guardrail metric An additional measure recorded in the experiment plan to watch alongside the main goal. It does not mean every harmful change will be detected or stopped automatically. [Read the guide: Experiments: test and compare page versions](https://docs.amadalis.ai/optimization/experiments/) ### Guest byline A credited author without a linked editing user account. [Read the guide: Bylines and author fields](https://docs.amadalis.ai/content/bylines/) ## H ### Head entries Approved additions to the public page’s head, each with its supported settings and consent purpose. They can affect visitors across the site. [Read the guide: Head entries and Content Security Policy](https://docs.amadalis.ai/privacy/head-and-csp/) ### Header The shared navigation area at the top of the site. [Read the guide: Change a menu in your header or footer](https://docs.amadalis.ai/site/menus/) ### Header button The header’s primary action and destination. Its visible words and its destination are separate settings. [Read the guide: Change a menu in your header or footer](https://docs.amadalis.ai/site/menus/) ### Header link An optional text-link action in the header. It is separate from the primary header button. [Read the guide: Change a menu in your header or footer](https://docs.amadalis.ai/site/menus/) ### Header style The shared choice of header treatment, including Standard and Editorial. It is separate from the menu links placed in the header. [Read the guide: Layout styles](https://docs.amadalis.ai/composer/layout-styles/) ### Heading A text element at a chosen heading level. Its level describes the document structure, not just its visible size. [Read the guide: Layout elements reference](https://docs.amadalis.ai/reference/sections/elements/) ### Heading level The structural rank of a heading, such as H1 or H2. It is different from the font size. [Read the guide: Layout elements reference](https://docs.amadalis.ai/reference/sections/elements/) ### Heading place The choice of whether a supported section’s heading sits above both columns or beside the picture over its words. [Read the guide: Layout styles](https://docs.amadalis.ai/composer/layout-styles/) ### Headline The main heading field on a section. It differs from the page title used to identify the page in the admin. [Read the guide: The Composer: make page drafts, edit headlines and sections](https://docs.amadalis.ai/composer/composer/) ### Hero An opening section for a main heading, supporting words and optional actions or media. [Read the guide: Header reference](https://docs.amadalis.ai/reference/sections/header/) ### History History in the [Composer](https://docs.amadalis.ai/content/revisions/#choose-a-saved-version) lists saved page versions. In Explore it pages through stored events; affinity Change history holds saved settings. [Read the guide: Explore visitors, content and events](https://docs.amadalis.ai/insights/explore/) ### Holdback Eligible visitors kept on the configured fallback content or original section order for comparison. Holdback is not a refusal of consent. **Also called:** Holdout comparison group. [Read the guide: Audiences and targeted content](https://docs.amadalis.ai/optimization/audiences-and-targeted-content/) ### Honesty report The migration report of coverage, exceptions and work still needed. It is a review aid, not a guarantee of complete visual or functional parity. [Read the guide: Review a migration and record cutover](https://docs.amadalis.ai/migration/review-and-cutover/) ### Honeypot A form field intended as a trap for automated spam rather than a visitor’s answer. It does not replace the other submission checks. [Read the guide: Forms and replies](https://docs.amadalis.ai/site/forms-and-replies/) ### Hover state A visual treatment used while a pointer is over an element. It does not create a separate content audience. [Read the guide: Advanced layout controls on imported pages](https://docs.amadalis.ai/composer/native-layout-controls/) ### How many per page The Live list control for the number of entries on each result page. [Read the guide: List a collection on a page](https://docs.amadalis.ai/composer/collection-index/) ### HTML anchor A stable identifier for a place on a page, used by links that jump to it. The identifier must match the link’s fragment. **Also called:** Anchor. [Read the guide: Add page JavaScript and handle cookie consent](https://docs.amadalis.ai/developers/page-scripts-and-events/) ## I ### Icon A named symbol drawn from the supported icon set. It is not a replacement for a business logo or a verified badge. [Read the guide: Layout elements reference](https://docs.amadalis.ai/reference/sections/elements/) ### Icon box An element placing an icon with a title and supporting words. [Read the guide: Layout elements reference](https://docs.amadalis.ai/reference/sections/elements/) ### Icon list An authored list with an icon beside each line. [Read the guide: Layout elements reference](https://docs.amadalis.ai/reference/sections/elements/) ### Identity The recorded links between a person and browser identities. Linking them does not make two physical people into the same verified person. [Read the guide: Visitor records, identity and decisions](https://docs.amadalis.ai/privacy/visitor-data/) ### Identity provider The outside sign-in service connected through the supported single sign-on settings. [Read the guide: Account Security controls](https://docs.amadalis.ai/account/security/) ### Idle timeout The permitted time without qualifying session activity before expiry. Inside site admin, idle expiry can be up to 30 seconds late. [Read the guide: Account Security controls](https://docs.amadalis.ai/account/security/) ### Image A picture placed through a supported section or element, with its own alternative text and display settings. [Read the guide: Layout elements reference](https://docs.amadalis.ai/reference/sections/elements/) ### Image & text A section placing a picture beside supporting text. [Read the guide: Content reference](https://docs.amadalis.ai/reference/sections/content/) ### Image box An element placing a picture with a title and supporting words. [Read the guide: Layout elements reference](https://docs.amadalis.ai/reference/sections/elements/) ### In a package An access choice requiring the relevant package entitlement for protected content. [Read the guide: Page access and element tracking](https://docs.amadalis.ai/composer/access-and-tracking/) ### Index list An authored list of groups and links in a Features section. It uses the section’s column choice and does not read a content collection. [Read the guide: Layout styles](https://docs.amadalis.ai/composer/layout-styles/) ### Inheritance Using a shared or parent design value when a more specific value has not been set. [Read the guide: Change site colours, fonts and themes](https://docs.amadalis.ai/composer/themes-and-tokens/) ### Insights The site-admin area for analytics, events and capture. It is separate from the controls that change a visitor’s page experience. [Read the guide: Analytics: visits, visitor sources and finished forms](https://docs.amadalis.ai/insights/analytics/) ### Intake questions Questions attached to a page type to help gather the information for a new page. They are not a visitor form on the published page. [Read the guide: Catalogs and page types](https://docs.amadalis.ai/site/catalogs-and-page-types/) ### Interest A configured attribute whose score can contribute to audience membership or ranking. **Also called:** Affinity signal. [Read the guide: The affinity engine, explained](https://docs.amadalis.ai/optimization/affinity-engine/) ### Interface The theme font role used for menus, buttons, labels and form controls. When unset, it falls back to the body font. [Read the guide: Layout styles](https://docs.amadalis.ai/composer/layout-styles/) ### Invitation An offered membership for a chosen person and role. Sending an invitation is separate from the person accepting it. [Read the guide: Invite a designer or teammate and choose their role](https://docs.amadalis.ai/account/your-team/) ### Invoice A billing record for an amount due or paid. It is not a shopper’s order on your public site. [Read the guide: Your account: sites, custom domains and billing](https://docs.amadalis.ai/account/your-account-and-domains/) ## J ### Join point The configured interest score at which a visitor joins an affinity audience. [Read the guide: The affinity engine, explained](https://docs.amadalis.ai/optimization/affinity-engine/) ### Journey The recorded visits and actions shown for the selected browser record. It is limited to activity the site actually collected. [Read the guide: Visitor records, identity and decisions](https://docs.amadalis.ai/privacy/visitor-data/) ### JSON A structured text format using named values. Export manifests and individual NDJSON records use this format. [Read the guide: Exports, schedules and retention](https://docs.amadalis.ai/privacy/exports/) ## K ### Key On a named object, Key identifies the saved item. In a provider or connection setting, a key is a credential and must stay private. [Read the guide: Event catalog](https://docs.amadalis.ai/reference/event-catalog/) ## L ### Label rule An optional short line before a Hero’s supplied label. None is the starting choice. [Read the guide: Layout styles](https://docs.amadalis.ai/composer/layout-styles/) ### Landed visitor A visitor recorded arriving on the site through the supported tracking flow. It is not simply the count of link clicks. [Read the guide: Campaigns and tracked links](https://docs.amadalis.ai/optimization/campaigns-and-tracked-links/) ### Layout A section containing columns that you fill with elements. The word also labels controls for arranging the selected page or section, so check what is selected. [Read the guide: The Composer: make page drafts, edit headlines and sections](https://docs.amadalis.ai/composer/composer/) ### Layout style A choice that changes how a page or section arranges and draws its content. The controls offered depend on the selected page or section type. [Read the guide: Layout styles](https://docs.amadalis.ai/composer/layout-styles/) ### Leave point The configured score below which a visitor leaves an affinity audience. A separate joining boundary helps avoid repeated joining and leaving around one value. [Read the guide: The affinity engine, explained](https://docs.amadalis.ai/optimization/affinity-engine/) ### Lede rule An optional line between a Hero’s heading and subheadline. None is the starting choice. [Read the guide: Layout styles](https://docs.amadalis.ai/composer/layout-styles/) ### Lift The reported difference between results for the chosen comparison groups. Read the measure, direction and uncertainty before treating it as evidence of an improvement. [Read the guide: Read experiment results and check variations](https://docs.amadalis.ai/optimization/experiment-results/) ### Linked user The editing user connected to a byline. The user’s role, rather than the byline credit, controls editing access. [Read the guide: Bylines and author fields](https://docs.amadalis.ai/content/bylines/) ### List An ordered or bulleted list of authored items. [Read the guide: Row content reference](https://docs.amadalis.ai/reference/sections/row-content/) ### Live The Explore mode for the current stream of received events. It is different from the publication state of a page. [Read the guide: Explore visitors, content and events](https://docs.amadalis.ai/insights/explore/) ### Live list A section that reads matching published entries from a selected collection and draws their recorded details. Clearing its collection choice falls back to posts. [Read the guide: List a collection on a page](https://docs.amadalis.ai/composer/collection-index/) ### Live offer An approved change that reveals a supported overlay on a page. You supply its words, trigger and intended expiry; it does not create a checkout or verify an offer’s claims. **Also called:** Time-boxed offer. [Read the guide: Live offers and page arrangement](https://docs.amadalis.ai/optimization/live-offers-and-arrangements/) ### llms.txt A public text guide helping software discover the site’s published material. It is not permission to read private content. [Read the guide: Find sitemaps and machine readable site files](https://docs.amadalis.ai/developers/machine-readable-site/) ### Logo cloud A section showing supplied organisation or partner logos. Showing a logo does not verify a partnership. [Read the guide: Social proof reference](https://docs.amadalis.ai/reference/sections/social-proof/) ## M ### Managed by The visible relationship showing that an agency manages the client. It is separate from the client’s own team memberships. [Read the guide: Manage client sites and agency access](https://docs.amadalis.ai/agencies/agency-guide/) ### Manifest The file listing an export’s parts and their recorded details. It helps identify which files belong to that export. [Read the guide: Exports, schedules and retention](https://docs.amadalis.ai/privacy/exports/) ### Manual work An item deliberately left for a person to resolve in migration review. Marking it does not complete the work. [Read the guide: Review a migration and record cutover](https://docs.amadalis.ai/migration/review-and-cutover/) ### Margin Space outside a section or element’s edge. [Read the guide: Change site colours, fonts and themes](https://docs.amadalis.ai/composer/themes-and-tokens/) ### Marketing / data sharing The optional consent purpose for supported marketing and data-sharing activity. Accept all grants it only when the banner names it, on a page that declares English and a site that shares. [Read the guide: Privacy and consent](https://docs.amadalis.ai/trust/privacy-and-consent/) ### Measure A saved definition of what to count or calculate from recorded activity. It differs from a goal, which defines an outcome you want to measure. **Also called:** Metric. [Read the guide: Explore visitors, content and events](https://docs.amadalis.ai/insights/explore/) ### Media Library EmDash’s library of uploaded pictures and other media. A library item can have details and usage information separate from a section that displays it. **Also called:** Media. [Read the guide: Pages, posts and media](https://docs.amadalis.ai/content/pages-posts-and-media/) ### Media usage tracking An EmDash view intended to list places using a media item. It can miss a saved draft use, so check the content before replacing or removing the file. **Also called:** Used in. [Read the guide: Pages, posts and media](https://docs.amadalis.ai/content/pages-posts-and-media/) ### Mega menu A larger navigation panel containing grouped links and optional introductory words. [Read the guide: Layout styles](https://docs.amadalis.ai/composer/layout-styles/) ### Member In a team context, a person with membership of the account or site team. On the public site, member access refers to a shopper or reader’s entitlement rather than a CMS editing role. [Read the guide: Invite a designer or teammate and choose their role](https://docs.amadalis.ai/account/your-team/) [Read the guide: Customer accounts, email and claims](https://docs.amadalis.ai/commerce/customer-identity/) ### Members only An access choice restricting supported content to eligible signed-in members. Outside embeds are not protected merely by placing them on a protected page. [Read the guide: Page access and element tracking](https://docs.amadalis.ai/composer/access-and-tracking/) ### Members-only boundary A section marking where the protected part of an eligible article starts or ends. It needs the article’s membership visibility setting to take effect. [Read the guide: Page access and element tracking](https://docs.amadalis.ai/composer/access-and-tracking/) ### Membership The offers and entitlements giving shoppers access through recurring payments or a one time purchase. It is separate from membership of the site’s editing team. [Read the guide: Packages and membership](https://docs.amadalis.ai/commerce/packages-and-membership/) ### Menu A saved list of navigation links. Editing it is separate from choosing where it is placed or publishing the change to the site. [Read the guide: Change a menu in your header or footer](https://docs.amadalis.ai/site/menus/) ### Meta description The summary supplied in a page’s metadata. A search engine can choose different words for its result. [Read the guide: SEO: search titles and descriptions](https://docs.amadalis.ai/site/seo/) ### Metric plan The saved rules for an experiment’s goals, counting and analysis. Locking the plan is permanent for that version. **Also called:** Measurement plan. [Read the guide: Experiments: test and compare page versions](https://docs.amadalis.ai/optimization/experiments/) ### Migration Moving supported WordPress content into editable native site content. Review what moved, what needs work and what remains unsupported before cutover. [Read the guide: Review a migration and record cutover](https://docs.amadalis.ai/migration/review-and-cutover/) ### Migration as a service A WordPress migration carried out with the migration team and reviewed with the site owner or agency. The agreed work and review remain separate from publishing or switching the public site. [Read the guide: Move a WordPress site with the migration service](https://docs.amadalis.ai/agencies/migration-as-a-service/) ### Migration job The recorded migration run and its progress, imported items and controls. A job belongs to its site workspace. [Read the guide: Roll back a migration and recover a job](https://docs.amadalis.ai/migration/workspace-and-recovery/) ### Minimum detectable effect The effect size used in an experiment’s planning calculation. It is not a promised improvement. **Also called:** Target effect. [Read the guide: Experiments: test and compare page versions](https://docs.amadalis.ai/optimization/experiments/) ### Moderation Reviewing comments and choosing their allowed state or removing them. It is separate from approving a copilot change. [Read the guide: Remove and moderate comments](https://docs.amadalis.ai/content/comments/) ### Mono The theme font role for code, figures and small labels that use a monospace face. Leaving it unset keeps the existing fallback. [Read the guide: Layout styles](https://docs.amadalis.ai/composer/layout-styles/) ## N ### Native mode The theme’s base mode, with no overrides applied to its starting values. Previewing another mode does not by itself activate a different theme on your site. [Read the guide: Change site colours, fonts and themes](https://docs.amadalis.ai/composer/themes-and-tokens/) ### Native site The imported result rendered from the site’s own editable content and components. It is separate from the old source page shown for comparison. [Read the guide: Review a migration and record cutover](https://docs.amadalis.ai/migration/review-and-cutover/) ### Navigation builder The editor for arranging a menu’s links and child links. [Read the guide: Change a menu in your header or footer](https://docs.amadalis.ai/site/menus/) ### NDJSON A text format with one JSON record per line, used for the site’s exported datasets. [Read the guide: Exports, schedules and retention](https://docs.amadalis.ai/privacy/exports/) ### Nested A taxonomy shape in which terms can have parent terms. Flat terms do not have that parent structure. **Also called:** Hierarchical. [Read the guide: Taxonomies, categories and tags](https://docs.amadalis.ai/site/taxonomies/) ### Network only The Security log’s address-recording mode that masks the full address. Changing the choice applies to later entries. [Read the guide: Account Security controls](https://docs.amadalis.ai/account/security/) ### New page The Composer control for starting a page draft with a title and a page type. The chosen type supplies the starting section recipe. [Read the guide: The Composer: make page drafts, edit headlines and sections](https://docs.amadalis.ai/composer/composer/) ### Newsletter signup A section collecting email input through a native form. It does not itself connect a mailing-list provider or authorise marketing to every submitter. [Read the guide: Conversion reference](https://docs.amadalis.ai/reference/sections/conversion/) ### No data A result without an available value under the selected measure’s rules. It differs from a measured zero. [Read the guide: Analytics: visits, visitor sources and finished forms](https://docs.amadalis.ai/insights/analytics/) ### Noindex A request that search engines leave a page out of their index. It is not a password or an access rule. **Also called:** Hide from search. [Read the guide: SEO: search titles and descriptions](https://docs.amadalis.ai/site/seo/) ### Not set An indication that no explicit value is supplied in the context you are viewing. A default may still apply; do not read this as a stored zero. **Also called:** Unset. [Read the guide: Shared section fields](https://docs.amadalis.ai/reference/sections/common-fields/) ### Notification A configured message sent after a supported event, such as a form reply. A queued or attempted notification is not proof of inbox delivery. [Read the guide: Forms and replies](https://docs.amadalis.ai/site/forms-and-replies/) ## O ### On this page Links to headings in the page’s article layout. On a narrow screen, the rail becomes a compact list above the article. [Read the guide: Layout styles](https://docs.amadalis.ai/composer/layout-styles/) ### Opacity How transparent a visual layer is. [Read the guide: Advanced layout controls on imported pages](https://docs.amadalis.ai/composer/native-layout-controls/) ### Open admin → The account control opening a permitted site’s admin through a short-lived handoff. It carries your site role and opens one session. **Also called:** Open admin. [Read the guide: Your account: sites, custom domains and billing](https://docs.amadalis.ai/account/your-account-and-domains/) ### Open full size on click A supported picture control that lets a visitor open it in a larger viewer. Opening a picture can send the Picture opened full size event through the normal consent checks. **Also called:** Picture viewer; Lightbox. [Read the guide: Layout styles](https://docs.amadalis.ai/composer/layout-styles/) ### Open preview The control for reviewing an unpublished page. A preview is not a publication or a promise that every outside service is working. **Also called:** Preview draft. [Read the guide: The Composer: make page drafts, edit headlines and sections](https://docs.amadalis.ai/composer/composer/) ### Opt-in A consent approach in which a purpose needing a choice remains off until it is granted. [Read the guide: Privacy and consent](https://docs.amadalis.ai/trust/privacy-and-consent/) ### Opt-out A consent approach in which a purpose can begin under the applicable default until the visitor refuses it. Global Privacy Control still overrides the relevant grants. [Read the guide: Privacy and consent](https://docs.amadalis.ai/trust/privacy-and-consent/) ### Optimization The area for experiments, audiences and changes to what visitors see. A definition or draft does not by itself activate a live change. [Read the guide: Audiences and targeted content](https://docs.amadalis.ai/optimization/audiences-and-targeted-content/) ### Order The record of a purchase and its payment and fulfilment state. Payment and shipping are separate facts. [Read the guide: Orders, fulfillment and refunds](https://docs.amadalis.ai/commerce/orders/) ### Orders In analytics, the count of distinct paid orders; a refund does not remove the order from that count. The Commerce Orders screen instead shows the individual order records. [Read the guide: Analytics: visits, visitor sources and finished forms](https://docs.amadalis.ai/insights/analytics/) ### Outcome A recorded result that matches the selected goal and its counting rules. It is not proof that the treatment caused that result. **Also called:** Conversion. [Read the guide: Define and test a goal](https://docs.amadalis.ai/insights/goals/) ### Override A value applied more specifically than a shared design value. Review its scope before expecting a theme edit to change the same part of the page. [Read the guide: Change site colours, fonts and themes](https://docs.amadalis.ai/composer/themes-and-tokens/) ### Owner The person holding an account’s ownership and its associated authority. This differs from a site’s Admin role or a byline naming someone as an author. [Read the guide: Invite a designer or teammate and choose their role](https://docs.amadalis.ai/account/your-team/) ## P ### Package A group of supported pages, posts, documents or media offered together. Taking it off sale does not delete its content or remove an existing buyer’s access. [Read the guide: Packages and membership](https://docs.amadalis.ai/commerce/packages-and-membership/) ### Padding Space inside a section or element’s edge. [Read the guide: Change site colours, fonts and themes](https://docs.amadalis.ai/composer/themes-and-tokens/) ### Page A content entry used for a site page. Its page type and sections can supply an editable starting arrangement. [Read the guide: Pages, posts and media](https://docs.amadalis.ai/content/pages-posts-and-media/) ### Page template A whole page arrangement added to a draft with its designed sections and settings. It adds sections rather than replacing the draft’s existing body. **Also called:** Page templates. [Read the guide: Catalogs and page types](https://docs.amadalis.ai/site/catalogs-and-page-types/) ### Page type A recipe for a kind of page or post, naming its starting sections, allowed choices and intake questions. Creating the page does not create a content collection or activate the type’s reserved default theme. [Read the guide: Catalogs and page types](https://docs.amadalis.ai/site/catalogs-and-page-types/) ### Pager address The name used to keep a Live list’s page links distinct from other lists on the same page. [Read the guide: List a collection on a page](https://docs.amadalis.ai/composer/collection-index/) ### Pageviews The measure counting recorded page-opening events. It does not establish that a person finished reading the page. **Also called:** Pages read. [Read the guide: Analytics: visits, visitor sources and finished forms](https://docs.amadalis.ai/insights/analytics/) ### Pageviews per visitor Page-opening events divided by the visitor identities that made them. With no qualifying visitors, it reports no data rather than a zero rate. [Read the guide: Analytics: visits, visitor sources and finished forms](https://docs.amadalis.ai/insights/analytics/) ### Paging Splitting list results across pages with links between them. Page links appear only when the results need more than one page. **Also called:** Pagination. [Read the guide: List a collection on a page](https://docs.amadalis.ai/composer/collection-index/) ### Panel intro Optional words at the top of a supported mega menu panel. They are separate from the short descriptions of individual links. [Read the guide: Layout styles](https://docs.amadalis.ai/composer/layout-styles/) ### Partner credits Credits held on the agency account and applied to the agency’s own bill. Their commercial terms are agreed with Amadalis. [Read the guide: Agency partner branding and client prices](https://docs.amadalis.ai/agencies/partner-program/) ### Partner pricing The agency programme’s agreed commercial terms for its sites. No price or discount is announced by this definition. **Also called:** Partner prices. [Read the guide: Agency partner branding and client prices](https://docs.amadalis.ai/agencies/partner-program/) ### Passkey A sign-in credential managed through a supported authenticator or device. It is distinct from an API token. [Read the guide: Native site access settings](https://docs.amadalis.ai/account/site-access-and-settings/) ### Path The part of a site address after its hostname, before any query or fragment. [Read the guide: SEO: search titles and descriptions](https://docs.amadalis.ai/site/seo/) ### Pattern An arrangement of sections added together. It differs from a page type, which provides the recipe used when creating a page. [Read the guide: Browse the sections library](https://docs.amadalis.ai/site/sections-library/) ### Payment notifications Requests from a payment provider reporting events such as completed payments and refunds. The connection’s notification state must be checked separately from its saved key. [Read the guide: Packages and membership](https://docs.amadalis.ai/commerce/packages-and-membership/) ### Paywall The access check for supported protected content or files. It cannot withhold an outside provider’s embed merely because the embed is on a protected page. [Read the guide: Page access and element tracking](https://docs.amadalis.ai/composer/access-and-tracking/) ### People A count based on the selected visitor and identity rules. It is not a verified count of individual human beings. [Read the guide: Analytics: visits, visitor sources and finished forms](https://docs.amadalis.ai/insights/analytics/) ### Period The time range selected for an analytics report. A goal’s conversion window is a separate counting rule. [Read the guide: Analytics: visits, visitor sources and finished forms](https://docs.amadalis.ai/insights/analytics/) ### Permission Authority to perform an operation under the person’s role and the platform’s checks. Approving a card does not give the person permissions they do not hold. [Read the guide: The copilot’s governed tools](https://docs.amadalis.ai/developers/governed-tools/) ### Person ID The identifier used for a person record that can link more than one browser record. [Read the guide: Visitor records, identity and decisions](https://docs.amadalis.ai/privacy/visitor-data/) ### Personalization Choosing eligible content for a visitor using the site’s audience and delivery rules. Refused personalization does not create new keyed experience decision records. **Also called:** Personalisation. [Read the guide: Audiences and targeted content](https://docs.amadalis.ai/optimization/audiences-and-targeted-content/) ### Personalization & A/B The consent purpose for supported personalization and experiment processing. It is separate from analytics and marketing or data-sharing consent. [Read the guide: Privacy and consent](https://docs.amadalis.ai/trust/privacy-and-consent/) ### Picture beside the words An optional picture placed beside a supported section’s main content. Without a picture, the section keeps its usual arrangement. [Read the guide: Layout styles](https://docs.amadalis.ai/composer/layout-styles/) ### Picture frame The treatment around a picture placed beside a section’s words. It is a visual choice, not a change to the original media file. [Read the guide: Layout styles](https://docs.amadalis.ai/composer/layout-styles/) ### Picture side The side chosen for a picture beside a section’s words. The narrow layout can stack the picture and text. [Read the guide: Layout styles](https://docs.amadalis.ai/composer/layout-styles/) ### Picture width The width choice for the picture placed beside a section’s words. It does not resize the source media file. [Read the guide: Layout styles](https://docs.amadalis.ai/composer/layout-styles/) ### Pin The Recommendations setting for preferring a particular item ahead of normal ranking. The Composer currently refuses to save changes to this choice. **Also called:** Always show first. [Read the guide: Show related articles on a page](https://docs.amadalis.ai/optimization/recommendations/) ### Placeholder Words or empty fields left for you to finish with real information. Review them before publishing; do not assume every unfinished field is blocked automatically. [Read the guide: The Composer: make page drafts, edit headlines and sections](https://docs.amadalis.ai/composer/composer/) ### Placement The site location assigned to a menu, such as the header or footer. [Read the guide: Change a menu in your header or footer](https://docs.amadalis.ai/site/menus/) ### Plan In account billing, a plan is the commercial arrangement for a hosted account or site. An experiment’s measurement plan instead records its goals, counting and analysis rules. **Also called:** Subscription. [Read the guide: Your account: sites, custom domains and billing](https://docs.amadalis.ai/account/your-account-and-domains/) [Read the guide: Experiments: test and compare page versions](https://docs.amadalis.ai/optimization/experiments/) ### Planner The experiment screen estimating sample needs and duration from the supplied assumptions and available history. An estimate does not guarantee a result. **Also called:** Power & duration planner. [Read the guide: Experiments: test and compare page versions](https://docs.amadalis.ai/optimization/experiments/) ### Plugin An extension registered with EmDash. Enabling and configuring it are different actions, with their own permissions and consequences. Hosted Praxis has no plugin installation or update source, and the copilot offers neither action. [Read the guide: Plugins and plugin settings](https://docs.amadalis.ai/content/plugins/) ### Plugin storage Data kept by a plugin. The uninstall option to delete that data has a different consequence from removing the plugin while keeping its stored data. [Read the guide: Plugins and plugin settings](https://docs.amadalis.ai/content/plugins/) ### Post A content entry typically used in the site’s post listing. Its title, body, publication and access are managed as content. [Read the guide: Pages, posts and media](https://docs.amadalis.ai/content/pages-posts-and-media/) ### Post type In the Composer’s New post dialog, the recipe supplying a post draft’s starting sections. In WordPress migration, a source post type instead names a kind of content to map into a collection. [Read the guide: Pages, posts and media](https://docs.amadalis.ai/content/pages-posts-and-media/) [Read the guide: Choose a migration source](https://docs.amadalis.ai/migration/sources/) ### Posts index The page or address used for the site’s post listing. It is distinct from the front page and from an individual post. [Read the guide: Set up a site from a template](https://docs.amadalis.ai/site/site-setup/) ### Power An experiment planning quantity describing the chance of detecting the specified effect under its assumptions. [Read the guide: Experiments: test and compare page versions](https://docs.amadalis.ai/optimization/experiments/) ### Praxis The site platform that combines EmDash’s content management with the Composer, copilot, analytics and experience controls. [Read the guide: EmDash and what Praxis adds](https://docs.amadalis.ai/developers/platform/) ### Praxis Migration Exporter The WordPress helper used to gather the supported source material for migration. It does not itself approve or publish the destination site. [Read the guide: Choose a migration source](https://docs.amadalis.ai/migration/sources/) ### Preset Designed starting settings for one section. Inserted words and numbers can need finishing, so a catalogue preview is not a promise of every value saved into a draft. **Also called:** Pre-filled section; starting version. [Read the guide: Browse the sections library](https://docs.amadalis.ai/site/sections-library/) ### Preview change The control for preparing and reviewing a proposed change before applying it. It is different from opening the page draft in a browser preview. [Read the guide: The copilot](https://docs.amadalis.ai/copilot/copilot/) ### Price The supplied amount and currency for a supported sale or offer. A price displayed in page copy is separate from the payment configuration used at checkout. [Read the guide: Set up your shop, add products and manage orders](https://docs.amadalis.ai/commerce/commerce/) ### Pricing A section presenting authored plan cards and their supplied details. Displaying the cards does not itself connect a payment service or create a purchase offer. [Read the guide: Commerce reference](https://docs.amadalis.ai/reference/sections/commerce/) ### Primary domain The selected main hostname for a site. Other configured hostnames can redirect to it under the supported domain controls. [Read the guide: Your account: sites, custom domains and billing](https://docs.amadalis.ai/account/your-account-and-domains/) ### Primary goal The main outcome chosen for an experiment’s measurement plan. [Read the guide: Experiments: test and compare page versions](https://docs.amadalis.ai/optimization/experiments/) ### Privacy choices The visitor control for reviewing and saving consent choices. The choices offered depend on the site’s consent configuration. [Read the guide: Privacy and consent](https://docs.amadalis.ai/trust/privacy-and-consent/) ### Privacy notice A message describing the purposes currently used and linking to Privacy choices. It is different from the opt-in prompt asking for consent. [Read the guide: Privacy and consent](https://docs.amadalis.ai/trust/privacy-and-consent/) ### Product A store item with its own details and offered sale settings. A product entry is not an order or proof of stock. [Read the guide: Set up your shop, add products and manage orders](https://docs.amadalis.ai/commerce/commerce/) ### Promote The approved action that applies an eligible experiment winner into page drafts. Review and publish the resulting drafts separately. [Read the guide: Experiments: test and compare page versions](https://docs.amadalis.ai/optimization/experiments/) ### Prompt The opening instruction in a dropdown, such as Choose one. It is not saved as the visitor’s answer. [Read the guide: Forms and replies](https://docs.amadalis.ai/site/forms-and-replies/) ### Property A named value attached to an event, such as an address path or content identifier. [Read the guide: Events and capture settings](https://docs.amadalis.ai/insights/events-and-capture/) ### Protected file A stored file served through its access check rather than as a freely available public file. Its protection is separate from a page merely containing an outside link. **Also called:** Members-only file. [Read the guide: Documents and protected files](https://docs.amadalis.ai/commerce/documents/) ### Provenance The recorded origin or reason for an item or result. Read it alongside the underlying data rather than as a guarantee that a claim is verified. [Read the guide: Evidence, exploration and items needing review](https://docs.amadalis.ai/optimization/learning-and-exploration/) [Read the guide: Experiments: test and compare page versions](https://docs.amadalis.ai/optimization/experiments/) ### Provider key A credential supplied for a supported AI provider. Enter it only through the dedicated key control. [Read the guide: Site capabilities and preferences](https://docs.amadalis.ai/account/capabilities/) ### Public An access choice allowing the published content to be read without the selected member or package entitlement. [Read the guide: Page access and element tracking](https://docs.amadalis.ai/composer/access-and-tracking/) ### Publish The action that makes an entry’s draft public. Your own Publish click in EmDash’s editor acts at once; copilot publishing always needs an approval card. [Read the guide: The Composer: make page drafts, edit headlines and sections](https://docs.amadalis.ai/composer/composer/) ### Published Content available on the public site, subject to its access rules. A published entry can still have unpublished changes waiting in a draft. [Read the guide: The Composer: make page drafts, edit headlines and sections](https://docs.amadalis.ai/composer/composer/) ### Published · changes pending An entry with a live version and a separate draft containing changes. Publishing replaces the live version with the reviewed changes. [Read the guide: The Composer: make page drafts, edit headlines and sections](https://docs.amadalis.ai/composer/composer/) ## Q ### QA preview A way to request a particular experiment variation for checking. The serving product’s forced-preview walk did not show the requested variation, so inspect the result rather than assuming it worked. **Also called:** Open forced preview. [Read the guide: Read experiment results and check variations](https://docs.amadalis.ai/optimization/experiment-results/) ### Query A supported request for records and calculations, such as the conditions behind an analytics question. It can use only the data and operations the feature allows. [Read the guide: Explore visitors, content and events](https://docs.amadalis.ai/insights/explore/) ### Query audience An audience whose membership is supplied by a saved query. Saving that membership definition does not itself change a page. [Read the guide: Audiences and targeted content](https://docs.amadalis.ai/optimization/audiences-and-targeted-content/) ### Query parameter A named value after the question mark in an address. Campaign and tracking links can use these values to identify an arrival. [Read the guide: Analytics: visits, visitor sources and finished forms](https://docs.amadalis.ai/insights/analytics/) ## R ### Radius The rounding applied to corners. A section or element can have a more specific corner choice than the shared theme. **Also called:** Corner style. [Read the guide: Change site colours, fonts and themes](https://docs.amadalis.ai/composer/themes-and-tokens/) ### Rating figure A supplied rating shown with its star treatment. It does not calculate or verify reviews. [Read the guide: Row content reference](https://docs.amadalis.ai/reference/sections/row-content/) ### Readiness A report of recorded checks for a site or setup. Review its reasons; a good result does not verify every claim or outside service. [Read the guide: Check site readiness](https://docs.amadalis.ai/site/readiness/) ### Receipt The result shown after an action, describing what happened and any next step. It offers Undo only when that particular change can be reversed. [Read the guide: The copilot](https://docs.amadalis.ai/copilot/copilot/) ### Recommendations A section showing eligible content cards using its recorded ranking and fallback settings. The Composer currently refuses changes to its card parts, pins and exclusions. [Read the guide: Show related articles on a page](https://docs.amadalis.ai/optimization/recommendations/) ### Record One stored item of data, such as a content entry, received event or visitor detail. Its fields and access depend on the kind of record. [Read the guide: Visitor records, identity and decisions](https://docs.amadalis.ai/privacy/visitor-data/) ### Recovery The supported flow for restoring account access, such as a password recovery link. It does not restore deleted site content. [Read the guide: Sign in, invitations and recovery](https://docs.amadalis.ai/account/sign-in-and-recovery/) ### Redirect An instruction sending a request for one path to another destination. Its status tells the visitor’s software whether the move is temporary or permanent. [Read the guide: Redirects and the 404 log](https://docs.amadalis.ai/site/redirects-and-404s/) ### Redo The Composer action for reapplying a supported draft edit after undoing it. [Read the guide: The Composer: make page drafts, edit headlines and sections](https://docs.amadalis.ai/composer/composer/) ### Referrer The address information a browser supplies about the page that led to a visit. It can be missing or restricted. [Read the guide: Analytics: visits, visitor sources and finished forms](https://docs.amadalis.ai/insights/analytics/) ### Refund A recorded return of payment through the supported payment flow. It is different from cancelling an unpaid order or removing a product from sale. [Read the guide: Orders, fulfillment and refunds](https://docs.amadalis.ai/commerce/orders/) ### Regime A screen-width range used by responsive layout settings. It is unrelated to a consent regime. **Also called:** Breakpoint. [Read the guide: Advanced layout controls on imported pages](https://docs.amadalis.ai/composer/native-layout-controls/) ### Relation A field connecting a content entry to entries in another collection. It stores a relationship rather than copying the other entry’s words. [Read the guide: Content types and relations](https://docs.amadalis.ai/content/content-types/) ### Report A view of a recorded analytics question or summary. Saving it does not change what the site collected in the past. [Read the guide: Analytics: visits, visitor sources and finished forms](https://docs.amadalis.ai/insights/analytics/) ### Report only A CSP rollout choice asking the browser to report policy violations without blocking the resource. [Read the guide: Head entries and Content Security Policy](https://docs.amadalis.ai/privacy/head-and-csp/) ### Required A field that needs a value before its operation is accepted. Existing-item editing and new-item creation can have different requirements. [Read the guide: Forms and replies](https://docs.amadalis.ai/site/forms-and-replies/) ### Reset workspace Choosing Reset workspace then confirming removes every migration job in this workspace, its records and automatic migration redirects, and moves its drafts to recoverable Trash. Published content and imported themes stay; this is not a whole-site restore and has no automatic Undo. [Read the guide: Roll back a migration and recover a job](https://docs.amadalis.ai/migration/workspace-and-recovery/) ### Responsive layout Layout choices that change with screen width. Check the desktop and phone previews because the same content can stack differently. [Read the guide: Advanced layout controls on imported pages](https://docs.amadalis.ai/composer/native-layout-controls/) ### Restore An operation putting a saved state back, with the scope stated by its screen. Restoring a content revision differs from a staff operation replacing the whole site database. [Read the guide: Pages, posts and media](https://docs.amadalis.ai/content/pages-posts-and-media/) ### Results explorer The experiment view for reading results and supported analysis choices. The locked plan, not the most flattering display, governs the decision. [Read the guide: Read experiment results and check variations](https://docs.amadalis.ai/optimization/experiment-results/) ### Retail price book The agency’s own prices used for its branded client statements. The agency chooses what it charges its clients. [Read the guide: Agency partner branding and client prices](https://docs.amadalis.ai/agencies/partner-program/) ### Retention The period chosen for keeping visitor events. Events are unlimited until a period is set, after which older events are deleted on the regular scheduled run only after an archive export has covered them. [Read the guide: Exports, schedules and retention](https://docs.amadalis.ai/privacy/exports/) ### Returning A visitor identified as having previous recorded activity. Missing or refused measurement can limit that history. [Read the guide: Analytics: visits, visitor sources and finished forms](https://docs.amadalis.ai/insights/analytics/) ### Reusable section A composition saved in EmDash’s Sections library for later insertion. It is different from a section type in the design catalogue. **Also called:** Saved section. [Read the guide: Catalogs and page types](https://docs.amadalis.ai/site/catalogs-and-page-types/) ### Revenue Recorded purchase value less recorded refunds, kept in the original currency without combining different currencies. A refund counts in the period when it was returned. [Read the guide: Analytics: visits, visitor sources and finished forms](https://docs.amadalis.ai/insights/analytics/) ### Revision A saved version of content that can be inspected or restored where the editor offers it. [Read the guide: Pages, posts and media](https://docs.amadalis.ai/content/pages-posts-and-media/) ### Rich text Formatted text with supported paragraphs, headings, links and inline emphasis. A Rich text section and Rich text element are different placements of formatted content. [Read the guide: Content reference](https://docs.amadalis.ai/reference/sections/content/) ### Robots meta A page’s instructions about search indexing and link following. They are separate from the site’s robots.txt file. [Read the guide: SEO: search titles and descriptions](https://docs.amadalis.ai/site/seo/) ### robots.txt The public file declaring bot access instructions. It does not enforce a content paywall. [Read the guide: Find sitemaps and machine readable site files](https://docs.amadalis.ai/developers/machine-readable-site/) ### Role The permission level assigned to a team member. A role controls what the person may do, not just which navigation items they see. [Read the guide: Invite a designer or teammate and choose their role](https://docs.amadalis.ai/account/your-team/) ### Roll back native drafts The supported migration reversal for generated native draft work. It is different from restoring the whole site database from a backup. **Undo conversion** is a separate action on one imported item, restoring its pre-conversion content. [Read the guide: Roll back a migration and recover a job](https://docs.amadalis.ai/migration/workspace-and-recovery/) ### Rollup A stored summary of recorded data, such as totals grouped by day. It is not the same as the individual events behind it. [Read the guide: Exports, schedules and retention](https://docs.amadalis.ai/privacy/exports/) ### Routable The content-type choice requiring a slug before an entry can be published. The URL Pattern separately defines how its public address is formed. [Read the guide: Content types and relations](https://docs.amadalis.ai/content/content-types/) ### Row (columns) A structural row of columns holding supported content. Imported pages can use it to keep their original structure. **Also called:** Row. [Read the guide: The Composer: make page drafts, edit headlines and sections](https://docs.amadalis.ai/composer/composer/) ### Rule audience An audience defined by conditions on recorded information. Saving its definition does not itself change a page. [Read the guide: Audiences and targeted content](https://docs.amadalis.ai/optimization/audiences-and-targeted-content/) ## S ### Sample size The number of participants used by an experiment’s planning calculation. It is different from the site’s raw page-view or event count. [Read the guide: Experiments: test and compare page versions](https://docs.amadalis.ai/optimization/experiments/) ### Sample-ratio mismatch A warning that observed experiment allocation differs from the expected split under its check. Investigate it before treating the comparison as a reliable winner. [Read the guide: Read experiment results and check variations](https://docs.amadalis.ai/optimization/experiment-results/) ### Save Store the changes for the selected item. A page draft save is separate from publishing, while some shared settings can affect the live site through their own reviewed save. [Read the guide: The Composer: make page drafts, edit headlines and sections](https://docs.amadalis.ai/composer/composer/) ### Save choices The consent action saving the purpose choices selected in the visitor controls. [Read the guide: Privacy and consent](https://docs.amadalis.ai/trust/privacy-and-consent/) ### Say how many were found The Live list control for showing the total result count, the range on the current page, both, or neither. [Read the guide: List a collection on a page](https://docs.amadalis.ai/composer/collection-index/) ### Schedule A saved future publication time for content. Review the entry’s schedule and site time zone rather than assuming the current draft is already public. [Read the guide: Use the content calendar](https://docs.amadalis.ai/content/calendar/) ### SCIM provisioning Automatic creation or disabling of team memberships through the configured provisioning connection. New memberships receive Viewer; existing memberships keep their current roles. **Also called:** SCIM. [Read the guide: Account Security controls](https://docs.amadalis.ai/account/security/) ### Scope The site, objects or data an operation is allowed to affect. Review the proposed scope before approving a consequential action. [Read the guide: The copilot’s governed tools](https://docs.amadalis.ai/developers/governed-tools/) ### Script Code attached through a supported page or binding control. Publishing it can change what the public page does. [Read the guide: Add page JavaScript and handle cookie consent](https://docs.amadalis.ai/developers/page-scripts-and-events/) ### Script & event binding A section for page JavaScript and supported interaction listeners, with an optional capture event. It is different from an HTML anchor or CSS class. [Read the guide: Add page JavaScript and handle cookie consent](https://docs.amadalis.ai/developers/page-scripts-and-events/) ### Section A part of a page of a defined kind, such as Hero or FAQ. Its type supplies the editable fields and determines how it is drawn. [Read the guide: The Composer: make page drafts, edit headlines and sections](https://docs.amadalis.ai/composer/composer/) ### Section label An optional short label displayed in a supported section’s separate label area. [Read the guide: Layout styles](https://docs.amadalis.ai/composer/layout-styles/) ### Section number An optional number displayed beside a supported section’s words. Leaving it empty omits the number. [Read the guide: Layout styles](https://docs.amadalis.ai/composer/layout-styles/) ### Section type The definition behind a kind of section, including its fields and choices. A type appearing in the catalogue does not mean it can be inserted on its own in every place. [Read the guide: The Composer: make page drafts, edit headlines and sections](https://docs.amadalis.ai/composer/composer/) ### Security In the Praxis account, Security holds team session rules, support access and identity-provider controls. In EmDash’s Settings, Security opens the site’s native authentication and passkey controls. [Read the guide: Account Security controls](https://docs.amadalis.ai/account/security/) [Read the guide: Native site access settings](https://docs.amadalis.ai/account/site-access-and-settings/) ### Security log The account record of security and account actions, readable by account owners and Admins. Support entries into any site in the account appear in your **Security log** and its CSV export. Reading across sites requires an active owner or Admin membership on an active or suspended site in that account. Entries for a fully erased site no longer appear. Without that active membership, the log and export show only the site your account was opened with. That limit applies throughout the account’s closing period when all its sites are being closed or have closed. [Read the guide: Account Security controls](https://docs.amadalis.ai/account/security/) ### Security Settings EmDash’s site-level settings for access and supported sign-in controls. They are separate from the Praxis account’s Security tab. [Read the guide: Native site access settings](https://docs.amadalis.ai/account/site-access-and-settings/) ### Self-Signup Domains The team signup rules for an allowed email domain. A new signup receives the chosen role up to Editor; to give someone Admin access, invite them from Team in your Amadalis account. **Also called:** Allowed Domains; Member signup. [Read the guide: Invite a designer or teammate and choose their role](https://docs.amadalis.ai/account/your-team/) ### SEO The page and site settings describing content to search engines and controlling indexing requests. They do not guarantee a search position. **Also called:** Search engine optimisation. [Read the guide: SEO: search titles and descriptions](https://docs.amadalis.ai/site/seo/) ### SEO title The title supplied for a page’s search metadata. It can differ from the visible page heading. **Also called:** Search title. [Read the guide: SEO: search titles and descriptions](https://docs.amadalis.ai/site/seo/) ### Sequential An analysis designed for its specified repeated-look rules. It does not make every early comparison a valid stopping decision. [Read the guide: Read experiment results and check variations](https://docs.amadalis.ai/optimization/experiment-results/) ### Service account key A credential used by the Google Analytics connection. Enter it in the dedicated control, not in a copilot message. [Read the guide: Connect Google Analytics](https://docs.amadalis.ai/insights/connections/) ### Session lifetime The permitted total lifetime of a sign-in session under its policy. It differs from the idle timeout for inactivity. [Read the guide: Account Security controls](https://docs.amadalis.ai/account/security/) ### Settings In the Composer, the inspector group for a section’s words, entries and layout fields. Shared site settings and your account’s settings are separate screens. [Read the guide: The Composer: make page drafts, edit headlines and sections](https://docs.amadalis.ai/composer/composer/) ### SHA-256 The hash algorithm used to link each Security log entry to the previous entry in the platform’s audit log. [Read the guide: Account Activity and the Security log](https://docs.amadalis.ai/account/activity/) ### Shadow A visual shadow used to give a surface depth. It does not change the content’s order or permissions. **Also called:** Depth style. [Read the guide: Change site colours, fonts and themes](https://docs.amadalis.ai/composer/themes-and-tokens/) ### Shopify product A section presenting a selected product from a linked Shopify store. Checkout stays on that Shopify store rather than becoming a native site checkout. [Read the guide: Set up your shop, add products and manage orders](https://docs.amadalis.ai/commerce/commerce/) ### Shopper A person’s account for the public site and its purchases or access. It is separate from a Praxis team login. **Also called:** Customer account. [Read the guide: Customer accounts, email and claims](https://docs.amadalis.ai/commerce/customer-identity/) ### Show The Live list field selecting the content collection to read. It uses the first saved collection; its suggestion menu currently does not reliably offer the right choices. [Read the guide: List a collection on a page](https://docs.amadalis.ai/composer/collection-index/) ### Single sign-on (SSO) Sign-in through a configured identity provider for a verified email domain. Configuring it does not bypass site roles or the team session policy. **Also called:** SSO; OpenID Connect. [Read the guide: Account Security controls](https://docs.amadalis.ai/account/security/) ### Site A website with its own content, settings and admin. Site is also the admin area for pages, navigation, forms, search settings and setup. [Read the guide: What you can do in Site](https://docs.amadalis.ai/site/) ### Site admin The workspace where your team edits and manages one site. It is separate from the account that lists your sites and handles billing. [Read the guide: EmDash and what Praxis adds](https://docs.amadalis.ai/developers/platform/) ### Site restore A staff operation replacing the whole site database with a selected backup. It can replace work saved since that backup. **Also called:** Database restore. [Read the guide: How Amadalis runs hosted sites](https://docs.amadalis.ai/trust/operations/) ### Site session The sign-in session kept by a site’s admin after entry. Team policy and support grant checks can end it on a later request. [Read the guide: Account Security controls](https://docs.amadalis.ai/account/security/) ### Site setup The guided setup that applies a chosen starter’s pages and supported site settings. It is separate from choosing a page type for a single draft. [Read the guide: Set up a site from a template](https://docs.amadalis.ai/site/site-setup/) ### Site URL The site address stored in EmDash for its own links. Its Change domain control is separate from the hosted account’s domain setup. [Read the guide: EmDash site settings](https://docs.amadalis.ai/content/site-settings/) ### Sitemap A machine-readable list of public content addresses. Its contents follow publication and access rules rather than listing every draft. [Read the guide: Find sitemaps and machine readable site files](https://docs.amadalis.ai/developers/machine-readable-site/) ### Sites The account list of sites you can access, with Open admin for each permitted site. [Read the guide: Your account: sites, custom domains and billing](https://docs.amadalis.ai/account/your-account-and-domains/) ### Skip the first The number of matching entries left out before a Live list begins. **Also called:** Offset. [Read the guide: List a collection on a page](https://docs.amadalis.ai/composer/collection-index/) ### Slice A subset of experiment results inspected by a supported grouping or filter. Exploring it does not replace the locked plan’s decision rules. [Read the guide: Read experiment results and check variations](https://docs.amadalis.ai/optimization/experiment-results/) ### Slot A named place where eligible targeted content can be selected. Its delivery rules are separate from the words stored in a particular content change. [Read the guide: Slots, performance and measurement](https://docs.amadalis.ai/optimization/slots-and-measurement/) ### Slug The address name for an entry, such as the last part of a page’s path. It differs from the title visitors read. [Read the guide: Pages, posts and media](https://docs.amadalis.ai/content/pages-posts-and-media/) ### SMTP A supported way to connect an outside email server for customer messages. Saved settings do not guarantee inbox delivery. [Read the guide: Customer accounts, email and claims](https://docs.amadalis.ai/commerce/customer-identity/) ### Social icons Linked symbols for social networks, using their supported marks and display choices. [Read the guide: Row content reference](https://docs.amadalis.ai/reference/sections/row-content/) ### Social sharing fields Metadata used when another service previews a shared link. The service decides what it displays. **Also called:** Open Graph; Twitter metadata. [Read the guide: SEO: search titles and descriptions](https://docs.amadalis.ai/site/seo/) ### Source The recorded origin of a visit or event in analytics. In migration, Source instead means the old site being moved. [Read the guide: Analytics: visits, visitor sources and finished forms](https://docs.amadalis.ai/insights/analytics/) ### Spacer An element adding deliberate empty space using the theme’s spacing choices. [Read the guide: Layout elements reference](https://docs.amadalis.ai/reference/sections/elements/) ### Spacing Design values for the gaps and padding between parts of a page. [Read the guide: Change site colours, fonts and themes](https://docs.amadalis.ai/composer/themes-and-tokens/) ### Spam Content marked as unwanted, such as a submitted comment. A form’s spam protection and a comment’s moderation state are separate controls. [Read the guide: Remove and moderate comments](https://docs.amadalis.ai/content/comments/) ### Spam protection Checks intended to reject unwanted form submissions. Its configuration does not guarantee that all unwanted submissions are stopped. [Read the guide: Forms and replies](https://docs.amadalis.ai/site/forms-and-replies/) ### Stage A dark band treatment with a soft glow and light text. Its colours come from the theme’s Stage roles. **Also called:** Stage band; Stage (near black, with glow). [Read the guide: Layout styles](https://docs.amadalis.ai/composer/layout-styles/) ### Starter site A starting set of pages and site settings for a kind of business. Fill or remove sections asking for your facts, then review the drafts and links before publishing. **Also called:** Site template. [Read the guide: Set up a site from a template](https://docs.amadalis.ai/site/site-setup/) ### Starter value A value supplied by the basic section or a chosen preset. It is not necessarily the field’s default when that value is absent. [Read the guide: Change site colours, fonts and themes](https://docs.amadalis.ai/composer/themes-and-tokens/) ### Stats A section for supplied labels and figures, including its optional Facts list layout. The figures are authored content rather than live analytics. [Read the guide: Content reference](https://docs.amadalis.ai/reference/sections/content/) ### Stock The recorded quantity or stock state for a product. Review it separately from whether the product is on sale. [Read the guide: Set up your shop, add products and manage orders](https://docs.amadalis.ai/commerce/commerce/) ### Stripe The outside payment service connected for supported membership and sales. Saving a key does not establish that payment notifications are registered. [Read the guide: Packages and membership](https://docs.amadalis.ai/commerce/packages-and-membership/) ### Structure The Composer view of a page’s sections and their order. Use it to select, move or remove the intended part of a draft. [Read the guide: The Composer: make page drafts, edit headlines and sections](https://docs.amadalis.ai/composer/composer/) ### Subheadline Supporting words below or near a section’s main heading. [Read the guide: The Composer: make page drafts, edit headlines and sections](https://docs.amadalis.ai/composer/composer/) ### Subject export An approved export for the selected person and linked browser scope. Review the selection rather than assuming it covers every browser the person has ever used. **Also called:** Export this visitor’s data. [Read the guide: Visitor records, identity and decisions](https://docs.amadalis.ai/privacy/visitor-data/) ### Subject template The saved pattern for a form notification’s email subject. It is separate from the form’s success message shown to the visitor. [Read the guide: Forms and replies](https://docs.amadalis.ai/site/forms-and-replies/) ### Submission A saved response sent through a form. Deleting a reply is different from deleting the form definition. **Also called:** Reply; Form reply; Submissions. [Read the guide: Forms and replies](https://docs.amadalis.ai/site/forms-and-replies/) ### Subprocessors Service providers processing customer data on Amadalis’s behalf. The [public register](https://account.amadalis.ai/subprocessors) names Anthropic and OpenAI as AI model providers, and Cloudflare AI Gateway as their transport. [Read the guide: Trust and security: support access](https://docs.amadalis.ai/trust/security/) ### Success message The words shown when a form accepts a submission. They do not prove that a separate notification email arrived. [Read the guide: Forms and replies](https://docs.amadalis.ai/site/forms-and-replies/) ### Suggested tag A proposed content-catalogue tag awaiting a person’s review. A suggestion is not already an approved fact about the content. [Read the guide: The content catalog](https://docs.amadalis.ai/optimization/content-catalog/) ### Support access The account controls describing customer-granted and staff entry into a site. A grant and an Admin override are different entry paths. [Read the guide: Account Security controls](https://docs.amadalis.ai/account/security/) ### Support grant Permission for support to enter a site read only for the stated reason. Revoking it ends new entry and the open support session on the next request after a check refresh of up to 30 seconds; expiry ends the session on its next request. [Read the guide: Account Security controls](https://docs.amadalis.ai/account/security/) ### Surface A background colour role for an area of the page, such as a card or muted band. [Read the guide: Change site colours, fonts and themes](https://docs.amadalis.ai/composer/themes-and-tokens/) ### System Fields Fields supplied by the content system rather than newly added custom fields. [Read the guide: Content types and relations](https://docs.amadalis.ai/content/content-types/) ## T ### Tag A taxonomy term used to label entries. Content-catalogue interest tags serve a different purpose from an entry’s taxonomy tags. [Read the guide: Taxonomies, categories and tags](https://docs.amadalis.ai/site/taxonomies/) ### Tag manager template A supported starting form for a tag-manager head entry. Its presence does not grant visitor consent or confirm the outside account is configured. [Read the guide: Head entries and Content Security Policy](https://docs.amadalis.ai/privacy/head-and-csp/) ### Tagged arrival A recorded visit carrying the supported campaign or link information. It is different from an email being opened. [Read the guide: Campaigns and tracked links](https://docs.amadalis.ai/optimization/campaigns-and-tracked-links/) ### Take it offline **Take it offline** in the Composer and **Unpublish** elsewhere return a published page to draft, keeping its content. **Also called:** Unpublish. [Read the guide: The Composer: make page drafts, edit headlines and sections](https://docs.amadalis.ai/composer/composer/) ### Targeted content A saved change assigned to an audience and a location on a page. It must be active and eligible before it can replace the default content for a visitor. **Also called:** Content swap. [Read the guide: Audiences and targeted content](https://docs.amadalis.ai/optimization/audiences-and-targeted-content/) ### Taxonomy A way to group content using named terms. Categories and tags are examples. [Read the guide: Taxonomies, categories and tags](https://docs.amadalis.ai/site/taxonomies/) ### Team The account’s Team tab manages people and their roles. The Composer’s Team section displays the people and details you enter on a page. **Also called:** Team section. [Read the guide: Invite a designer or teammate and choose their role](https://docs.amadalis.ai/account/your-team/) [Read the guide: Content reference](https://docs.amadalis.ai/reference/sections/content/) ### Team session policy The account’s saved rules for lifetime, idle timeout and allowed network addresses apply inside open site admin sessions, with the guide’s refresh and read-failure limits. Requiring two factor authentication does not end a site session already opened from the account. API tokens follow the applicable network, membership and two factor checks; session lifetime and idle timeout do not apply to tokens. **Also called:** Session policy. [Read the guide: Account Security controls](https://docs.amadalis.ai/account/security/) ### Term One named value in a taxonomy, such as a category or tag. [Read the guide: Taxonomies, categories and tags](https://docs.amadalis.ai/site/taxonomies/) ### Test mode A payment connection using its test configuration rather than live payment credentials. Check the screen’s mode before testing a purchase. **Also called:** TEST MODE. [Read the guide: Packages and membership](https://docs.amadalis.ai/commerce/packages-and-membership/) ### Testimonials A section for supplied quotations and attribution. The section does not verify that a person made the quotation. [Read the guide: Social proof reference](https://docs.amadalis.ai/reference/sections/social-proof/) ### Text Formatted text stored inside a structural row. It is separate from a section’s named heading field. [Read the guide: Row content reference](https://docs.amadalis.ai/reference/sections/row-content/) ### Theme A shared set of design values, including colours, fonts, spacing, corners and shadows. The active theme supplies the site’s shared appearance. [Read the guide: Change site colours, fonts and themes](https://docs.amadalis.ai/composer/themes-and-tokens/) ### Theme mode A named set of overrides within a theme, such as Light or Dark. It starts from that theme’s base values. **Also called:** Mode. [Read the guide: Change site colours, fonts and themes](https://docs.amadalis.ai/composer/themes-and-tokens/) ### Theme Studio The editor for a theme’s colours, fonts and other design values. Saving an active theme can change the public site without publishing a page. [Read the guide: Change site colours, fonts and themes](https://docs.amadalis.ai/composer/themes-and-tokens/) ### Threshold The value an alert compares its observed measure with. [Read the guide: Set and inspect an analytics alert](https://docs.amadalis.ai/insights/alerts/) ### Tier One configured membership offer and its included access. This glossary does not state a commercial price or discount. **Also called:** Membership level. [Read the guide: Packages and membership](https://docs.amadalis.ai/commerce/packages-and-membership/) ### Timeline / steps A section for authored steps or timeline entries. [Read the guide: Content reference](https://docs.amadalis.ai/reference/sections/content/) ### Timezone The named clock used to interpret or display a time. The content calendar’s site time zone and the viewer’s local time labels can differ. **Also called:** Time zone. [Read the guide: Use the content calendar](https://docs.amadalis.ai/content/calendar/) ### Title The name identifying a page or post in the admin. It can differ from the section headline and the SEO title. [Read the guide: Page settings](https://docs.amadalis.ai/reference/settings/page-settings/) ### Token In themes, a token is a named design value, such as a body font or background colour. In access settings, a token is a credential for its permitted requests, such as a personal API token or SCIM token. **Also called:** Theme token. [Read the guide: Change site colours, fonts and themes](https://docs.amadalis.ai/composer/themes-and-tokens/) [Read the guide: Native site access settings](https://docs.amadalis.ai/account/site-access-and-settings/) ### Track The control for attaching a supported capture action to selected content. Recording still depends on the event sender and applicable consent checks. [Read the guide: Page access and element tracking](https://docs.amadalis.ai/composer/access-and-tracking/) ### Tracked link A link with recorded tracking information used to connect clicks or arrivals with a campaign. A click and a matched site arrival are different measurements. [Read the guide: Campaigns and tracked links](https://docs.amadalis.ai/optimization/campaigns-and-tracked-links/) ### Traffic variations The experiment versions and their relative traffic weights. The first variation is the comparison control. [Read the guide: Experiments: test and compare page versions](https://docs.amadalis.ai/optimization/experiments/) ### Trash The place where a removed page or post can remain before permanent deletion. Moving content there is different from deleting a stored file permanently. [Read the guide: Pages, posts and media](https://docs.amadalis.ai/content/pages-posts-and-media/) ### Two factor authentication An extra sign-in check required by the configured policy. When required for site entry, use Open admin from the Praxis account; a direct site sign-in does not meet that requirement. **Also called:** Two-factor authentication; 2FA. [Read the guide: Account Security controls](https://docs.amadalis.ai/account/security/) ### Typography The settings for faces, text sizes and other type treatments. [Read the guide: Change site colours, fonts and themes](https://docs.amadalis.ai/composer/themes-and-tokens/) ## U ### Undo A supported reversal of a particular saved change, which can depend on the recorded state still being available and unchanged. Permanent erasure and sending an email have no automatic Undo. [Read the guide: The copilot](https://docs.amadalis.ai/copilot/copilot/) ### URL Pattern The rule for building an entry’s public address from its recorded values. [Read the guide: Content types and relations](https://docs.amadalis.ai/content/content-types/) ### UTC The common time standard used by timestamps explicitly labelled UTC. It can differ from the site’s time zone and your own local clock. [Read the guide: Use the content calendar](https://docs.amadalis.ai/content/calendar/) ## V ### Validation Checks that an input has the shape and values the operation accepts. Passing validation does not verify that a business claim is true. [Read the guide: Forms and replies](https://docs.amadalis.ai/site/forms-and-replies/) ### Variation One version assigned within an experiment, including its baseline or changed content. It is different from a theme mode or a section preset. [Read the guide: Experiments: test and compare page versions](https://docs.amadalis.ai/optimization/experiments/) ### Video The Video section plays a file hosted on the site and can respect that file’s membership protection. The Video element uses an outside provider whose video is not protected by this site’s paywall. [Read the guide: Media reference](https://docs.amadalis.ai/reference/sections/media/) [Read the guide: Layout elements reference](https://docs.amadalis.ai/reference/sections/elements/) ### Viewer A role that reads site content but cannot create, edit or publish. New SCIM memberships join as Viewer; a person can raise the role through Team, and Invite member does not offer Viewer. [Read the guide: Account Security controls](https://docs.amadalis.ai/account/security/) ### Visit A group of activity recorded as one visit. It is different from the sign-in session used to enter a site’s admin. **Also called:** Visits; Session; Sessions. [Read the guide: Analytics: visits, visitor sources and finished forms](https://docs.amadalis.ai/insights/analytics/) ### Visitor A recorded browser identity used by the site. One person can use more than one browser identity. [Read the guide: Analytics: visits, visitor sources and finished forms](https://docs.amadalis.ai/insights/analytics/) ### Visitor Data The Admin screen for finding browser records and inspecting their journey, identity, interests and available decisions. Editors do not gain access merely because they can see other content screens. [Read the guide: Visitor records, identity and decisions](https://docs.amadalis.ai/privacy/visitor-data/) ### Visitor ID The identifier used for a recorded browser. Its scope follows the selected counting and identity policy. [Read the guide: Visitor records, identity and decisions](https://docs.amadalis.ai/privacy/visitor-data/) ### Visitors who viewed a page A measure of distinct visitor identities with page-opening events in the window. Repeated page openings by the same identity still count once under the selected scope. **Also called:** Page reach. [Read the guide: Analytics: visits, visitor sources and finished forms](https://docs.amadalis.ai/insights/analytics/) ## W ### Warehouse ingestion The instructions and exported format for reading site data into another data system. An available export does not mean an outside warehouse is already connected. [Read the guide: Exports, schedules and retention](https://docs.amadalis.ai/privacy/exports/) ### Webhook A request one service sends to another to report an event. Supported payment and integration flows use their own configured destinations and delivery checks. [Read the guide: EmDash and what Praxis adds](https://docs.amadalis.ai/developers/platform/) ### Weight The contribution assigned to a recorded visitor action in affinity tuning. An event’s suggested catalogue weight does not itself set the live tuning. [Read the guide: The affinity engine, explained](https://docs.amadalis.ai/optimization/affinity-engine/) ### What each card shows The Recommendations choice of which details appear on its cards. The Composer currently refuses to save changes to this choice. **Also called:** Card parts. [Read the guide: Show related articles on a page](https://docs.amadalis.ai/optimization/recommendations/) ### What it has learned The view of recorded comparison evidence from supported delivery. Read the available data and limits before interpreting it as an improvement. [Read the guide: Evidence, exploration and items needing review](https://docs.amadalis.ai/optimization/learning-and-exploration/) ### What it is trying The view of supported exploration choices under the configured rules. [Read the guide: Evidence, exploration and items needing review](https://docs.amadalis.ai/optimization/learning-and-exploration/) ### What needs a person The view of proposals or items requiring human review. An item appearing here has not been approved by that appearance alone. [Read the guide: Evidence, exploration and items needing review](https://docs.amadalis.ai/optimization/learning-and-exploration/) ### When there is nothing to show The sentence a resolved Live list can display when it has no matching entries. A failed read can produce the same result, so check the source and filters before assuming the collection is empty. **Also called:** Empty state. [Read the guide: List a collection on a page](https://docs.amadalis.ai/composer/collection-index/) ### White label The agency’s own brand and domain across its account, client emails and client site admin. The client’s public site keeps its own brand. **Also called:** Agency branding. [Read the guide: Agency partner branding and client prices](https://docs.amadalis.ai/agencies/partner-program/) ### Wholesale billing Amadalis billing the agency for its clients’ sites. The agency collects from its clients through its own payment setup. [Read the guide: Agency partner branding and client prices](https://docs.amadalis.ai/agencies/partner-program/) ### Widget An item placed in an EmDash widget area. Widgets are separate from Composer sections and layout elements. [Read the guide: Widgets and widget areas](https://docs.amadalis.ai/content/widgets/) ### Widget area A named location containing widgets in a chosen order. [Read the guide: Widgets and widget areas](https://docs.amadalis.ai/content/widgets/) ### Words The section settings group for text and related content choices. Repeating items can have their own entry controls. [Read the guide: The Composer: make page drafts, edit headlines and sections](https://docs.amadalis.ai/composer/composer/) ### Workspace A working area for a site or feature, such as the migration workspace. Check the current site and the operation’s scope before approving a change. [Read the guide: EmDash and what Praxis adds](https://docs.amadalis.ai/developers/platform/) ### WXR WordPress’s content export format used for supported imports. It is not a full copy of the site’s database, theme and plugin behaviour. **Also called:** WordPress XML export. [Read the guide: Choose a migration source](https://docs.amadalis.ai/migration/sources/) ## Z ### ZIP A file format combining several files into one download. Download everything uses it to package the export’s files together. [Read the guide: Exports, schedules and retention](https://docs.amadalis.ai/privacy/exports/) ## Your next step Return to the guide for your task. Start with [Getting started](https://docs.amadalis.ai/get-started/getting-started/) if you are opening a site for the first time. Source: https://docs.amadalis.ai/reference/ # What you can do in Reference Checked against the product’s code on 7 November 2026. Look up fields, events, request permissions, settings and product terms. Keep this reference beside **Composer**, **Site** or **Insights** in the site admin. Look up a field or request here, then follow its linked guide to make the change. Use the guide for the required role, setup and current limits. ## Start with a task Choose the result you want. Each guide explains where to begin, what to review and how to check the result. - [Browse section fields](https://docs.amadalis.ai/reference/sections/) - [Find an event sender](https://docs.amadalis.ai/reference/event-catalog/) - [Look up a copilot request](https://docs.amadalis.ai/reference/copilot/) - [Look up a product word](https://docs.amadalis.ai/reference/glossary/) ## Capabilities and screens | Capability | What you can do | Read next | | --- | --- | --- | | Page types | The 29 supplied page recipes and their starting sections. | [Page types reference](https://docs.amadalis.ai/reference/page-types/) | | Theme catalogue | Compare every catalogue theme by buyer family, colour swatches, faces, corners, depth and native mode. | [Compare available themes](https://docs.amadalis.ai/reference/themes/) | | Starter site catalogue | Compare starter sites by industry, default pages, paired theme and what the first setup changes. | [Choose a starter site](https://docs.amadalis.ai/reference/starter-sites/) | | Layout styles | compare each control’s values, section types and defaults. | [Layout styles reference](https://docs.amadalis.ai/reference/layout-styles/) | | Section families | Look up the built-in section families and their editable fields. | [Section types](https://docs.amadalis.ai/reference/sections/) | | Elements and common fields | Read element fields and the controls shared by section types. | [Layout elements reference](https://docs.amadalis.ai/reference/sections/elements/) | | Events | Compare each starter event with what actually sends it. | [Event catalog](https://docs.amadalis.ai/reference/event-catalog/) | | Customer copilot requests | Find the request’s approval and Undo boundaries. | [What you can ask the copilot](https://docs.amadalis.ai/reference/copilot/) | | Content and structure requests | Read content, media, field definitions and reusable material requests. | [Copilot: Content and media](https://docs.amadalis.ai/reference/copilot/content-and-media/) | | Design and site requests | Read theme, identity, setup and settings requests. | [Copilot: Site settings and structure](https://docs.amadalis.ai/reference/copilot/site-and-settings/) | | SEO and navigation requests | Read machine access, redirects and menu publication requests. | [Copilot: Navigation and SEO](https://docs.amadalis.ai/reference/copilot/navigation-and-seo/) | | Forms and comments requests | Read requests to change forms, moderate comments, send email or erase data. | [Copilot: Forms and comments](https://docs.amadalis.ai/reference/copilot/forms-and-comments/) | | Experiment requests | Look up planning, activation, result and promotion requests. | [Copilot: Experiments](https://docs.amadalis.ai/reference/copilot/experiments/) | | Audience and targeting requests | Read audience, targeted content, affinity and identity requests. | [Copilot: Audiences and targeted content](https://docs.amadalis.ai/reference/copilot/audiences-and-targeting/) | | Analytics and capture requests | Read report, measure, goal, funnel and capture requests. | [Copilot: Analytics and events](https://docs.amadalis.ai/reference/copilot/analytics-and-events/) | | Campaigns and links requests | Read link and campaign change boundaries. | [Copilot: Navigation and SEO](https://docs.amadalis.ai/reference/copilot/navigation-and-seo/) | | Account and privacy requests | Read team, sign in, support, export and erasure requests. | [Copilot: Account, team and visitor privacy](https://docs.amadalis.ai/reference/copilot/account-and-privacy/) | | Store requests | Read product, order, package and payment requests. | [Copilot: Store and membership](https://docs.amadalis.ai/reference/copilot/store-and-membership/) | | Migration requests | Read source review, import and recovery requests. | [Copilot: WordPress migration](https://docs.amadalis.ai/reference/copilot/migration/) | | Plugins and backups requests | Read configured plugin and backup actions. | [Copilot: Site settings and structure](https://docs.amadalis.ai/reference/copilot/site-and-settings/) | | Conversation and Undo requests | Read conversation, choice and change-reversal requests. | [Copilot: Conversation and Undo](https://docs.amadalis.ai/reference/copilot/conversation-and-undo/) | | Staff-only requests | Read the separate service-administration boundary. | [Copilot: Service administration](https://docs.amadalis.ai/reference/copilot/service-administration/) | | Theme tokens | Look up shared design values, their accepted names and how fonts are supplied. | [Theme tokens and roles](https://docs.amadalis.ai/reference/settings/theme-tokens/) | | Page and site settings | Read access, scripts, search settings and which shared setting applies first. | [Settings reference](https://docs.amadalis.ai/reference/settings/) | | Glossary | Find screen names, controls and concepts, with other names and links to their guides. | [Glossary](https://docs.amadalis.ai/reference/glossary/) | | Collection index page type | Its recipe, questions, list controls and named preset values. | [Collection index page type](https://docs.amadalis.ai/reference/page-types/collection-index/) | ## More in this area These guides cover the other tasks and settings in this area. - [Settings reference](https://docs.amadalis.ai/reference/settings/): Find theme values, page controls and shared site settings. - [Copilot: Pages and reusable sections](https://docs.amadalis.ai/reference/copilot/pages-and-sections/): Requests in this area, with approval and Undo boundaries. - [Shared section fields](https://docs.amadalis.ai/reference/sections/common-fields/): The advanced, text and appearance fields inherited by section families. - [Section types](https://docs.amadalis.ai/reference/sections/): The native section families, their fields and their starter settings. - [Theme tokens and roles](https://docs.amadalis.ai/reference/settings/theme-tokens/): Theme variables, roles, accepted paths and supplied example values. - [Copilot: Content and media](https://docs.amadalis.ai/reference/copilot/content-and-media/): Requests in this area, with approval and Undo boundaries. - [Header reference](https://docs.amadalis.ai/reference/sections/header/): Fields, choices and seed defaults for header. - [Page settings](https://docs.amadalis.ai/reference/settings/page-settings/): Page identity, access, SEO, scripts and publication scope. - [Copilot: Navigation and SEO](https://docs.amadalis.ai/reference/copilot/navigation-and-seo/): Requests in this area, with approval and Undo boundaries. - [Content reference](https://docs.amadalis.ai/reference/sections/content/): Fields, choices and seed defaults for content. - [Site settings](https://docs.amadalis.ai/reference/settings/site-settings/): Shared identity, navigation, CMS settings, SEO and visitor policy. - [Copilot: Forms and comments](https://docs.amadalis.ai/reference/copilot/forms-and-comments/): Requests in this area, with approval and Undo boundaries. - [Social proof reference](https://docs.amadalis.ai/reference/sections/social-proof/): Fields, choices and seed defaults for social proof. - [Copilot: Audiences and targeted content](https://docs.amadalis.ai/reference/copilot/audiences-and-targeting/): Requests in this area, with approval and Undo boundaries. - [Media reference](https://docs.amadalis.ai/reference/sections/media/): Fields, choices and seed defaults for media. - [Copilot: Analytics and events](https://docs.amadalis.ai/reference/copilot/analytics-and-events/): Requests in this area, with approval and Undo boundaries. - [Commerce reference](https://docs.amadalis.ai/reference/sections/commerce/): Fields, choices and seed defaults for commerce. - [Copilot: Experiments](https://docs.amadalis.ai/reference/copilot/experiments/): Requests in this area, with approval and Undo boundaries. - [Conversion reference](https://docs.amadalis.ai/reference/sections/conversion/): Fields, choices and seed defaults for conversion. - [Copilot: Store and membership](https://docs.amadalis.ai/reference/copilot/store-and-membership/): Requests in this area, with approval and Undo boundaries. - [Advanced reference](https://docs.amadalis.ai/reference/sections/advanced/): Fields, choices and seed defaults for advanced. - [Copilot: Account, team and visitor privacy](https://docs.amadalis.ai/reference/copilot/account-and-privacy/): Requests in this area, with approval and Undo boundaries. - [Layout reference](https://docs.amadalis.ai/reference/sections/layout/): Fields, choices and seed defaults for layout. - [Copilot: Site settings and structure](https://docs.amadalis.ai/reference/copilot/site-and-settings/): Requests in this area, with approval and Undo boundaries. - [Row content reference](https://docs.amadalis.ai/reference/sections/row-content/): Fields, choices and seed defaults for row content. - [Copilot: WordPress migration](https://docs.amadalis.ai/reference/copilot/migration/): Requests in this area, with approval and Undo boundaries. - [Personalization reference](https://docs.amadalis.ai/reference/sections/personalization/): Fields, choices and seed defaults for personalization. - [Copilot: Conversation and Undo](https://docs.amadalis.ai/reference/copilot/conversation-and-undo/): Requests in this area, with approval and Undo boundaries. - [Copilot: Service administration](https://docs.amadalis.ai/reference/copilot/service-administration/): Requests in this area, with approval and Undo boundaries. - [Event catalog](https://docs.amadalis.ai/reference/event-catalog/): Every supplied event, its meaning, sender, properties and catalog defaults. - [Layout elements reference](https://docs.amadalis.ai/reference/sections/elements/): Fields, choices and seed defaults for layout elements. - [What you can ask the copilot](https://docs.amadalis.ai/reference/copilot/): Requests grouped by customer area, with approval and Undo explained. - [Glossary](https://docs.amadalis.ai/reference/glossary/): Plain definitions of the site’s screens, controls and concepts, with aliases and links to their guides. - [Layout styles reference](https://docs.amadalis.ai/reference/layout-styles/): Values, section types and defaults for the layout and shared design choices. - [Page types](https://docs.amadalis.ai/reference/page-types/): The supplied page recipes and their starting sections. - [Choose a starter site](https://docs.amadalis.ai/reference/starter-sites/): Compare starter sites by industry, pages, paired theme and menus before choosing a setup. - [Compare available themes](https://docs.amadalis.ai/reference/themes/): Choose a theme by its colours, fonts, corners, shadows and starting light or dark mode. ## Your next step Begin with [browse section fields](https://docs.amadalis.ai/reference/sections/). Follow its steps and check the result before moving to another task. Source: https://docs.amadalis.ai/reference/layout-styles/ # Layout styles reference Checked against the product’s code on 7 November 2026. Use this reference beside a page in **Composer** in the site admin to compare layout controls, choices and defaults. Shared theme and site controls have their own locations in the table. For the steps and visual meaning, read [Layout styles](https://docs.amadalis.ai/composer/layout-styles/). Defaults below describe an unset choice. A saved page, starter or theme can already supply another value. Section choices are under the selected section’s Settings. The page Layout button saves a draft as soon as you choose. Theme, header, footer and menu changes have their own review and publication controls. ## Choices | Option | Values | Section types or scope | Where | Default | | --- | --- | --- | --- | --- | | Section number | Your words | Hero; Features; Testimonials; Gallery; Video; Pricing; FAQ; Call to action; Rich text; Form; Stats; Logo cloud; Image & text; Footer CTA; Team; Timeline / steps; Comparison table; Newsletter signup; Blog teaser; Layout; Recommendations; Live list; Services | Section Settings, Words | Empty; no number | | Section label | Your words | Hero; Features; Testimonials; Gallery; Video; Pricing; FAQ; Call to action; Rich text; Form; Stats; Logo cloud; Image & text; Footer CTA; Team; Timeline / steps; Comparison table; Newsletter signup; Blog teaser; Layout; Recommendations; Live list; Services | Section Settings, Words | Empty | | Band tone | Page canvas (default); Primary band; Accent band; Subtle surface; Stage (near black, with glow) | Hero | Section Settings, Layout | Page canvas (default) | | Band tone | Page background (default); Primary band; Subtle surface band; Stage (near black, with glow) | Features | Section Settings, Layout | Page background (default) | | Band tone | Subtle surface (default); Accent band; Primary band; Stage (near black, with glow) | Testimonials | Section Settings, Layout | Subtle surface (default) | | Band tone | Page canvas (default); Primary band; Accent band; Subtle surface; Stage (near black, with glow) | Pricing | Section Settings, Layout | Page canvas (default) | | Band tone | Style default; Primary band; Accent band; Subtle surface; Stage (near black, with glow) | Call to action | Section Settings, Layout | Style default | | Band tone | Page canvas (default); Primary band; Accent band; Subtle surface; Stage (near black, with glow) | Stats | Section Settings, Layout | Page canvas (default) | | Band tone | Page canvas (default); Stage (near black, with glow) | Image & text | Section Settings, Layout | Page canvas (default) | | Tone | Primary band; Accent band; Subtle surface; Stage (near black, with glow) | Footer CTA | Section Settings, Layout | Primary band | | Tone | Accent; Primary; Subtle surface; Stage (near black, with glow) | Banner | Section Settings, Layout | Accent | | Band tone | Page background (default); Subtle surface band; Primary band; Stage (near black, with glow) | Layout | Section Settings, Layout | Page background (default) | | Picture beside the words | A picture from the media library | Features; Testimonials; Pricing; FAQ; Rich text; Stats; Logo cloud; Footer CTA; Team; Timeline / steps; Comparison table; Newsletter signup; Blog teaser; Recommendations; Live list | Section Settings, Words | Empty; no split | | Picture description (alt text) | Up to 500 characters, or empty for decoration | Features; Testimonials; Pricing; FAQ; Rich text; Stats; Logo cloud; Footer CTA; Team; Timeline / steps; Comparison table; Newsletter signup; Blog teaser; Recommendations; Live list | Section Settings, Words | Empty | | Picture caption | Your caption, or empty | Features; Testimonials; Pricing; FAQ; Rich text; Stats; Logo cloud; Footer CTA; Team; Timeline / steps; Comparison table; Newsletter signup; Blog teaser; Recommendations; Live list | Section Settings, Words | Empty | | Picture side | Right; Left | Features; Testimonials; Pricing; FAQ; Rich text; Stats; Logo cloud; Footer CTA; Team; Timeline / steps; Comparison table; Newsletter signup; Blog teaser; Recommendations; Live list | Section Settings, Layout | Right | | Picture frame | None; Screen; Dark stage; Light | Features; Testimonials; Pricing; FAQ; Rich text; Stats; Logo cloud; Footer CTA; Team; Timeline / steps; Comparison table; Newsletter signup; Blog teaser; Recommendations; Live list; Image & text | Section Settings, Layout | None | | Picture width | Even; Wide; Narrow | Features; Testimonials; Pricing; FAQ; Rich text; Stats; Logo cloud; Footer CTA; Team; Timeline / steps; Comparison table; Newsletter signup; Blog teaser; Recommendations; Live list | Section Settings, Layout | Even | | Heading place | Above both columns; Beside the picture, over the words | Features; Testimonials; Pricing; FAQ; Rich text; Stats; Logo cloud; Footer CTA; Team; Timeline / steps; Comparison table; Newsletter signup; Blog teaser; Recommendations; Live list | Section Settings, Layout | Above both columns | | Page layout | Standard (default); Article with an On this page rail | Pages that use the catalog layout | Composer Layout button | Standard | | Open full size on click | On; Off | Hero; Gallery; Call to action; Image & text | Section Settings, Behaviour | On; only an explicit Off disables it | | Label rule | None; A short rule before the label | Hero created from the catalog | Section Settings, Words | None | | Heading wrap | Automatic; Balanced; Pretty | Section heading; card title; group title | Selected heading’s styling controls | Automatic | | Steps per row | Automatic; 2 per row; 3 per row; 4 per row | Timeline / steps, Numbered steps layout | Section Settings | Automatic | | Lede rule | None; A rule between the headline and the subheadline | Hero created from the catalog | Section Settings, Words | None | | Index list | An ordered list of group and link entries | Features | Section Settings, Entries | Empty; normal cards | | Entry shows as | Group (a number, a name and a line); Link row (one link under the group above) | Features, Index list entry | Section Settings, Entries | Group when no kind is saved | | Group number | Your words | Features, Index list entry | Section Settings, Entries | Empty | | Group name | Your words | Features, Index list entry | Section Settings, Entries | Empty | | Group line | Your words | Features, Index list entry | Section Settings, Entries | Empty | | Link words | Your words | Features, Index list entry | Section Settings, Entries | Empty | | Link | A link destination | Features, Index list entry | Section Settings, Entries | Empty | | Room line | Your words | Features, Index list entry | Section Settings, Entries | Empty | | Columns | 2; 3; 4 | Features, including Index list | Section Settings, Layout | 3 if unset; fewer columns if there are fewer groups | | Layout | Centered (default); Heading left, numbers right; Compact proof strip; Facts list | Stats | Section Settings, Layout | Centered (default) | | Place | In its own band (default); Beside the hero above | Stats | Section Settings, Words; shown for Facts list | In its own band (default) | | Style | Plain (default); Stat cards | Stats | Section Settings, Words | Plain (default); Facts list uses ruled rows | | Icon | None; zap; shield; users; chart; code; globe; heart; star; check; lock; clock; cloud | Features entries; Stats entries; List entries | Section Settings, Entries | Entry’s stored or starter icon; an empty icon draws none | | Title | Your words; empty on an existing card | Features cards | Section Settings, Entries | A new card requires a title; an existing card may be cleared | | Interface | A library font family or an ordered list of fonts | Theme | Theme Studio, Typography, Font families | Unset; existing interface fonts stay, using the body font if that role is unset | | Mono | A library font family or an ordered list of fonts | Theme | Theme Studio, Typography, Font families | Unset; code uses the device’s monospace font, other existing text keeps its fonts | | Stage ground | A colour, or unset | Theme; sections using Stage | Theme Studio, Colors, Stage band | 10% theme text colour mixed with black | | Stage card | A colour, or unset | Theme; sections using Stage | Theme Studio, Colors, Stage band | 8% Stage text mixed with Stage ground | | Stage line | A colour, or unset | Theme; sections using Stage | Theme Studio, Colors, Stage band | 16% Stage text mixed with Stage ground | | Stage text | A colour, or unset | Theme; sections using Stage | Theme Studio, Colors, Stage band | #e8e9ed | | Stage muted | A colour, or unset | Theme; sections using Stage | Theme Studio, Colors, Stage band | Stage text at 75% opacity | | Stage heading | A colour, or unset | Theme; sections using Stage | Theme Studio, Colors, Stage band | #f2f2f4 | | Stage accent | A colour, or unset | Theme; sections using Stage | Theme Studio, Colors, Stage band | The theme accent | | Stage accent text | A colour, or unset | Theme; sections using Stage | Theme Studio, Colors, Stage band | Black or white derived from the Stage button colour | | Stage glow | A colour, or unset | Theme; sections using Stage | Theme Studio, Colors, Stage band | Stage accent at 15% opacity | | Accent ink | A theme colour, or unset | Theme; small accent text | Ask the copilot to set the theme colour; no dedicated Studio row | Can be derived for each colour mode | | The link’s words | Your text | Shared header | Site setup, Header link | Empty; no header link | | Where it goes | A page of this site; An address | Shared header | Site setup, Header link | A page of this site in the editor; no saved link | | Header style | Standard; Editorial | Shared header | Site setup, Header style | Standard | | Description of \[link name\] | One line of your text | Editorial header’s menu links | Navigation builder, link details | Empty | | Small label | Your words | Editorial header; top-level menu item with groups | Navigation builder, Panel intro | Empty | | Title | Your words | Editorial header; top-level menu item with groups | Navigation builder, Panel intro | Empty | | Paragraph | Your words | Editorial header; top-level menu item with groups | Navigation builder, Panel intro | Empty | | Link words | Your words | Editorial header; top-level menu item with groups | Navigation builder, Panel intro | Empty | | Link address | A destination | Editorial header; top-level menu item with groups | Navigation builder, Panel intro | Empty | | Card label | Your words | Editorial header; top-level menu item with groups | Navigation builder, Panel intro | Empty | | Card title | Your words | Editorial header; top-level menu item with groups | Navigation builder, Panel intro | Empty | | Card address | A destination | Editorial header; top-level menu item with groups | Navigation builder, Panel intro | Empty | | Footer layout | Links in a row; Columns | Shared footer | Site setup, Footer layout | Links in a row | | Footer note | Your words | Columns footer | Site setup, Footer layout | Empty; shown only with Columns | | Footer brand colour | A theme colour, or unset | Columns footer, site name | Theme colour through the copilot | Footer heading colour | | Prompt / Shown before a visitor chooses | Your prompt, different from a submitted choice | Dropdown form field | Site, Forms, field editor | Choose one | A label column appears when Section number or Section label has text. Both start empty. The Composer uses **None** for an optional empty Icon choice. The catalog names the same stored choice **No icon**. There is one empty choice in that control. The Index list draws ruled links. Link rows before any group draw without a group heading. Facts list draws ruled fact rows. **Stat cards** belongs to the other Stats layouts. The article rail is for pages using the catalog layout. An imported page that retains its WordPress layout and sidebar does not offer it. The canvas keeps standard flow; use **Open preview**, or **Preview draft** on a published page, for the rail. A Facts list set beside a Hero needs that Hero immediately above it. A catalog Hero with Left layout and no picture uses a side column on a wide screen. A centered Hero or one with a picture puts the facts below its words. Without an eligible Hero, or when content is withheld or either section is a slot whose content is selected for the visitor, the facts remain in their own band. ## Automatic behaviour These have no field to switch on. They describe behaviour that accompanies the controls above. | Behaviour | Where | What happens | Default | | --- | --- | --- | --- | | Library font delivery | Theme fonts | Library fonts loaded early, with substitute fonts matched to their size | Automatic; no setting | | Words being edited | Composer | Unapplied words survive a copilot change; Show the latest brings the saved page and your held edits together | Automatic; no setting | | Head change refresh | Site head settings | Head & CSP and approved chat changes can request a refresh. Read the timing receipt; faster refresh is not guaranteed | Automatic; no setting | | Missing pictures | Copilot page building | Missing pictures are omitted and named, rather than filled with stock placeholders | Automatic; no setting | | An unfinished build | Copilot | A step-limited build can name its unfinished sections when their draft can be read | Automatic; no setting | | Readable status and times | Admin | Status words describe the outcome; Activity names the browser time zone | Automatic; no setting | | Exact supplied words and pictures | Copilot | The draft is checked against supplied words and named library pictures | Automatic; no setting | | A card ending without a decision | Copilot approval card | An expired or replaced card is named as such, not treated as your decline | Automatic; no setting | | Instructions and page text | Copilot | Placement instructions are separated from supplied page words | Automatic; no setting | For theme values beyond these choices, see [Theme tokens and roles](https://docs.amadalis.ai/reference/settings/theme-tokens/). Follow [Layout styles](https://docs.amadalis.ai/composer/layout-styles/) to apply one choice to a draft. Check **Open preview**, or **Preview draft** on a published page, at desktop and phone widths before publishing. Source: https://docs.amadalis.ai/reference/page-types/collection-index/ # Collection index page type Checked against the product’s code on 7 November 2026. Use **Composer** > **New page** to choose **Collection index**. Its definition is also under **Site** > **Catalogs** > **Page types**. See [the Collection index owner guide](https://docs.amadalis.ai/composer/collection-index/) for the steps. ## Page type and template | Item | Value | | --- | --- | | Page type | Collection index | | Creates | A page draft in Pages; no collection or entries are created | | Basic recipe, in order | Hero; Live list; Rich text; FAQ; Call to action | | Designed page template | Collection index; five sections added together | | Designed Live list preset | Collection index with paging | | Theme | Uses the site theme. The definition reserves Clean as its default theme; this does not activate Clean. | **New page** uses the basic section recipe. The page template supplies named section presets: a centered Hero, Collection index with paging, an introductory Rich text note, accordion FAQ and centered Call to action. Adding the template adds those sections; it does not replace an existing page body. ## Questions available to the copilot The page type supplies these questions. The New page dialog itself asks for the title and page type. | Question | | --- | | Which collection already published on this site should this page list? | | Which entries should it show, and in what order? | | What should visitors know before choosing an entry? | | What questions should this page answer? | | What should visitors do next? | ## Section choices The recipe and allowed choices guide the copilot. **Add to the page** can show other sections and mark recommendations. Some section types cannot be inserted there. | Recipe sections | Other section definitions retained in the allowed list | | --- | --- | | Hero; Live list; Rich text; FAQ; Call to action | Form; Comparison table; Embed / preserved HTML; Row (columns); Script & event binding | ## Live list controls These are the list controls apart from the [shared section fields](https://docs.amadalis.ai/reference/sections/common-fields/) and picture beside the words. **Not set** is an absent starter value, not a field default. The two columns compare the basic catalogue starter with the named designed preset; a newly created draft can also have words left for you to finish. Insertion removes the preset headline, empty sentence and numeric values. Set **Headline**, **When there is nothing to show**, **How many per page**, **Skip the first** and **Columns (grid only)** explicitly; the table records catalogue data, not every value carried into the saved draft. | Control | Group in Settings | Values | Basic starter | Collection index with paging | | --- | --- | --- | --- | --- | | Headline | Words | Your words | Latest posts | Browse the collection | | Show | Words | One existing collection; see the picker note below | posts | posts | | In these categories | Words | Category slugs; see the picker note below | Not set | Not set | | With these tags | Words | Tag slugs; see the picker note below | Not set | Not set | | In these terms | Words | Taxonomy and term pairs; see the picker note below | Not set | Not set | | By this author | Words | An author’s address name | Not set | Not set | | Matching these words | Words | Words to match | Not set | Not set | | How many per page | Words | A whole number from 1 to 50 | 10 | 12 | | Skip the first | Layout | A whole number, starting at zero | 0 | 0 | | Order | Layout | Newest first; Oldest first; Title in alphabetical order; Title in reverse alphabetical order; Recently updated first; By its date, soonest first; By its date, latest first | Newest first | Newest first | | Its date field | Section Settings | The selected collection’s datetime field slug | Unset | Unset | | Only dates still to come | Section Settings | Yes or no | Unset; off | Unset; off | | Featured (sticky) posts | Layout | Put them first, on every page; Include them, in date order; Leave them out; Only them | Include them, in date order | Include them, in date order | | Page like the site’s own post listing | Words | Yes or no | Not set | Not set | | Layout | Layout | List; Card grid | List | Card grid | | Columns (grid only) | Layout | A whole number from 1 to 6 | 3 | 3 | | Show the featured image | Words | Yes or no | Yes | Yes | | Show the excerpt | Words | Yes or no | Yes | Yes | | Show the date | Words | Yes or no | Yes | Yes | | Show the author | Words | Yes or no | No | No | | Show the categories | Words | Yes or no | No | No | | Show the price | Words | Yes or no | Not set | Not set | | Show a read-more link | Words | Yes or no | No | No | | Excerpt length (words) | Words | A word count, or empty | Not set | Not set | | Paging | Words | No pager; Page numbers, with previous and next; Previous and next only | No pager | Page numbers, with previous and next | | Pager address | Words | A different name for each list on the page | 1 | collection-index | | Say how many were found | Words | Don’t show a count; How many in all (3 results found); Which results this page shows; Both, the count first | Don’t show a count | Both, the count first | | When there is nothing to show | Words | Your words | No posts found. | No entries found. | ## Source and empty-state boundaries The first collection saved in **Show** is used. Clearing it uses posts. Custom collections must exist, have public entry addresses and not be hidden. Drafts are not public list entries. Cards use the source entry’s recorded details; missing pictures or summaries are skipped. Collection and term suggestions currently come from the wrong list. Typing a collection or term and pressing Enter alone does not save a new choice. Ask the copilot to set the real value and inspect the result. The named preset’s catalogue empty sentence is **No entries found.** Enter it after insertion if you want those words. On a page using a library theme or on a site that was not migrated, a resolved empty list shows its empty sentence without zero counts, with no pager. Custom and imported themes on migrated sites keep their earlier empty-count behaviour. An unsupported source, unusable filter or failed read can lead to that empty state too. Without any loaded result, the public section draws nothing; the canvas keeps a selectable section. **Show a read-more link** adds **Continue reading** when an entry has an address. **Show the price** only uses a recorded product price. These controls do not create entries or supply missing facts. The pager appears only when results span more than one page. **Previous Page** and **Next Page** move between them. Give separate lists different **Pager address** values. The named preset uses `collection-index`; the basic starter uses `1`. Compare [the Live list section and its preview pair](https://docs.amadalis.ai/reference/sections/content/#collection-index-with-paging). Use [the Composer](https://docs.amadalis.ai/composer/composer/) to apply a draft change and inspect its preview. Source: https://docs.amadalis.ai/reference/page-types/ # Page types reference Checked against the product’s code on 7 November 2026. Open **Site** > **Catalogs** > **Page types** to inspect the recipes on your site. The supplied catalogue contains 29 definitions. Your site can have edited, disabled or additional definitions. Use [Catalogs and page types](https://docs.amadalis.ai/site/catalogs-and-page-types/) to change a recipe. These names describe page recipes. They do not by themselves connect a booking or payment service or publish a page. The section order below is the basic catalogue recipe; it is separate from a designed page template and its named presets. A saved recipe can differ. In section names, CTA means call to action. ## Supplied recipes | Page type | What it starts | Basic sections, in order | | --- | --- | --- | | Home / Marketing | An overview of the business and its offer. | Hero; Logo cloud; Features; Stats; Testimonials; FAQ; Call to action | | Landing page | One offer and a next step. | Hero; Features; Testimonials; Call to action | | Product page | Pictures, features and details about a product. | Hero; Gallery; Features; Pricing; FAQ; Call to action | | Pricing page | An authored comparison of plans or prices. | Hero; Pricing; FAQ; Call to action | | Services / Features | An overview of services and features. | Hero; Features; Image & text; Testimonials; FAQ; Footer CTA | | Service detail | Details and steps for one service. | Hero; Image & text; Timeline / steps; Stats; Pricing; FAQ; Footer CTA | | How it works | A process explained in steps. | Hero; Timeline / steps; Image & text; Features; FAQ; Call to action | | Comparison / alternatives | A comparison with other choices. | Hero; Comparison table; Features; Testimonials; Footer CTA | | Integrations & partners | Connections and partners described on a page. | Hero; Logo cloud; Features; Image & text; Call to action | | Case study | A project described with supporting facts. | Hero; Stats; Image & text; Rich text; Testimonials; Footer CTA | | Customer stories / social proof | Customer stories and supplied quotes. | Hero; Testimonials; Logo cloud; Stats; Footer CTA | | Portfolio / work | A visual selection of work. | Hero; Gallery; Testimonials; Footer CTA | | Project detail | Pictures and written details of one project. | Hero; Gallery; Rich text; Image & text; Footer CTA | | Profile / About | A person or organisation introduced in words and pictures. | Hero; Rich text; Gallery; Call to action | | Team / people | People and their supplied details. | Hero; Team; Stats; Footer CTA | | Careers | A workplace and its opportunities. | Hero; Image & text; Features; Stats; Team; Footer CTA | | Job posting | A role described with an enquiry form. | Hero; Rich text; Timeline / steps; Form; Footer CTA | | Contact page | Contact information and a form. | Hero; Rich text; Form; Call to action | | Booking / appointments | An enquiry page for appointments. | Hero; Image & text; Form; FAQ; Footer CTA | | Blog / news index | An authored set of post teasers. | Hero; Blog teaser; Newsletter signup; Call to action | | Blog post | A post with a heading and body. | Hero; Rich text | | Changelog / release notes | Updates arranged as steps or dated entries. | Hero; Timeline / steps; Newsletter signup; Footer CTA | | FAQ / help | Questions and supporting explanations. | Hero; Rich text; FAQ; Call to action | | Event / conference | Information about an event. | Hero; Timeline / steps; Team; Pricing; Banner; FAQ; Footer CTA | | Coming soon / waitlist | A page introducing something still to come. | Hero; Newsletter signup; Timeline / steps; FAQ | | Thank you / confirmation | A confirmation page and what comes next. | Hero; Rich text; Timeline / steps; Call to action | | 404 / not found | Words for a page that was not found. | Hero; Rich text; Blog teaser; Call to action | | Legal / policy | An authored policy document. | Hero; Rich text; Banner | | [Collection index](https://docs.amadalis.ai/reference/page-types/collection-index/) | An introduction and list of published collection entries. | Hero; Live list; Rich text; FAQ; Call to action | ## Recipe boundaries A recipe controls future page creation. Changing it does not rebuild existing pages. The page type’s default theme field remains reserved; the site’s active theme supplies the public appearance. **Collection index** uses the basic recipe when a new page is created. Its designed template and named Live list preset are separate. The current insertion and picker limits remain in [Collection index](https://docs.amadalis.ai/reference/page-types/collection-index/). Review the list’s source and settings; creating this page does not create a collection or its entries. See [Section types](https://docs.amadalis.ai/reference/sections/) for the fields and starter values of each section, then [the Composer](https://docs.amadalis.ai/composer/composer/) to review the draft and publish it separately. Source: https://docs.amadalis.ai/reference/sections/advanced/ # Advanced reference Open a page in **Composer** in the site admin and select the section you are inspecting. Use **Settings** and **Appearance** alongside the fields below. Read the [shared field guide](https://docs.amadalis.ai/reference/sections/common-fields/) for the meaning of the table columns. These technical fields include preserved imported content. Read the limits below before trying to add or change it. Checked against the product’s code on 7 November 2026. This reference lists the catalog fields and their basic starter configuration. Read [Shared section fields](https://docs.amadalis.ai/reference/sections/common-fields/) for the default rules and the shared groups of fields added to these sections. A chosen preset can start with different values. Viewport means the browser’s visible area. Markup is page code; a stylesheet controls its appearance. A CSS selector identifies the elements a script should act on. ## Embed / preserved HTML Existing preserved markup. New instances of this section cannot be inserted through the current palette. Also carries: Advanced fields, Appearance fields. See [shared fields](https://docs.amadalis.ai/reference/sections/common-fields/). | Field | Input | Required | Choices | Field default | Starter value | | --- | --- | --- | --- | --- | --- | | Review label `label` | Text | No | No fixed list | Not declared | Not set | | Preserved markup `html` | Long text | No | No fixed list | Not declared | Empty | | Preserved stylesheet `embedStyle` | Long text | No | No fixed list | Not declared | Not set | | Carousels the block’s own script starts (served as this site’s carousel) `carousels` | List of entries | No | No fixed list | Not declared | Not set | | Slides per view (carousel) `carousels[].slidesPerView` | Number | No | No fixed list | Not declared | Not set | | Slides per view, tablet (carousel) `carousels[].slidesPerViewTablet` | Number | No | No fixed list | Not declared | Not set | | Slides per view, mobile (carousel) `carousels[].slidesPerViewMobile` | Number | No | No fixed list | Not declared | Not set | | Carousel layout at a viewport cutoff `carousels[].carouselBreakpointMode` | Choice | No | Keep the smaller layout at the cutoff (default) (`max-width`); Start the larger layout at the cutoff (`min-width`) | Not declared | Not set | | Carousel slide position (declared by the source) `carousels[].carouselAlignment` | Choice | No | At the start of the strip (`start`); Centred, its neighbours peeking on both sides (`center`) | Not declared | Not set | | Carousel loops `carousels[].loop` | Yes or no | No | No fixed list | Not declared | Not set | | Carousel autoplay interval (ms; empty = off) `carousels[].autoplayMs` | Number | No | No fixed list | Not declared | Not set | | Carousel controls `carousels[].carouselNavigation` | Choice | No | Arrows and dots (`both`); Arrows only (`arrows`); Dots only (`dots`); None (`none`) | Not declared | Not set | | Host layout `hostLayout` | Choice | No | As in the source (the preserved block meets the theme’s layout itself) (`source`) | Not declared | Not set | ## Script & event binding Page JavaScript and a trigger binding. It draws a script card in the Composer and no visible public section. Also carries: Advanced fields. See [shared fields](https://docs.amadalis.ai/reference/sections/common-fields/). | Field | Input | Required | Choices | Field default | Starter value | | --- | --- | --- | --- | --- | --- | | Name `label` | Text | Yes | No fixed list | Not declared | Starter text | | Trigger `on` | Choice | Yes | Page load (`load`); Click (`click`); Submit (`submit`); Becomes visible (`visible`); Scroll depth (`scroll`); Toggle open (`toggle`); Hover (`hover`) | Not declared | Page load | | Target (CSS selector) `target` | Text | No | No fixed list | Not declared | Not set | | Scroll threshold % `scrollPct` | Number | No | No fixed list | Not declared | Not set | | Hover time (ms) `dwellMs` | Number | No | No fixed list | Not declared | Not set | | Capture event to emit `event` | Text | No | No fixed list | Not declared | Not set | | JavaScript `code` | Long text | No | No fixed list | Not declared | Empty | [Browse section families](https://docs.amadalis.ai/reference/sections/) ## Your next step Return to [the Composer](https://docs.amadalis.ai/composer/composer/#select-and-edit-a-section), select the section and review its editable fields. Apply your draft change and inspect the page preview before publishing. Source: https://docs.amadalis.ai/reference/sections/commerce/ # Commerce reference Open a page in **Composer** in the site admin and select the section you are inspecting. Use **Settings** and **Appearance** alongside the fields below. Read the [shared field guide](https://docs.amadalis.ai/reference/sections/common-fields/) for the meaning of the table columns. Checked against the product’s code on 7 November 2026. This reference lists the catalog fields and their basic starter configuration. Read [Shared section fields](https://docs.amadalis.ai/reference/sections/common-fields/) for the default rules and the shared groups of fields added to these sections. A chosen preset can start with different values. CTA means call to action, such as a button inviting a purchase. ## Pricing A display of plans and their authored details. This section is page content, not an account billing control. Also carries: Advanced fields, Appearance fields. See [shared fields](https://docs.amadalis.ai/reference/sections/common-fields/). | Field | Input | Required | Choices | Field default | Starter value | | --- | --- | --- | --- | --- | --- | | Section number `pxLabelNumber` | Formatted text | No | No fixed list | Not declared | Not set | | Section label `pxLabel` | Formatted text | No | No fixed list | Not declared | Not set | | Headline `headline` | Formatted text | No | No fixed list | Not declared | Not set | | Band tone `tone` | Choice | No | Page canvas (default) (`default`); Primary band (`primary`); Accent band (`accent`); Subtle surface (`surface`); Stage (near black, with glow) (`stage`) | Not declared | Not set | | Footnote line (under the plans) `noteText` | Formatted text | No | No fixed list | Not declared | Not set | | Footnote link label `noteLinkLabel` | Formatted text | No | No fixed list | Not declared | Not set | | Footnote link URL `noteLinkUrl` | Link | No | No fixed list | Not declared | Not set | | Plans `plans` | List of entries | No | No fixed list | Not declared | 3 starter entries | | Name `plans[].name` | Formatted text | Yes | No fixed list | Not declared | Starter text | | Price `plans[].price` | Formatted text | No | No fixed list | Not declared | Starter amount or offer text | | Period `plans[].period` | Formatted text | No | No fixed list | Not declared | Empty | | Features `plans[].features` | List of entries | No | No fixed list | Not declared | Starter text | | Feature `plans[].features[].text` | Formatted text | No | No fixed list | Not declared | Not set | | CTA label `plans[].ctaLabel` | Formatted text | No | No fixed list | Not declared | Starter text | | CTA URL `plans[].ctaUrl` | Link | No | No fixed list | Not declared | Empty | | Highlighted `plans[].highlighted` | Yes or no | No | No fixed list | Not declared | No; Yes | | Picture beside the words `pxAsideImage` | Picture | No | No fixed list | Not declared | Not set | | Picture description (alt text) `pxAsideAlt` | Text | No | No fixed list | Not declared | Not set | | Picture caption `pxAsideCaption` | Formatted text | No | No fixed list | Not declared | Not set | | Picture side `pxAsidePosition` | Choice | No | Right (`right`); Left (`left`) | Right | Not set | | Picture frame `pxAsideFrame` | Choice | No | None (`none`); Screen (`screen`); Dark stage (`stage`); Light (`light`) | None | Not set | | Picture width `pxAsideWidth` | Choice | No | Even (`even`); Wide (`wide`); Narrow (`narrow`) | Even | Not set | | Heading place `pxAsideHead` | Choice | No | Above both columns (`above`); Beside the picture, over the words (`beside`) | Above both columns | Not set | ## Shopify product A product embed using the supplied Shopify product details. Also carries: Advanced fields, Appearance fields. See [shared fields](https://docs.amadalis.ai/reference/sections/common-fields/). | Field | Input | Required | Choices | Field default | Starter value | | --- | --- | --- | --- | --- | --- | | Shopify store domain (e.g. acme.myshopify.com) `storeDomain` | Text | Yes | No fixed list | Not declared | Not set | | Product handle (the product’s URL slug in Shopify) `productHandle` | Text | No | No fixed list | Not declared | Not set | | Storefront public access token from Shopify admin `storefrontToken` | Text | No | No fixed list | Not declared | Not set | | Button label `buttonLabel` | Formatted text | No | No fixed list | Not declared | Starter text | | Show price `showPrice` | Yes or no | No | No fixed list | Not declared | Yes | | Layout `layout` | Choice | No | Product card (image, title, price, button) (`card`); Buy button only (`button`) | Not declared | Product card (image, title, price, button) | | Legacy Shopify product ID (migrated buy button) `legacyProductId` | Text | No | No fixed list | Not declared | Not set | ## Comparison table A table of compared options and features. Also carries: Advanced fields, Appearance fields. See [shared fields](https://docs.amadalis.ai/reference/sections/common-fields/). | Field | Input | Required | Choices | Field default | Starter value | | --- | --- | --- | --- | --- | --- | | Section number `pxLabelNumber` | Formatted text | No | No fixed list | Not declared | Not set | | Section label `pxLabel` | Formatted text | No | No fixed list | Not declared | Not set | | Headline `headline` | Formatted text | No | No fixed list | Not declared | Starter text | | Heading above the row labels (optional) `featureHeading` | Formatted text | No | No fixed list | Not declared | Not set | | First column heading `columnA` | Formatted text | Yes | No fixed list | Not declared | Starter text | | Second column heading `columnB` | Formatted text | Yes | No fixed list | Not declared | Starter text | | Third column heading (optional) `columnC` | Formatted text | No | No fixed list | Not declared | Not set | | Rows `rows` | List of entries | No | No fixed list | Not declared | 4 starter entries | | Feature `rows[].feature` | Formatted text | Yes | No fixed list | Not declared | Starter text | | First column (yes, no, or a value) `rows[].a` | Formatted text | No | No fixed list | Not declared | Starter text | | Second column (yes, no, or a value) `rows[].b` | Formatted text | No | No fixed list | Not declared | Starter text | | Third column (yes, no, or a value) `rows[].c` | Formatted text | No | No fixed list | Not declared | Not set | | Footnote `footnote` | Formatted text | No | No fixed list | Not declared | Not set | | Picture beside the words `pxAsideImage` | Picture | No | No fixed list | Not declared | Not set | | Picture description (alt text) `pxAsideAlt` | Text | No | No fixed list | Not declared | Not set | | Picture caption `pxAsideCaption` | Formatted text | No | No fixed list | Not declared | Not set | | Picture side `pxAsidePosition` | Choice | No | Right (`right`); Left (`left`) | Right | Not set | | Picture frame `pxAsideFrame` | Choice | No | None (`none`); Screen (`screen`); Dark stage (`stage`); Light (`light`) | None | Not set | | Picture width `pxAsideWidth` | Choice | No | Even (`even`); Wide (`wide`); Narrow (`narrow`) | Even | Not set | | Heading place `pxAsideHead` | Choice | No | Above both columns (`above`); Beside the picture, over the words (`beside`) | Above both columns | Not set | ## Services Selected services from a connected business. Only approved public details render. The private selection data is kept out of the public page. Also carries: Advanced fields, Appearance fields. See [shared fields](https://docs.amadalis.ai/reference/sections/common-fields/). | Field | Input | Required | Choices | Field default | Starter value | | --- | --- | --- | --- | --- | --- | | Name `label` | Text | No | No fixed list | Not declared | Starter text | | Services `collection` | Services chosen in the editor | No | No fixed list | Not declared | Not set | | Services selection `editorial` (private) | Private Services selection | No | No fixed list | Not declared | Not set | | Section number `pxLabelNumber` | Formatted text | No | No fixed list | Not declared | Not set | | Section label `pxLabel` | Formatted text | No | No fixed list | Not declared | Not set | Use the Services editor to choose the source services. The selection values are managed by that editor. They are not free text fields. [Browse section families](https://docs.amadalis.ai/reference/sections/) ## Your next step Return to [the Composer](https://docs.amadalis.ai/composer/composer/#select-and-edit-a-section), select the section and review its editable fields. Apply your draft change and inspect the page preview before publishing. Source: https://docs.amadalis.ai/reference/sections/common-fields/ # Shared section fields In **Composer**, select a section and open **Settings** or **Appearance** for its editable fields. This reference explains the shared controls used by different section types. Each family page names the groups it supports; not every section type offers every control. Checked against the product’s code on 7 November 2026. These field groups are reused by the catalog. A family page says which groups its section carries. **Not declared** means the field declares no default. **Not set** means the seed starter has no value. Neither phrase promises how an empty field will render. An empty quote or Team join card field can appear as a named editing slot in Composer. Empty quote text draws no rule, and blank testimonial role or company fields add no separating comma. A starter value or a required field is different from an empty optional field. Use a section’s own settings to change its words and presentation. Some fields preserve details from an imported design. Their labels identify that purpose. When a picture description box shows **Up to 500 characters.**, a longer new description is refused. The box reports its length and asks you to shorten it. Older stored descriptions keep their previous rendering. ## Advanced fields In the tables, the readable name is the field label; the code beneath it identifies the stored field. CTA means call to action, usually a button or link. CSS describes visual styling. An HTML anchor names a place a link can jump to. The units `px`, `em` and `rem` express sizes in pixels or relative to text size. Values labelled as coming from the source preserve a choice from an imported design. | Field | Input | Required | Choices | Field default | Starter value | | --- | --- | --- | --- | --- | --- | | Outer margin (declared by the source, e.g. 0px 0px 20px 0px) `blockMargin` | Text | No | No fixed list | Not declared | Not set | | Outer margin (tablet) `blockMarginTablet` | Text | No | No fixed list | Not declared | Not set | | Outer margin (mobile) `blockMarginMobile` | Text | No | No fixed list | Not declared | Not set | | Inner padding (declared by the source, e.g. 10px 0px 10px 0px) `blockPadding` | Text | No | No fixed list | Not declared | Not set | | Inner padding (tablet) `blockPaddingTablet` | Text | No | No fixed list | Not declared | Not set | | Inner padding (mobile) `blockPaddingMobile` | Text | No | No fixed list | Not declared | Not set | | Joins the block above (no column gap between them) `joinsPrevious` | Yes or no | No | No fixed list | Not declared | Not set | | Entrance animation (declared by the source, e.g. fadeInUp) `entranceAnimation` | Text | No | No fixed list | Not declared | Not set | | Entrance animation delay (ms) `entranceDelayMs` | Number | No | No fixed list | Not declared | Not set | | Entrance animation duration `entranceDuration` | Choice | No | Slow (2s) (`slow`); Normal (1.25s) (`normal`); Fast (0.75s) (`fast`) | Not declared | Not set | | HTML anchor `pxTargetId` | HTML anchor | No | No fixed list | Not declared | Not set | | Additional CSS classes `pxClassNames` | CSS classes | No | No fixed list | Not declared | Not set | ## Text presentation fields | Field | Input | Required | Choices | Field default | Starter value | | --- | --- | --- | --- | --- | --- | | Font family (declared by the source, e.g. Roboto, sans-serif) `fontFamily` | Text | No | No fixed list | Not declared | Not set | | Font weight (declared, e.g. 600) `fontWeight` | Text | No | No fixed list | Not declared | Not set | | Font size (declared, e.g. 36px or 1.1em) `fontSize` | Text | No | No fixed list | Not declared | Not set | | Font size, tablet (declared) `fontSizeTablet` | Text | No | No fixed list | Not declared | Not set | | Font size, mobile (declared) `fontSizeMobile` | Text | No | No fixed list | Not declared | Not set | | Line height (declared, e.g. 1.2 or 24px) `lineHeight` | Text | No | No fixed list | Not declared | Not set | | Line height, tablet (declared) `lineHeightTablet` | Text | No | No fixed list | Not declared | Not set | | Line height, mobile (declared) `lineHeightMobile` | Text | No | No fixed list | Not declared | Not set | | Letter spacing (declared, e.g. 0.5px or -0.02em) `letterSpacing` | Text | No | No fixed list | Not declared | Not set | | Letter spacing, tablet (declared) `letterSpacingTablet` | Text | No | No fixed list | Not declared | Not set | | Letter spacing, mobile (declared) `letterSpacingMobile` | Text | No | No fixed list | Not declared | Not set | | Text transform (declared by the source) `textTransform` | Choice | No | None (`none`); Uppercase (`uppercase`); Lowercase (`lowercase`); Capitalize (`capitalize`) | Not declared | Not set | | Font style (declared by the source) `fontStyle` | Choice | No | Normal (`normal`); Italic (`italic`) | Not declared | Not set | ## Appearance fields | Field | Input | Required | Choices | Field default | Starter value | | --- | --- | --- | --- | --- | --- | | Section styling `pxStyle` | Appearance settings | No | No fixed list | Not declared | Not set | **Heading wrap** is offered on a section heading, card title or group title in its styling controls. **Automatic** is the default; **Balanced** and **Pretty** store a choice for that heading, across screen sizes and states. Unsupported browsers keep their normal wrapping. This is a heading-part style, not a whole-section field or a theme token. ## Element classes | Field | Input | Required | Choices | Field default | Starter value | | --- | --- | --- | --- | --- | --- | | Additional CSS classes `pxClassNames` | CSS classes | No | No fixed list | Not declared | Not set | ## Reading the defaults A field default is a default declared by that field. A starter value is the value in the basic catalog preset. A chosen designed preset, template or existing page can supply different content. The tables identify sample words and pictures as starter content. They do not present sample business claims or amounts as real offers. The Composer groups these fields under **Words**, **Entries**, **Layout**, **Behaviour** and **Motion**. A field with tablet and mobile copies appears once, with a **Desktop**, **Tablet** and **Phone** strip. **HTML anchor** and **Additional CSS classes** are under **Advanced**. Section and element styling open from the **Appearance** tab. An optional choice with no default and no starter value also offers **None**, which leaves it empty. A list field has one row for the list and rows for each child field. Required means the catalog marks that field as required. Some sections still draw nothing until a file, form, service or content result is available. [Browse section families](https://docs.amadalis.ai/reference/sections/) ## Your next step Return to [the Composer](https://docs.amadalis.ai/composer/composer/#select-and-edit-a-section), select the section and review its editable fields. Apply your draft change and inspect the page preview before publishing. Source: https://docs.amadalis.ai/reference/sections/content/ # Content reference Open a page in **Composer** in the site admin and select the section you are inspecting. Use **Settings** and **Appearance** alongside the fields below. Read the [shared field guide](https://docs.amadalis.ai/reference/sections/common-fields/) for the meaning of the table columns. Checked against the product’s code on 7 November 2026. This reference lists the catalog fields and their basic starter configuration. Read [Shared section fields](https://docs.amadalis.ai/reference/sections/common-fields/) for the default rules and the shared groups of fields added to these sections. A chosen preset can start with different values. Eyebrow means the small label above a heading. CTA means call to action, such as a button or link. **Inherited** keeps the font supplied by the surrounding page. ## Features A group of feature cards, with headings, descriptions and optional icons or pictures. Also carries: Advanced fields, Appearance fields. See [shared fields](https://docs.amadalis.ai/reference/sections/common-fields/). | Field | Input | Required | Choices | Field default | Starter value | | --- | --- | --- | --- | --- | --- | | Section number `pxLabelNumber` | Formatted text | No | No fixed list | Not declared | Not set | | Section label `pxLabel` | Formatted text | No | No fixed list | Not declared | Not set | | Eyebrow `eyebrow` | Formatted text | No | No fixed list | Not declared | Not set | | Headline `headline` | Formatted text | No | No fixed list | Not declared | Not set | | Subheadline `subheadline` | Formatted text | No | No fixed list | Not declared | Not set | | CTA label `ctaLabel` | Formatted text | No | No fixed list | Not declared | Not set | | CTA URL `ctaUrl` | Link | No | No fixed list | Not declared | Not set | | Columns `columns` | Choice | No | 2 (`2`); 3 (`3`); 4 (`4`) | Not declared | 3 | | Band tone `tone` | Choice | No | Page background (default) (`default`); Primary band (`primary`); Subtle surface band (`surface`); Stage (near black, with glow) (`stage`) | Not declared | Not set | | Features `items` | List of entries | No | No fixed list | Not declared | 3 starter entries | | Icon `items[].icon` | Choice | No | No icon (empty value); zap (`zap`); shield (`shield`); users (`users`); chart (`chart`); code (`code`); globe (`globe`); heart (`heart`); star (`star`); check (`check`); lock (`lock`); clock (`clock`); cloud (`cloud`) | Not declared | zap; shield; globe | | Image `items[].imageUrl` | Picture | No | No fixed list | Not declared | Not set | | Picture description (alt text) `items[].imageAlt` | Text | No | No fixed list | Not declared | Not set | | Image loading (declared by the source; absence means eager) `items[].imageLoading` | Choice | No | Eager (loads immediately) (`eager`); Lazy (loads once scrolled into view) (`lazy`) | Not declared | Not set | | Image decoding (declared by the source) `items[].imageDecoding` | Choice | No | Async (`async`); Sync (`sync`); Auto (`auto`) | Not declared | Not set | | Image fetch priority (declared by the source) `items[].imageFetchPriority` | Choice | No | High (`high`); Low (`low`); Auto (`auto`) | Not declared | Not set | | Title `items[].title` | Formatted text | Yes | No fixed list | Not declared | Starter text | | Description `items[].description` | Formatted text | No | No fixed list | Not declared | Starter text | | Badge `items[].badge` | Formatted text | No | No fixed list | Not declared | Not set | | Stats `items[].stats` | List of entries | No | No fixed list | Not declared | Not set | | Stat `items[].stats[].text` | Formatted text | No | No fixed list | Not declared | Not set | | Index list `indexItems` | List of entries | No | No fixed list | Not declared | Not set | | Entry shows as `indexItems[].entry` | Choice | No | Group (a number, a name and a line) (`group`); Link row (one link under the group above) (`link`) | Not declared | Not set | | Group number `indexItems[].badge` | Formatted text | No | No fixed list | Not declared | Not set | | Group name `indexItems[].title` | Formatted text | No | No fixed list | Not declared | Not set | | Group line `indexItems[].description` | Formatted text | No | No fixed list | Not declared | Not set | | Link words `indexItems[].linkLabel` | Formatted text | No | No fixed list | Not declared | Not set | | Link `indexItems[].linkUrl` | Link | No | No fixed list | Not declared | Not set | | Room line `indexItems[].room` | Formatted text | No | No fixed list | Not declared | Not set | | Picture beside the words `pxAsideImage` | Picture | No | No fixed list | Not declared | Not set | | Picture description (alt text) `pxAsideAlt` | Text | No | No fixed list | Not declared | Not set | | Picture caption `pxAsideCaption` | Formatted text | No | No fixed list | Not declared | Not set | | Picture side `pxAsidePosition` | Choice | No | Right (`right`); Left (`left`) | Right | Not set | | Picture frame `pxAsideFrame` | Choice | No | None (`none`); Screen (`screen`); Dark stage (`stage`); Light (`light`) | None | Not set | | Picture width `pxAsideWidth` | Choice | No | Even (`even`); Wide (`wide`); Narrow (`narrow`) | Even | Not set | | Heading place `pxAsideHead` | Choice | No | Above both columns (`above`); Beside the picture, over the words (`beside`) | Above both columns | Not set | ## FAQ Questions and answers with layout and opening controls. Also carries: Advanced fields, Appearance fields. See [shared fields](https://docs.amadalis.ai/reference/sections/common-fields/). | Field | Input | Required | Choices | Field default | Starter value | | --- | --- | --- | --- | --- | --- | | Section number `pxLabelNumber` | Formatted text | No | No fixed list | Not declared | Not set | | Section label `pxLabel` | Formatted text | No | No fixed list | Not declared | Not set | | Headline `headline` | Formatted text | No | No fixed list | Not declared | Not set | | Layout `layout` | Choice | No | Accordion (default) (`accordion`); Two columns, all open (`columns`) | Not declared | Not set | | First question open when the page loads `openFirst` | Yes or no | No | No fixed list | Not declared | Not set | | Question frame `itemFrame` | Choice | No | Separate cards (default) (`cards`); One bordered list (questions share their borders) (`joined`) | Not declared | Not set | | Open/close icon `iconPosition` | Choice | No | After the question (default) (`end`); Before the question (`start`) | Not declared | Not set | | Question typeface `questionTypeface` | Choice | No | Inherited (default) (`inherit`); The section’s heading typeface (`heading`) | Not declared | Not set | | Answer typeface `answerTypeface` | Choice | No | Inherited (default) (`inherit`); The section’s text typeface (`text`) | Not declared | Not set | | Open question colour (declared by the source, e.g. #61CE70) `activeQuestionColor` | Text | No | No fixed list | Not declared | Not set | | Question padding (declared by the source, e.g. 15px 20px) `questionPadding` | Text | No | No fixed list | Not declared | Not set | | Question padding on a phone (declared by the source, e.g. 12px 15px) `questionPaddingMobile` | Text | No | No fixed list | Not declared | Not set | | Answer padding (declared by the source, e.g. 15px 20px) `answerPadding` | Text | No | No fixed list | Not declared | Not set | | Answer padding on a phone (declared by the source, e.g. 7px 15px) `answerPaddingMobile` | Text | No | No fixed list | Not declared | Not set | | Questions `items` | List of entries | No | No fixed list | Not declared | 1 starter entries | | Question `items[].question` | Formatted text | Yes | No fixed list | Not declared | Starter text | | Answer `items[].answer` | Formatted text | Yes | No fixed list | Not declared | Starter text | | Category heading (groups consecutive questions) `items[].group` | Formatted text | No | No fixed list | Not declared | Not set | | Escape-hatch line (after the questions) `footerText` | Formatted text | No | No fixed list | Not declared | Not set | | Escape-hatch link label `footerCtaLabel` | Formatted text | No | No fixed list | Not declared | Not set | | Escape-hatch link URL `footerCtaUrl` | Link | No | No fixed list | Not declared | Not set | | Picture beside the words `pxAsideImage` | Picture | No | No fixed list | Not declared | Not set | | Picture description (alt text) `pxAsideAlt` | Text | No | No fixed list | Not declared | Not set | | Picture caption `pxAsideCaption` | Formatted text | No | No fixed list | Not declared | Not set | | Picture side `pxAsidePosition` | Choice | No | Right (`right`); Left (`left`) | Right | Not set | | Picture frame `pxAsideFrame` | Choice | No | None (`none`); Screen (`screen`); Dark stage (`stage`); Light (`light`) | None | Not set | | Picture width `pxAsideWidth` | Choice | No | Even (`even`); Wide (`wide`); Narrow (`narrow`) | Even | Not set | | Heading place `pxAsideHead` | Choice | No | Above both columns (`above`); Beside the picture, over the words (`beside`) | Above both columns | Not set | ## Rich text Formatted body content. Also carries: Advanced fields, Appearance fields. See [shared fields](https://docs.amadalis.ai/reference/sections/common-fields/). | Field | Input | Required | Choices | Field default | Starter value | | --- | --- | --- | --- | --- | --- | | Section number `pxLabelNumber` | Formatted text | No | No fixed list | Not declared | Not set | | Section label `pxLabel` | Formatted text | No | No fixed list | Not declared | Not set | | Content (ask the copilot to edit formatted content; this box edits raw text only) `content` | Rich text | No | No fixed list | Not declared | Starter text | | Picture beside the words `pxAsideImage` | Picture | No | No fixed list | Not declared | Not set | | Picture description (alt text) `pxAsideAlt` | Text | No | No fixed list | Not declared | Not set | | Picture caption `pxAsideCaption` | Formatted text | No | No fixed list | Not declared | Not set | | Picture side `pxAsidePosition` | Choice | No | Right (`right`); Left (`left`) | Right | Not set | | Picture frame `pxAsideFrame` | Choice | No | None (`none`); Screen (`screen`); Dark stage (`stage`); Light (`light`) | None | Not set | | Picture width `pxAsideWidth` | Choice | No | Even (`even`); Wide (`wide`); Narrow (`narrow`) | Even | Not set | | Heading place `pxAsideHead` | Choice | No | Above both columns (`above`); Beside the picture, over the words (`beside`) | Above both columns | Not set | ## Members-only boundary A marker for the boundary between public and restricted content. It draws a placeholder in the Composer and no public marker. Also carries: Advanced fields. See [shared fields](https://docs.amadalis.ai/reference/sections/common-fields/). | Field | Input | Required | Choices | Field default | Starter value | | --- | --- | --- | --- | --- | --- | | Name `label` | Text | No | No fixed list | Not declared | Starter text | | Boundary `role` | Choice | No | Members-only starts here (`begins`); Members-only ends here (`ends`) | Members-only starts here | Members-only starts here | ## Custom field The value of a selected custom field. Also carries: Advanced fields, Appearance fields. See [shared fields](https://docs.amadalis.ai/reference/sections/common-fields/). | Field | Input | Required | Choices | Field default | Starter value | | --- | --- | --- | --- | --- | --- | | Field slug `fieldSlug` | Text | Yes | No fixed list | Not declared | Empty | | Label `label` | Formatted text | No | No fixed list | Not declared | Empty | | Show label `showLabel` | Yes or no | No | No fixed list | Not declared | No | ## Stats A group of labelled figures. Also carries: Advanced fields, Appearance fields. See [shared fields](https://docs.amadalis.ai/reference/sections/common-fields/). | Field | Input | Required | Choices | Field default | Starter value | | --- | --- | --- | --- | --- | --- | | Section number `pxLabelNumber` | Formatted text | No | No fixed list | Not declared | Not set | | Section label `pxLabel` | Formatted text | No | No fixed list | Not declared | Not set | | Headline `headline` | Formatted text | No | No fixed list | Not declared | Not set | | Body `body` | Formatted text | No | No fixed list | Not declared | Not set | | Layout `layout` | Choice | No | Centered (default) (`centered`); Heading left, numbers right (`split`); Compact proof strip (`strip`); Facts list (`facts`) | Not declared | Not set | | Place `placement` | Choice | No | In its own band (default) (`band`); Beside the hero above (`beside`) | Not declared | Not set | | Band tone `tone` | Choice | No | Page canvas (default) (`default`); Primary band (`primary`); Accent band (`accent`); Subtle surface (`surface`); Stage (near black, with glow) (`stage`) | Not declared | Not set | | Style `style` | Choice | No | Plain (default) (`plain`); Stat cards (`cards`) | Not declared | Not set | | Figure `statFrame` | Choice | No | The theme’s figure (default) (`default`); A counter: a large number over its caption (`counter`) | Not declared | Not set | | Number typeface `valueTypeface` | Choice | No | Inherited (default) (`inherit`); The section’s heading typeface (`heading`) | Not declared | Not set | | Font family (declared by the source, e.g. Roboto Slab) `fontFamily` | Text | No | No fixed list | Not declared | Not set | | Font weight (declared, e.g. 400) `fontWeight` | Text | No | No fixed list | Not declared | Not set | | Number size (for example 1.25rem) `valueSize` | Text | No | No fixed list | Not declared | Not set | | Caption size (declared by the source, e.g. 19px) `labelSize` | Text | No | No fixed list | Not declared | Not set | | Stats `items` | List of entries | No | No fixed list | Not declared | 1 starter entries | | Icon `items[].icon` | Choice | No | No icon (empty value); zap (`zap`); shield (`shield`); users (`users`); chart (`chart`); code (`code`); globe (`globe`); heart (`heart`); star (`star`); check (`check`); lock (`lock`); clock (`clock`); cloud (`cloud`) | Not declared | Not set | | Value `items[].value` | Formatted text | Yes | No fixed list | Not declared | Starter text | | Value prefix (the start of the value a counter prints in its own box, e.g. $) `items[].valuePrefix` | Formatted text | No | No fixed list | Not declared | Not set | | Value suffix (the end of the value a counter prints in its own box, e.g. +) `items[].valueSuffix` | Formatted text | No | No fixed list | Not declared | Not set | | Label `items[].label` | Formatted text | No | No fixed list | Not declared | Starter text | | Picture beside the words `pxAsideImage` | Picture | No | No fixed list | Not declared | Not set | | Picture description (alt text) `pxAsideAlt` | Text | No | No fixed list | Not declared | Not set | | Picture caption `pxAsideCaption` | Formatted text | No | No fixed list | Not declared | Not set | | Picture side `pxAsidePosition` | Choice | No | Right (`right`); Left (`left`) | Right | Not set | | Picture frame `pxAsideFrame` | Choice | No | None (`none`); Screen (`screen`); Dark stage (`stage`); Light (`light`) | None | Not set | | Picture width `pxAsideWidth` | Choice | No | Even (`even`); Wide (`wide`); Narrow (`narrow`) | Even | Not set | | Heading place `pxAsideHead` | Choice | No | Above both columns (`above`); Beside the picture, over the words (`beside`) | Above both columns | Not set | ## Image & text A picture beside text and an optional button. Also carries: Advanced fields, Appearance fields. See [shared fields](https://docs.amadalis.ai/reference/sections/common-fields/). | Field | Input | Required | Choices | Field default | Starter value | | --- | --- | --- | --- | --- | --- | | Section number `pxLabelNumber` | Formatted text | No | No fixed list | Not declared | Not set | | Section label `pxLabel` | Formatted text | No | No fixed list | Not declared | Not set | | Open full size on click `lightbox` | Yes or no | No | No fixed list | Yes | Not set | | Eyebrow `eyebrow` | Formatted text | No | No fixed list | Not declared | Starter text | | Headline `headline` | Formatted text | Yes | No fixed list | Not declared | Starter text | | Body `body` | Formatted text | No | No fixed list | Not declared | Starter text | | Bullets `bullets` | List of entries | No | No fixed list | Not declared | 3 starter entries | | Text `bullets[].text` | Formatted text | Yes | No fixed list | Not declared | Starter text | | Image `imageUrl` | Picture | No | No fixed list | Not declared | Starter picture | | Image alt text `imageAlt` | Text | No | No fixed list | Not declared | Starter text | | Picture fit `imageFit` | Choice | No | Show the whole picture (`whole`); Fill the frame (`fill`) | Show the whole picture | Not set | | Band tone `tone` | Choice | No | Page canvas (default) (`default`); Stage (near black, with glow) (`stage`) | Not declared | Not set | | Picture frame `pxAsideFrame` | Choice | No | None (`none`); Screen (`screen`); Dark stage (`stage`); Light (`light`) | None | Not set | | Image position `mediaPosition` | Choice | No | Left (`left`); Right (`right`) | Not declared | Left | | Composition `layout` | Choice | No | 50/50 split (default) (`split`); Offset editorial (image bleeds) (`offset`); Stacked, centered (`stacked`); Full-bleed image band, copy over it (`overlay`) | Not declared | Not set | | Pull-quote `pullQuote` | Formatted text | No | No fixed list | Not declared | Not set | | Pull-quote attribution `pullQuoteAttribution` | Formatted text | No | No fixed list | Not declared | Not set | | Stat value `statValue` | Formatted text | No | No fixed list | Not declared | Not set | | Stat label `statLabel` | Formatted text | No | No fixed list | Not declared | Not set | | Link label `ctaLabel` | Formatted text | No | No fixed list | Not declared | Starter text | | Link URL `ctaUrl` | Link | No | No fixed list | Not declared | Empty | ## Team A group of people with pictures and profile details. Also carries: Advanced fields, Appearance fields. See [shared fields](https://docs.amadalis.ai/reference/sections/common-fields/). | Field | Input | Required | Choices | Field default | Starter value | | --- | --- | --- | --- | --- | --- | | Section number `pxLabelNumber` | Formatted text | No | No fixed list | Not declared | Not set | | Section label `pxLabel` | Formatted text | No | No fixed list | Not declared | Not set | | Headline `headline` | Formatted text | No | No fixed list | Not declared | Starter text | | Subheadline `subheadline` | Formatted text | No | No fixed list | Not declared | Not set | | Layout `layout` | Choice | No | Photo cards (default) (`grid`); Profiles (photo beside bio) (`profiles`) | Not declared | Not set | | Members `members` | List of entries | No | No fixed list | Not declared | 3 starter entries | | Photo `members[].photoUrl` | Picture | No | No fixed list | Not declared | Starter picture | | Name `members[].name` | Formatted text | Yes | No fixed list | Not declared | Starter text | | Role `members[].role` | Formatted text | No | No fixed list | Not declared | Starter text | | Short bio `members[].bio` | Formatted text | No | No fixed list | Not declared | Not set | | Profile URL `members[].linkUrl` | Link | No | No fixed list | Not declared | Not set | | Join-us card title `joinTitle` | Formatted text | No | No fixed list | Not declared | Not set | | Join-us card body `joinBody` | Formatted text | No | No fixed list | Not declared | Not set | | Join-us card link label `joinCtaLabel` | Formatted text | No | No fixed list | Not declared | Not set | | Join-us card link URL `joinCtaUrl` | Link | No | No fixed list | Not declared | Not set | | Picture beside the words `pxAsideImage` | Picture | No | No fixed list | Not declared | Not set | | Picture description (alt text) `pxAsideAlt` | Text | No | No fixed list | Not declared | Not set | | Picture caption `pxAsideCaption` | Formatted text | No | No fixed list | Not declared | Not set | | Picture side `pxAsidePosition` | Choice | No | Right (`right`); Left (`left`) | Right | Not set | | Picture frame `pxAsideFrame` | Choice | No | None (`none`); Screen (`screen`); Dark stage (`stage`); Light (`light`) | None | Not set | | Picture width `pxAsideWidth` | Choice | No | Even (`even`); Wide (`wide`); Narrow (`narrow`) | Even | Not set | | Heading place `pxAsideHead` | Choice | No | Above both columns (`above`); Beside the picture, over the words (`beside`) | Above both columns | Not set | ## Timeline / steps An ordered sequence of steps. Also carries: Advanced fields, Appearance fields. See [shared fields](https://docs.amadalis.ai/reference/sections/common-fields/). | Field | Input | Required | Choices | Field default | Starter value | | --- | --- | --- | --- | --- | --- | | Section number `pxLabelNumber` | Formatted text | No | No fixed list | Not declared | Not set | | Section label `pxLabel` | Formatted text | No | No fixed list | Not declared | Not set | | Headline `headline` | Formatted text | No | No fixed list | Not declared | Starter text | | Layout `layout` | Choice | No | Numbered steps (`steps`); Vertical timeline (`vertical`); Alternating sides (`alternating`) | Not declared | Numbered steps | | Steps per row `stepColumns` | Choice | No | Automatic (`auto`); 2 per row (`2`); 3 per row (`3`); 4 per row (`4`) | Automatic | Not set | | Steps `items` | List of entries | No | No fixed list | Not declared | 3 starter entries | | Marker (a number or a date) `items[].marker` | Formatted text | No | No fixed list | Not declared | Starter text | | Title `items[].title` | Formatted text | Yes | No fixed list | Not declared | Starter text | | Description `items[].description` | Formatted text | No | No fixed list | Not declared | Starter text | | Duration chip (how long this step really takes) `items[].duration` | Formatted text | No | No fixed list | Not declared | Not set | | Picture beside the words `pxAsideImage` | Picture | No | No fixed list | Not declared | Not set | | Picture description (alt text) `pxAsideAlt` | Text | No | No fixed list | Not declared | Not set | | Picture caption `pxAsideCaption` | Formatted text | No | No fixed list | Not declared | Not set | | Picture side `pxAsidePosition` | Choice | No | Right (`right`); Left (`left`) | Right | Not set | | Picture frame `pxAsideFrame` | Choice | No | None (`none`); Screen (`screen`); Dark stage (`stage`); Light (`light`) | None | Not set | | Picture width `pxAsideWidth` | Choice | No | Even (`even`); Wide (`wide`); Narrow (`narrow`) | Even | Not set | | Heading place `pxAsideHead` | Choice | No | Above both columns (`above`); Beside the picture, over the words (`beside`) | Above both columns | Not set | ## Blog teaser A set of authored teaser cards. Also carries: Advanced fields, Appearance fields. See [shared fields](https://docs.amadalis.ai/reference/sections/common-fields/). | Field | Input | Required | Choices | Field default | Starter value | | --- | --- | --- | --- | --- | --- | | Section number `pxLabelNumber` | Formatted text | No | No fixed list | Not declared | Not set | | Section label `pxLabel` | Formatted text | No | No fixed list | Not declared | Not set | | Headline `headline` | Formatted text | No | No fixed list | Not declared | Starter text | | Layout `layout` | Choice | No | Card grid (`grid`); List (`list`); Featured + grid (`featured`) | Not declared | Card grid | | Posts `posts` | List of entries | No | No fixed list | Not declared | 3 starter entries | | Image `posts[].imageUrl` | Picture | No | No fixed list | Not declared | Starter picture | | Picture fit `posts[].imageFit` | Choice | No | Show the whole picture (`whole`); Fill the frame (`fill`) | Show the whole picture | Not set | | Category `posts[].category` | Formatted text | No | No fixed list | Not declared | Starter text | | Title `posts[].title` | Formatted text | Yes | No fixed list | Not declared | Starter text | | Excerpt `posts[].excerpt` | Formatted text | No | No fixed list | Not declared | Starter text | | Date `posts[].date` | Text | No | No fixed list | Not declared | Starter text | | Post URL `posts[].url` | Link | No | No fixed list | Not declared | Empty | | Picture beside the words `pxAsideImage` | Picture | No | No fixed list | Not declared | Not set | | Picture description (alt text) `pxAsideAlt` | Text | No | No fixed list | Not declared | Not set | | Picture caption `pxAsideCaption` | Formatted text | No | No fixed list | Not declared | Not set | | Picture side `pxAsidePosition` | Choice | No | Right (`right`); Left (`left`) | Right | Not set | | Picture frame `pxAsideFrame` | Choice | No | None (`none`); Screen (`screen`); Dark stage (`stage`); Light (`light`) | None | Not set | | Picture width `pxAsideWidth` | Choice | No | Even (`even`); Wide (`wide`); Narrow (`narrow`) | Even | Not set | | Heading place `pxAsideHead` | Choice | No | Above both columns (`above`); Beside the picture, over the words (`beside`) | Above both columns | Not set | ## Live list Content supplied by a list query. On a page using a library theme or on a site that was not migrated, a resolved empty list shows its empty-state words without zero counts. Custom and imported themes on migrated sites keep their earlier empty-count behaviour. A public list with no loaded result draws nothing; the canvas can keep it selectable. Also carries: Advanced fields, Appearance fields. See [shared fields](https://docs.amadalis.ai/reference/sections/common-fields/). | Field | Input | Required | Choices | Field default | Starter value | | --- | --- | --- | --- | --- | --- | | Section number `pxLabelNumber` | Formatted text | No | No fixed list | Not declared | Not set | | Section label `pxLabel` | Formatted text | No | No fixed list | Not declared | Not set | | Headline `headline` | Formatted text | No | No fixed list | Not declared | Starter text | | Show `source` | Selected values | No | One existing collection; suggestions currently unreliable | Not declared | posts | | In these categories `categories` | Selected values | No | Category slugs; suggestions currently unreliable | Not declared | Not set | | With these tags `tags` | Selected values | No | Tag slugs; suggestions currently unreliable | Not declared | Not set | | In these terms `terms` | Selected values | No | Taxonomy and term pairs; suggestions currently unreliable | Not declared | Not set | | By this author `author` | Text | No | No fixed list | Not declared | Not set | | Matching these words `search` | Text | No | No fixed list | Not declared | Not set | | How many per page `count` | Number | No | No fixed list | Not declared | 10 | | Skip the first `offset` | Number | No | No fixed list | Not declared | 0 | | Order `order` | Choice | No | Newest first (`newest`); Oldest first (`oldest`); Title in alphabetical order (`title-asc`); Title in reverse alphabetical order (`title-desc`); Recently updated first (`modified`); By its date, soonest first (`date-soonest`); By its date, latest first (`date-latest`) | Not declared | Newest first | | Its date field `dateField` | Text | No | A datetime field’s slug in the selected collection | Not declared | Not set | | Only dates still to come `upcomingOnly` | Yes or no | No | No fixed list | Not declared | Not set | | Featured (sticky) posts `sticky` | Choice | No | Put them first, on every page (`include`); Include them, in date order (`ignore`); Leave them out (`exclude`); Only them (`only`) | Not declared | Include them, in date order | | Page like the site’s own post listing `mainQuery` | Yes or no | No | No fixed list | Not declared | Not set | | Layout `layout` | Choice | No | List (`list`); Card grid (`grid`) | Not declared | List | | Columns (grid only) `columns` | Number | No | No fixed list | Not declared | 3 | | Show the featured image `showImage` | Yes or no | No | No fixed list | Not declared | Yes | | Show the excerpt `showExcerpt` | Yes or no | No | No fixed list | Not declared | Yes | | Show the date `showDate` | Yes or no | No | No fixed list | Not declared | Yes | | Show the author `showAuthor` | Yes or no | No | No fixed list | Not declared | No | | Show the categories `showCategory` | Yes or no | No | No fixed list | Not declared | No | | Show the price `showPrice` | Yes or no | No | No fixed list | Not declared | Not set | | Show a read-more link `showReadMore` | Yes or no | No | No fixed list | Not declared | No | | Excerpt length (words) `excerptLength` | Number | No | No fixed list | Not declared | Not set | | Paging `pagination` | Choice | No | No pager (`none`); Page numbers, with previous and next (`numbers`); Previous and next only (`prev-next`) | Not declared | No pager | | Pager address `pagerKey` | Text | No | No fixed list | Not declared | `1` | | Say how many were found `showTotal` | Choice | No | Don’t show a count (`none`); How many in all (3 results found) (`total`); Which results this page shows (`range`); Both, the count first (`both`) | Not declared | Don’t show a count | | When there is nothing to show `emptyText` | Formatted text | No | No fixed list | Not declared | “No posts found.” | | Picture beside the words `pxAsideImage` | Picture | No | No fixed list | Not declared | Not set | | Picture description (alt text) `pxAsideAlt` | Text | No | No fixed list | Not declared | Not set | | Picture caption `pxAsideCaption` | Formatted text | No | No fixed list | Not declared | Not set | | Picture side `pxAsidePosition` | Choice | No | Right (`right`); Left (`left`) | Right | Not set | | Picture frame `pxAsideFrame` | Choice | No | None (`none`); Screen (`screen`); Dark stage (`stage`); Light (`light`) | None | Not set | | Picture width `pxAsideWidth` | Choice | No | Even (`even`); Wide (`wide`); Narrow (`narrow`) | Even | Not set | | Heading place `pxAsideHead` | Choice | No | Above both columns (`above`); Beside the picture, over the words (`beside`) | Above both columns | Not set | ### Collection index with paging This is a designed starting version of **Live list**. It adds no new section type. The basic starter table above stays the same; this table compares the catalogue values. The **Collection index** page template uses this preset, while **New page** starts the basic section recipe. | Control | Group in section Settings | Basic Live list starter | Collection index with paging | | --- | --- | --- | --- | | Headline | Words | Latest posts | Browse the collection | | Show | Words | posts | posts | | How many per page | Words | 10 | 12 | | Skip the first | Layout | 0 | 0 | | Order | Layout | Newest first | Newest first | | Featured (sticky) posts | Layout | Include them, in date order | Include them, in date order | | Layout | Layout | List | Card grid | | Columns (grid only) | Layout | 3 | 3 | | Show the featured image | Words | Yes | Yes | | Show the excerpt | Words | Yes | Yes | | Show the date | Words | Yes | Yes | | Show the author | Words | No | No | | Show the categories | Words | No | No | | Show a read-more link | Words | No | No | | Paging | Words | No pager | Page numbers, with previous and next | | Pager address | Words | 1 | collection-index | | Say how many were found | Words | Don’t show a count | Both, the count first | | When there is nothing to show | Words | No posts found. | No entries found. | Insertion keeps the layout choices, but does not carry over **Headline**, **When there is nothing to show**, **How many per page**, **Skip the first** or **Columns (grid only)**. Enter the words and numbers you want after insertion. The catalogue preview and this table are not a promise of every saved draft value. With **When there is nothing to show** set to **No entries found.** and both counts on, a resolved empty list on a library theme or a site that was not migrated shows **No entries found.** without the zero counts. Custom and imported themes on migrated sites keep their earlier empty-count behaviour. It draws no cards or pager. An unreadable source or failed list read can also produce the empty state. An unresolved public section draws no list; the canvas can keep the section selectable. The **Show**, category, tag and term suggestions do not reliably offer the right choices yet. Use a real collection or term and check the saved value; typing a name alone does not add it. [List a collection on a page](https://docs.amadalis.ai/composer/collection-index/) explains the current steps. [![Clean light catalogue preview shows “Browse the collection” and “No entries found.” without a count line.](https://docs.amadalis.ai/images/steps/2026-11-05-coverage-and-stale/preset-collection-index-list-light.png)](https://docs.amadalis.ai/images/steps/2026-11-05-coverage-and-stale/preset-collection-index-list-light.png "Open full-size image") The catalogue preview in Clean light mode. This example has no matching entries. [![Clean dark catalogue preview shows “Browse the collection” and “No entries found.” without a count line.](https://docs.amadalis.ai/images/steps/2026-11-05-coverage-and-stale/preset-collection-index-list-dark.png)](https://docs.amadalis.ai/images/steps/2026-11-05-coverage-and-stale/preset-collection-index-list-dark.png "Open full-size image") The matching Clean dark preview. The two pictures show the preset, not your current collection. For the page recipe, questions and all list controls, see [Collection index page type](https://docs.amadalis.ai/reference/page-types/collection-index/). [Browse section families](https://docs.amadalis.ai/reference/sections/) ## Your next step Return to [the Composer](https://docs.amadalis.ai/composer/composer/#select-and-edit-a-section), select the section and review its editable fields. Apply your draft change and inspect the page preview before publishing. Source: https://docs.amadalis.ai/reference/sections/conversion/ # Conversion reference Open a page in **Composer** in the site admin and select the section you are inspecting. Use **Settings** and **Appearance** alongside the fields below. Read the [shared field guide](https://docs.amadalis.ai/reference/sections/common-fields/) for the meaning of the table columns. Checked against the product’s code on 7 November 2026. This reference lists the catalog fields and their basic starter configuration. Read [Shared section fields](https://docs.amadalis.ai/reference/sections/common-fields/) for the default rules and the shared groups of fields added to these sections. A chosen preset can start with different values. CTA means call to action, such as a button or form inviting the reader to act. ## Call to action A call to action with words, buttons and optional media. Also carries: Advanced fields, Appearance fields. See [shared fields](https://docs.amadalis.ai/reference/sections/common-fields/). | Field | Input | Required | Choices | Field default | Starter value | | --- | --- | --- | --- | --- | --- | | Section number `pxLabelNumber` | Formatted text | No | No fixed list | Not declared | Not set | | Section label `pxLabel` | Formatted text | No | No fixed list | Not declared | Not set | | Open full size on click `lightbox` | Yes or no | No | No fixed list | Yes | Not set | | Headline `headline` | Formatted text | Yes | No fixed list | Not declared | Starter text | | Subheadline `subheadline` | Formatted text | No | No fixed list | Not declared | Not set | | Button label `buttonLabel` | Formatted text | No | No fixed list | Not declared | Starter text | | Button URL `buttonUrl` | Link | No | No fixed list | Not declared | Empty | | Secondary button label `secondaryCtaLabel` | Formatted text | No | No fixed list | Not declared | Not set | | Secondary button URL `secondaryCtaUrl` | Link | No | No fixed list | Not declared | Not set | | Style `style` | Choice | No | Banner (`banner`); Boxed (`boxed`); Split (`split`); Inline (minimal divider) (`inline`) | Not declared | Banner | | Band tone `tone` | Choice | No | Style default (`default`); Primary band (`primary`); Accent band (`accent`); Subtle surface (`surface`); Stage (near black, with glow) (`stage`) | Not declared | Not set | | Reassurance bullets `bullets` | List of entries | No | No fixed list | Not declared | Not set | | Text `bullets[].text` | Formatted text | Yes | No fixed list | Not declared | Not set | | Supporting image `imageUrl` | Picture | No | No fixed list | Not declared | Not set | | Supporting image alt text `imageAlt` | Text | No | No fixed list | Not declared | Not set | | Picture fit `imageFit` | Choice | No | Show the whole picture (`whole`); Fill the frame (`fill`) | Show the whole picture | Not set | | App-store badges `badges` | List of entries | No | No fixed list | Not declared | Not set | | Badge image `badges[].imageUrl` | Picture | Yes | No fixed list | Not declared | Not set | | Badge alt text (e.g. “Download on the App Store”) `badges[].alt` | Text | No | No fixed list | Not declared | Not set | | Badge link URL `badges[].url` | Link | No | No fixed list | Not declared | Not set | ## Live offer An offer shown through the live personalization flow. The section alone does not activate delivery. Also carries: Advanced fields, Appearance fields. See [shared fields](https://docs.amadalis.ai/reference/sections/common-fields/). | Field | Input | Required | Choices | Field default | Starter value | | --- | --- | --- | --- | --- | --- | | Headline `headline` | Formatted text | Yes | No fixed list | Not declared | Starter text | | Body `body` | Formatted text | No | No fixed list | Not declared | Starter text | | Button label `ctaLabel` | Formatted text | No | No fixed list | Not declared | Starter text | | Button URL `ctaUrl` | Link | No | No fixed list | Not declared | Empty | | Position `position` | Choice | No | Bottom right (`bottom-right`); Bottom left (`bottom-left`) | Not declared | Bottom right | ## Form A native form placement with surrounding text and presentation settings. Also carries: Advanced fields, Appearance fields. See [shared fields](https://docs.amadalis.ai/reference/sections/common-fields/). | Field | Input | Required | Choices | Field default | Starter value | | --- | --- | --- | --- | --- | --- | | Section number `pxLabelNumber` | Formatted text | No | No fixed list | Not declared | Not set | | Section label `pxLabel` | Formatted text | No | No fixed list | Not declared | Not set | | Form `formId` | Text | Yes | Chosen from the site’s forms | Not declared | `contact` | | Title `title` | Formatted text | No | No fixed list | Not declared | Starter text | | Show the title above the form `showTitle` | Yes or no | No | No fixed list | Not declared | Yes | | Submit label `submitLabel` | Formatted text | No | No fixed list | Not declared | Starter text | | Layout `layout` | Choice | No | Centered (default) (`centered`); Details sidebar beside the form (`sidebar`) | Not declared | Not set | | Sidebar title `sidebarTitle` | Formatted text | No | No fixed list | Not declared | Not set | | Sidebar text `sidebarBody` | Formatted text | No | No fixed list | Not declared | Not set | | Contact details (sidebar) `details` | List of entries | No | No fixed list | Not declared | Not set | | Label `details[].label` | Formatted text | Yes | No fixed list | Not declared | Not set | | Value `details[].value` | Formatted text | Yes | No fixed list | Not declared | Not set | | Fields `fields` | List of entries | No | No fixed list | Not declared | 3 starter entries | | Name `fields[].name` | Text | Yes | No fixed list | Not declared | `name`; `email`; `message` | | Label `fields[].label` | Text | Yes | No fixed list | Not declared | Starter text | | Type `fields[].type` | Choice | Yes | Text (`text`); Email (`email`); Telephone (`tel`); URL (`url`); Number (`number`); Date (`date`); Textarea (`textarea`); Select (`select`); Radio (`radio`); Checkbox (`checkbox`); Acceptance (`acceptance`) | Not declared | Text; Email; Textarea | | Required `fields[].required` | Yes or no | No | No fixed list | Not declared | Yes; No | | Options `fields[].options` | Long text | No | No fixed list | Not declared | Not set | | Number kind (number fields) `fields[].numberKind` | Choice | No | Any number (empty value); Whole numbers (integer) (`integer`); Decimals allowed (`decimal`) | Not declared | Not set | | Minimum (number fields) `fields[].min` | Number | No | No fixed list | Not declared | Not set | | Maximum (number fields) `fields[].max` | Number | No | No fixed list | Not declared | Not set | | Step (number fields) `fields[].step` | Number | No | No fixed list | Not declared | Not set | | Earliest date (date fields, YYYY-MM-DD) `fields[].minDate` | Text | No | No fixed list | Not declared | Not set | | Latest date (date fields, YYYY-MM-DD) `fields[].maxDate` | Text | No | No fixed list | Not declared | Not set | | Min length (text fields) `fields[].minLength` | Number | No | No fixed list | Not declared | Not set | | Max length (text fields) `fields[].maxLength` | Number | No | No fixed list | Not declared | Not set | | Source plugin `sourcePlugin` | Text | No | No fixed list | Not declared | Not set | | Source ID `sourceId` | Text | No | No fixed list | Not declared | Not set | | Source form id (declared by the source’s form shortcode) `sourceFormId` | Text | No | No fixed list | Not declared | Not set | | Source form plugin (declared by the shortcode head) `formPlugin` | Text | No | No fixed list | Not declared | Not set | | Source form shortcode (verbatim) `sourceShortcode` | Text | No | No fixed list | Not declared | Not set | | Source wrapper element (div = no landmark of its own) `sourceTagName` | Text | No | No fixed list | Not declared | Not set | ## Footer CTA A closing call to action with an optional button. Also carries: Advanced fields, Appearance fields. See [shared fields](https://docs.amadalis.ai/reference/sections/common-fields/). | Field | Input | Required | Choices | Field default | Starter value | | --- | --- | --- | --- | --- | --- | | Section number `pxLabelNumber` | Formatted text | No | No fixed list | Not declared | Not set | | Section label `pxLabel` | Formatted text | No | No fixed list | Not declared | Not set | | Headline `headline` | Formatted text | Yes | No fixed list | Not declared | Starter text | | Subheadline `subheadline` | Formatted text | No | No fixed list | Not declared | Starter text | | Primary CTA label `primaryCtaLabel` | Formatted text | No | No fixed list | Not declared | Starter text | | Primary CTA URL `primaryCtaUrl` | Link | No | No fixed list | Not declared | Empty | | Secondary CTA label `secondaryCtaLabel` | Formatted text | No | No fixed list | Not declared | Not set | | Secondary CTA URL `secondaryCtaUrl` | Link | No | No fixed list | Not declared | Not set | | Reassurance line `reassurance` | Formatted text | No | No fixed list | Not declared | Starter text | | Tone `tone` | Choice | No | Primary band (`primary`); Accent band (`accent`); Subtle surface (`surface`); Stage (near black, with glow) (`stage`) | Not declared | Primary band | | Picture beside the words `pxAsideImage` | Picture | No | No fixed list | Not declared | Not set | | Picture description (alt text) `pxAsideAlt` | Text | No | No fixed list | Not declared | Not set | | Picture caption `pxAsideCaption` | Formatted text | No | No fixed list | Not declared | Not set | | Picture side `pxAsidePosition` | Choice | No | Right (`right`); Left (`left`) | Right | Not set | | Picture frame `pxAsideFrame` | Choice | No | None (`none`); Screen (`screen`); Dark stage (`stage`); Light (`light`) | None | Not set | | Picture width `pxAsideWidth` | Choice | No | Even (`even`); Wide (`wide`); Narrow (`narrow`) | Even | Not set | | Heading place `pxAsideHead` | Choice | No | Above both columns (`above`); Beside the picture, over the words (`beside`) | Above both columns | Not set | ## Newsletter signup A native form placement for a newsletter signup, with surrounding words. Also carries: Advanced fields, Appearance fields. See [shared fields](https://docs.amadalis.ai/reference/sections/common-fields/). | Field | Input | Required | Choices | Field default | Starter value | | --- | --- | --- | --- | --- | --- | | Section number `pxLabelNumber` | Formatted text | No | No fixed list | Not declared | Not set | | Section label `pxLabel` | Formatted text | No | No fixed list | Not declared | Not set | | Headline `headline` | Formatted text | Yes | No fixed list | Not declared | Starter text | | Body `body` | Formatted text | No | No fixed list | Not declared | Not set | | Form ID (copy it from the Forms admin page; the form needs an email field named “email”) `formId` | Text | Yes | No fixed list | Not declared | `newsletter` | | Email placeholder `emailPlaceholder` | Text | No | No fixed list | Not declared | Starter text | | Submit label `submitLabel` | Formatted text | No | No fixed list | Not declared | Starter text | | Privacy note `privacyNote` | Formatted text | No | No fixed list | Not declared | Not set | | Value bullets `bullets` | List of entries | No | No fixed list | Not declared | Not set | | Text `bullets[].text` | Formatted text | Yes | No fixed list | Not declared | Not set | | Layout `layout` | Choice | No | Band (`band`); Boxed card (`boxed`) | Not declared | Band | | Picture beside the words `pxAsideImage` | Picture | No | No fixed list | Not declared | Not set | | Picture description (alt text) `pxAsideAlt` | Text | No | No fixed list | Not declared | Not set | | Picture caption `pxAsideCaption` | Formatted text | No | No fixed list | Not declared | Not set | | Picture side `pxAsidePosition` | Choice | No | Right (`right`); Left (`left`) | Right | Not set | | Picture frame `pxAsideFrame` | Choice | No | None (`none`); Screen (`screen`); Dark stage (`stage`); Light (`light`) | None | Not set | | Picture width `pxAsideWidth` | Choice | No | Even (`even`); Wide (`wide`); Narrow (`narrow`) | Even | Not set | | Heading place `pxAsideHead` | Choice | No | Above both columns (`above`); Beside the picture, over the words (`beside`) | Above both columns | Not set | ## Banner A band of text with an optional call to action. Also carries: Advanced fields, Appearance fields. See [shared fields](https://docs.amadalis.ai/reference/sections/common-fields/). | Field | Input | Required | Choices | Field default | Starter value | | --- | --- | --- | --- | --- | --- | | Message `message` | Formatted text | Yes | No fixed list | Not declared | Starter text | | Link label `linkLabel` | Formatted text | No | No fixed list | Not declared | Starter text | | Link URL `linkUrl` | Link | No | No fixed list | Not declared | Empty | | Tone `tone` | Choice | No | Accent (`accent`); Primary (`primary`); Subtle surface (`surface`); Stage (near black, with glow) (`stage`) | Not declared | Accent | | Action style `actionStyle` | Choice | No | Emphasized link (default) (`link`); Button (`button`) | Not declared | Not set | [Browse section families](https://docs.amadalis.ai/reference/sections/) ## Your next step Return to [the Composer](https://docs.amadalis.ai/composer/composer/#select-and-edit-a-section), select the section and review its editable fields. Apply your draft change and inspect the page preview before publishing. Source: https://docs.amadalis.ai/reference/sections/elements/ # Layout elements reference Open a page in **Composer** in the site admin and select the section you are inspecting. Use **Settings** and **Appearance** alongside the fields below. Read the [shared field guide](https://docs.amadalis.ai/reference/sections/common-fields/) for the meaning of the table columns. Checked against the product’s code on 7 November 2026. This reference lists the catalog fields and their basic starter configuration. Read [Shared section fields](https://docs.amadalis.ai/reference/sections/common-fields/) for the default rules and the shared groups of fields added to these sections. A chosen preset can start with different values. ## Heading A heading with a selected level and presentation. Also carries: Element classes. See [shared fields](https://docs.amadalis.ai/reference/sections/common-fields/). | Field | Input | Required | Choices | Field default | Starter value | | --- | --- | --- | --- | --- | --- | | Text `text` | Formatted text | Yes | No fixed list | Not declared | Starter text | | Level `level` | Choice | No | Heading 1 (`h1`); Heading 2 (`h2`); Heading 3 (`h3`); Heading 4 (`h4`); Heading 5 (`h5`); Heading 6 (`h6`) | Not declared | Heading 2 | | Size `size` | Choice | No | Small (`sm`); Body (`base`); Large (`lg`); Extra large (`xl`); Display (`2xl`); Hero (`3xl`) | Not declared | Extra large | | Alignment `align` | Choice | No | Left (`left`); Center (`center`); Right (`right`) | Not declared | Left | | Element styling `pxStyle` | Appearance settings | No | No fixed list | Not declared | Not set | ## Rich text A formatted text element within a layout. Also carries: Element classes. See [shared fields](https://docs.amadalis.ai/reference/sections/common-fields/). | Field | Input | Required | Choices | Field default | Starter value | | --- | --- | --- | --- | --- | --- | | Content `content` | Rich text | No | No fixed list | Not declared | Starter text | | Element styling `pxStyle` | Appearance settings | No | No fixed list | Not declared | Not set | ## Image A picture element with text alternatives and presentation choices. Also carries: Element classes. See [shared fields](https://docs.amadalis.ai/reference/sections/common-fields/). | Field | Input | Required | Choices | Field default | Starter value | | --- | --- | --- | --- | --- | --- | | Image `imageUrl` | Picture | Yes | No fixed list | Not declared | Starter picture | | Alt text `alt` | Text | No | No fixed list | Not declared | Empty | | Caption `caption` | Formatted text | No | No fixed list | Not declared | Not set | | Shape `ratio` | Choice | No | Natural (`natural`); Wide (16:9) (`wide`); Square (`square`) | Not declared | Natural | | Rounded corners `rounded` | Yes or no | No | No fixed list | Not declared | Yes | | Element styling `pxStyle` | Appearance settings | No | No fixed list | Not declared | Not set | ## Button An authored button or link. Also carries: Element classes. See [shared fields](https://docs.amadalis.ai/reference/sections/common-fields/). | Field | Input | Required | Choices | Field default | Starter value | | --- | --- | --- | --- | --- | --- | | Label `label` | Formatted text | Yes | No fixed list | Not declared | Starter text | | Link `url` | Link | No | No fixed list | Not declared | Empty | | Style `variant` | Choice | No | Primary (`primary`); Secondary (`secondary`); Outline (`ghost`) | Not declared | Primary | | Size `size` | Choice | No | Small (`sm`); Medium (`md`); Large (`lg`) | Not declared | Medium | | Alignment `align` | Choice | No | Left (`left`); Center (`center`); Right (`right`) | Not declared | Left | | Element styling `pxStyle` | Appearance settings | No | No fixed list | Not declared | Not set | ## Icon A selected icon with presentation controls. Also carries: Element classes. See [shared fields](https://docs.amadalis.ai/reference/sections/common-fields/). | Field | Input | Required | Choices | Field default | Starter value | | --- | --- | --- | --- | --- | --- | | Icon `name` | Choice | Yes | activity (`activity`); arrow-right (`arrow-right`); award (`award`); book-open (`book-open`); briefcase (`briefcase`); building (`building`); calendar (`calendar`); chart-column (`chart-column`); check (`check`); circle-check (`circle-check`); circle-question-mark (`circle-question-mark`); clock (`clock`); cloud (`cloud`); code (`code`); credit-card (`credit-card`); database (`database`); download (`download`); file-text (`file-text`); gift (`gift`); globe (`globe`); grid-3x3 (`grid-3x3`); headphones (`headphones`); heart (`heart`); house (`house`); image (`image`); layers (`layers`); leaf (`leaf`); lightbulb (`lightbulb`); lock (`lock`); mail (`mail`); map-pin (`map-pin`); megaphone (`megaphone`); message-circle (`message-circle`); minus (`minus`); move (`move`); package (`package`); phone (`phone`); play (`play`); quote (`quote`); rocket (`rocket`); search (`search`); settings (`settings`); shield (`shield`); shopping-cart (`shopping-cart`); sparkles (`sparkles`); star (`star`); tag (`tag`); target (`target`); thumbs-up (`thumbs-up`); trending-up (`trending-up`); truck (`truck`); type (`type`); user (`user`); users (`users`); wrench (`wrench`); zap (`zap`) | Not declared | sparkles | | Size `size` | Choice | No | Small (`sm`); Medium (`md`); Large (`lg`); Extra large (`xl`) | Not declared | Large | | Tone `tone` | Choice | No | Accent (`accent`); Body ink (`text`); Muted (`muted`) | Not declared | Accent | | Alignment `align` | Choice | No | Left (`left`); Center (`center`); Right (`right`) | Not declared | Left | | Element styling `pxStyle` | Appearance settings | No | No fixed list | Not declared | Not set | ## Icon list A list of items with icons. Also carries: Element classes. See [shared fields](https://docs.amadalis.ai/reference/sections/common-fields/). | Field | Input | Required | Choices | Field default | Starter value | | --- | --- | --- | --- | --- | --- | | Items `items` | List of entries | No | No fixed list | Not declared | 3 starter entries | | Icon `items[].icon` | Choice | No | activity (`activity`); arrow-right (`arrow-right`); award (`award`); book-open (`book-open`); briefcase (`briefcase`); building (`building`); calendar (`calendar`); chart-column (`chart-column`); check (`check`); circle-check (`circle-check`); circle-question-mark (`circle-question-mark`); clock (`clock`); cloud (`cloud`); code (`code`); credit-card (`credit-card`); database (`database`); download (`download`); file-text (`file-text`); gift (`gift`); globe (`globe`); grid-3x3 (`grid-3x3`); headphones (`headphones`); heart (`heart`); house (`house`); image (`image`); layers (`layers`); leaf (`leaf`); lightbulb (`lightbulb`); lock (`lock`); mail (`mail`); map-pin (`map-pin`); megaphone (`megaphone`); message-circle (`message-circle`); minus (`minus`); move (`move`); package (`package`); phone (`phone`); play (`play`); quote (`quote`); rocket (`rocket`); search (`search`); settings (`settings`); shield (`shield`); shopping-cart (`shopping-cart`); sparkles (`sparkles`); star (`star`); tag (`tag`); target (`target`); thumbs-up (`thumbs-up`); trending-up (`trending-up`); truck (`truck`); type (`type`); user (`user`); users (`users`); wrench (`wrench`); zap (`zap`) | Not declared | circle-check | | Text `items[].text` | Formatted text | Yes | No fixed list | Not declared | Starter text | | Icon tone `tone` | Choice | No | Accent (`accent`); Body ink (`text`); Muted (`muted`) | Not declared | Accent | | Element styling `pxStyle` | Appearance settings | No | No fixed list | Not declared | Not set | ## Icon box An icon with a heading and supporting words. Also carries: Element classes. See [shared fields](https://docs.amadalis.ai/reference/sections/common-fields/). | Field | Input | Required | Choices | Field default | Starter value | | --- | --- | --- | --- | --- | --- | | Icon `icon` | Choice | Yes | activity (`activity`); arrow-right (`arrow-right`); award (`award`); book-open (`book-open`); briefcase (`briefcase`); building (`building`); calendar (`calendar`); chart-column (`chart-column`); check (`check`); circle-check (`circle-check`); circle-question-mark (`circle-question-mark`); clock (`clock`); cloud (`cloud`); code (`code`); credit-card (`credit-card`); database (`database`); download (`download`); file-text (`file-text`); gift (`gift`); globe (`globe`); grid-3x3 (`grid-3x3`); headphones (`headphones`); heart (`heart`); house (`house`); image (`image`); layers (`layers`); leaf (`leaf`); lightbulb (`lightbulb`); lock (`lock`); mail (`mail`); map-pin (`map-pin`); megaphone (`megaphone`); message-circle (`message-circle`); minus (`minus`); move (`move`); package (`package`); phone (`phone`); play (`play`); quote (`quote`); rocket (`rocket`); search (`search`); settings (`settings`); shield (`shield`); shopping-cart (`shopping-cart`); sparkles (`sparkles`); star (`star`); tag (`tag`); target (`target`); thumbs-up (`thumbs-up`); trending-up (`trending-up`); truck (`truck`); type (`type`); user (`user`); users (`users`); wrench (`wrench`); zap (`zap`) | Not declared | zap | | Title `title` | Formatted text | Yes | No fixed list | Not declared | Starter text | | Description `description` | Formatted text | No | No fixed list | Not declared | Starter text | | Link label `linkLabel` | Formatted text | No | No fixed list | Not declared | Not set | | Link `linkUrl` | Link | No | No fixed list | Not declared | Not set | | Layout `layout` | Choice | No | Icon above (`stacked`); Icon beside (`inline`) | Not declared | Icon above | | Alignment `align` | Choice | No | Left (`left`); Center (`center`); Right (`right`) | Not declared | Left | | Element styling `pxStyle` | Appearance settings | No | No fixed list | Not declared | Not set | ## Image box A picture with a heading and supporting words. Also carries: Element classes. See [shared fields](https://docs.amadalis.ai/reference/sections/common-fields/). | Field | Input | Required | Choices | Field default | Starter value | | --- | --- | --- | --- | --- | --- | | Image `imageUrl` | Picture | Yes | No fixed list | Not declared | Starter picture | | Alt text `alt` | Text | No | No fixed list | Not declared | Empty | | Picture fit `imageFit` | Choice | No | Show the whole picture (`whole`); Fill the frame (`fill`) | Show the whole picture | Not set | | Title `title` | Formatted text | Yes | No fixed list | Not declared | Starter text | | Description `description` | Formatted text | No | No fixed list | Not declared | Starter text | | Link label `linkLabel` | Formatted text | No | No fixed list | Not declared | Not set | | Link `linkUrl` | Link | No | No fixed list | Not declared | Not set | | Alignment `align` | Choice | No | Left (`left`); Center (`center`); Right (`right`) | Not declared | Left | | Element styling `pxStyle` | Appearance settings | No | No fixed list | Not declared | Not set | ## Video A video from a supported provider, identified by its provider and video reference. This element does not protect the outside video with the site’s paywall. For a protected file hosted here, use the [Video section](https://docs.amadalis.ai/reference/sections/media/#video). Also carries: Element classes. See [shared fields](https://docs.amadalis.ai/reference/sections/common-fields/). | Field | Input | Required | Choices | Field default | Starter value | | --- | --- | --- | --- | --- | --- | | Provider `provider` | Choice | Yes | YouTube (`youtube`); Vimeo (`vimeo`) | Not declared | YouTube | | Video ID `videoId` | Text | Yes | No fixed list | Not declared | `aqz-KE-bpKQ` (a sample YouTube video; replace it) | | Name `title` | Text | No | No fixed list | Not declared | Starter text | | Poster image `posterUrl` | Picture | No | No fixed list | Not declared | Not set | | Caption `caption` | Formatted text | No | No fixed list | Not declared | Empty | | Transcript `transcript` | Rich text | No | No fixed list | Not declared | Not set | | Element styling `pxStyle` | Appearance settings | No | No fixed list | Not declared | Not set | **Video ID** uses 1 to 64 letters, digits, underscores or hyphens. ## Embed An embed from one of the providers offered by the element editor. Also carries: Element classes. See [shared fields](https://docs.amadalis.ai/reference/sections/common-fields/). | Field | Input | Required | Choices | Field default | Starter value | | --- | --- | --- | --- | --- | --- | | Provider `provider` | Choice | Yes | Google Maps (`google-maps`); Spotify track (`spotify-track`); Spotify episode (`spotify-episode`); Spotify playlist (`spotify-playlist`); Spotify show (`spotify-show`); X post (`x-post`); TikTok video (`tiktok`); Google Calendar (`google-calendar`); Instagram post (`instagram-post`); Calendly (`calendly`) | Not declared | Google Maps | | Embed ID `embedId` | Text | Yes | No fixed list | Not declared | A sample Google Maps place (replace it) | | Name `title` | Text | No | No fixed list | Not declared | Starter text | | Caption `caption` | Formatted text | No | No fixed list | Not declared | Empty | | Shape `ratio` | Choice | No | Fits this provider (`auto`); Wide (16:9) (`wide`); Classic (4:3) (`classic`); Custom height (`custom`) | Not declared | Fits this provider | | Height `heightPx` | Number | No | No fixed list | Not declared | Not set | | Element styling `pxStyle` | Appearance settings | No | No fixed list | Not declared | Not set | **Height** accepts a whole number of pixels from 80 to 2000. **Height** appears only when **Shape** is **Custom height**. ## Divider A visual divider. Also carries: Element classes. See [shared fields](https://docs.amadalis.ai/reference/sections/common-fields/). | Field | Input | Required | Choices | Field default | Starter value | | --- | --- | --- | --- | --- | --- | | Style `style` | Choice | No | Solid (`solid`); Dashed (`dashed`); Dotted (`dotted`) | Not declared | Solid | | Width `width` | Choice | No | Full width (`full`); Half (`half`); Short (`short`) | Not declared | Full width | | Alignment `align` | Choice | No | Left (`left`); Center (`center`); Right (`right`) | Not declared | Left | | Element styling `pxStyle` | Appearance settings | No | No fixed list | Not declared | Not set | ## Spacer Space between other elements. Also carries: Element classes. See [shared fields](https://docs.amadalis.ai/reference/sections/common-fields/). | Field | Input | Required | Choices | Field default | Starter value | | --- | --- | --- | --- | --- | --- | | Height `size` | Choice | No | Extra small (`2`); Small (`3`); Medium (`5`); Large (`6`); Extra large (`7`); Huge (`8`) | Not declared | Medium | | Element styling `pxStyle` | Appearance settings | No | No fixed list | Not declared | Not set | [Browse section families](https://docs.amadalis.ai/reference/sections/) ## Your next step Return to [the Composer](https://docs.amadalis.ai/composer/composer/#select-and-edit-a-section), select the section and review its editable fields. Apply your draft change and inspect the page preview before publishing. Source: https://docs.amadalis.ai/reference/sections/header/ # Header reference Open a page in **Composer** in the site admin and select the section you are inspecting. Use **Settings** and **Appearance** alongside the fields below. Read the [shared field guide](https://docs.amadalis.ai/reference/sections/common-fields/) for the meaning of the table columns. This family describes **Hero**, the opening section of a page. For site navigation, use [Menus](https://docs.amadalis.ai/site/menus/). Checked against the product’s code on 7 November 2026. This reference lists the catalog fields and their basic starter configuration. Read [Shared section fields](https://docs.amadalis.ai/reference/sections/common-fields/) for the default rules and the shared groups of fields added to these sections. A chosen preset can start with different values. Eyebrow means the small label above a heading. CTA means call to action, such as a button or link. An avatar is a small portrait or profile image. ## Hero A headline with supporting words, buttons and optional pictures or video. Also carries: Advanced fields, Appearance fields. See [shared fields](https://docs.amadalis.ai/reference/sections/common-fields/). | Field | Input | Required | Choices | Field default | Starter value | | --- | --- | --- | --- | --- | --- | | Section number `pxLabelNumber` | Formatted text | No | No fixed list | Not declared | Not set | | Section label `pxLabel` | Formatted text | No | No fixed list | Not declared | Not set | | Open full size on click `lightbox` | Yes or no | No | No fixed list | Yes | Not set | | Eyebrow `eyebrow` | Formatted text | No | No fixed list | Not declared | Not set | | Headline `headline` | Formatted text | Yes | No fixed list | Not declared | Starter text | | Subheadline `subheadline` | Formatted text | No | No fixed list | Not declared | Starter text | | Primary CTA label `primaryCtaLabel` | Formatted text | No | No fixed list | Not declared | Starter text | | Primary CTA URL `primaryCtaUrl` | Link | No | No fixed list | Not declared | Empty | | Secondary CTA label `secondaryCtaLabel` | Formatted text | No | No fixed list | Not declared | Not set | | Secondary CTA URL `secondaryCtaUrl` | Link | No | No fixed list | Not declared | Not set | | Media URL `mediaUrl` | Picture | No | No fixed list | Not declared | Not set | | Picture description (alt text) `mediaAlt` | Text | No | No fixed list | Not declared | Not set | | Video URL `videoUrl` | Link | No | No fixed list | Not declared | Not set | | Video poster `posterUrl` | Picture | No | No fixed list | Not declared | Not set | | Layered media `mediaItems` | List of entries | No | No fixed list | Not declared | Not set | | Image URL `mediaItems[].url` | Picture | Yes | No fixed list | Not declared | Not set | | Alt text `mediaItems[].alt` | Text | No | No fixed list | Not declared | Not set | | Picture fit `mediaItems[].fit` | Choice | No | Show the whole picture (`whole`); Fill the frame (`fill`) | Show the whole picture | Not set | | Source class `mediaItems[].className` | Text | No | No fixed list | Not declared | Not set | | Image width attribute `mediaItems[].width` | Number | No | No fixed list | Not declared | Not set | | Image height attribute `mediaItems[].height` | Number | No | No fixed list | Not declared | Not set | | Image loading (declared by the source; absence means eager) `mediaItems[].loading` | Choice | No | Eager (loads immediately) (`eager`); Lazy (loads once scrolled into view) (`lazy`) | Not declared | Not set | | Image decoding (declared by the source) `mediaItems[].decoding` | Choice | No | Async (`async`); Sync (`sync`); Auto (`auto`) | Not declared | Not set | | Image fetch priority (declared by the source) `mediaItems[].fetchPriority` | Choice | No | High (`high`); Low (`low`); Auto (`auto`) | Not declared | Not set | | Layout `layout` | Choice | No | Left (`left`); Centered (`centered`); Split (`split`) | Not declared | Left | | Band tone `tone` | Choice | No | Page canvas (default) (`default`); Primary band (`primary`); Accent band (`accent`); Subtle surface (`surface`); Stage (near black, with glow) (`stage`) | Not declared | Not set | | Label rule `labelRule` | Choice | No | None (`none`); A short rule before the label (`rule`) | Not declared | Not set | | Lede rule `ledeRule` | Choice | No | None (`none`); A rule between the headline and the subheadline (`rule`) | Not declared | Not set | | Social-proof line `proofText` | Formatted text | No | No fixed list | Not declared | Not set | | Social-proof avatars `proofAvatars` | List of entries | No | No fixed list | Not declared | Not set | | Avatar image `proofAvatars[].url` | Picture | Yes | No fixed list | Not declared | Not set | | Name (alt text) `proofAvatars[].alt` | Text | No | No fixed list | Not declared | Not set | [Browse section families](https://docs.amadalis.ai/reference/sections/) ## Your next step Return to [the Composer](https://docs.amadalis.ai/composer/composer/#select-and-edit-a-section), select the section and review its editable fields. Apply your draft change and inspect the page preview before publishing. Source: https://docs.amadalis.ai/reference/sections/ # Section types Open a page in **Composer** in the site admin and select a section. Use these family references to look up its fields and available choices. Checked against the product’s code on 7 November 2026. Choose a family to see every catalog field, its choices, its required flag and its declared or starter default. The labels are the catalog’s own words. Some section settings carry details from an imported design. CTA means call to action. **Footer CTA** is the section’s name in the product. | Family | Types | | --- | --- | | [Header](https://docs.amadalis.ai/reference/sections/header/) | Hero | | [Content](https://docs.amadalis.ai/reference/sections/content/) | Features, FAQ, Rich text, Members-only boundary, Custom field, Stats, Image & text, Team, Timeline / steps, Blog teaser, Live list | | [Social proof](https://docs.amadalis.ai/reference/sections/social-proof/) | Testimonials, Logo cloud | | [Media](https://docs.amadalis.ai/reference/sections/media/) | Gallery, Video | | [Commerce](https://docs.amadalis.ai/reference/sections/commerce/) | Pricing, Shopify product, Comparison table, Services | | [Conversion](https://docs.amadalis.ai/reference/sections/conversion/) | Call to action, Live offer, Form, Footer CTA, Newsletter signup, Banner | | [Advanced](https://docs.amadalis.ai/reference/sections/advanced/) | Embed / preserved HTML, Script & event binding | | [Layout](https://docs.amadalis.ai/reference/sections/layout/) | Row (columns), Layout | | [Row content](https://docs.amadalis.ai/reference/sections/row-content/) | Text, Heading, Image, Button, Icon, Social icons, List, Rating figure, Divider | | [Personalization](https://docs.amadalis.ai/reference/sections/personalization/) | Recommendations | [Layout elements](https://docs.amadalis.ai/reference/sections/elements/) documents the items used within a layout. [Shared section fields](https://docs.amadalis.ai/reference/sections/common-fields/) documents the shared advanced, text and appearance fields. The defaults describe the basic catalog starter. Templates and designed presets can start differently. A blank field can also have a rendering fallback, which is separate from a catalog default. Sample text, links, pictures and amounts are identified as samples. ## Your next step Return to [the Composer](https://docs.amadalis.ai/composer/composer/#select-and-edit-a-section), select the section and review its editable fields. Apply your draft change and inspect the page preview before publishing. Source: https://docs.amadalis.ai/reference/sections/layout/ # Layout reference Open a page in **Composer** in the site admin and select the section you are inspecting. Use **Settings** and **Appearance** alongside the fields below. Read the [shared field guide](https://docs.amadalis.ai/reference/sections/common-fields/) for the meaning of the table columns. Checked against the product’s code on 7 November 2026. This reference lists the catalog fields and their basic starter configuration. Read [Shared section fields](https://docs.amadalis.ai/reference/sections/common-fields/) for the default rules and the shared groups of fields added to these sections. A chosen preset can start with different values. CTA means call to action. Viewport means the browser’s visible area. Opacity controls how see-through something is: 0 is transparent and 1 is solid. The semantic tag records what kind of content a layout represents. ## Row (columns) A row of columns that holds child content, with controls for layout and presentation. Also carries: Advanced fields, Appearance fields. See [shared fields](https://docs.amadalis.ai/reference/sections/common-fields/). | Field | Input | Required | Choices | Field default | Starter value | | --- | --- | --- | --- | --- | --- | | Flush columns (source spaces by module margins) `flushColumns` | Yes or no | No | No fixed list | Not declared | Not set | | Equal-height columns (declared by the source) `equalHeight` | Yes or no | No | No fixed list | Not declared | Not set | | Hidden on mobile (declared by the source) `hiddenMobile` | Yes or no | No | No fixed list | Not declared | Not set | | Hidden on tablet (declared by the source) `hiddenTablet` | Yes or no | No | No fixed list | Not declared | Not set | | Hidden on desktop (declared by the source) `hiddenDesktop` | Yes or no | No | No fixed list | Not declared | Not set | | Background image `backgroundImageUrl` | Picture | No | No fixed list | Not declared | Not set | | Background colour (beneath the image) `backgroundColor` | Text | No | No fixed list | Not declared | Not set | | Background gradient (CSS, layered above the image) `backgroundGradient` | Text | No | No fixed list | Not declared | Not set | | Background overlay color `backgroundOverlayColor` | Text | No | No fixed list | Not declared | Not set | | Background overlay opacity (0 to 1) `backgroundOverlayOpacity` | Number | No | No fixed list | Not declared | Not set | | Content max width (declared by the source row, e.g. 886px) `contentMaxWidth` | Text | No | No fixed list | Not declared | Not set | | Content width mode (declared by the source row: boxed constrains to the kit’s own default; full spans its own parent) `contentWidthMode` | Choice | No | Boxed (the kit’s own default width) (`boxed`); Full (spans its own parent, no cap) (`full`) | Not declared | Not set | | Space between columns (declared by the source row, e.g. 0px) `gridGap` | Text | No | No fixed list | Not declared | Not set | | Space between wrapped rows (declared by the source row) `gridRowGap` | Text | No | No fixed list | Not declared | Not set | | Space between columns, tablet (declared) `gridGapTablet` | Text | No | No fixed list | Not declared | Not set | | Space between columns, mobile (declared) `gridGapMobile` | Text | No | No fixed list | Not declared | Not set | | Space between wrapped rows, tablet (declared) `gridRowGapTablet` | Text | No | No fixed list | Not declared | Not set | | Space between wrapped rows, mobile (declared) `gridRowGapMobile` | Text | No | No fixed list | Not declared | Not set | | Min height (declared by the source row, e.g. 100vh) `rowMinHeight` | Text | No | No fixed list | Not declared | Not set | | Source viewport ranges `responsiveProfile` | Source viewport ranges | No | No fixed list | Not declared | Not set | | Min height, tablet (declared) `rowMinHeightTablet` | Text | No | No fixed list | Not declared | Not set | | Min height, mobile (declared) `rowMinHeightMobile` | Text | No | No fixed list | Not declared | Not set | | Padding (declared by the source row, four sides, e.g. 6% 20px 3% 20px) `rowPadding` | Text | No | No fixed list | Not declared | Not set | | Padding, tablet (declared) `rowPaddingTablet` | Text | No | No fixed list | Not declared | Not set | | Padding, mobile (declared; the builder zeroes the sides) `rowPaddingMobile` | Text | No | No fixed list | Not declared | Not set | | Outer margin (declared by the source row, four sides) `rowMargin` | Text | No | No fixed list | Not declared | Not set | | Outer margin, tablet (declared) `rowMarginTablet` | Text | No | No fixed list | Not declared | Not set | | Outer margin, mobile (declared) `rowMarginMobile` | Text | No | No fixed list | Not declared | Not set | | Border style (declared by the source row) `borderStyle` | Choice | No | Solid (`solid`); Double (`double`); Dotted (`dotted`); Dashed (`dashed`); Groove (`groove`) | Not declared | Not set | | Border width (declared by the source row, four sides) `borderWidth` | Text | No | No fixed list | Not declared | Not set | | Border width, tablet (declared) `borderWidthTablet` | Text | No | No fixed list | Not declared | Not set | | Border width, mobile (declared) `borderWidthMobile` | Text | No | No fixed list | Not declared | Not set | | Border color (declared by the source row) `borderColor` | Text | No | No fixed list | Not declared | Not set | | Corner radius (declared by the source row, four corners) `borderRadius` | Text | No | No fixed list | Not declared | Not set | | Corner radius, tablet (declared) `borderRadiusTablet` | Text | No | No fixed list | Not declared | Not set | | Corner radius, mobile (declared) `borderRadiusMobile` | Text | No | No fixed list | Not declared | Not set | | Box shadow (declared by the source row, a CSS box-shadow value) `boxShadow` | Text | No | No fixed list | Not declared | Not set | | Stacking order (declared by the source row) `zIndex` | Number | No | No fixed list | Not declared | Not set | | Stacking order, tablet (declared) `zIndexTablet` | Number | No | No fixed list | Not declared | Not set | | Stacking order, mobile (declared) `zIndexMobile` | Number | No | No fixed list | Not declared | Not set | | Border style on hover (declared by the source row) `hoverBorderStyle` | Choice | No | Solid (`solid`); Double (`double`); Dotted (`dotted`); Dashed (`dashed`); Groove (`groove`) | Not declared | Not set | | Border width on hover (declared, four sides) `hoverBorderWidth` | Text | No | No fixed list | Not declared | Not set | | Border width on hover, tablet (declared) `hoverBorderWidthTablet` | Text | No | No fixed list | Not declared | Not set | | Border width on hover, mobile (declared) `hoverBorderWidthMobile` | Text | No | No fixed list | Not declared | Not set | | Border color on hover (declared by the source row) `hoverBorderColor` | Text | No | No fixed list | Not declared | Not set | | Corner radius on hover (declared, four corners) `hoverBorderRadius` | Text | No | No fixed list | Not declared | Not set | | Corner radius on hover, tablet (declared) `hoverBorderRadiusTablet` | Text | No | No fixed list | Not declared | Not set | | Corner radius on hover, mobile (declared) `hoverBorderRadiusMobile` | Text | No | No fixed list | Not declared | Not set | | Box shadow on hover (declared, a CSS box-shadow value) `hoverBoxShadow` | Text | No | No fixed list | Not declared | Not set | | Hover transition (ms, declared by the source row) `hoverTransitionMs` | Number | No | No fixed list | Not declared | Not set | | Text color (declared by the source row; it cascades to the row’s content) `textColor` | Text | No | No fixed list | Not declared | Not set | | Breakpoint basis `regime` | Choice | No | The host column’s width (default) (`host`); The viewport (a source builder’s nested group) (`viewport`) | Not declared | Not set | | Column order, tablet (declared by the source row) `columnOrderTablet` | Choice | No | Reversed (`reverse`) | Not declared | Not set | | Column order, mobile (declared by the source row) `columnOrderMobile` | Choice | No | Reversed (`reverse`) | Not declared | Not set | | Column content flow (declared by the source builder) `columnFlow` | Choice | No | Flex column (margins never collapse) (`flex`); Block flow (margins collapse) (`block`) | Not declared | Not set | | Background bleed (declared by the source row) `bleed` | Choice | No | Full browser width (`full`); Content width (`content`) | Not declared | Not set | | Columns `columns` | List of entries | No | No fixed list | Not declared | 2 starter entries | | Width % (desktop) `columns[].width` | Text | No | No fixed list | Not declared | `50` | | Width % (tablet; blank = desktop) `columns[].widthTablet` | Text | No | No fixed list | Not declared | Not set | | Width % (mobile; blank = stacked) `columns[].widthMobile` | Text | No | No fixed list | Not declared | Not set | | Max width on mobile (declared by the source; column centred in its line) `columns[].maxWidthMobile` | Text | No | No fixed list | Not declared | Not set | | Vertical alignment (declared by the source column) `columns[].verticalAlign` | Choice | No | Top (`top`); Center (`center`); Bottom (`bottom`) | Not declared | Not set | | Vertical alignment, tablet (declared by the source column) `columns[].verticalAlignTablet` | Choice | No | Top (`top`); Center (`center`); Bottom (`bottom`) | Not declared | Not set | | Vertical alignment, mobile (declared by the source column) `columns[].verticalAlignMobile` | Choice | No | Top (`top`); Center (`center`); Bottom (`bottom`) | Not declared | Not set | | Padding (declared by the source column, e.g. 0px 10% 0px 0px) `columns[].padding` | Text | No | No fixed list | Not declared | Not set | | Padding, tablet (declared) `columns[].paddingTablet` | Text | No | No fixed list | Not declared | Not set | | Padding, mobile (declared) `columns[].paddingMobile` | Text | No | No fixed list | Not declared | Not set | | Gap between blocks (declared by the source column’s flex container) `columns[].childGap` | Text | No | No fixed list | Not declared | Not set | | Gap between blocks, tablet (declared) `columns[].childGapTablet` | Text | No | No fixed list | Not declared | Not set | | Gap between blocks, mobile (declared) `columns[].childGapMobile` | Text | No | No fixed list | Not declared | Not set | | Hidden on mobile (declared by the source) `columns[].hiddenMobile` | Yes or no | No | No fixed list | Not declared | Not set | | Hidden on tablet (declared by the source) `columns[].hiddenTablet` | Yes or no | No | No fixed list | Not declared | Not set | | Hidden on desktop (declared by the source) `columns[].hiddenDesktop` | Yes or no | No | No fixed list | Not declared | Not set | | Border style (declared by the source column) `columns[].borderStyle` | Choice | No | Solid (`solid`); Double (`double`); Dotted (`dotted`); Dashed (`dashed`); Groove (`groove`) | Not declared | Not set | | Border width (declared by the source column, four sides) `columns[].borderWidth` | Text | No | No fixed list | Not declared | Not set | | Border width, tablet (declared) `columns[].borderWidthTablet` | Text | No | No fixed list | Not declared | Not set | | Border width, mobile (declared) `columns[].borderWidthMobile` | Text | No | No fixed list | Not declared | Not set | | Border color (declared by the source column) `columns[].borderColor` | Text | No | No fixed list | Not declared | Not set | | Corner radius (declared by the source column, four corners) `columns[].borderRadius` | Text | No | No fixed list | Not declared | Not set | | Corner radius, tablet (declared) `columns[].borderRadiusTablet` | Text | No | No fixed list | Not declared | Not set | | Corner radius, mobile (declared) `columns[].borderRadiusMobile` | Text | No | No fixed list | Not declared | Not set | | Box shadow (declared by the source column, a CSS box-shadow value) `columns[].boxShadow` | Text | No | No fixed list | Not declared | Not set | | Stacking order (declared by the source column) `columns[].zIndex` | Number | No | No fixed list | Not declared | Not set | | Stacking order, tablet (declared) `columns[].zIndexTablet` | Number | No | No fixed list | Not declared | Not set | | Stacking order, mobile (declared) `columns[].zIndexMobile` | Number | No | No fixed list | Not declared | Not set | | Border style on hover (declared by the source column) `columns[].hoverBorderStyle` | Choice | No | Solid (`solid`); Double (`double`); Dotted (`dotted`); Dashed (`dashed`); Groove (`groove`) | Not declared | Not set | | Border width on hover (declared, four sides) `columns[].hoverBorderWidth` | Text | No | No fixed list | Not declared | Not set | | Border width on hover, tablet (declared) `columns[].hoverBorderWidthTablet` | Text | No | No fixed list | Not declared | Not set | | Border width on hover, mobile (declared) `columns[].hoverBorderWidthMobile` | Text | No | No fixed list | Not declared | Not set | | Border color on hover (declared by the source column) `columns[].hoverBorderColor` | Text | No | No fixed list | Not declared | Not set | | Corner radius on hover (declared, four corners) `columns[].hoverBorderRadius` | Text | No | No fixed list | Not declared | Not set | | Corner radius on hover, tablet (declared) `columns[].hoverBorderRadiusTablet` | Text | No | No fixed list | Not declared | Not set | | Corner radius on hover, mobile (declared) `columns[].hoverBorderRadiusMobile` | Text | No | No fixed list | Not declared | Not set | | Box shadow on hover (declared, a CSS box-shadow value) `columns[].hoverBoxShadow` | Text | No | No fixed list | Not declared | Not set | | Hover transition (ms, declared by the source column) `columns[].hoverTransitionMs` | Number | No | No fixed list | Not declared | Not set | | Background color (declared by the source column) `columns[].backgroundColor` | Text | No | No fixed list | Not declared | Not set | | Background overlay color (declared by the source column) `columns[].backgroundOverlayColor` | Text | No | No fixed list | Not declared | Not set | | Background overlay opacity (0 to 1, declared by the source column) `columns[].backgroundOverlayOpacity` | Number | No | No fixed list | Not declared | Not set | | Heading color (declared by the source column; it cascades to its headings) `columns[].headingColor` | Text | No | No fixed list | Not declared | Not set | | Text color (declared by the source column; it cascades to its content) `columns[].colorText` | Text | No | No fixed list | Not declared | Not set | | Link color (declared by the source column) `columns[].colorLink` | Text | No | No fixed list | Not declared | Not set | | Link color on hover (declared by the source column) `columns[].colorLinkHover` | Text | No | No fixed list | Not declared | Not set | | Text alignment (declared by the source column; it cascades to its content) `columns[].textAlign` | Choice | No | Left (`left`); Center (`center`); Right (`right`); Justify (`justify`) | Not declared | Not set | | Text alignment, tablet (declared by the source column) `columns[].textAlignTablet` | Choice | No | Left (`left`); Center (`center`); Right (`right`); Justify (`justify`) | Not declared | Not set | | Text alignment, mobile (declared by the source column) `columns[].textAlignMobile` | Choice | No | Left (`left`); Center (`center`); Right (`right`); Justify (`justify`) | Not declared | Not set | | Blocks `columns[].children` | Child content | No | No fixed list | Not declared | 2 starter entries; 1 starter entries | | Vertical alignment (declared by the source row) `verticalAlign` | Choice | No | Center (`center`); Bottom (`bottom`) | Not declared | Not set | | Semantic tag `semantic` | Choice | No | Hero-like (`hero`); Features-like (`features`); Gallery-like (`gallery`); CTA-like (`cta`); Prose-like (`prose`) | Not declared | Prose-like | ## Layout A responsive arrangement of columns and elements. Also carries: Advanced fields, Appearance fields. See [shared fields](https://docs.amadalis.ai/reference/sections/common-fields/). | Field | Input | Required | Choices | Field default | Starter value | | --- | --- | --- | --- | --- | --- | | Section number `pxLabelNumber` | Formatted text | No | No fixed list | Not declared | Not set | | Section label `pxLabel` | Formatted text | No | No fixed list | Not declared | Not set | | Band tone `tone` | Choice | No | Page background (default) (`default`); Subtle surface band (`surface`); Primary band (`primary`); Stage (near black, with glow) (`stage`) | Not declared | Page background (default) | | Vertical placement (whole row) `verticalAlign` | Choice | No | Top (`top`); Middle (`center`); Bottom (`bottom`) | Not declared | Top | | Space between columns `gap` | Choice | No | Tight (`3`); Normal (`5`); Roomy (`6`); Generous (`7`) | Not declared | Normal | The basic starter holds two columns, seven and five twelfths wide on a desktop screen and full width on smaller screens. The first holds a Heading, a Rich text and a Button; the second holds an Image. Each starter element shows its own type’s name until you change it, and the button has no link yet. [Browse section families](https://docs.amadalis.ai/reference/sections/) ## Your next step Return to [the Composer](https://docs.amadalis.ai/composer/composer/#select-and-edit-a-section), select the section and review its editable fields. Apply your draft change and inspect the page preview before publishing. Source: https://docs.amadalis.ai/reference/sections/media/ # Media reference Open a page in **Composer** in the site admin and select the section you are inspecting. Use **Settings** and **Appearance** alongside the fields below. Read the [shared field guide](https://docs.amadalis.ai/reference/sections/common-fields/) for the meaning of the table columns. Checked against the product’s code on 7 November 2026. This reference lists the catalog fields and their basic starter configuration. Read [Shared section fields](https://docs.amadalis.ai/reference/sections/common-fields/) for the default rules and the shared groups of fields added to these sections. A chosen preset can start with different values. Viewport means the browser’s visible area. Renditions are saved copies of a picture at different sizes. ## Gallery A collection of pictures with layout, captions and presentation controls. In a public gallery grid on a library theme or a site that was not migrated, a caption without a picture is left out. On a site that was not migrated, a native Gallery with no pictures draws nothing for visitors, in any layout. Composer keeps a **Picture** slot for an empty native gallery. A carousel with pictures still keeps its empty slides. Also carries: Advanced fields, Appearance fields. See [shared fields](https://docs.amadalis.ai/reference/sections/common-fields/). | Field | Input | Required | Choices | Field default | Starter value | | --- | --- | --- | --- | --- | --- | | Section number `pxLabelNumber` | Formatted text | No | No fixed list | Not declared | Not set | | Section label `pxLabel` | Formatted text | No | No fixed list | Not declared | Not set | | Headline `headline` | Formatted text | No | No fixed list | Not declared | Not set | | Layout `layout` | Choice | No | Grid (`grid`); Carousel (`carousel`); Masonry (`masonry`); Before / after pairs (`beforeAfter`) | Not declared | Grid | | Captions `captions` | Choice | No | Below the image (default) (`below`); Overlay title on hover (`overlay`) | Not declared | Not set | | Image size served (declared by the source) `imageSize` | Choice | No | Thumbnail (150×150 crop) (`thumbnail`); Medium (≤300px) (`medium`); Medium-large (≤768px) (`medium_large`); Large (≤1024px) (`large`); Full size (`full`) | Not declared | Not set | | Image corner radius (declared by the source, e.g. 0px 0px 0px 0px) `imageRadius` | Text | No | No fixed list | Not declared | Not set | | Image sizing `imageSizing` | Choice | No | Native gallery sizing (default) (`native`); Full width with declared proportions and fit (`fluid`); Declared image height (`declared-height`) | Not declared | Not set | | Image height (auto or pixels, e.g. 240px) `imageHeight` | Text | No | No fixed list | Not declared | Not set | | Minimum image height (auto or pixels) `imageMinHeight` | Text | No | No fixed list | Not declared | Not set | | Maximum image height (none or pixels) `imageMaxHeight` | Text | No | No fixed list | Not declared | Not set | | Image proportions (auto for natural size, or e.g. 4 / 3) `cardImageAspect` | Text | No | No fixed list | Not declared | Not set | | Image position (horizontal and vertical, e.g. 20% 80%) `imagePosition` | Text | No | No fixed list | Not declared | Not set | | Image fit `cardImageFit` | Choice | No | Fill (`fill`); Contain (`contain`); Cover (`cover`); Original size (`none`); Scale down (`scale-down`) | Not declared | Not set | | Slides per view (carousel) `slidesPerView` | Number | No | No fixed list | Not declared | Not set | | Source viewport ranges `responsiveProfile` | Source viewport ranges | No | No fixed list | Not declared | Not set | | Carousel layout at a viewport cutoff `carouselBreakpointMode` | Choice | No | Keep the smaller layout at the cutoff (default) (`max-width`); Start the larger layout at the cutoff (`min-width`) | Not declared | Not set | | Slides per view, tablet (carousel) `slidesPerViewTablet` | Number | No | No fixed list | Not declared | Not set | | Slides per view, mobile (carousel) `slidesPerViewMobile` | Number | No | No fixed list | Not declared | Not set | | Carousel slide position (declared by the source) `carouselAlignment` | Choice | No | At the start of the strip (`start`); Centred, its neighbours peeking on both sides (`center`) | Not declared | Not set | | Space between slides (carousel, declared by the source, e.g. 0px) `slideGap` | Text | No | No fixed list | Not declared | Not set | | Space between slides, tablet (carousel) `slideGapTablet` | Text | No | No fixed list | Not declared | Not set | | Space between slides, mobile (carousel) `slideGapMobile` | Text | No | No fixed list | Not declared | Not set | | Images sit inline on the text baseline (the source builder’s carousel anatomy) `imageInline` | Yes or no | No | No fixed list | Not declared | Not set | | Grid columns `columns` | Number | No | No fixed list | Not declared | Not set | | Carousel autoplay interval (ms; empty = off) `autoplayMs` | Number | No | No fixed list | Not declared | Not set | | Carousel controls `carouselNavigation` | Choice | No | Arrows and dots (`both`); Arrows only (`arrows`); Dots only (`dots`); None (`none`) | Not declared | Not set | | Carousel loops (declared by the source; Elementor infinite) `loop` | Yes or no | No | No fixed list | Not declared | Not set | | Slides per step (carousel) `slidesToScroll` | Number | No | No fixed list | Not declared | Not set | | Slides per step, tablet (carousel) `slidesToScrollTablet` | Number | No | No fixed list | Not declared | Not set | | Slides per step, mobile (carousel) `slidesToScrollMobile` | Number | No | No fixed list | Not declared | Not set | | Open full size on click `lightbox` | Yes or no | No | No fixed list | Yes | Not set | | Images `images` | List of entries | No | No fixed list | Not declared | Empty list | | Image URL `images[].url` | Picture | Yes | No fixed list | Not declared | Not set | | Alt text `images[].alt` | Text | No | No fixed list | Not declared | Not set | | Picture fit `images[].fit` | Choice | No | Show the whole picture (`whole`); Fill the frame (`fill`) | Show the whole picture | Not set | | Caption `images[].caption` | Formatted text | No | No fixed list | Not declared | Not set | | Image width attribute `images[].width` | Number | No | No fixed list | Not declared | Not set | | Image height attribute `images[].height` | Number | No | No fixed list | Not declared | Not set | | Image loading (declared by the source; absence means eager) `images[].loading` | Choice | No | Eager (loads immediately) (`eager`); Lazy (loads once scrolled into view) (`lazy`) | Not declared | Not set | | Image decoding (declared by the source) `images[].decoding` | Choice | No | Async (`async`); Sync (`sync`); Auto (`auto`) | Not declared | Not set | | Image fetch priority (declared by the source) `images[].fetchPriority` | Choice | No | High (`high`); Low (`low`); Auto (`auto`) | Not declared | Not set | | This image’s corner radius `images[].imageRadius` | Text | No | No fixed list | Not declared | Not set | | This image’s sizing `images[].imageSizing` | Choice | No | Use gallery setting (`gallery`); Full width, automatic height (`fluid`); Declared image height (`declared-height`) | Not declared | Not set | | This image’s height (auto or pixels, e.g. 240px) `images[].imageHeight` | Text | No | No fixed list | Not declared | Not set | | This image’s minimum height (auto or pixels) `images[].imageMinHeight` | Text | No | No fixed list | Not declared | Not set | | This image’s maximum height (none or pixels) `images[].imageMaxHeight` | Text | No | No fixed list | Not declared | Not set | | This image’s proportions (auto or width / height) `images[].aspectRatio` | Text | No | No fixed list | Not declared | Not set | | This image’s fit `images[].objectFit` | Choice | No | Stretch (`fill`); Contain (`contain`); Cover (`cover`); Original size (`none`); Scale down (`scale-down`) | Not declared | Not set | | This image’s crop position (horizontal% vertical%) `images[].objectPosition` | Text | No | No fixed list | Not declared | Not set | | This image’s corner radius, tablet `images[].imageRadiusTablet` | Text | No | No fixed list | Not declared | Not set | | This image’s corner radius, mobile `images[].imageRadiusMobile` | Text | No | No fixed list | Not declared | Not set | | This image’s height, tablet (auto or pixels) `images[].imageHeightTablet` | Text | No | No fixed list | Not declared | Not set | | This image’s height, mobile (auto or pixels) `images[].imageHeightMobile` | Text | No | No fixed list | Not declared | Not set | | This image’s minimum height, tablet (auto or pixels) `images[].imageMinHeightTablet` | Text | No | No fixed list | Not declared | Not set | | This image’s maximum height, tablet (none or pixels) `images[].imageMaxHeightTablet` | Text | No | No fixed list | Not declared | Not set | | This image’s minimum height, mobile (auto or pixels) `images[].imageMinHeightMobile` | Text | No | No fixed list | Not declared | Not set | | This image’s maximum height, mobile (none or pixels) `images[].imageMaxHeightMobile` | Text | No | No fixed list | Not declared | Not set | | This image’s proportions, tablet `images[].aspectRatioTablet` | Text | No | No fixed list | Not declared | Not set | | This image’s proportions, mobile `images[].aspectRatioMobile` | Text | No | No fixed list | Not declared | Not set | | This image’s fit, tablet `images[].objectFitTablet` | Choice | No | Stretch (`fill`); Contain (`contain`); Cover (`cover`); Original size (`none`); Scale down (`scale-down`) | Not declared | Not set | | This image’s fit, mobile `images[].objectFitMobile` | Choice | No | Stretch (`fill`); Contain (`contain`); Cover (`cover`); Original size (`none`); Scale down (`scale-down`) | Not declared | Not set | | This image’s crop position, tablet (horizontal% vertical%) `images[].objectPositionTablet` | Text | No | No fixed list | Not declared | Not set | | This image’s crop position, mobile (horizontal% vertical%) `images[].objectPositionMobile` | Text | No | No fixed list | Not declared | Not set | | Spotlight (spans 2x2 in the grid) `images[].span` | Yes or no | No | No fixed list | Not declared | Not set | | Compare image (the “after” frame) `images[].compareUrl` | Picture | No | No fixed list | Not declared | Not set | | Compare image alt text `images[].compareAlt` | Text | No | No fixed list | Not declared | Not set | | Registered renditions (stamped at import; JSON of size → file) `images[].renditions` | Picture | No | No fixed list | Not declared | Not set | ## Video A player for a video file hosted on this site, with supporting text. Without a selected file, it draws no public player. For an outside provider, use the [Video element](https://docs.amadalis.ai/reference/sections/elements/#video), whose content is not protected by this site’s paywall. Also carries: Advanced fields, Appearance fields. See [shared fields](https://docs.amadalis.ai/reference/sections/common-fields/). | Field | Input | Required | Choices | Field default | Starter value | | --- | --- | --- | --- | --- | --- | | Name `label` | Formatted text | No | No fixed list | Not declared | Starter text | | Video file `assetId` | File | No | No fixed list | Not declared | Not set | | Poster image `posterAssetId` | File | No | No fixed list | Not declared | Not set | | Caption `caption` | Formatted text | No | No fixed list | Not declared | Not set | | Original video address (from the migrated site) `sourceUrl` | Link | No | No fixed list | Not declared | Not set | | Play automatically `autoplay` | Yes or no | No | No fixed list | Not declared | No | | Start muted `muted` | Yes or no | No | No fixed list | Not declared | No | | Loop `loop` | Yes or no | No | No fixed list | Not declared | No | | Section number `pxLabelNumber` | Formatted text | No | No fixed list | Not declared | Not set | | Section label `pxLabel` | Formatted text | No | No fixed list | Not declared | Not set | **Video file** is chosen from the media library. **Poster image** is chosen from the media library. [Browse section families](https://docs.amadalis.ai/reference/sections/) ## Your next step Return to [the Composer](https://docs.amadalis.ai/composer/composer/#select-and-edit-a-section), select the section and review its editable fields. Apply your draft change and inspect the page preview before publishing. Source: https://docs.amadalis.ai/reference/sections/personalization/ # Personalization reference Open a page in **Composer** in the site admin and select the section you are inspecting. Use **Settings** and **Appearance** alongside the fields below. Read the [shared field guide](https://docs.amadalis.ai/reference/sections/common-fields/) for the meaning of the table columns. Checked against the product’s code on 7 November 2026. This reference lists the catalog fields and their basic starter configuration. Read [Shared section fields](https://docs.amadalis.ai/reference/sections/common-fields/) for the default rules and the shared groups of fields added to these sections. A chosen preset can start with different values. CTA means call to action, such as a button or link. The table spells this out as Call to action. ## Recommendations Cards supplied by the recommendation result. With no resolved items, the section draws no invented cards. The fields below describe the catalogue; the Composer currently refuses saving changes to **What each card shows**, **Always show first** and **Never show**. See [Recommendations](https://docs.amadalis.ai/optimization/recommendations/) for the current saving limits. Also carries: Advanced fields, Appearance fields. See [shared fields](https://docs.amadalis.ai/reference/sections/common-fields/). | Field | Input | Required | Choices | Field default | Starter value | | --- | --- | --- | --- | --- | --- | | Section number `pxLabelNumber` | Formatted text | No | No fixed list | Not declared | Not set | | Section label `pxLabel` | Formatted text | No | No fixed list | Not declared | Not set | | Headline `headline` | Formatted text | No | No fixed list | Not declared | Starter text | | Show `source` | Choice | No | Anything in the catalog (`all`); Articles and posts (`text`); Pages (`layout`); Reusable sections (`module`); Media (`image`) | Not declared | Anything in the catalog | | How many cards `count` | Number | No | No fixed list | Not declared | 4 | | Layout `layout` | Choice | No | Card grid (`grid`); Horizontal rail (`rail`); List (`list`) | Not declared | Card grid | | What each card shows `cardParts` | Selected values | No | Image (`image`); Title (`title`); Summary (`excerpt`); Date (`date`); Price (`price`); Call to action (`cta`) | Not declared | Image, Title, Summary | | Cards per row `cardsPerRow` | Number | No | No fixed list | Not declared | 4 | | Call-to-action words `cardCta` | Formatted text | No | No fixed list | Not declared | Starter text | | Narrow by `filters` | Selected values | No | Chosen from the content catalog’s tag values | Not declared | Not set | | Always show first `pins` | Catalog items | No | Search the content catalog | Not declared | Not set | | Never show `excludes` | Catalog items | No | Search the content catalog | Not declared | Not set | | When there is nothing to personalise on `fallback` | Choice | No | The most recently updated items (`trending`); Your pins, then catalog order (`editorial`); Hide the section entirely (`hide`) | Not declared | The most recently updated items | | Picture beside the words `pxAsideImage` | Picture | No | No fixed list | Not declared | Not set | | Picture description (alt text) `pxAsideAlt` | Text | No | No fixed list | Not declared | Not set | | Picture caption `pxAsideCaption` | Formatted text | No | No fixed list | Not declared | Not set | | Picture side `pxAsidePosition` | Choice | No | Right (`right`); Left (`left`) | Right | Not set | | Picture frame `pxAsideFrame` | Choice | No | None (`none`); Screen (`screen`); Dark stage (`stage`); Light (`light`) | None | Not set | | Picture width `pxAsideWidth` | Choice | No | Even (`even`); Wide (`wide`); Narrow (`narrow`) | Even | Not set | | Heading place `pxAsideHead` | Choice | No | Above both columns (`above`); Beside the picture, over the words (`beside`) | Above both columns | Not set | [Browse section families](https://docs.amadalis.ai/reference/sections/) ## Your next step Return to [the Composer](https://docs.amadalis.ai/composer/composer/#select-and-edit-a-section), select the section and review its editable fields. Apply your draft change and inspect the page preview before publishing. Source: https://docs.amadalis.ai/reference/sections/row-content/ # Row content reference Open a page in **Composer** in the site admin and select the section you are inspecting. Use **Settings** and **Appearance** alongside the fields below. Read the [shared field guide](https://docs.amadalis.ai/reference/sections/common-fields/) for the meaning of the table columns. Checked against the product’s code on 7 November 2026. This reference lists the catalog fields and their basic starter configuration. Read [Shared section fields](https://docs.amadalis.ai/reference/sections/common-fields/) for the default rules and the shared groups of fields added to these sections. A chosen preset can start with different values. Renditions are saved copies of a picture at different sizes. Opacity controls how see-through a picture is: 0 is transparent and 1 is solid. A glyph is a character or icon from a font. ## Text Text within a row. Also carries: Advanced fields, Text presentation fields. See [shared fields](https://docs.amadalis.ai/reference/sections/common-fields/). | Field | Input | Required | Choices | Field default | Starter value | | --- | --- | --- | --- | --- | --- | | Content `content` | Rich text | No | No fixed list | Not declared | Starter text | | Bare text (the source prints this copy without a paragraph element) `bareText` | Yes or no | No | No fixed list | Not declared | Not set | | Text color (measured on the source’s own text box) `textColor` | Text | No | No fixed list | Not declared | Not set | | Text alignment (declared by the source module) `textAlign` | Choice | No | Left (`left`); Center (`center`); Right (`right`); Justify (`justify`) | Not declared | Not set | | Text alignment, tablet (declared) `textAlignTablet` | Choice | No | Left (`left`); Center (`center`); Right (`right`); Justify (`justify`) | Not declared | Not set | | Text alignment, mobile (declared) `textAlignMobile` | Choice | No | Left (`left`); Center (`center`); Right (`right`); Justify (`justify`) | Not declared | Not set | | Element styling `pxStyle` | Appearance settings | No | No fixed list | Not declared | Not set | ## Heading A heading with a selected level and presentation. Also carries: Advanced fields, Text presentation fields. See [shared fields](https://docs.amadalis.ai/reference/sections/common-fields/). | Field | Input | Required | Choices | Field default | Starter value | | --- | --- | --- | --- | --- | --- | | Text `text` | Formatted text | No | No fixed list | Not declared | Starter text | | Heading level (1 to 6) `level` | Number | No | No fixed list | Not declared | 2 | | Text alignment (declared by the source module) `textAlign` | Choice | No | Left (`left`); Center (`center`); Right (`right`) | Not declared | Not set | | Text alignment, tablet (declared) `textAlignTablet` | Choice | No | Left (`left`); Center (`center`); Right (`right`) | Not declared | Not set | | Text alignment, mobile (declared) `textAlignMobile` | Choice | No | Left (`left`); Center (`center`); Right (`right`) | Not declared | Not set | | Element styling `pxStyle` | Appearance settings | No | No fixed list | Not declared | Not set | ## Image A picture with text alternatives and presentation controls. Also carries: Advanced fields. See [shared fields](https://docs.amadalis.ai/reference/sections/common-fields/). | Field | Input | Required | Choices | Field default | Starter value | | --- | --- | --- | --- | --- | --- | | Image `imageUrl` | Picture | No | No fixed list | Not declared | Starter picture | | Image alt `imageAlt` | Text | No | No fixed list | Not declared | Empty | | Link URL `url` | Link | No | No fixed list | Not declared | Not set | | Image width (intrinsic px) `imageWidth` | Number | No | No fixed list | Not declared | Not set | | Image height (intrinsic px) `imageHeight` | Number | No | No fixed list | Not declared | Not set | | Crop shape `imageCrop` | Choice | No | As uploaded (`none`); Circle (`circle`); Square (`square`); Landscape (4:3) (`landscape`); Portrait (2:3) (`portrait`) | Not declared | Not set | | Display width (px, declared) `imageMaxWidthPx` | Number | No | No fixed list | Not declared | Not set | | Widget width (px, declared) `imageWidthPx` | Number | No | No fixed list | Not declared | Not set | | Widget width, tablet (px, declared) `imageWidthTabletPx` | Number | No | No fixed list | Not declared | Not set | | Widget width, mobile (px, declared) `imageWidthMobilePx` | Number | No | No fixed list | Not declared | Not set | | Image opacity (0 to 1, declared) `imageOpacity` | Number | No | No fixed list | Not declared | Not set | | Hover transition (ms, declared by the source) `hoverTransitionMs` | Number | No | No fixed list | Not declared | Not set | | Alignment in the column `align` | Choice | No | Left (`left`); Center (`center`); Right (`right`) | Not declared | Not set | | Corner radius (declared, e.g. 3px 3px 3px 3px) `imageRadius` | Text | No | No fixed list | Not declared | Not set | | Shadow (declared, e.g. 5px 5px 20px 0px rgba(0,0,0,0.25)) `imageShadow` | Text | No | No fixed list | Not declared | Not set | | Image size served (declared by the source) `imageSize` | Choice | No | Thumbnail (150×150 crop) (`thumbnail`); Medium (≤300px) (`medium`); Medium-large (≤768px) (`medium_large`); Large (≤1024px) (`large`); Full size (`full`) | Not declared | Not set | | Registered renditions (stamped at import; JSON of size → file) `renditions` | Picture | No | No fixed list | Not declared | Not set | | Element styling `pxStyle` | Appearance settings | No | No fixed list | Not declared | Not set | ## Button An authored button or link. Also carries: Advanced fields, Text presentation fields. See [shared fields](https://docs.amadalis.ai/reference/sections/common-fields/). | Field | Input | Required | Choices | Field default | Starter value | | --- | --- | --- | --- | --- | --- | | Label `text` | Formatted text | No | No fixed list | Not declared | Starter text | | Link URL `url` | Link | No | No fixed list | Not declared | Empty | | Alignment in the column (declared by the source) `align` | Choice | No | Left (`left`); Center (`center`); Right (`right`) | Not declared | Not set | | Alignment in the column, tablet (declared) `alignTablet` | Choice | No | Left (`left`); Center (`center`); Right (`right`) | Not declared | Not set | | Alignment in the column, mobile (declared) `alignMobile` | Choice | No | Left (`left`); Center (`center`); Right (`right`) | Not declared | Not set | | Icon (named glyph, declared by the source) `icon` | Text | No | No fixed list | Not declared | Not set | | Icon position `iconPosition` | Choice | No | Before the label (`before`); After the label (`after`) | Not declared | Not set | | Text color (declared by the source) `textColor` | Text | No | No fixed list | Not declared | Not set | | Background color (declared by the source) `bgColor` | Text | No | No fixed list | Not declared | Not set | | Hover text color (declared by the source) `textHoverColor` | Text | No | No fixed list | Not declared | Not set | | Hover background color (declared by the source) `bgHoverColor` | Text | No | No fixed list | Not declared | Not set | | Button padding (declared by the source) `buttonPadding` | Text | No | No fixed list | Not declared | Not set | | Button padding, tablet (declared) `buttonPaddingTablet` | Text | No | No fixed list | Not declared | Not set | | Button padding, mobile (declared) `buttonPaddingMobile` | Text | No | No fixed list | Not declared | Not set | | Element styling `pxStyle` | Appearance settings | No | No fixed list | Not declared | Not set | ## Icon A selected icon with presentation controls. Also carries: Advanced fields. See [shared fields](https://docs.amadalis.ai/reference/sections/common-fields/). | Field | Input | Required | Choices | Field default | Starter value | | --- | --- | --- | --- | --- | --- | | Icon (named glyph) `icon` | Text | No | No fixed list | Not declared | Starter text | | Icon color `iconColor` | Text | No | No fixed list | Not declared | Not set | | Icon disc colour (the filled circle behind the icon) `iconDiscColor` | Text | No | No fixed list | Not declared | Not set | | Icon frame colour (a ring around the icon) `iconFrameColor` | Text | No | No fixed list | Not declared | Not set | | Icon size (px) `iconSizePx` | Number | No | No fixed list | Not declared | 24 | | Icon gap (px) `iconGapPx` | Number | No | No fixed list | Not declared | Not set | | Icon size, tablet (px, declared) `iconSizePxTablet` | Number | No | No fixed list | Not declared | Not set | | Icon size, mobile (px, declared) `iconSizePxMobile` | Number | No | No fixed list | Not declared | Not set | | Alignment in its box (declared by the source) `textAlign` | Choice | No | Left (`left`); Center (`center`); Right (`right`) | Not declared | Not set | | Text alignment, tablet (declared) `textAlignTablet` | Choice | No | Left (`left`); Center (`center`); Right (`right`) | Not declared | Not set | | Text alignment, mobile (declared) `textAlignMobile` | Choice | No | Left (`left`); Center (`center`); Right (`right`) | Not declared | Not set | | Element styling `pxStyle` | Appearance settings | No | No fixed list | Not declared | Not set | ## Social icons A group of social links displayed as icons. Also carries: Advanced fields. See [shared fields](https://docs.amadalis.ai/reference/sections/common-fields/). | Field | Input | Required | Choices | Field default | Starter value | | --- | --- | --- | --- | --- | --- | | Icons `items` | List of entries | No | No fixed list | Not declared | 1 starter entries | | Network name (read aloud for the icon) `items[].text` | Formatted text | No | No fixed list | Not declared | Starter text | | Link URL (optional) `items[].url` | Link | No | No fixed list | Not declared | Empty | | Icon (the Font Awesome class list the source declares) `items[].icon` | Text | No | No fixed list | Not declared | Not set | | Color behind the mark `items[].background` | Text | No | No fixed list | Not declared | Not set | | Mark color `items[].color` | Text | No | No fixed list | Not declared | Not set | | Shape `shape` | Choice | No | Rounded (`rounded`); Circle (`circle`); Square (`square`) | Not declared | Rounded | | Icon size (px) `iconSizePx` | Number | No | No fixed list | Not declared | Not set | | Icon size, tablet (px, declared) `iconSizePxTablet` | Number | No | No fixed list | Not declared | Not set | | Icon size, mobile (px, declared) `iconSizePxMobile` | Number | No | No fixed list | Not declared | Not set | | Space around each mark (a length in its own unit) `iconPadding` | Text | No | No fixed list | Not declared | Not set | | Space around each mark, tablet (declared) `iconPaddingTablet` | Text | No | No fixed list | Not declared | Not set | | Space around each mark, mobile (declared) `iconPaddingMobile` | Text | No | No fixed list | Not declared | Not set | | Space between the icons (a length in its own unit) `iconSpacing` | Text | No | No fixed list | Not declared | Not set | | Space between the icons, tablet (declared) `iconSpacingTablet` | Text | No | No fixed list | Not declared | Not set | | Space between the icons, mobile (declared) `iconSpacingMobile` | Text | No | No fixed list | Not declared | Not set | | Alignment `textAlign` | Choice | No | Left (`left`); Center (`center`); Right (`right`) | Not declared | Not set | | Alignment, tablet (declared) `textAlignTablet` | Choice | No | Left (`left`); Center (`center`); Right (`right`) | Not declared | Not set | | Alignment, mobile (declared) `textAlignMobile` | Choice | No | Left (`left`); Center (`center`); Right (`right`) | Not declared | Not set | | Element styling `pxStyle` | Appearance settings | No | No fixed list | Not declared | Not set | ## List A list of entries. Also carries: Advanced fields. See [shared fields](https://docs.amadalis.ai/reference/sections/common-fields/). | Field | Input | Required | Choices | Field default | Starter value | | --- | --- | --- | --- | --- | --- | | Numbered list `ordered` | Yes or no | No | No fixed list | Not declared | No | | Item marker `marker` | Choice | No | The list’s own bullet or number (default) (`bullet`); Each item’s own icon, no list marker (`icon`) | Not declared | Not set | | Item icon colour (declared by the source, e.g. #6EC1E4) `iconColor` | Text | No | No fixed list | Not declared | Not set | | Items `items` | List of entries | No | No fixed list | Not declared | 2 starter entries | | Text `items[].text` | Formatted text | No | No fixed list | Not declared | Starter text | | Icon `items[].icon` | Choice | No | No icon (empty value); zap (`zap`); shield (`shield`); users (`users`); chart (`chart`); code (`code`); globe (`globe`); heart (`heart`); star (`star`); check (`check`); lock (`lock`); clock (`clock`); cloud (`cloud`) | Not declared | Not set | | Link URL (optional) `items[].url` | Link | No | No fixed list | Not declared | Not set | | Element styling `pxStyle` | Appearance settings | No | No fixed list | Not declared | Not set | ## Rating figure A rating display and its supporting words. Also carries: Advanced fields. See [shared fields](https://docs.amadalis.ai/reference/sections/common-fields/). | Field | Input | Required | Choices | Field default | Starter value | | --- | --- | --- | --- | --- | --- | | Stars (rating) `stars` | Number | No | No fixed list | Not declared | 5 | | Star scale (default 5) `starsScale` | Number | No | No fixed list | Not declared | 5 | | Star color `starColor` | Text | No | No fixed list | Not declared | Not set | | Display figure `text` | Formatted text | No | No fixed list | Not declared | Starter text | | Figure size px `figureSizePx` | Number | No | No fixed list | Not declared | Not set | | Figure weight `figureWeight` | Text | No | No fixed list | Not declared | Not set | | Element styling `pxStyle` | Appearance settings | No | No fixed list | Not declared | Not set | ## Divider A visual divider. Also carries: Advanced fields. See [shared fields](https://docs.amadalis.ai/reference/sections/common-fields/). | Field | Input | Required | Choices | Field default | Starter value | | --- | --- | --- | --- | --- | --- | | Line weight (declared by the source) `weight` | Text | No | No fixed list | Not declared | Starter text | | Line color (declared by the source) `color` | Text | No | No fixed list | Not declared | Not set | | Line style (declared by the source) `lineStyle` | Choice | No | Solid (`solid`); Dashed (`dashed`); Dotted (`dotted`); Double (`double`) | Not declared | Solid | | Line width (declared by the source) `width` | Text | No | No fixed list | Not declared | `100%` | | Alignment (declared by the source) `align` | Choice | No | Left (`left`); Center (`center`); Right (`right`) | Not declared | Not set | | Element styling `pxStyle` | Appearance settings | No | No fixed list | Not declared | Not set | [Browse section families](https://docs.amadalis.ai/reference/sections/) ## Your next step Return to [the Composer](https://docs.amadalis.ai/composer/composer/#select-and-edit-a-section), select the section and review its editable fields. Apply your draft change and inspect the page preview before publishing. Source: https://docs.amadalis.ai/reference/sections/social-proof/ # Social proof reference Open a page in **Composer** in the site admin and select the section you are inspecting. Use **Settings** and **Appearance** alongside the fields below. Read the [shared field guide](https://docs.amadalis.ai/reference/sections/common-fields/) for the meaning of the table columns. Checked against the product’s code on 7 November 2026. This reference lists the catalog fields and their basic starter configuration. Read [Shared section fields](https://docs.amadalis.ai/reference/sections/common-fields/) for the default rules and the shared groups of fields added to these sections. A chosen preset can start with different values. An avatar is a small portrait or profile image. A metric is a measured result. ## Testimonials Quotes with attribution and optional portraits or ratings. Also carries: Advanced fields, Appearance fields. See [shared fields](https://docs.amadalis.ai/reference/sections/common-fields/). | Field | Input | Required | Choices | Field default | Starter value | | --- | --- | --- | --- | --- | --- | | Section number `pxLabelNumber` | Formatted text | No | No fixed list | Not declared | Not set | | Section label `pxLabel` | Formatted text | No | No fixed list | Not declared | Not set | | Headline `headline` | Formatted text | No | No fixed list | Not declared | Not set | | Layout `layout` | Choice | No | Card grid (`grid`); Spotlight quote (`spotlight`) | Not declared | Not set | | Band tone `tone` | Choice | No | Subtle surface (default) (`surface`); Accent band (`accent`); Primary band (`primary`); Stage (near black, with glow) (`stage`) | Not declared | Not set | | Testimonials `items` | List of entries | No | No fixed list | Not declared | 1 starter entries | | Quote `items[].quote` | Formatted text | Yes | No fixed list | Not declared | Not set | | Author `items[].author` | Formatted text | Yes | No fixed list | Not declared | Not set | | Role `items[].role` | Formatted text | No | No fixed list | Not declared | Not set | | Company `items[].company` | Formatted text | No | No fixed list | Not declared | Not set | | Avatar URL `items[].avatarUrl` | Picture | No | No fixed list | Not declared | Not set | | Company logo `items[].logoUrl` | Picture | No | No fixed list | Not declared | Not set | | Rating (out of 5) `items[].rating` | Choice | No | 5 stars (`5`); 4 stars (`4`); 3 stars (`3`); 2 stars (`2`); 1 star (`1`) | Not declared | Not set | | Metric value (a real result you can stand behind) `items[].metricValue` | Formatted text | No | No fixed list | Not declared | Not set | | Metric label (e.g. “faster onboarding”) `items[].metricLabel` | Formatted text | No | No fixed list | Not declared | Not set | | Picture beside the words `pxAsideImage` | Picture | No | No fixed list | Not declared | Not set | | Picture description (alt text) `pxAsideAlt` | Text | No | No fixed list | Not declared | Not set | | Picture caption `pxAsideCaption` | Formatted text | No | No fixed list | Not declared | Not set | | Picture side `pxAsidePosition` | Choice | No | Right (`right`); Left (`left`) | Right | Not set | | Picture frame `pxAsideFrame` | Choice | No | None (`none`); Screen (`screen`); Dark stage (`stage`); Light (`light`) | None | Not set | | Picture width `pxAsideWidth` | Choice | No | Even (`even`); Wide (`wide`); Narrow (`narrow`) | Even | Not set | | Heading place `pxAsideHead` | Choice | No | Above both columns (`above`); Beside the picture, over the words (`beside`) | Above both columns | Not set | ## Logo cloud A group of logos with optional supporting words. Also carries: Advanced fields, Appearance fields. See [shared fields](https://docs.amadalis.ai/reference/sections/common-fields/). | Field | Input | Required | Choices | Field default | Starter value | | --- | --- | --- | --- | --- | --- | | Section number `pxLabelNumber` | Formatted text | No | No fixed list | Not declared | Not set | | Section label `pxLabel` | Formatted text | No | No fixed list | Not declared | Not set | | Headline `headline` | Formatted text | No | No fixed list | Not declared | Starter text | | Grayscale logos `grayscale` | Yes or no | No | No fixed list | Not declared | Yes | | Layout `layout` | Choice | No | Centered row (default) (`row`); Scrolling marquee (`marquee`) | Not declared | Not set | | Logos `logos` | List of entries | No | No fixed list | Not declared | 4 starter entries | | Logo image `logos[].src` | Picture | Yes | No fixed list | Not declared | Starter picture | | Company name (alt text) `logos[].alt` | Text | No | No fixed list | Not declared | Starter text | | Link URL `logos[].href` | Link | No | No fixed list | Not declared | Not set | | Picture beside the words `pxAsideImage` | Picture | No | No fixed list | Not declared | Not set | | Picture description (alt text) `pxAsideAlt` | Text | No | No fixed list | Not declared | Not set | | Picture caption `pxAsideCaption` | Formatted text | No | No fixed list | Not declared | Not set | | Picture side `pxAsidePosition` | Choice | No | Right (`right`); Left (`left`) | Right | Not set | | Picture frame `pxAsideFrame` | Choice | No | None (`none`); Screen (`screen`); Dark stage (`stage`); Light (`light`) | None | Not set | | Picture width `pxAsideWidth` | Choice | No | Even (`even`); Wide (`wide`); Narrow (`narrow`) | Even | Not set | | Heading place `pxAsideHead` | Choice | No | Above both columns (`above`); Beside the picture, over the words (`beside`) | Above both columns | Not set | [Browse section families](https://docs.amadalis.ai/reference/sections/) ## Your next step Return to [the Composer](https://docs.amadalis.ai/composer/composer/#select-and-edit-a-section), select the section and review its editable fields. Apply your draft change and inspect the page preview before publishing. Source: https://docs.amadalis.ai/reference/settings/ # Settings reference Use these references beside **Composer**, **Site** and your Praxis account to check how far a setting reaches before changing it. Checked against the product’s code on 7 November 2026. Each setting affects a particular part of the site or account. A section field changes that section. A page setting changes a page. A shared theme or site policy can affect many pages. Account controls govern the organization and its team. - [Theme tokens and roles](https://docs.amadalis.ai/reference/settings/theme-tokens/): shared theme variables, intended roles, accepted paths and Clean starter values. - [Page settings](https://docs.amadalis.ai/reference/settings/page-settings/): title, page type, address, access, SEO, scripts and publication state. - [Site settings](https://docs.amadalis.ai/reference/settings/site-settings/): front page, header, identity, navigation, CMS settings and shared policy. These pages describe the checked code. They do not establish the serving version or the saved settings of a hosted site. Read the proposed consequence before approving a shared change. ## Your next step Choose the part of the site or account you want to change, then follow [The Composer](https://docs.amadalis.ai/composer/composer/) for a page edit or [Site setup](https://docs.amadalis.ai/site/site-setup/) for the front page and header. Source: https://docs.amadalis.ai/reference/settings/page-settings/ # Page settings Open a page in **Composer** in the site admin to review page controls. For search settings, use **Site** > **SEO**. This reference explains which changes affect one page and which affect the whole site. Checked against the product’s code on 7 November 2026. Page settings affect one page or post. Section **Settings** and **Appearance** affect the selected section or element. The site theme and shared header, footer and navigation have site scope. ## Page identity and state | Setting | Meaning and boundary | | --- | --- | | **Title** | The page’s title. New page creation asks for it. Editing page text saves a draft. An explicit SEO title can be different. | | **Page type** or **Post type** | The catalog recipe used to create the draft and the allowed section choices. It is not the published page’s address. See the [Collection index page type](https://docs.amadalis.ai/reference/page-types/collection-index/) for its recipe and list controls. | | Address | The page’s public path. Nested pages can have a parent path. Read the actual address shown for the page; a front page can be served at `/`. | | Publication state | A draft is not public. A published page can also have unpublished changes. Editing that draft does not itself publish it. | | Post excerpt | Available in the page text editing flow only for a post that already has an excerpt field. | | **Layout** | Chooses **Standard (default)** or **Article with an On this page rail** for a page using the catalogue layout. A choice saves to the page draft. An imported page keeping its WordPress layout does not offer this choice. | The Composer’s **Settings**, **Appearance** and **Structure** tabs describe the selection or page tree. They do not constitute one general site settings form. For every native section’s fields, see [Section types](https://docs.amadalis.ai/reference/sections/). ## Access The **Access** control chooses who can read the page. Its choices are: | Choice | Meaning | | --- | --- | | **Public** | Everyone can read it. A missing or blank access value is treated as public. | | **Members only** | Readers without membership see only the free portion defined by the page’s members-only boundaries. Without a boundary, the whole page is withheld. | | **In a package (choose which)** | Only readers who bought one of the page’s packages, or hold a membership tier that includes one, see past the boundary. On a page in no package, choosing it first opens the package chooser. | A visibility change is saved as pending changes. On a published page, the live access remains as it was until publication. Placing a public page in a package does not itself restrict the page. Embedded files retain the access chosen for those files in the media library. ## Page SEO Use **Site → SEO** to inspect the page’s search and sharing details and whether search engines may list it. These values are separate from its visible content: | Value | Role | | --- | --- | | **SEO title** | An explicit title for search and browser details. It can override a site title template. | | **Meta description** | The page’s own description. If absent, the configured site default can apply. | | **SEO image URL** | The image used when the page is shared on social sites. If absent, the configured site default can apply. | | **Canonical URL** | The preferred address supplied to search engines for that content. Check any address on another host before approving it. | | **Robots meta (this page)** | Search crawler instructions, including whether to index the page. They are separate from access control. | | **Social sharing fields (og / twitter)** | Explicit social title, description and other supported share fields. | Indexing has its own control, **Hide this page from search (sets the noindex directive)**, and changing it needs approval. Drafting metadata proposes text. Applying metadata or changing indexing requires approval and can affect the public page head without republishing the content draft. An indexing instruction does not protect private content. ## Scripts and publication **Scripts** opens **Scripts & events**. Page scripts have **Name**, **Trigger**, **Target (CSS selector)**, **Capture event to emit (optional)** and **JavaScript (optional)**. **Scroll depth** adds **Scroll threshold %**, and **Hover** adds **Hover time (ms)**. Section bindings travel with their section. See [Page scripts and events](https://docs.amadalis.ai/developers/page-scripts-and-events/) for the trigger rules and consent boundary. A person’s own **Publish** click in EmDash’s editor publishes at once, as their explicit act. Anything the copilot publishes always pauses for the approval card. Editing scheduled content through the Composer or copilot cancels its approved schedule. The same cancellation has not been established for edits through EmDash’s own editor. For pages and posts, scheduling runs the publish check and publication is checked again when due. If refused then, the draft or its changes stay unpublished and the schedule is removed. A check that cannot finish leaves the schedule waiting. See [Pages, posts and media](https://docs.amadalis.ai/content/pages-posts-and-media/#create-a-page-or-post). For shared values, use [Site settings](https://docs.amadalis.ai/reference/settings/site-settings/) and [Theme tokens and roles](https://docs.amadalis.ai/reference/settings/theme-tokens/). ## Your next step Return to the page in [the Composer](https://docs.amadalis.ai/composer/composer/). Review its draft and search settings before approving any public change. Source: https://docs.amadalis.ai/reference/settings/site-settings/ # Site settings Use **Site** > **Site setup**, **Catalogs** or **SEO** in the site admin for the shared settings listed below. This reference helps you check which pages a change can affect. Checked against the product’s code on 7 November 2026. Shared settings can affect many pages. They are separate from the content of a selected section and from account billing or domain ownership. A change to the active site identity, navigation or theme can take effect without publishing a page draft. ## Site setup and identity | Setting or area | Meaning | | --- | --- | | **Site → Site setup → Front page** | Chooses which page the root address `/` serves. Review and approve the proposed change. It does not publish a draft page. | | **Site → Site setup → Header button** | Changes the button’s words and target together. Choose a page of this site or an address. The control reports whether the button is currently showing. | | **Site → Site setup → Header link** | Sets the link’s words and destination separately from the menu and header button. Clear both the words and the address to remove the link. | | **Site → Site setup → Header style** | Chooses **Standard** or **Editorial** for the shared header. | | **Site → Site setup → Footer layout** | Chooses **Links in a row** or **Columns** for the shared footer. | | **Site → Site setup → Footer note** | Sets the note shown with the **Columns** footer. It is separate from the footer copyright line. | | Site name and tagline | Shared site identity. The saved name can appear in header, footer and metadata according to the layout. | | Footer line | Closing text in the site’s footer copyright line. Clearing the line can remove it. Imported layouts can retain their own footer structure. | | Logo and favicon | Site identity assets used by the CMS and layouts that read them. They do not replace every image in page content. | | **Site → Catalogs → Themes** | Shared design choices. See [Theme tokens and roles](https://docs.amadalis.ai/reference/settings/theme-tokens/). | | Navigation locations | Assign existing menus to the header, second header row or footer. A menu draft and its live publication are separate. | There is no single universal value for these settings. Site setup, a migration and later saved changes can supply them. Confirm the stored and rendered values before changing a live site. The native footer’s built-in credit is **© 2026 Name. Powered by Praxis.**, using the current year and your site name. A different footer line written by your team keeps its separator. ## EmDash’s own site settings The CMS also has EmDash’s own settings. Governed requests expose the following groups: | Group | Stored values and scope | | --- | --- | | Identity | Site title, tagline, logo and favicon. | | Site URL | EmDash’s site address setting. Changing it is not a custom domain attachment or a DNS change. Hosted public reading resources use the actual host serving the request; do not use this setting as proof of their hostnames. Unless an Amadalis staff setting replaces this value, sign-in and invitation emails use this address, so a wrong value can send account links to the wrong domain. | | Formats | Date format, time zone and posts per listing page. Confirm scheduled content and archive pagination when changing them. | | Social links | Supported social account links. Unmentioned accounts are left unchanged by a targeted update. | | Search verification | Google and Bing verification values published in the page head. They are different from account credentials. | Copilot changes to these groups need approval. Undo can restore prior settings when the earlier values were saved. It cannot recall emails already sent or changes made elsewhere. ## Site SEO defaults In **Site → SEO**, site defaults include: | Field | Behavior | | --- | --- | | **Title template** | Supports `%title%` and `%sitename%`. It applies to content pages without an explicit SEO title. The front page, 404 page and explicit SEO titles keep their separate title assembly. | | **Default meta description** | Used when a content page supplies no description. | | **Default social image** | Used when a content page supplies no social image. | An absent default leaves the platform’s existing fallback behavior. A default is not an instruction to overwrite every page’s explicit metadata. Changing the defaults requires approval. Crawler policy and robots text determine instructions given to machines. While the Praxis bot policy supplies robots text, it is used instead of EmDash’s own robots setting. See [The public site for machines](https://docs.amadalis.ai/developers/machine-readable-site/). ## Visitor, capture and integration policy | Area | Shared settings | | --- | --- | | **Privacy & Data → Consent → Consent policy** | Consent defaults by location and the site’s essential, analytics, personalization and marketing policy. Saved visitor choices and Global Privacy Control can take priority over those defaults; follow [the consent rules](https://docs.amadalis.ai/trust/privacy-and-consent/) for their order. | | **Privacy & Data → Consent → Head & CSP** | Public head entries, their consent purpose and activation conditions, and Content Security Policy. A tag configured to load before consent is not made consent-gated by the notice alone. | | **Insights → Events & Capture** | Event definitions, automatic capture and extra arrival query parameters. Defining an event does not create its sender. | | Visitor identity policy | Identity scope and external analytics identifiers. Changes need approval because they affect collection and joins. | | Affinity and targeting | Saved interest weights and targeting behavior. An event catalog weight does not itself change live affinity tuning. | | **Insights → Connections** | Connected analytics services. Credentials stay in the trusted connection controls. | | Exports and retention | Export datasets and scheduling are separate from deletion. Visitor events are kept with no limit until you set a retention period. Once you set one, events older than it are deleted on the site’s regular scheduled run, but only after an archive export has covered them. | The account’s **Security** tab controls team sign-in policy and support entry grants. The team session policy is checked on the Praxis account and inside open site admin sessions. Revoking a support grant stops new entries and ends its open session on the next request after the grant check refreshes, within 30 seconds. At expiry, the next request ends the session. See [Account Security](https://docs.amadalis.ai/account/security/) for timing, read failures and staff restrictions. Site API tokens obey the team’s applicable network, membership and two factor rules, with the [token checks and read-failure limits](https://docs.amadalis.ai/account/site-access-and-settings/#personal-api-tokens). Session lifetime and idle timeout do not apply to tokens. For the request-level approval and Undo inventory, see [What you can ask the copilot](https://docs.amadalis.ai/reference/copilot/). ## Your next step Follow [Site setup](https://docs.amadalis.ai/site/site-setup/) to review a shared front page or header change and check the public result after approval. Source: https://docs.amadalis.ai/reference/settings/theme-tokens/ # Theme tokens and roles Checked against the product’s code on 7 November 2026. Open **Site → Catalogs → Themes**, then **Edit** to inspect a theme in Theme Studio. A token is a named design value. A role describes the job that value is intended to do. Individual sections and imported layouts can carry more specific styling. ## Theme Studio sections | Section | Values | | --- | --- | | **Colors** | Canvas, surfaces, brand, call to action, header and footer colour roles. | | **Typography** | Sans, Heading, Interface and Mono font families, size steps, weights, line heights and heading letter spacing. | | **Spacing** | Eight shared spacing steps. | | **Radius & shadows** | Corner radii and shadow values. | | **Layout** | The shared content width. | | **Modes** | Named sets of overrides on the base tokens. | | **Developer** | The theme definition as JSON, including tokens without a dedicated control. | The tables show the standard (canonical) CSS variable names and their roles. The value column is the **Clean** theme’s supplied base value. It is a reference example, not the value guaranteed on a hosted site. Another theme, a mode or a saved change can use different values. ## Canonical tokens ### Brand | Role | CSS variable | Intended use | Clean base value | | --- | --- | --- | --- | | Accent | `--color-accent` | highlights and secondary emphasis | `#2563eb` | | Primary | `--color-primary` | primary buttons, brand ink | `#0f172a` | | Primary contrast | `--color-primary-contrast` | ink on Primary | `#ffffff` | ### Canvas | Role | CSS variable | Intended use | Clean base value | | --- | --- | --- | --- | | Background | `--color-bg` | the page canvas | `#ffffff` | | Heading | `--color-heading` | display and section headings | `#0a1122` | | Link | `--color-link` | inline links | `#075985` | | Muted | `--color-muted` | captions, secondary copy | `#4a5568` | | Text | `--color-text` | body copy | `#131c2e` | ### Surfaces | Role | CSS variable | Intended use | Clean base value | | --- | --- | --- | --- | | Border | `--color-border` | card and control edges | `#d4dbe4` | | Surface | `--color-surface` | cards and panels | `#f2f5f9` | ### Conversion | Role | CSS variable | Intended use | Clean base value | | --- | --- | --- | --- | | CTA | `--color-cta` | the call to action fill | `#1d4ed8` | | CTA text | `--color-cta-text` | ink on CTA | `#ffffff` | ### Site chrome | Role | CSS variable | Intended use | Clean base value | | --- | --- | --- | --- | | Footer background | `--color-footer-bg` | the footer band | `#0e1524` | | Footer heading | `--color-footer-heading` | footer column headings | `#ffffff` | | Footer muted | `--color-footer-muted` | footer secondary copy | `#8593a6` | | Footer text | `--color-footer-text` | footer body copy | `#c7d0dd` | | Header background | `--color-header-bg` | translucent nav band | `rgba(255,255,255,.9)` | ### Typography | Role | CSS variable | Intended use | Clean base value | | --- | --- | --- | --- | | Heading | `--font-heading` | display and headings | `Inter, Roboto, 'Helvetica Neue', 'Arial Nova', 'Nimbus Sans', Arial, sans-serif` | | Sans | `--font-sans` | body and interface copy | `Inter, Roboto, 'Helvetica Neue', 'Arial Nova', 'Nimbus Sans', Arial, sans-serif` | | 2xl | `--font-size-2xl` | section headings | `clamp(1.6rem, 3vw, 2.35rem)` | | 3xl | `--font-size-3xl` | display | `clamp(2.1rem, 5vw, 3.6rem)` | | base | `--font-size-base` | body copy | `1rem` | | lg | `--font-size-lg` | leads and pull quotes | `1.125rem` | | sm | `--font-size-sm` | secondary copy | `.9rem` | | xl | `--font-size-xl` | card headings | `1.35rem` | | xs | `--font-size-xs` | captions and fine print | `.78rem` | | Body weight | `--font-weight-body` | Not described in Theme Studio | `400` | | Heading weight | `--font-weight-heading` | Not described in Theme Studio | `680` | | Nav weight | `--font-weight-nav` | Not described in Theme Studio | `500` | | Heading letter spacing | `--letter-heading` | Not described in Theme Studio | `-0.022em` | | Body line height | `--line-height-body` | Not described in Theme Studio | `1.6` | | Heading line height | `--line-height-heading` | Not described in Theme Studio | `1.14` | ### Layout | Role | CSS variable | Intended use | Clean base value | | --- | --- | --- | --- | | Content width | `--maxw` | the page’s content column | `1200px` | ### Additional shared tokens | Our name for it | CSS variable | Intended use | Clean base value | | --- | --- | --- | --- | | Reading measure | `--measure` | Width of the reading column, commonly expressed in characters. | `56ch` | | Section rule | `--section-rule` | Border between adjacent native sections. | `0 none` | | Section spacing | `--section-y` | Shared vertical spacing used by native section layouts. | `3.5rem` | | Heading ratio | `--type-ratio` | Ratio used with the base font size to size ordinary native headings. | `1.20` | ### Radius and shadows | Role | CSS variable | Intended use | Clean base value | | --- | --- | --- | --- | | Radius | `--radius` | cards and controls | `.5rem` | | Radius CTA | `--radius-cta` | call to action buttons | `.5rem` | | Radius lg | `--radius-lg` | large panels | `.875rem` | | Radius sm | `--radius-sm` | chips and small controls | `.375rem` | | Shadow | `--shadow` | cards | `0 1px 2px rgba(15,23,42,.05), 0 4px 12px rgba(15,23,42,.07)` | | Shadow md | `--shadow-md` | floating panels | `0 2px 4px rgba(15,23,42,.05), 0 12px 32px rgba(15,23,42,.10)` | | Shadow sm | `--shadow-sm` | chips, subtle lift | `0 1px 2px rgba(15,23,42,.05)` | ### Spacing | Role | CSS variable | Intended use | Clean base value | | --- | --- | --- | --- | | space-1 | `--space-1` | Not described in Theme Studio | `.25rem` | | space-2 | `--space-2` | Not described in Theme Studio | `.5rem` | | space-3 | `--space-3` | Not described in Theme Studio | `.75rem` | | space-4 | `--space-4` | Not described in Theme Studio | `1rem` | | space-5 | `--space-5` | Not described in Theme Studio | `1.5rem` | | space-6 | `--space-6` | Not described in Theme Studio | `2rem` | | space-7 | `--space-7` | Not described in Theme Studio | `3rem` | | space-8 | `--space-8` | Not described in Theme Studio | `4.75rem` | The additional shared tokens are present in the catalog even though Theme Studio has no dedicated row for them. Inspect them in **Developer**. A role is not a guarantee that every component consumes that token. Library themes derive text colours for the header name, native header menu links and accent-filled controls. Their very tight heading letter spacing is kept for display sizes and relaxed below them; these are rendering adjustments, not new Theme Studio fields. A newly created custom theme or an imported theme does not receive those library-only adjustments. On a site that was not migrated, an unset native header background falls back to the page background. An unset page-body line height falls back to **1.6**. A header background or body line height the theme sets keeps its value. These defaults also reach custom themes on those sites. Text wrapping and empty-state rules also apply on a site that was not migrated, including one using a custom theme. If the site’s migration record cannot be read, these added rules do not apply to a custom or imported theme on that page. ### Further supplied roles Interface and Mono are optional font rows in **Typography**. The Stage roles have their own **Stage band** group under **Colors**. Accent ink, footer brand colour, secondary text and section label width have no dedicated Studio row; use **Developer** to inspect their stored values. **Not set** below means Clean does not store the token. It is separate from a rendering fallback or a value offered by a **Set** button. See [Layout styles](https://docs.amadalis.ai/reference/layout-styles/) for rendering fallbacks. | Role | CSS variable | Intended use | Clean base value | | --- | --- | --- | --- | | Accent ink | `--color-accent-ink` | Small accent text. | `#2563eb` | | Footer brand colour | `--color-footer-brand` | The site name in the Columns footer. | Not set | | Stage accent | `--color-stage-accent` | the primary button, links and the headline’s emphasis | Not set | | Stage accent text | `--color-stage-accent-text` | ink on the stage accent | Not set | | Stage ground | `--color-stage-bg` | The dark ground of a Stage band. | Not set | | Stage line | `--color-stage-border` | rules and outlines on the band | Not set | | Stage glow | `--color-stage-glow` | the soft light at the band’s top corner | Not set | | Stage heading | `--color-stage-heading` | headings on the band | Not set | | Stage muted | `--color-stage-muted` | secondary copy on the band | Not set | | Stage card | `--color-stage-surface` | cards and panels on the band | Not set | | Stage text | `--color-stage-text` | body copy on the band | Not set | | Secondary text | `--color-text-secondary` | An additional secondary text colour. | `#4a5568` | | Interface | `--font-interface` | menus, buttons, labels and form fields | Not set | | Mono | `--font-mono` | figures, small labels and code | Not set | | Section label width | `--section-label-width` | Width of the section number and label column. | `14rem` | ## Accepted token paths The theme reader accepts the following named paths for the same standard variables. A CSS variable name can also be used directly in a flat token definition. | CSS variable | Accepted paths | | --- | --- | | `--color-accent` | `color.accent` | | `--color-bg` | `color.bg`, `color.background` | | `--color-border` | `color.border` | | `--color-cta` | `color.cta` | | `--color-cta-text` | `color.cta.text`, `color.cta-text` | | `--color-footer-bg` | `color.footer.bg`, `color.footer-bg` | | `--color-footer-heading` | `color.footer.heading`, `color.footer-heading` | | `--color-footer-muted` | `color.footer.muted`, `color.footer-muted` | | `--color-footer-text` | `color.footer.text`, `color.footer-text` | | `--color-header-bg` | `color.header.bg`, `color.header-bg` | | `--color-heading` | `color.heading`, `color.headings` | | `--color-link` | `color.link`, `color.links` | | `--color-muted` | `color.muted` | | `--color-primary` | `color.primary` | | `--color-primary-contrast` | `color.primary.contrast`, `color.primary-contrast` | | `--color-surface` | `color.surface` | | `--color-text` | `color.text`, `color.foreground` | | `--font-heading` | `font.heading`, `typography.font.heading`, `typography.family.heading` | | `--font-sans` | `font.sans`, `typography.font.sans`, `typography.family.sans` | | `--font-size-2xl` | `font.size.2xl`, `font-size.2xl`, `typography.scale.2xl`, `type.scale.2xl` | | `--font-size-3xl` | `font.size.3xl`, `font-size.3xl`, `typography.scale.3xl`, `type.scale.3xl` | | `--font-size-base` | `font.size.base`, `font-size.base`, `typography.scale.base`, `type.scale.base` | | `--font-size-lg` | `font.size.lg`, `font-size.lg`, `typography.scale.lg`, `type.scale.lg` | | `--font-size-sm` | `font.size.sm`, `font-size.sm`, `typography.scale.sm`, `type.scale.sm` | | `--font-size-xl` | `font.size.xl`, `font-size.xl`, `typography.scale.xl`, `type.scale.xl` | | `--font-size-xs` | `font.size.xs`, `font-size.xs`, `typography.scale.xs`, `type.scale.xs` | | `--font-weight-body` | `font.weight.body`, `font-weight.body` | | `--font-weight-heading` | `font.weight.heading`, `font-weight.heading` | | `--font-weight-nav` | `font.weight.nav`, `font-weight.nav` | | `--letter-heading` | `letter.heading`, `letter-spacing.heading` | | `--line-height-body` | `line.height.body`, `line-height.body` | | `--line-height-heading` | `line.height.heading`, `line-height.heading` | | `--maxw` | `layout.maxw`, `size.maxw`, `maxw` | | `--measure` | `measure`, `typography.measure`, `layout.measure` | | `--radius` | `radius` | | `--radius-cta` | `radius.cta` | | `--radius-lg` | `radius.lg` | | `--radius-sm` | `radius.sm` | | `--section-rule` | `section.rule`, `section-rule` | | `--section-y` | `section.y`, `section-y`, `spacing.section` | | `--shadow` | `shadow` | | `--shadow-md` | `shadow.md` | | `--shadow-sm` | `shadow.sm` | | `--space-1` | `space.1`, `spacing.1` | | `--space-2` | `space.2`, `spacing.2` | | `--space-3` | `space.3`, `spacing.3` | | `--space-4` | `space.4`, `spacing.4` | | `--space-5` | `space.5`, `spacing.5` | | `--space-6` | `space.6`, `spacing.6` | | `--space-7` | `space.7`, `spacing.7` | | `--space-8` | `space.8`, `spacing.8` | | `--type-ratio` | `type.ratio`, `type-ratio`, `typography.ratio` | | `--color-accent-ink` | `color.accent.ink`, `color.accent-ink` | | `--color-footer-brand` | `color.footer.brand`, `color.footer-brand` | | `--color-stage-accent` | `color.stage.accent` | | `--color-stage-accent-text` | `color.stage.accent.text` | | `--color-stage-bg` | `color.stage.bg` | | `--color-stage-border` | `color.stage.border` | | `--color-stage-glow` | `color.stage.glow` | | `--color-stage-heading` | `color.stage.heading` | | `--color-stage-muted` | `color.stage.muted` | | `--color-stage-surface` | `color.stage.surface` | | `--color-stage-text` | `color.stage.text` | | `--color-text-secondary` | `color.text.secondary`, `color.text-secondary` | | `--font-interface` | `font.interface`, `typography.font.interface`, `typography.family.interface` | | `--font-mono` | `font.mono`, `typography.font.mono`, `typography.family.mono` | | `--section-label-width` | `section.label.width`, `section-label-width` | ## Values, modes and fonts Colour values and lengths must be valid for the CSS property that uses them. Type sizes can use fluid `clamp()` values. Font weights and line heights are separate values; increasing the font size does not select a different font file. A mode starts with the base tokens and overrides the tokens it names. Inspect the mode as well as the base before activation. A missing token on an imported theme can use a rendering fallback. The Clean values in these tables are not a universal fallback list. A font family name alone does not supply a font file. Where the platform’s font library holds the selected family, the public page includes its font files. Otherwise the ordered list of font names tells the browser which substitute to use. Check the real page, not only the theme preview. ## Saving and activation A draft theme can be saved without changing the active theme. Activating a saved theme requires approval and can offer **Undo**. Saving changed tokens on an active theme requires a live change confirmation. Theme Studio’s save and delete controls do not provide the same Undo as the governed theme requests. A page type’s **default theme** remains reserved. The public renderer at this check date does not select a theme per page type. See [Themes and tokens](https://docs.amadalis.ai/owners/themes-and-tokens/) for the editing workflow and [copilot site settings requests](https://docs.amadalis.ai/reference/copilot/site-and-settings/) for their approval and Undo contracts. Source: https://docs.amadalis.ai/reference/starter-sites/ # Choose a starter site Checked against the product’s code on 7 November 2026. Use this starter site catalogue to compare the available starter sites by industry, pages and paired theme. Choose a page set for a new site or additions to an existing one, then review what **Site** > **Site setup** offers on your site. SaaS means software as a service. HVAC means heating, ventilation and air conditioning. These names identify the catalogue’s buyer families and starter sites. Compare 29 starter sites, including Blank. Each entry lists its default pages and paired theme. Use **Site** > **Site setup** to review the options on your site. Editors and Admins can approve a setup. A first setup creates draft pages and can also change your live navigation, public site name, header button and theme. Review the approval card, then check and publish each page separately. A header button aimed at a new page appears once that page is published. When you add a starter’s pages to an existing site, its navigation, name, header button and theme stay as they are. With AI writing off, the built-in starters leave a note where a section needs your facts. A page with one of these notes cannot be published until you fill it or remove that section. Other sample words remain advisory. Pages already created from a starter are not rewritten by a catalogue update. Page addresses below are starter defaults. Adding pages to an existing site can give them different addresses to avoid conflicts. The setup review names what will be created. Page names such as Booking, Donate or Tickets describe the pages, not a connected booking or payment service; finish their setup before using them. See [Set up a site from a template](https://docs.amadalis.ai/site/site-setup/) for the steps, or compare [all themes](https://docs.amadalis.ai/reference/themes/). ## Find a starter | Industry | Starter sites | | --- | --- | | Local service | [Local service business](https://docs.amadalis.ai/reference/starter-sites/#starter-local-service), [Cleaning services](https://docs.amadalis.ai/reference/starter-sites/#starter-cleaning-services), [Construction / contractor](https://docs.amadalis.ai/reference/starter-sites/#starter-construction-contractor), [HVAC / plumbing / electrical](https://docs.amadalis.ai/reference/starter-sites/#starter-hvac-plumbing-electrical), [Landscaping](https://docs.amadalis.ai/reference/starter-sites/#starter-landscaping) | | Professional services | [Professional services firm](https://docs.amadalis.ai/reference/starter-sites/#starter-professional-services), [Accounting firm](https://docs.amadalis.ai/reference/starter-sites/#starter-accounting-firm), [Coaching / consulting](https://docs.amadalis.ai/reference/starter-sites/#starter-coaching-consulting), [Law firm](https://docs.amadalis.ai/reference/starter-sites/#starter-law-firm) | | Portfolio | [Portfolio / creator](https://docs.amadalis.ai/reference/starter-sites/#starter-portfolio), [Personal / résumé](https://docs.amadalis.ai/reference/starter-sites/#starter-personal-resume), [Photography studio](https://docs.amadalis.ai/reference/starter-sites/#starter-photography-studio) | | Blog & magazine | [Blog / editorial](https://docs.amadalis.ai/reference/starter-sites/#starter-editorial) | | SaaS & software | [SaaS / product](https://docs.amadalis.ai/reference/starter-sites/#starter-saas), [Startup one-pager](https://docs.amadalis.ai/reference/starter-sites/#starter-startup-one-pager) | | Agency & studio | [Creative agency](https://docs.amadalis.ai/reference/starter-sites/#starter-agency), [Marketing / SEO agency](https://docs.amadalis.ai/reference/starter-sites/#starter-marketing-seo-agency), [Software development agency](https://docs.amadalis.ai/reference/starter-sites/#starter-software-development-agency) | | Nonprofit & charity | [Nonprofit / charity](https://docs.amadalis.ai/reference/starter-sites/#starter-nonprofit) | | Event & conference | [Event / conference](https://docs.amadalis.ai/reference/starter-sites/#starter-event-conference), [Wedding](https://docs.amadalis.ai/reference/starter-sites/#starter-wedding) | | Fitness & gym | [Gym / fitness studio](https://docs.amadalis.ai/reference/starter-sites/#starter-fitness-gym) | | Health & medical | [Clinic / medical practice](https://docs.amadalis.ai/reference/starter-sites/#starter-health-medical), [Dental practice](https://docs.amadalis.ai/reference/starter-sites/#starter-dental-practice), [Veterinary practice](https://docs.amadalis.ai/reference/starter-sites/#starter-veterinary-practice) | | Restaurant & cafe | [Restaurant / cafe](https://docs.amadalis.ai/reference/starter-sites/#starter-restaurant) | | Shop | [Small shop](https://docs.amadalis.ai/reference/starter-sites/#starter-ecommerce-lite) | | Any industry | [Blank](https://docs.amadalis.ai/reference/starter-sites/#starter-blank) | | Faith & community | [Church / faith community](https://docs.amadalis.ai/reference/starter-sites/#starter-faith-community) | ## Local service ### Local service business **Industry:** Local service. **Paired theme:** [Hearth](https://docs.amadalis.ai/reference/themes/#theme-hearth). **Alternatives:** [Kiln](https://docs.amadalis.ai/reference/themes/#theme-kiln), [Slab](https://docs.amadalis.ai/reference/themes/#theme-slab), [Clean](https://docs.amadalis.ai/reference/themes/#theme-clean). **What it sets up:** 4 draft pages. Primary menu: Home, Services, About, Get a Quote. Header button: Get a quote, opening Request a Quote. | Page | Starter address | | --- | --- | | Home | /home | | Our Services | /services | | Our Story | /about | | Request a Quote | /request-a-quote | ### Cleaning services **Industry:** Local service. **Paired theme:** [Air](https://docs.amadalis.ai/reference/themes/#theme-air). **Alternatives:** [Mist](https://docs.amadalis.ai/reference/themes/#theme-mist), [Pulse](https://docs.amadalis.ai/reference/themes/#theme-pulse), [Clean](https://docs.amadalis.ai/reference/themes/#theme-clean). **What it sets up:** 5 draft pages. Primary menu: Home, What We Clean, Estimate, Reviews, Contact. Header button: Get an estimate, opening Get an Estimate. | Page | Starter address | | --- | --- | | Home | /home | | What We Clean | /services | | Get an Estimate | /get-an-estimate | | Reviews | /reviews | | Contact | /contact | ### Construction / contractor **Industry:** Local service. **Paired theme:** [Industrial](https://docs.amadalis.ai/reference/themes/#theme-industrial). **Alternatives:** [Concrete](https://docs.amadalis.ai/reference/themes/#theme-concrete), [Hearth](https://docs.amadalis.ai/reference/themes/#theme-hearth), [Slab](https://docs.amadalis.ai/reference/themes/#theme-slab). **What it sets up:** 5 draft pages. Primary menu: Home, What We Build, Projects, Get a Quote, About. Header button: Get a quote, opening Request a Quote. | Page | Starter address | | --- | --- | | Home | /home | | What We Build | /services | | Projects | /projects | | Request a Quote | /request-a-quote | | About Us | /about | ### HVAC / plumbing / electrical **Industry:** Local service. **Paired theme:** [Stencil](https://docs.amadalis.ai/reference/themes/#theme-stencil). **Alternatives:** [Hearth](https://docs.amadalis.ai/reference/themes/#theme-hearth), [Slab](https://docs.amadalis.ai/reference/themes/#theme-slab), [Industrial](https://docs.amadalis.ai/reference/themes/#theme-industrial). **What it sets up:** 5 draft pages. Primary menu: Home, Services, Recent Work, Service Area, Contact. Header button: Book an engineer, opening Contact. | Page | Starter address | | --- | --- | | Home | /home | | Services | /services | | Recent Work | /recent-work | | Service Area | /service-area | | Contact | /contact | ### Landscaping **Industry:** Local service. **Paired theme:** [Sage](https://docs.amadalis.ai/reference/themes/#theme-sage). **Alternatives:** [Meadow](https://docs.amadalis.ai/reference/themes/#theme-meadow), [Verdant](https://docs.amadalis.ai/reference/themes/#theme-verdant), [Kiln](https://docs.amadalis.ai/reference/themes/#theme-kiln). **What it sets up:** 5 draft pages. Primary menu: Home, Services, Projects, Get a Quote, Contact. Header button: Get a quote, opening Request a Quote. | Page | Starter address | | --- | --- | | Home | /home | | Services | /services | | Projects | /projects | | Request a Quote | /request-a-quote | | Contact | /contact | ## Professional services ### Professional services firm **Industry:** Professional services. **Paired theme:** [Counsel](https://docs.amadalis.ai/reference/themes/#theme-counsel). **Alternatives:** [Harbor](https://docs.amadalis.ai/reference/themes/#theme-harbor), [Beacon](https://docs.amadalis.ai/reference/themes/#theme-beacon), [Atelier](https://docs.amadalis.ai/reference/themes/#theme-atelier). **What it sets up:** 5 draft pages. Primary menu: Home, Practice Areas, Our Team, Insights, Book a Consultation. Header button: Book a consultation, opening Book a Consultation. | Page | Starter address | | --- | --- | | Home | /home | | Practice Areas | /practice-areas | | Our Team | /our-team | | Insights | /insights | | Book a Consultation | /book-a-consultation | ### Accounting firm **Industry:** Professional services. **Paired theme:** [Harbor](https://docs.amadalis.ai/reference/themes/#theme-harbor). **Alternatives:** [Counsel](https://docs.amadalis.ai/reference/themes/#theme-counsel), [Beacon](https://docs.amadalis.ai/reference/themes/#theme-beacon), [Clean](https://docs.amadalis.ai/reference/themes/#theme-clean). **What it sets up:** 6 draft pages. Primary menu: Home, Services, Team, Resources, Compliance, Contact. Header button: Contact us, opening Contact. | Page | Starter address | | --- | --- | | Home | /home | | Services | /services | | Our Team | /our-team | | Resources | /resources | | Compliance | /compliance | | Contact | /contact | ### Coaching / consulting **Industry:** Professional services. **Paired theme:** [Pinwheel](https://docs.amadalis.ai/reference/themes/#theme-pinwheel). **Alternatives:** [Harbor](https://docs.amadalis.ai/reference/themes/#theme-harbor), [Sage](https://docs.amadalis.ai/reference/themes/#theme-sage), [Clean](https://docs.amadalis.ai/reference/themes/#theme-clean). **What it sets up:** 6 draft pages. Primary menu: Home, Programs, About, Testimonials, Booking, Contact. Header button: Book a chemistry call, opening Booking. | Page | Starter address | | --- | --- | | Home | /home | | Programs | /programs | | About | /about | | Testimonials | /testimonials | | Booking | /booking | | Contact | /contact | ### Law firm **Industry:** Professional services. **Paired theme:** [Sovereign](https://docs.amadalis.ai/reference/themes/#theme-sovereign). **Alternatives:** [Counsel](https://docs.amadalis.ai/reference/themes/#theme-counsel), [Beacon](https://docs.amadalis.ai/reference/themes/#theme-beacon), [Atrium](https://docs.amadalis.ai/reference/themes/#theme-atrium). **What it sets up:** 6 draft pages. Primary menu: Home, Practice Areas, Attorneys, Results, Insights, Contact. Header button: Contact us, opening Contact. | Page | Starter address | | --- | --- | | Home | /home | | Practice Areas | /practice-areas | | Attorneys | /attorneys | | Results | /results | | Insights | /insights | | Contact | /contact | ## Portfolio ### Portfolio / creator **Industry:** Portfolio. **Paired theme:** [Atelier](https://docs.amadalis.ai/reference/themes/#theme-atelier). **Alternatives:** [Monograph](https://docs.amadalis.ai/reference/themes/#theme-monograph), [Gallery](https://docs.amadalis.ai/reference/themes/#theme-gallery), [Folio](https://docs.amadalis.ai/reference/themes/#theme-folio). **What it sets up:** 4 draft pages. Primary menu: Home, Work, How I Work, About. No header button is specified by this starter. | Page | Starter address | | --- | --- | | Home | /home | | Selected Project | /selected-project | | How I Work | /how-i-work | | About | /about | ### Personal / résumé **Industry:** Portfolio. **Paired theme:** [Dossier](https://docs.amadalis.ai/reference/themes/#theme-dossier). **Alternatives:** [Monograph](https://docs.amadalis.ai/reference/themes/#theme-monograph), [Grid](https://docs.amadalis.ai/reference/themes/#theme-grid), [Clean](https://docs.amadalis.ai/reference/themes/#theme-clean). **What it sets up:** 4 draft pages. Primary menu: Home, Experience, Work, Contact. Header button: Get in touch, opening Contact. | Page | Starter address | | --- | --- | | Home | /home | | Experience | /experience | | Work | /work | | Contact | /contact | ### Photography studio **Industry:** Portfolio. **Paired theme:** [Gallery](https://docs.amadalis.ai/reference/themes/#theme-gallery). **Alternatives:** [Noir](https://docs.amadalis.ai/reference/themes/#theme-noir), [Monograph](https://docs.amadalis.ai/reference/themes/#theme-monograph), [Atelier](https://docs.amadalis.ai/reference/themes/#theme-atelier). **What it sets up:** 5 draft pages. Primary menu: Home, Galleries, About, Pricing, Booking. Header button: Check your date, opening Booking. | Page | Starter address | | --- | --- | | Home | /home | | Galleries | /galleries | | About | /about | | Pricing | /pricing | | Booking | /booking | ## Blog & magazine ### Blog / editorial **Industry:** Blog & magazine. **Paired theme:** [Folio](https://docs.amadalis.ai/reference/themes/#theme-folio). **Alternatives:** [Almanac](https://docs.amadalis.ai/reference/themes/#theme-almanac), [Broadsheet](https://docs.amadalis.ai/reference/themes/#theme-broadsheet), [Gazette](https://docs.amadalis.ai/reference/themes/#theme-gazette). **What it sets up:** 4 draft pages. Primary menu: Home, About, Subscribe. Header button: Subscribe, opening Subscribe. | Page | Starter address | | --- | --- | | Home | /home | | Featured Article | /featured-article | | About | /about | | Subscribe | /subscribe | ## SaaS & software ### SaaS / product **Industry:** SaaS & software. **Paired theme:** [Azure](https://docs.amadalis.ai/reference/themes/#theme-azure). **Alternatives:** [Carbon](https://docs.amadalis.ai/reference/themes/#theme-carbon), [Pinwheel](https://docs.amadalis.ai/reference/themes/#theme-pinwheel), [Clean](https://docs.amadalis.ai/reference/themes/#theme-clean). **What it sets up:** 8 draft pages. Primary menu: Home, Product, Pricing, Integrations, Customers, Docs, Changelog. Footer menu: Terms and Privacy. Header button: See pricing, opening Pricing. | Page | Starter address | | --- | --- | | Home | /home | | Product | /product | | Pricing | /pricing | | Integrations | /integrations | | Customers | /customers | | Getting Started | /getting-started | | Changelog | /changelog | | Terms and Privacy | /terms-and-privacy | ### Startup one-pager **Industry:** SaaS & software. **Paired theme:** [Foxglove](https://docs.amadalis.ai/reference/themes/#theme-foxglove). **Alternatives:** [Pinwheel](https://docs.amadalis.ai/reference/themes/#theme-pinwheel), [Azure](https://docs.amadalis.ai/reference/themes/#theme-azure), [Bold](https://docs.amadalis.ai/reference/themes/#theme-bold). **What it sets up:** 1 draft page. Primary menu: Home. No header button is specified by this starter. | Page | Starter address | | --- | --- | | Home | /home | ## Agency & studio ### Creative agency **Industry:** Agency & studio. **Paired theme:** [Bold](https://docs.amadalis.ai/reference/themes/#theme-bold). **Alternatives:** [Atelier](https://docs.amadalis.ai/reference/themes/#theme-atelier), [Slab](https://docs.amadalis.ai/reference/themes/#theme-slab), [Clean](https://docs.amadalis.ai/reference/themes/#theme-clean). **What it sets up:** 5 draft pages. Primary menu: Home, Services, Work, Studio, Careers. No header button is specified by this starter. | Page | Starter address | | --- | --- | | Home | /home | | What We Do | /services | | Selected Work | /work | | Studio | /studio | | Join the Studio | /careers | ### Marketing / SEO agency **Industry:** Agency & studio. **Paired theme:** [Citrus](https://docs.amadalis.ai/reference/themes/#theme-citrus). **Alternatives:** [Bold](https://docs.amadalis.ai/reference/themes/#theme-bold), [Foxglove](https://docs.amadalis.ai/reference/themes/#theme-foxglove), [Clean](https://docs.amadalis.ai/reference/themes/#theme-clean). **What it sets up:** 5 draft pages. Primary menu: Home, Services, Results, Process, Team. No header button is specified by this starter. | Page | Starter address | | --- | --- | | Home | /home | | Services | /services | | Results | /results | | Process | /process | | Team | /team | ### Software development agency **Industry:** Agency & studio. **Paired theme:** [Circuit](https://docs.amadalis.ai/reference/themes/#theme-circuit). **Alternatives:** [Carbon](https://docs.amadalis.ai/reference/themes/#theme-carbon), [Quantum](https://docs.amadalis.ai/reference/themes/#theme-quantum), [Mono](https://docs.amadalis.ai/reference/themes/#theme-mono). **What it sets up:** 5 draft pages. Primary menu: Home, Services, Work, Process, Careers. No header button is specified by this starter. | Page | Starter address | | --- | --- | | Home | /home | | Services | /services | | Work | /work | | Process | /process | | Careers | /careers | ## Nonprofit & charity ### Nonprofit / charity **Industry:** Nonprofit & charity. **Paired theme:** [Commons](https://docs.amadalis.ai/reference/themes/#theme-commons). **Alternatives:** [Meadow](https://docs.amadalis.ai/reference/themes/#theme-meadow), [Lumen](https://docs.amadalis.ai/reference/themes/#theme-lumen), [Clean](https://docs.amadalis.ai/reference/themes/#theme-clean). **What it sets up:** 5 draft pages. Primary menu: Home, Programmes, Get Involved, Donate, Impact. Header button: Donate today, opening Donate. | Page | Starter address | | --- | --- | | Home | /home | | Our Programmes | /programmes | | Get Involved | /get-involved | | Donate | /donate | | Impact Report | /impact-report | ## Event & conference ### Event / conference **Industry:** Event & conference. **Paired theme:** [Carnival](https://docs.amadalis.ai/reference/themes/#theme-carnival). **Alternatives:** [Warehouse](https://docs.amadalis.ai/reference/themes/#theme-warehouse), [Carbon](https://docs.amadalis.ai/reference/themes/#theme-carbon), [Clean](https://docs.amadalis.ai/reference/themes/#theme-clean). **What it sets up:** 4 draft pages. Primary menu: Home, Agenda, Speakers, Tickets. Header button: Get a ticket, opening Tickets. | Page | Starter address | | --- | --- | | Home | /home | | Agenda | /agenda | | Speakers | /speakers | | Tickets | /tickets | ### Wedding **Industry:** Event & conference. **Paired theme:** [Gilded](https://docs.amadalis.ai/reference/themes/#theme-gilded). **Alternatives:** [Couture](https://docs.amadalis.ai/reference/themes/#theme-couture), [Velvet](https://docs.amadalis.ai/reference/themes/#theme-velvet), [Hospitality](https://docs.amadalis.ai/reference/themes/#theme-hospitality). **What it sets up:** 5 draft pages. Primary menu: Home, Our Story, Details, RSVP, Photos. Header button: RSVP, opening RSVP. | Page | Starter address | | --- | --- | | Home | /home | | Our Story | /our-story | | Details | /details | | RSVP | /rsvp | | Photos | /photos | ## Fitness & gym ### Gym / fitness studio **Industry:** Fitness & gym. **Paired theme:** [Signal](https://docs.amadalis.ai/reference/themes/#theme-signal). **Alternatives:** [Citrus](https://docs.amadalis.ai/reference/themes/#theme-citrus), [Industrial](https://docs.amadalis.ai/reference/themes/#theme-industrial), [Clean](https://docs.amadalis.ai/reference/themes/#theme-clean). **What it sets up:** 4 draft pages. Primary menu: Home, Classes, Memberships, Programmes. Header button: Book a first session, opening Memberships. | Page | Starter address | | --- | --- | | Home | /home | | Classes | /classes | | Memberships | /memberships | | Programme | /programmes | ## Health & medical ### Clinic / medical practice **Industry:** Health & medical. **Paired theme:** [Clinic](https://docs.amadalis.ai/reference/themes/#theme-clinic). **Alternatives:** [Pulse](https://docs.amadalis.ai/reference/themes/#theme-pulse), [Lumen](https://docs.amadalis.ai/reference/themes/#theme-lumen), [Sage](https://docs.amadalis.ai/reference/themes/#theme-sage). **What it sets up:** 4 draft pages. Primary menu: Home, Treatments, Patient Info, Conditions. No header button is specified by this starter. | Page | Starter address | | --- | --- | | Home | /home | | Treatments | /treatments | | Patient Information | /patient-information | | Condition | /conditions | ### Dental practice **Industry:** Health & medical. **Paired theme:** [Pulse](https://docs.amadalis.ai/reference/themes/#theme-pulse). **Alternatives:** [Clinic](https://docs.amadalis.ai/reference/themes/#theme-clinic), [Lumen](https://docs.amadalis.ai/reference/themes/#theme-lumen), [Mist](https://docs.amadalis.ai/reference/themes/#theme-mist). **What it sets up:** 5 draft pages. Primary menu: Home, Treatments, Patient Info, Team, Contact. Header button: Request an appointment, opening Contact. | Page | Starter address | | --- | --- | | Home | /home | | Treatments | /treatments | | Patient Information | /patient-information | | Meet the Team | /our-team | | Contact | /contact | ### Veterinary practice **Industry:** Health & medical. **Paired theme:** [Meadow](https://docs.amadalis.ai/reference/themes/#theme-meadow). **Alternatives:** [Clinic](https://docs.amadalis.ai/reference/themes/#theme-clinic), [Sage](https://docs.amadalis.ai/reference/themes/#theme-sage), [Lumen](https://docs.amadalis.ai/reference/themes/#theme-lumen). **What it sets up:** 5 draft pages. Primary menu: Home, Services, Team, Client Info, Contact. Header button: Book an appointment, opening Contact. | Page | Starter address | | --- | --- | | Home | /home | | Services | /services | | Our Team | /our-team | | Client Information | /client-information | | Contact | /contact | ## Restaurant & cafe ### Restaurant / cafe **Industry:** Restaurant & cafe. **Paired theme:** [Verdant](https://docs.amadalis.ai/reference/themes/#theme-verdant). **Alternatives:** [Terracotta](https://docs.amadalis.ai/reference/themes/#theme-terracotta), [Hospitality](https://docs.amadalis.ai/reference/themes/#theme-hospitality), [Kiln](https://docs.amadalis.ai/reference/themes/#theme-kiln). **What it sets up:** 4 draft pages. Primary menu: Home, Book a Table, About, Private Hire. Header button: Book a table, opening Reservations. | Page | Starter address | | --- | --- | | Home | /home | | Reservations | /reservations | | Our Story | /about | | Private Hire | /private-events | ## Shop ### Small shop **Industry:** Shop. **Paired theme:** [Emporium](https://docs.amadalis.ai/reference/themes/#theme-emporium). **Alternatives:** [Bazaar](https://docs.amadalis.ai/reference/themes/#theme-bazaar), [Couture](https://docs.amadalis.ai/reference/themes/#theme-couture), [Clean](https://docs.amadalis.ai/reference/themes/#theme-clean). **What it sets up:** 4 draft pages. Primary menu: Home, Products, Care, Shipping. No header button is specified by this starter. | Page | Starter address | | --- | --- | | Home | /home | | Product Story | /products | | Care Guide | /care-guide | | Shipping and Returns | /shipping-and-returns | ## Any industry ### Blank **Industry:** Any industry. **Paired theme:** [Clean](https://docs.amadalis.ai/reference/themes/#theme-clean). **What it sets up:** Records your choice to start empty. It creates no pages and changes no theme. Clean is the catalogue pairing for this entry; choosing Blank does not activate it. **Pages:** None. ## Faith & community ### Church / faith community **Industry:** Faith & community. **Paired theme:** [Kiln](https://docs.amadalis.ai/reference/themes/#theme-kiln). **Alternatives:** [Meadow](https://docs.amadalis.ai/reference/themes/#theme-meadow), [Lumen](https://docs.amadalis.ai/reference/themes/#theme-lumen), [Commons](https://docs.amadalis.ai/reference/themes/#theme-commons). **What it sets up:** 5 draft pages. Primary menu: Home, About, Ministries, Give, Connect. Header button: Give, opening Give. | Page | Starter address | | --- | --- | | Home | /home | | About Us | /about | | Ministries | /ministries | | Give | /give | | Connect | /connect | ## Your next step Choose a starter, then follow [Site setup](https://docs.amadalis.ai/site/site-setup/) to review its proposed pages and live settings before approving it. Source: https://docs.amadalis.ai/reference/themes/ # Compare available themes Compare the available themes in this catalogue before choosing how your site looks. Open **Site** > **Catalogs** > **Themes** in the site admin to review and choose a theme on your site. Checked against the product’s code on 7 November 2026. In the descriptions, grotesque means sans serif type; Didone is a high-contrast serif style. Chroma is colour intensity. Leading is line spacing, measure is text column width, and elevation is the depth suggested by shadows. Compare 72 themes by their buyer families. A theme can belong to more than one family; the lists below link to its full details. The swatches show the native mode. Each strip uses the theme’s page, surface, heading, text, accent and button colours, in that order. The strip also shows the base corner radius and shadow. Faces below name the heading and body families. Choose and review a theme in [Themes and tokens](https://docs.amadalis.ai/composer/themes-and-tokens/). For a ready page set paired with a theme, compare [starter sites](https://docs.amadalis.ai/reference/starter-sites/). ## Find a family A family groups themes with a similar look. Faces are the fonts used for headings and body text. Depth describes their shadows. Native mode is the theme’s starting light or dark colour set. The colour codes and size units let a developer compare exact design values. | Family | Themes | | --- | --- | | Executive | [Folio](https://docs.amadalis.ai/reference/themes/#theme-folio), [Sovereign](https://docs.amadalis.ai/reference/themes/#theme-sovereign), [Almanac](https://docs.amadalis.ai/reference/themes/#theme-almanac), [Dossier](https://docs.amadalis.ai/reference/themes/#theme-dossier), [Harbor](https://docs.amadalis.ai/reference/themes/#theme-harbor), [Pulse](https://docs.amadalis.ai/reference/themes/#theme-pulse), [Atrium](https://docs.amadalis.ai/reference/themes/#theme-atrium), [Beacon](https://docs.amadalis.ai/reference/themes/#theme-beacon), [Gazette](https://docs.amadalis.ai/reference/themes/#theme-gazette), [Counsel](https://docs.amadalis.ai/reference/themes/#theme-counsel), [Clinic](https://docs.amadalis.ai/reference/themes/#theme-clinic), [Commons](https://docs.amadalis.ai/reference/themes/#theme-commons) | | Editorial | [Folio](https://docs.amadalis.ai/reference/themes/#theme-folio), [Sovereign](https://docs.amadalis.ai/reference/themes/#theme-sovereign), [Almanac](https://docs.amadalis.ai/reference/themes/#theme-almanac), [Pinwheel](https://docs.amadalis.ai/reference/themes/#theme-pinwheel), [Kiln](https://docs.amadalis.ai/reference/themes/#theme-kiln), [Harbor](https://docs.amadalis.ai/reference/themes/#theme-harbor), [Gazette](https://docs.amadalis.ai/reference/themes/#theme-gazette), [Carnival](https://docs.amadalis.ai/reference/themes/#theme-carnival), [Commons](https://docs.amadalis.ai/reference/themes/#theme-commons), [Broadsheet](https://docs.amadalis.ai/reference/themes/#theme-broadsheet) | | Warm | [Folio](https://docs.amadalis.ai/reference/themes/#theme-folio), [Hearth](https://docs.amadalis.ai/reference/themes/#theme-hearth), [Pinwheel](https://docs.amadalis.ai/reference/themes/#theme-pinwheel), [Kiln](https://docs.amadalis.ai/reference/themes/#theme-kiln), [Scholar](https://docs.amadalis.ai/reference/themes/#theme-scholar), [Slab](https://docs.amadalis.ai/reference/themes/#theme-slab), [Hospitality](https://docs.amadalis.ai/reference/themes/#theme-hospitality), [Campus](https://docs.amadalis.ai/reference/themes/#theme-campus), [Bazaar](https://docs.amadalis.ai/reference/themes/#theme-bazaar), [Terracotta](https://docs.amadalis.ai/reference/themes/#theme-terracotta) | | Toned down | [Atelier](https://docs.amadalis.ai/reference/themes/#theme-atelier), [Dossier](https://docs.amadalis.ai/reference/themes/#theme-dossier), [Harbor](https://docs.amadalis.ai/reference/themes/#theme-harbor), [Pulse](https://docs.amadalis.ai/reference/themes/#theme-pulse), [Estate](https://docs.amadalis.ai/reference/themes/#theme-estate), [Verbena](https://docs.amadalis.ai/reference/themes/#theme-verbena), [Clinic](https://docs.amadalis.ai/reference/themes/#theme-clinic), [Commons](https://docs.amadalis.ai/reference/themes/#theme-commons), [Sage](https://docs.amadalis.ai/reference/themes/#theme-sage), [Mist](https://docs.amadalis.ai/reference/themes/#theme-mist) | | Happy | [Azure](https://docs.amadalis.ai/reference/themes/#theme-azure), [Foxglove](https://docs.amadalis.ai/reference/themes/#theme-foxglove), [Verdant](https://docs.amadalis.ai/reference/themes/#theme-verdant), [Meadow](https://docs.amadalis.ai/reference/themes/#theme-meadow), [Pinwheel](https://docs.amadalis.ai/reference/themes/#theme-pinwheel), [Emporium](https://docs.amadalis.ai/reference/themes/#theme-emporium), [Bloom](https://docs.amadalis.ai/reference/themes/#theme-bloom), [Carnival](https://docs.amadalis.ai/reference/themes/#theme-carnival), [Confetti](https://docs.amadalis.ai/reference/themes/#theme-confetti), [Bubblegum](https://docs.amadalis.ai/reference/themes/#theme-bubblegum) | | Brilliant | [Bold](https://docs.amadalis.ai/reference/themes/#theme-bold), [Hearth](https://docs.amadalis.ai/reference/themes/#theme-hearth), [Brutal](https://docs.amadalis.ai/reference/themes/#theme-brutal), [Pinwheel](https://docs.amadalis.ai/reference/themes/#theme-pinwheel), [Bloom](https://docs.amadalis.ai/reference/themes/#theme-bloom), [Manual](https://docs.amadalis.ai/reference/themes/#theme-manual), [Carnival](https://docs.amadalis.ai/reference/themes/#theme-carnival), [Citrus](https://docs.amadalis.ai/reference/themes/#theme-citrus), [Ultraviolet](https://docs.amadalis.ai/reference/themes/#theme-ultraviolet), [Signal](https://docs.amadalis.ai/reference/themes/#theme-signal) | | Elegant | [Atelier](https://docs.amadalis.ai/reference/themes/#theme-atelier), [Noir](https://docs.amadalis.ai/reference/themes/#theme-noir), [Atrium](https://docs.amadalis.ai/reference/themes/#theme-atrium), [Hospitality](https://docs.amadalis.ai/reference/themes/#theme-hospitality), [Estate](https://docs.amadalis.ai/reference/themes/#theme-estate), [Counsel](https://docs.amadalis.ai/reference/themes/#theme-counsel), [Verbena](https://docs.amadalis.ai/reference/themes/#theme-verbena), [Couture](https://docs.amadalis.ai/reference/themes/#theme-couture), [Gilded](https://docs.amadalis.ai/reference/themes/#theme-gilded), [Velvet](https://docs.amadalis.ai/reference/themes/#theme-velvet) | | Tech | [Bold](https://docs.amadalis.ai/reference/themes/#theme-bold), [Carbon](https://docs.amadalis.ai/reference/themes/#theme-carbon), [Noir](https://docs.amadalis.ai/reference/themes/#theme-noir), [Bloom](https://docs.amadalis.ai/reference/themes/#theme-bloom), [Manual](https://docs.amadalis.ai/reference/themes/#theme-manual), [Terminal](https://docs.amadalis.ai/reference/themes/#theme-terminal), [Voyage](https://docs.amadalis.ai/reference/themes/#theme-voyage), [Matrix](https://docs.amadalis.ai/reference/themes/#theme-matrix), [Quantum](https://docs.amadalis.ai/reference/themes/#theme-quantum), [Circuit](https://docs.amadalis.ai/reference/themes/#theme-circuit) | | Minimal | [Clean](https://docs.amadalis.ai/reference/themes/#theme-clean), [Lumen](https://docs.amadalis.ai/reference/themes/#theme-lumen), [Civic](https://docs.amadalis.ai/reference/themes/#theme-civic), [Monograph](https://docs.amadalis.ai/reference/themes/#theme-monograph), [Grid](https://docs.amadalis.ai/reference/themes/#theme-grid), [Paper](https://docs.amadalis.ai/reference/themes/#theme-paper), [Air](https://docs.amadalis.ai/reference/themes/#theme-air), [Mono](https://docs.amadalis.ai/reference/themes/#theme-mono), [Gallery](https://docs.amadalis.ai/reference/themes/#theme-gallery), [Outline](https://docs.amadalis.ai/reference/themes/#theme-outline) | | Brutalist / raw | [Concrete](https://docs.amadalis.ai/reference/themes/#theme-concrete), [Xerox](https://docs.amadalis.ai/reference/themes/#theme-xerox), [Stencil](https://docs.amadalis.ai/reference/themes/#theme-stencil), [Tabloid](https://docs.amadalis.ai/reference/themes/#theme-tabloid), [Acid](https://docs.amadalis.ai/reference/themes/#theme-acid), [Industrial](https://docs.amadalis.ai/reference/themes/#theme-industrial), [Ransom](https://docs.amadalis.ai/reference/themes/#theme-ransom), [Terminal Block](https://docs.amadalis.ai/reference/themes/#theme-terminal-block), [Manifesto](https://docs.amadalis.ai/reference/themes/#theme-manifesto), [Warehouse](https://docs.amadalis.ai/reference/themes/#theme-warehouse) | ## Executive ### Folio Editorial paper: warm reading canvas, navy serif display kept deliberately modest, a big body size with generous line spacing, narrow text column; and the blue-slate dark mode with an orange accent. | Detail | Value | | --- | --- | | Family | Executive, Editorial, Warm | | Palette | Page #f5e9cb; Surface #fbf7ea; Heading #172033; Text #262524; Accent #00629c; Button #172033 | | Faces | Headings: Source Serif 4. Body: Source Sans 3. | | Corners | Rounded base corners (.375rem); rounded buttons (.375rem). | | Depth | Layered soft shadows | | Native mode | Light | | Modes | Light, Dark | ### Sovereign Public-institution plain speech: Public Sans body, slab headings, navy authority with a single alert red, near-square corners and a dense, businesslike rhythm. For civic and regulated sites. | Detail | Value | | --- | --- | | Family | Executive, Editorial | | Palette | Page #f1efeb; Surface #fcfcfc; Heading #1b1b1b; Text #1b1b1b; Accent #b50909; Button #1a4480 | | Faces | Headings: Bitter. Body: Public Sans. | | Corners | Rounded base corners (.125rem); rounded buttons (.125rem). | | Depth | Hard offset shadow | | Native mode | Light | | Modes | Light, Dark | ### Almanac Newsprint discipline: Newsreader headlines over a Chivo sans serif, a wide column, hairline rules instead of cards, no shadows and a masthead red. For newsrooms and trade publications. | Detail | Value | | --- | --- | | Family | Executive, Editorial | | Palette | Page #d6dadf; Surface #e8e6e0; Heading #0f0e0d; Text #1c1b19; Accent #b3261e; Button #1c1b19 | | Faces | Headings: Newsreader. Body: Chivo. | | Corners | Square base corners (0); square buttons (0). | | Depth | Flat, no shadow | | Native mode | Light | | Modes | Light, Dark | ### Dossier A stark personal-document look: pure black on white, near-square corners, hard flat shadows and a tight 900px measure. For CVs, portfolios and writing that wants no ornament. | Detail | Value | | --- | --- | | Family | Executive, Toned down | | Palette | Page #ffffff; Surface #f5f5f5; Heading #000000; Text #0d0d0d; Accent #262626; Button #0d0d0d | | Faces | Headings: Libre Franklin. Body: Karla. | | Corners | Rounded base corners (.25rem); rounded buttons (.125rem). | | Depth | Hard offset shadow | | Native mode | Light | | Modes | Light, Dark | ### Harbor Calm professional credibility: geometric sans over a literary serif, deep harbour blue on a slate-blue mid-tone canvas rather than white, restrained corners and a measured, unhurried rhythm. For advisory, legal and B2B services. | Detail | Value | | --- | --- | | Family | Executive, Editorial, Toned down | | Palette | Page #a5b7d3; Surface #bec3c5; Heading #0f3d56; Text #1f2b33; Accent #146a8a; Button #0f3d56 | | Faces | Headings: Spectral. Body: Manrope. | | Corners | Rounded base corners (.375rem); rounded buttons (.3125rem). | | Depth | Soft shadow | | Native mode | Light | | Modes | Light, Dark | ### Pulse Clinical calm: marine and teal on cool white, Sora headings over a Figtree body at a legible 17px, an even eight-point rhythm and almost no shadow depth. For clinics, practices and health services. | Detail | Value | | --- | --- | | Family | Executive, Toned down | | Palette | Page #e2f5f1; Surface #f7ffff; Heading #0b3d4d; Text #17323b; Accent #0f766e; Button #0b6b8a | | Faces | Headings: Sora. Body: Figtree. | | Corners | Rounded base corners (.5rem); rounded buttons (.625rem). | | Depth | Soft shadow | | Native mode | Light | | Modes | Light, Dark | ### Atrium Architectural restraint: Marcellus roman capitals at wide tracking over a geometric Jost body, limestone and graphite with one bronze accent, near-square corners and a great deal of air. | Detail | Value | | --- | --- | | Family | Executive, Elegant | | Palette | Page #d4d1ca; Surface #e0ded7; Heading #1b1a16; Text #2c2b26; Accent #8a5524; Button #26251f | | Faces | Headings: Marcellus. Body: Jost. | | Corners | Rounded base corners (.0625rem); square buttons (0). | | Depth | Hard offset shadow | | Native mode | Light | | Modes | Light, Dark | ### Beacon Federal service: a navy-and-blue ladder in one voice, a deliberate small corner, and honest elevation. Institutional without being cold. | Detail | Value | | --- | --- | | Family | Executive | | Palette | Page #e1f2ff; Surface #f7feff; Heading #162e51; Text #1b1b1b; Accent #005ea2; Button #005ea2 | | Faces | Headings: Public Sans. Body: Public Sans. | | Corners | Rounded base corners (.25rem); rounded buttons (.25rem). | | Depth | Soft shadow | | Native mode | Light | | Modes | Light, Dark | ### Gazette News and magazine: a Baskerville masthead over grotesque copy, a printer’s red used sparingly, tight column rhythm and a long measure built for reading. | Detail | Value | | --- | --- | | Family | Executive, Editorial | | Palette | Page #f1e7db; Surface #f7f5ef; Heading #0c0c0b; Text #1c1b19; Accent #c8102e; Button #111111 | | Faces | Headings: Libre Baskerville. Body: Libre Franklin. | | Corners | Rounded base corners (.0625rem); rounded buttons (.0625rem). | | Depth | Flat, no shadow | | Native mode | Light | | Modes | Light, Dark | ### Counsel Professional services: a serif body beneath a serif display, wide-tracked capitals, deep navy on warm stone, and no elevation anywhere. | Detail | Value | | --- | --- | | Family | Executive, Elegant | | Palette | Page #ccdfee; Surface #ede9e0; Heading #12233b; Text #22262c; Accent #8a6d3b; Button #12233b | | Faces | Headings: Marcellus. Body: Spectral. | | Corners | Rounded base corners (.0625rem); square buttons (0). | | Depth | Flat, no shadow | | Native mode | Light | | Modes | Light, Dark | ### Clinic Healthcare: warmed neutrals rather than cold grey, a calm teal instead of the expected blue, soft corners, and generous spacing between everything. | Detail | Value | | --- | --- | | Family | Executive, Toned down | | Palette | Page #f4fcef; Surface #eaf1f0; Heading #123433; Text #233231; Accent #0d7f7d; Button #116b69 | | Faces | Headings: Public Sans. Body: Source Sans 3. | | Corners | Rounded base corners (.5rem); rounded buttons (.5rem). | | Depth | Soft shadow | | Native mode | Light | | Modes | Light, Dark | ### Commons Nonprofit: a cool ink-blue and a reading serif that carry a report rather than a campaign, with a wide measure and a deliberately plain link language. | Detail | Value | | --- | --- | | Family | Executive, Editorial, Toned down | | Palette | Page #a6c8c4; Surface #cbced0; Heading #152b42; Text #262c31; Accent #2f6f8f; Button #1b3a5c | | Faces | Headings: Newsreader. Body: Work Sans. | | Corners | Rounded base corners (.375rem); rounded buttons (.375rem). | | Depth | Flat, no shadow | | Native mode | Light | | Modes | Light, Dark | ## Editorial ### Pinwheel Cheerful startup optimism: a heavy serif headline over geometric sans, white cards floating on an off-white canvas, fully rounded CTAs and a sunset-orange accent. | Detail | Value | | --- | --- | | Family | Editorial, Warm, Happy, Brilliant | | Palette | Page #fddfd1; Surface #f2f2f2; Heading #2b1b3d; Text #2f2b33; Accent #fe6019; Button #fe6019 | | Faces | Headings: Lora. Body: Rubik. | | Corners | Rounded base corners (.75rem); pill buttons (999px). | | Depth | Soft shadow | | Native mode | Light | | Modes | Light, Dark | ### Kiln Handmade warmth: a soft characterful serif over a workhorse grotesque, clay and ochre on warm paper, organic corners and warm-tinted shadows. For makers, bakeries and small-batch brands. | Detail | Value | | --- | --- | | Family | Editorial, Warm | | Palette | Page #f5ccbc; Surface #e9e0d4; Heading #2b211a; Text #3a2f26; Accent #b3552b; Button #8a3d12 | | Faces | Headings: Fraunces. Body: Barlow. | | Corners | Rounded base corners (.875rem); rounded buttons (.625rem). | | Depth | Soft shadow | | Native mode | Light | | Modes | Light, Dark | ### Carnival Dark-first on a plum dusk: a serif display over a geometric sans, full-pill buttons, and a violet-to-coral gradient carried in the elevation so colour arrives as light rather than as a block. | Detail | Value | | --- | --- | | Family | Editorial, Happy, Brilliant | | Palette | Page #5b446f; Surface #605963; Heading #ffffff; Text #f5eefa; Accent #ff5a5f; Button #ffd23f | | Faces | Headings: DM Serif Display. Body: Outfit. | | Corners | Rounded base corners (1rem); pill buttons (999px). | | Depth | Layered soft shadows | | Native mode | Dark | | Modes | Dark, Light | ### Broadsheet Broadsheet editorial: warm newsprint, compact columns, sober red rules and a display serif that gives long-form reporting a real front page. | Detail | Value | | --- | --- | | Family | Editorial | | Palette | Page #d8c9a7; Surface #eadfca; Heading #11100d; Text #211d17; Accent #9b2c2c; Button #7a1f1f | | Faces | Headings: DM Serif Display. Body: Libre Franklin. | | Corners | Square base corners (0px); square buttons (0px). | | Depth | Flat, no shadow | | Native mode | Light | | Modes | Light, Dark | ## Warm ### Hearth Workshop signage: stone and sand neutrals, a safety-yellow CTA with near-black ink, square corners, industrial headline type, stamped shadows. Trades, workshops, local services. | Detail | Value | | --- | --- | | Family | Warm, Brilliant | | Palette | Page #fcdbbe; Surface #f3ede0; Heading #191309; Text #221c15; Accent #d97706; Button #facc15 | | Faces | Headings: Work Sans. Body: Work Sans. | | Corners | Rounded base corners (.25rem); rounded buttons (.25rem). | | Depth | Mixed hard and soft shadows | | Native mode | Light | | Modes | Light, Dark | ### Scholar Academic reading first: a Crimson Pro serif body at a generous 19px, Zilla Slab headings, ink and oxblood on laid paper, a narrow text column and almost no shadow. For universities and research groups. | Detail | Value | | --- | --- | | Family | Warm | | Palette | Page #ddd3b1; Surface #e3dfd7; Heading #17140f; Text #262320; Accent #8c1d24; Button #7d1d26 | | Faces | Headings: Zilla Slab. Body: Crimson Pro. | | Corners | Rounded base corners (.1875rem); rounded buttons (.25rem). | | Depth | Flat, no shadow | | Native mode | Light | | Modes | Light, Dark | ### Slab Neobrutalist: a 5px corner, a 2px black outline, and a hard shadow with no blur that never softens. Playful and loud, and completely sure of itself. | Detail | Value | | --- | --- | | Family | Warm | | Palette | Page #ebc238; Surface #e8d18e; Heading #000000; Text #141414; Accent #ff5c00; Button #0047d1 | | Faces | Headings: Syne. Body: Archivo. | | Corners | Rounded base corners (.3125rem); rounded buttons (.3125rem). | | Depth | Hard offset shadow | | Native mode | Light | | Modes | Light, Dark | ### Hospitality Warm luxury: a loose, large Garamond display over quiet sans copy, low-contrast warm surfaces, and elevation deep enough to sit over a photograph. | Detail | Value | | --- | --- | | Family | Warm, Elegant | | Palette | Page #eddac3; Surface #f1e9dd; Heading #241c16; Text #2f2620; Accent #9a6b3f; Button #7a4f2a | | Faces | Headings: EB Garamond. Body: Lato. | | Corners | Rounded base corners (.125rem); square buttons (0). | | Depth | Soft shadow | | Native mode | Light | | Modes | Light, Dark | ### Campus Education: square corners on a warm amber-and-indigo palette, dense practical spacing, and a slightly irregular grotesque that stays friendly at any size. | Detail | Value | | --- | --- | | Family | Warm | | Palette | Page #cfbfa3; Surface #cbcdd4; Heading #141a3c; Text #20242e; Accent #d27e00; Button #1f2a63 | | Faces | Headings: Bricolage Grotesque. Body: Barlow. | | Corners | Square base corners (0); rounded buttons (.125rem). | | Depth | Soft shadow | | Native mode | Light | | Modes | Light, Dark | ### Bazaar High-density retail: the tightest rhythm in the library, heavy display type, saturated ink and small label-like corners. Built for a page with a hundred things on it. | Detail | Value | | --- | --- | | Family | Warm | | Palette | Page #ceb7a8; Surface #c9c7c4; Heading #101010; Text #232323; Accent #e03e00; Button #c23100 | | Faces | Headings: Chivo. Body: Archivo. | | Corners | Rounded base corners (.1875rem); rounded buttons (.1875rem). | | Depth | Soft shadow | | Native mode | Light | | Modes | Light, Dark | ### Terracotta Terracotta warmth: a hand-thrown clay canvas, generous hospitality rhythm, soft umber depth and a lively oldstyle serif for makers and places. | Detail | Value | | --- | --- | | Family | Warm | | Palette | Page #c97f5b; Surface #e0a27e; Heading #140b08; Text #24140e; Accent #7a2e14; Button #63220f | | Faces | Headings: Fraunces. Body: Karla. | | Corners | Rounded base corners (10px); pill buttons (999px). | | Depth | Soft shadow | | Native mode | Light | | Modes | Light, Dark | ## Toned down ### Atelier Monochrome gallery: black on white with a mint companion surface, oversized serif display, pill buttons, no shadows; whitespace and hairlines do the work. Agencies, studios, portfolios. | Detail | Value | | --- | --- | | Family | Toned down, Elegant | | Palette | Page #ffffff; Surface #f0f7ef; Heading #000000; Text #191919; Accent #1f513f; Button #101010 | | Faces | Headings: Roboto Serif. Body: Lato. | | Corners | Rounded base corners (1.25rem); pill buttons (999px). | | Depth | Flat, no shadow | | Native mode | Light | | Modes | Light, Dark | ### Estate Dark-first on a deep olive ground; a single olive-sage hue and no accent colour anywhere, a high-contrast serif display at one weight, and the widest measure in the library. | Detail | Value | | --- | --- | | Family | Toned down, Elegant | | Palette | Page #4a4d37; Surface #595a54; Heading #ffffff; Text #eef0e8; Accent #9aa88c; Button #e8ecdf | | Faces | Headings: Instrument Serif. Body: Jost. | | Corners | Square base corners (0); square buttons (0). | | Depth | Flat, no shadow | | Native mode | Dark | | Modes | Dark, Light | ### Verbena Wellness and beauty: desaturated sage and dusty rose, a quiet Garamond display, unhurried leading and almost no elevation. Calm without being beige. | Detail | Value | | --- | --- | | Family | Toned down, Elegant | | Palette | Page #f7dde5; Surface #f2f0ec; Heading #243330; Text #2e332f; Accent #8a5560; Button #456b66 | | Faces | Headings: EB Garamond. Body: Karla. | | Corners | Rounded base corners (.625rem); pill buttons (999px). | | Depth | Soft shadow | | Native mode | Light | | Modes | Light, Dark | ### Sage Sage calm: a muted garden palette, softened utility corners, unhurried line-height and a readable humanist-to-serif voice. | Detail | Value | | --- | --- | | Family | Toned down | | Palette | Page #aeb9a3; Surface #cbd2c4; Heading #111711; Text #20271f; Accent #58705c; Button #385443 | | Faces | Headings: Lora. Body: Atkinson Hyperlegible. | | Corners | Rounded base corners (8px); rounded buttons (8px). | | Depth | Soft shadow | | Native mode | Light | | Modes | Light, Dark | ### Mist Mist toned down: blue-grey atmospheric layers, fine soft corners, a quiet display serif and measured spacing for reflective professional sites. | Detail | Value | | --- | --- | | Family | Toned down | | Palette | Page #c7d2db; Surface #dfe6eb; Heading #11161b; Text #20272d; Accent #5b7483; Button #365a70 | | Faces | Headings: Instrument Serif. Body: Figtree. | | Corners | Rounded base corners (6px); rounded buttons (6px). | | Depth | Soft shadow | | Native mode | Light | | Modes | Light, Dark | ## Happy ### Azure SaaS precision: azure CTAs and violet accents on ice-tinted layers, tight-tracked display type, layered navy shadows, a wide product column, deep-navy dark mode. | Detail | Value | | --- | --- | | Family | Happy | | Palette | Page #eefbff; Surface #eaeff7; Heading #030b1a; Text #0e1726; Accent #6d28d9; Button #0154cf | | Faces | Headings: Manrope. Body: Inter. | | Corners | Rounded base corners (.75rem); pill buttons (999px). | | Depth | Layered soft shadows | | Native mode | Light | | Modes | Light, Dark | ### Foxglove Vivid rounded product: magenta energy on pink-cast layers, geometric display type, big radii, glow shadows, deep-raspberry bands; and a plum dark mode, not another navy. | Detail | Value | | --- | --- | | Family | Happy | | Palette | Page #daafc6; Surface #d0c4ca; Heading #180f20; Text #251c2e; Accent #be185d; Button #be185d | | Faces | Headings: Outfit. Body: Inter. | | Corners | Rounded base corners (1.25rem); pill buttons (999px). | | Depth | Layered soft shadows | | Native mode | Light | | Modes | Light, Dark | ### Verdant Bistro style with high-contrast serif type: cream canvas, deep-green CTAs, a restrained red for specials, high-contrast serif display in the Didot family; and a candlelit green dark mode with brass links. | Detail | Value | | --- | --- | | Family | Happy | | Palette | Page #d8d8c5; Surface #e9e3d2; Heading #10382e; Text #27332c; Accent #b52a10; Button #136f5e | | Faces | Headings: Playfair Display. Body: Source Sans 3. | | Corners | Rounded base corners (.5rem); pill buttons (999px). | | Depth | Layered soft shadows | | Native mode | Light | | Modes | Light, Dark | ### Meadow Rounded community: a soft sage canvas with lighter sage layers, forest-green CTAs, a burnt-orange accent, rounded type and pill buttons everywhere, soft green shadows. Nonprofits, clinics, community groups. | Detail | Value | | --- | --- | | Family | Happy | | Palette | Page #e0e9ce; Surface #eef5e4; Heading #1d4535; Text #2b342d; Accent #c2410c; Button #2d6a4f | | Faces | Headings: Nunito. Body: Nunito. | | Corners | Rounded base corners (1.125rem); pill buttons (999px). | | Depth | Layered soft shadows | | Native mode | Light | | Modes | Light, Dark | ### Emporium A polished storefront: borderless cards floating on soft two-layer shadows, an unusually light display weight over a workhorse sans, and a wide product-grid measure. For retail and catalogues. | Detail | Value | | --- | --- | | Family | Happy | | Palette | Page #eef4fb; Surface #feffff; Heading #0b1220; Text #3a4351; Accent #3066ff; Button #0b1220 | | Faces | Headings: Figtree. Body: DM Sans. | | Corners | Rounded base corners (.375rem); rounded buttons (.375rem). | | Depth | Layered soft shadows | | Native mode | Light | | Modes | Light, Dark | ### Bloom Dark-first. Loud and joyful: hot pink and sunny yellow at full saturation on a deep aubergine canvas that lets them glow rather than shout, Fredoka display at poster size, big soft corners and sticker shadows. For kids’ clubs and camps. | Detail | Value | | --- | --- | | Family | Happy, Brilliant, Tech | | Palette | Page #1c0f2e; Surface #2a1743; Heading #ffd84d; Text #f0e6f7; Accent #ff5fa8; Button #ffc82e | | Faces | Headings: Fredoka. Body: Rubik. | | Corners | Rounded base corners (1.5rem); pill buttons (999px). | | Depth | Hard offset shadow | | Native mode | Dark | | Modes | Dark, Light | ### Confetti Confetti happy: candy-pink ground, cyan layers, sunny buttons, bubble corners and a rounded display voice built for celebrations and kids. | Detail | Value | | --- | --- | | Family | Happy | | Palette | Page #f4c8ea; Surface #bfe8f0; Heading #160b1c; Text #251629; Accent #ed73bd; Button #f7d43a | | Faces | Headings: Fredoka. Body: Nunito. | | Corners | Rounded base corners (18px); pill buttons (999px). | | Depth | Hard offset shadow | | Native mode | Light | | Modes | Light, Dark | ### Bubblegum Bubblegum pop: a cyan-and-pink sticker system with springy spacing, oversized crafted grotesk headlines and unapologetically pill-shaped actions. | Detail | Value | | --- | --- | | Family | Happy | | Palette | Page #a9dff4; Surface #f1bad9; Heading #07171e; Text #10242c; Accent #ee5aa5; Button #29b9c9 | | Faces | Headings: Bricolage Grotesque. Body: DM Sans. | | Corners | Rounded base corners (14px); pill buttons (999px). | | Depth | Hard offset shadow | | Native mode | Light | | Modes | Light, Dark | ## Brilliant ### Bold Brutalist poster: violet and amber at full volume on near-black, industrial display type, square corners, hard offset shadows. For agencies and launches that want to be loud. | Detail | Value | | --- | --- | | Family | Brilliant, Tech | | Palette | Page #0a0a11; Surface #16121f; Heading #ffffff; Text #f4f2f8; Accent #f59e0b; Button #f59e0b | | Faces | Headings: Space Grotesk. Body: Space Grotesk. | | Corners | Square base corners (0rem); square buttons (0rem). | | Depth | Hard offset shadow | | Native mode | Dark | | Modes | Dark, Light | ### Brutal Neobrutalist: square corners, ink-black borders, hard offset shadows, acid-yellow CTAs and a monospaced body. For studios and products that want to be loud on purpose. | Detail | Value | | --- | --- | | Family | Brilliant | | Palette | Page #ffffff; Surface #f5f5f0; Heading #0a0a0a; Text #0a0a0a; Accent #ffe600; Button #ffe600 | | Faces | Headings: Archivo. Body: Space Mono. | | Corners | Square base corners (0); square buttons (0). | | Depth | Hard offset shadow | | Native mode | Light | | Modes | Light, Dark | ### Manual Dark-first: a restrained display ramp on an ink-violet canvas, long leading, hairline rules between every band, and a violet reserved for the one thing on the page you are meant to click. | Detail | Value | | --- | --- | | Family | Brilliant, Tech | | Palette | Page #17162a; Surface #211f3b; Heading #ffffff; Text #dedbf0; Accent #b3a1ff; Button #8f76ff | | Faces | Headings: Space Grotesk. Body: Figtree. | | Corners | Rounded base corners (.3125rem); rounded buttons (.3125rem). | | Depth | Soft shadow | | Native mode | Dark | | Modes | Dark, Light | ### Citrus Citrus brilliant: saturated lemon and lime, cut-fruit corners, energetic rhythm and a wide geometric display voice with dark-ink actions. | Detail | Value | | --- | --- | | Family | Brilliant | | Palette | Page #f5d547; Surface #ffea85; Heading #0e0c02; Text #201b05; Accent #74a900; Button #ff8a1f | | Faces | Headings: Syne. Body: Rubik. | | Corners | Rounded base corners (12px); pill buttons (999px). | | Depth | Hard offset shadow | | Native mode | Light | | Modes | Light, Dark | ### Ultraviolet Ultraviolet brilliant: a dark-first neon club language with cyan actions, magenta glow, capsule edges and deliberately oversized display type. | Detail | Value | | --- | --- | | Family | Brilliant | | Palette | Page #281153; Surface #3d1b72; Heading #ffffff; Text #f4edff; Accent #e44cff; Button #65edff | | Faces | Headings: Bricolage Grotesque. Body: Sora. | | Corners | Rounded base corners (10px); pill buttons (999px). | | Depth | Soft shadow | | Native mode | Dark | | Modes | Dark, Light | ### Signal Signal brilliant: traffic-orange canvas, electric cyan accents, compressed black typography and placard geometry designed to stop the scroll. | Detail | Value | | --- | --- | | Family | Brilliant | | Palette | Page #f06b3e; Surface #ff9a70; Heading #120703; Text #251006; Accent #20e0ff; Button #ffd21c | | Faces | Headings: Archivo. Body: Public Sans. | | Corners | Rounded base corners (4px); rounded buttons (4px). | | Depth | Hard offset shadow | | Native mode | Light | | Modes | Light, Dark | ## Elegant ### Noir Quiet luxury, dark-first: charcoal canvas, champagne accents, a high-contrast Cormorant display at wide tracking, square corners and a great deal of space. For premium brands. | Detail | Value | | --- | --- | | Family | Elegant, Tech | | Palette | Page #0d0b09; Surface #171310; Heading #f4efe6; Text #e9e2d6; Accent #c9a86a; Button #c9a86a | | Faces | Headings: Cormorant Garamond. Body: Jost. | | Corners | Square base corners (0); square buttons (0). | | Depth | Flat, no shadow | | Native mode | Dark | | Modes | Dark, Light | ### Couture Couture elegance: rose-stone canvas, tailored hairline geometry, salon-scale space and a high-contrast serif that feels composed rather than ornate. | Detail | Value | | --- | --- | | Family | Elegant | | Palette | Page #cfbeb9; Surface #e4d8d4; Heading #140d0f; Text #241b1d; Accent #84536c; Button #5f3142 | | Faces | Headings: Cormorant Garamond. Body: DM Sans. | | Corners | Rounded base corners (2px); rounded buttons (2px). | | Depth | Soft shadow | | Native mode | Light | | Modes | Light, Dark | ### Gilded Gilded elegance: muted gold ground, engraved edges, ceremonial spacing and a classical display face held in check by sober modern body type. | Detail | Value | | --- | --- | | Family | Elegant | | Palette | Page #b59a55; Surface #d8c58c; Heading #110e05; Text #241d0c; Accent #765b18; Button #4e3a0f | | Faces | Headings: Marcellus. Body: Libre Franklin. | | Corners | Rounded base corners (1px); rounded buttons (1px). | | Depth | Soft shadow | | Native mode | Light | | Modes | Light, Dark | ### Velvet Velvet elegance: plum night, jewel-case corners, nocturne spacing and a dramatic display serif with soft rose actions rather than gold clichés. | Detail | Value | | --- | --- | | Family | Elegant | | Palette | Page #251321; Surface #3c2035; Heading #fff8fd; Text #f3e7ef; Accent #b46a91; Button #d6a4bc | | Faces | Headings: DM Serif Display. Body: Lato. | | Corners | Rounded base corners (3px); rounded buttons (3px). | | Depth | Soft shadow | | Native mode | Dark | | Modes | Dark, Light | ## Tech ### Carbon Terminal industrial: monospace display type, graphite and steel layers, cyan CTAs, hard panel shadows, the densest rhythm in the library. Dev tools, platforms, tech events. | Detail | Value | | --- | --- | | Family | Tech | | Palette | Page #0a0f14; Surface #131c25; Heading #f0f5f8; Text #d3dde5; Accent #0d9488; Button #0e7490 | | Faces | Headings: IBM Plex Mono. Body: IBM Plex Sans. | | Corners | Rounded base corners (.25rem); rounded buttons (.25rem). | | Depth | Mixed hard and soft shadows | | Native mode | Dark | | Modes | Dark, Light | ### Terminal Console: monospace throughout, square corners, a hard green prompt colour and an underline where other themes would use a button. Its native mode is paper, not phosphor. | Detail | Value | | --- | --- | | Family | Tech | | Palette | Page #aab4a3; Surface #bdbdb7; Heading #101010; Text #22221f; Accent #0f7a4a; Button #0f7a4a | | Faces | Headings: Space Mono. Body: IBM Plex Mono. | | Corners | Square base corners (0); square buttons (0). | | Depth | Flat, no shadow | | Native mode | Light | | Modes | Light, Dark | ### Voyage Dark-first. Travel after dark: a genuinely polychrome palette; cyan, violet and mint carried together rather than one brand colour plus greys; over a deep marine canvas and rounded, generous cards. | Detail | Value | | --- | --- | | Family | Tech | | Palette | Page #0e1a1f; Surface #16262d; Heading #f0f9fb; Text #dce9ec; Accent #3ec9c9; Button #c08ee0 | | Faces | Headings: Bricolage Grotesque. Body: Nunito. | | Corners | Rounded base corners (.875rem); rounded buttons (2rem). | | Depth | Soft shadow | | Native mode | Dark | | Modes | Dark, Light | ### Matrix Matrix technical: phosphor green-black console surfaces, terminal-square geometry, dense data rhythm and a mono display voice for infrastructure tools. | Detail | Value | | --- | --- | | Family | Tech | | Palette | Page #071b18; Surface #0e2c27; Heading #f4fffb; Text #d8fff3; Accent #00d99f; Button #b6ff32 | | Faces | Headings: Space Mono. Body: IBM Plex Sans. | | Corners | Square base corners (0px); rounded buttons (2px). | | Depth | Hard offset shadow | | Native mode | Dark | | Modes | Dark, Light | ### Quantum Quantum technical: indigo laboratory surfaces, instrument corners, compact analytical spacing and a mono heading voice with electric-blue signals. | Detail | Value | | --- | --- | | Family | Tech | | Palette | Page #121a3d; Surface #1d2858; Heading #ffffff; Text #e8edff; Accent #775cff; Button #64d8ff | | Faces | Headings: IBM Plex Mono. Body: Manrope. | | Corners | Rounded base corners (3px); rounded buttons (3px). | | Depth | Soft shadow | | Native mode | Dark | | Modes | Dark, Light | ### Circuit Circuit technical: cyan-black board layers, chassis corners, product-dense spacing and tight grotesk headings with amber signal actions. | Detail | Value | | --- | --- | | Family | Tech | | Palette | Page #062c3a; Surface #0d4052; Heading #ffffff; Text #e0f8ff; Accent #00b7d9; Button #ffcf4a | | Faces | Headings: Space Grotesk. Body: Chivo. | | Corners | Rounded base corners (5px); rounded buttons (5px). | | Depth | Hard offset shadow | | Native mode | Dark | | Modes | Dark, Light | ## Minimal ### Clean Swiss neutral: cool slate ink, one restrained blue, crisp corners, tight display tracking. The decided default for any site before a personality is chosen. | Detail | Value | | --- | --- | | Family | Minimal | | Palette | Page #ffffff; Surface #f2f5f9; Heading #0a1122; Text #131c2e; Accent #2563eb; Button #1d4ed8 | | Faces | Headings: Inter. Body: Inter. | | Corners | Rounded base corners (.5rem); rounded buttons (.5rem). | | Depth | Layered soft shadows | | Native mode | Light | | Modes | Light, Dark | ### Lumen Built for legibility first: Atkinson Hyperlegible, a larger base size, a narrow reading measure, visible borders and no decorative shadow. For public-sector, health and education sites. | Detail | Value | | --- | --- | | Family | Minimal | | Palette | Page #ffffff; Surface #f5f5f5; Heading #000000; Text #111111; Accent #0b4fbf; Button #0b4fbf | | Faces | Headings: Atkinson Hyperlegible. Body: Atkinson Hyperlegible. | | Corners | Rounded base corners (.25rem); rounded buttons (.25rem). | | Depth | Flat, no shadow | | Native mode | Light | | Modes | Light, Dark | ### Civic Public service: black on white, square corners, no elevation at all, thick rules instead of cards, and a yellow used only for focus. A page that reads as a form of the state, not a brochure. | Detail | Value | | --- | --- | | Family | Minimal | | Palette | Page #ffffff; Surface #f6f5f4; Heading #0b0c0c; Text #0b0c0c; Accent #1d70b8; Button #00703c | | Faces | Headings: Libre Franklin. Body: Source Sans 3. | | Corners | Square base corners (0); square buttons (0). | | Depth | Flat, no shadow | | Native mode | Light | | Modes | Light, Dark | ### Monograph Monograph minimal: warm-grey paper, hairline edges, book-airy rhythm and a spare literary display face for portfolios where the work leads. | Detail | Value | | --- | --- | | Family | Minimal | | Palette | Page #d9d5ca; Surface #eeeae1; Heading #11110f; Text #232220; Accent #6d6556; Button #33322e | | Faces | Headings: Instrument Serif. Body: Source Sans 3. | | Corners | Rounded base corners (1px); rounded buttons (1px). | | Depth | Flat, no shadow | | Native mode | Light | | Modes | Light, Dark | ### Grid Grid minimal: cool rational planes, a Swiss spacing cadence, restrained corners and a classical reading serif locked to a visible baseline. | Detail | Value | | --- | --- | | Family | Minimal | | Palette | Page #e2e7ea; Surface #f3f5f6; Heading #0c1114; Text #1e2529; Accent #4b6c7d; Button #214e63 | | Faces | Headings: Libre Baskerville. Body: Inter. | | Corners | Rounded base corners (2px); rounded buttons (2px). | | Depth | Soft shadow | | Native mode | Light | | Modes | Light, Dark | ### Paper Paper minimal: tactile kraft ground, folded corners, reading-first proportions and a practical serif that makes a plain page feel made, not defaulted. | Detail | Value | | --- | --- | | Family | Minimal | | Palette | Page #c8bfad; Surface #e5ddce; Heading #13100c; Text #28231b; Accent #80633b; Button #573c21 | | Faces | Headings: Roboto Serif. Body: Work Sans. | | Corners | Rounded base corners (4px); rounded buttons (4px). | | Depth | Soft shadow | | Native mode | Light | | Modes | Light, Dark | ### Air Air minimal: pale aqua atmosphere, cloud-soft edges, a light reading voice and expansive negative space for wellness and quiet service brands. | Detail | Value | | --- | --- | | Family | Minimal | | Palette | Page #d8e7e2; Surface #eff5f2; Heading #0c1512; Text #1d2825; Accent #5a8d7f; Button #31695c | | Faces | Headings: Lora. Body: Figtree. | | Corners | Rounded base corners (16px); rounded buttons (16px). | | Depth | Soft shadow | | Native mode | Light | | Modes | Light, Dark | ### Mono Mono minimal: neutral dark-first code canvas, terse spacing, square geometry and one disciplined monospaced voice with no ornamental layer. | Detail | Value | | --- | --- | | Family | Minimal | | Palette | Page #171717; Surface #262626; Heading #ffffff; Text #ededed; Accent #d4d4d4; Button #f0f0f0 | | Faces | Headings: IBM Plex Mono. Body: IBM Plex Mono. | | Corners | Square base corners (0px); square buttons (0px). | | Depth | Flat, no shadow | | Native mode | Dark | | Modes | Dark, Light | ### Gallery Gallery minimal: concrete museum canvas, frame-square edges, exhibition-scale whitespace and a delicate serif reserved for the work’s title cards. | Detail | Value | | --- | --- | | Family | Minimal | | Palette | Page #b9b5b0; Surface #d6d2cd; Heading #0f0e0d; Text #242220; Accent #736459; Button #413830 | | Faces | Headings: Cormorant Garamond. Body: Karla. | | Corners | Square base corners (0px); square buttons (0px). | | Depth | Flat, no shadow | | Native mode | Light | | Modes | Light, Dark | ### Outline Outline minimal: blue-grey diagram planes, visibly outlined sections, controlled spacing and a sturdy slab voice for information architecture and guides. | Detail | Value | | --- | --- | | Family | Minimal | | Palette | Page #d0d7dc; Surface #e9edf0; Heading #0c1114; Text #20262a; Accent #58788a; Button #31596c | | Faces | Headings: Zilla Slab. Body: Public Sans. | | Corners | Rounded base corners (6px); square buttons (0px). | | Depth | Outline, no blur | | Native mode | Light | | Modes | Light, Dark | ## Brutalist / raw ### Concrete Concrete brutalism: exposed grey aggregate, monolithic Archivo, zero softness, construction-scale spacing and black offset planes with a single warning red. | Detail | Value | | --- | --- | | Family | Brutalist / raw | | Palette | Page #b9b6ae; Surface #d5d1c8; Heading #000000; Text #151515; Accent #c52219; Button #111111 | | Faces | Headings: Archivo. Body: Archivo. | | Corners | Square base corners (0px); square buttons (0px). | | Depth | Hard offset shadow | | Native mode | Light | | Modes | Light, Dark | ### Xerox Xerox brutalism: hot red copier stock, black toner blocks, clipped corners and zine-dense mono rhythm that looks duplicated, stapled and urgent. | Detail | Value | | --- | --- | | Family | Brutalist / raw | | Palette | Page #ef3f2f; Surface #ffb3a8; Heading #000000; Text #150403; Accent #000000; Button #000000 | | Faces | Headings: Space Grotesk. Body: Space Mono. | | Corners | Square base corners (0px); square buttons (0px). | | Depth | Layered hard shadows | | Native mode | Light | | Modes | Light, Dark | ### Stencil Stencil brutalism: hazard-yellow steel plates, asphalt offsets, condensed mass and no decorative softness; an industrial campaign system at billboard scale. | Detail | Value | | --- | --- | | Family | Brutalist / raw | | Palette | Page #e7c800; Surface #fff179; Heading #090800; Text #1d1900; Accent #0057b8; Button #111111 | | Faces | Headings: Archivo. Body: Barlow. | | Corners | Rounded base corners (2px); square buttons (0px). | | Depth | Hard offset shadow | | Native mode | Light | | Modes | Light, Dark | ### Tabloid Tabloid brutalism: cobalt dusk, yellow headline ink, square news blocks and an outsized Syne voice arranged like a front page shouting above the fold. | Detail | Value | | --- | --- | | Family | Brutalist / raw | | Palette | Page #2455d6; Surface #173a9a; Heading #ffffff; Text #ffffff; Accent #ffea2f; Button #ffea2f | | Faces | Headings: Syne. Body: Libre Franklin. | | Corners | Square base corners (0px); square buttons (0px). | | Depth | Hard offset shadow | | Native mode | Dark | | Modes | Dark, Light | ### Acid Acid brutalism: radioactive green ground, purple rave blocks, one pill-shaped provocation and compressed poster rhythm for culture and nightlife. | Detail | Value | | --- | --- | | Family | Brutalist / raw | | Palette | Page #9bea32; Surface #caff84; Heading #071000; Text #102000; Accent #6413c5; Button #6413c5 | | Faces | Headings: Bricolage Grotesque. Body: Rubik. | | Corners | Rounded base corners (4px); pill buttons (999px). | | Depth | Hard offset shadow | | Native mode | Light | | Modes | Light, Dark | ### Industrial Industrial brutalism: raw charcoal steel, exposed borders, factory-scale spacing and a condensed heavy voice with amber safety actions and no blur. | Detail | Value | | --- | --- | | Family | Brutalist / raw | | Palette | Page #222222; Surface #383838; Heading #ffffff; Text #eeeeee; Accent #ffb000; Button #ffb000 | | Faces | Headings: Archivo. Body: Chivo. | | Corners | Square base corners (0px); square buttons (0px). | | Depth | Hard offset shadow | | Native mode | Dark | | Modes | Dark, Light | ### Ransom Ransom brutalism: hot-pink collage stock, cyan misregistration, clipped corner systems and cut-letter display rhythm that refuses corporate polish. | Detail | Value | | --- | --- | | Family | Brutalist / raw | | Palette | Page #ef76bf; Surface #ffc0e5; Heading #11050c; Text #260d1c; Accent #ffe500; Button #00b8d4 | | Faces | Headings: Syne. Body: Karla. | | Corners | Square base corners (0px); rounded buttons (2px). | | Depth | Layered hard shadows | | Native mode | Light | | Modes | Light, Dark | ### Terminal Block Terminal-block brutalism: teal machine panels, yellow status ink, punched-card corners and command-dense mono copy under a massive industrial heading. | Detail | Value | | --- | --- | | Family | Brutalist / raw | | Palette | Page #00b8a9; Surface #73e2d8; Heading #03110f; Text #071f1d; Accent #ffea00; Button #ffea00 | | Faces | Headings: Archivo. Body: IBM Plex Mono. | | Corners | Square base corners (0px); rounded buttons (4px). | | Depth | Hard offset shadow | | Native mode | Light | | Modes | Light, Dark | ### Manifesto Manifesto brutalism: agitprop orange paper, navy print blocks, pamphlet spacing and an all-caps-ready grotesk voice for campaigns that take a position. | Detail | Value | | --- | --- | | Family | Brutalist / raw | | Palette | Page #f08019; Surface #ffb05d; Heading #100700; Text #241000; Accent #092b5f; Button #092b5f | | Faces | Headings: Space Grotesk. Body: Work Sans. | | Corners | Rounded base corners (2px); square buttons (0px). | | Depth | Hard offset shadow | | Native mode | Light | | Modes | Light, Dark | ### Warehouse Warehouse brutalism: purple loading-dock dusk, amber construction marks, billboard spacing and a broad crafted grotesk built for events and studios. | Detail | Value | | --- | --- | | Family | Brutalist / raw | | Palette | Page #6750a4; Surface #49367f; Heading #ffffff; Text #ffffff; Accent #ffbf2f; Button #ffbf2f | | Faces | Headings: Bricolage Grotesque. Body: Source Sans 3. | | Corners | Square base corners (0px); square buttons (0px). | | Depth | Hard offset shadow | | Native mode | Dark | | Modes | Dark, Light | ## Your next step Choose a theme to inspect, then follow [Themes and tokens](https://docs.amadalis.ai/composer/themes-and-tokens/) to review its preview and the effect of activation. Source: https://docs.amadalis.ai/site/catalogs-and-page-types/ # Catalogs and page types Checked against the product’s code on 7 November 2026. Open **Site** > **Catalogs**. Its **Page types**, **Sections** and **Themes** tabs describe the site’s design catalog. A [page type](https://docs.amadalis.ai/reference/glossary/#page-type) is a recipe for a page, not an EmDash content [collection](https://docs.amadalis.ai/reference/glossary/#collection). **Collection index** starts a page with a list of entries from a collection that already exists. Choose it in **Composer** > **New page**, then review its **Live list** source and settings. See [List a collection on a page](https://docs.amadalis.ai/composer/collection-index/). ## Create or edit a page recipe The default theme field is reserved: pages do not use a per type theme yet. 1. Open **Page types**. 2. Choose **New page type**, or open the existing type you want to edit. 3. Fill in its label. 4. Fill in its description. This helps the copilot pick the right type. 5. Review **Available to the copilot**. This controls whether the copilot can select this recipe. 6. Under **Layout**, arrange the default section recipe in order. 7. Under **Allowed sections**, choose which sections the copilot may add or swap in on pages of this type. The layout’s own sections are always allowed. 8. Under **Intake questions**, choose **Add question** for a question the copilot should ask before it writes the copy. 9. Enter a short id for that question. 10. Enter its question words. 11. For a choice question, open its chevron, titled **hint & answer kind**. For a free text question, continue at step 15. 12. Choose **a choice** as its answer kind. 13. Type an option in **add an option, press Enter**. 14. Press Enter to add it. A choice question needs at least one option; repeat these option steps for any others it needs. 15. Repeat the question steps for any other questions you need. 16. Choose **Create page type** or **Save changes**. 17. Read the result. The recipe’s starting sections are included in its allowed sections. Changing a recipe changes future creation choices; it does not rebuild every existing page of that type. **Comparison / alternatives**, for a page that compares options, also allows a contact **Form** and **Image & text**. **Profile / About** and **Collection index** also allow **Form** and **Comparison table**. Their starting sections stay the same. ## Review catalog validation The catalog reports whether it is valid and offers its validation details. Read the named problem before using a recipe that refers to a missing section or theme. Use [the sections library](https://docs.amadalis.ai/site/sections-library/) to inspect what each available item draws. Use [Themes and tokens](https://docs.amadalis.ai/composer/themes-and-tokens/) to edit or activate a theme. [Content Types](https://docs.amadalis.ai/content/content-types/) defines collections and fields instead of page recipes. Source: https://docs.amadalis.ai/site/forms-and-replies/ # Forms and replies Checked against the product’s code on 7 November 2026. Learn how to add a contact [form](https://docs.amadalis.ai/reference/glossary/#form) and read its replies in **Site** > **Forms**. The workspace has **Forms**, **[Submissions](https://docs.amadalis.ai/reference/glossary/#submission)** and **Settings** tabs for building forms, reading submissions and checking delivery. ![The form builder with field choices, required fields and a live preview.](https://docs.amadalis.ai/images/owners/form-builder.png) Field choices are on the left and required fields are marked in the form. Use the preview below to check what a visitor will fill in. Before you start, [open your site’s admin](https://docs.amadalis.ai/get-started/getting-started/#open-your-site). Use Owner or Admin access to complete this guide, including reading replies. Editors can create forms and publish pages, but cannot read replies by default. See [team roles](https://docs.amadalis.ai/account/your-team/). ## Create a form 1. Choose **New form**. 2. Choose how to start: - **Use this template** creates that form at once and opens it in the builder. - **Start blank** opens a new blank form. - For a copilot draft: 1. Enter your description. 2. Choose **Draft it with the copilot**. 3. Send the request in chat. 4. Return to the resulting form in the builder. [![Create a form: Describe it, three templates (Contact, RSVP, Feedback) and Start blank.](https://docs.amadalis.ai/images/steps/S022-forms-blank-or-template-choice.png)](https://docs.amadalis.ai/images/steps/S022-forms-blank-or-template-choice.png "Open full-size image") Start from a description, a template or a blank form. [![Form builder for the new form with the receipt Created form Contact with 3 fields, with Undo.](https://docs.amadalis.ai/images/steps/S022-forms-created-from-template.png)](https://docs.amadalis.ai/images/steps/S022-forms-created-from-template.png "Open full-size image") A template creates the form at once, with Undo. 3. In the builder, edit the form name. 4. Add the fields you need. 5. Select a field. 6. Edit its label. 7. Set whether it is required. 8. Set its [validation](https://docs.amadalis.ai/reference/glossary/#validation) choices. Repeat the field steps for the other fields. 9. Set **Submit button label** in **Form settings**. 10. Set **Success message**. 11. Set **Validation error message**. 12. Review the **Form** preview. 13. Review the **Success** preview. 14. Review the **Error** preview. **To save a new blank form:** choose **Create form**. **To save changes to an existing form:** 1. Choose **Save changes**. 2. Read **Update this form?** and its comparison. Read the shared-form warning below before confirming. 3. Choose **Update form** to save, or **Keep current form** to go back. [![The same form renamed Docs Walk Form, receipt Updated form Docs Walk Form, with Undo.](https://docs.amadalis.ai/images/steps/S022-forms-saved-docs-walk-form.png)](https://docs.amadalis.ai/images/steps/S022-forms-saved-docs-walk-form.png "Open full-size image") The renamed form is saved, with Undo on its receipt. Starting with the copilot opens your request in chat. Send it there, then review the resulting form in the builder. A form created in chat does not save any email address you type. To add one, ask the copilot afterwards and read the recipients on its **Update this form?** card before choosing **Update form**. An existing **Site admin** recipient can remain. If chat adds an address you did not write in the conversation, the approval card flags it for you to check. Your own **Create form** click in the builder still saves the recipients you enter. A saved form is shared by its [placements](https://docs.amadalis.ai/reference/glossary/#placement). Saving an existing form updates it for every placement, including published pages. Visitors see the change within the hour, usually much sooner. While the site’s server is down, visitors may see the previous version of a page for up to a day. It does not wait for a page to be published. The receipt offers **[Undo](https://docs.amadalis.ai/reference/glossary/#undo)** to restore the previous version. [![Lighthouse application form builder with field types, required field rows and Form, Success and Error preview controls.](https://docs.amadalis.ai/images/owners/platform-site-forms-form-builder.png)](https://docs.amadalis.ai/images/owners/platform-site-forms-form-builder.png) Editing the company’s Lighthouse application form. The preview shows empty fields, not submitted visitor data. [Open full size](https://docs.amadalis.ai/images/owners/platform-site-forms-form-builder.png). ## Place it on a page If a page request makes a new form, its receipt names it and its Activity record names it too. Find it under **Forms**. It emails nobody until you choose recipients. A reused form keeps its saved recipients; read the plan and receipt for the form being placed. 1. Open the page in [the Composer](https://docs.amadalis.ai/composer/composer/). 2. Follow [Add and arrange content](https://docs.amadalis.ai/composer/composer/#add-and-arrange-content) to add a **Form** section. 3. In **Settings**, select the saved form by name in its **Form** picker. 4. Choose **Apply changes**. 5. Choose **Preview draft** on a published page, or **Open preview** on a draft. 6. Follow [Review and publish](https://docs.amadalis.ai/composer/composer/#review-and-publish) to publish it through the page’s [approval card](https://docs.amadalis.ai/reference/glossary/#approval-card). [![Form section settings with the Form picker open, listing contact, Docs Walk Form and shipping-returns-contact.](https://docs.amadalis.ai/images/steps/S023-forms-form-picker-in-composer.png)](https://docs.amadalis.ai/images/steps/S023-forms-form-picker-in-composer.png "Open full-size image") A Form section picks one of the site's forms. [![Composer selects Docs Walk Form and displays Your name, Your email and How can we help?; the page has unpublished changes.](https://docs.amadalis.ai/images/steps/S023-forms-section-bound-to-docs-walk-form.png)](https://docs.amadalis.ai/images/steps/S023-forms-section-bound-to-docs-walk-form.png "Open full-size image") The page draws the chosen form's own fields. [![The published page showing Docs Walk Form with Your name, Your email, How can we help? and Send.](https://docs.amadalis.ai/images/steps/S023-forms-public-form-1440.png)](https://docs.amadalis.ai/images/steps/S023-forms-public-form-1440.png "Open full-size image") The form on the live page. Visitors can enter their name, email and message, then use the Send button. [![Published Docs Walk Form at phone width with Your name, Your email, How can we help? and Send.](https://docs.amadalis.ai/images/steps/S023-forms-public-form-390.png)](https://docs.amadalis.ai/images/steps/S023-forms-public-form-390.png "Open full-size image") On a phone. The same fields and Send button fit in one column at phone width. The form editor’s **Placements** section helps you find where the form is used. [![Composer on Docs Walk P4 Form Page B, a draft at /docs-walk-p4-form-page-b, with its Form section selected and the Form picker open: Docs Walk P4 Shared form highlighted, Docs Walk Form marked Archived, contact (the current choice) and shipping-returns-contact.](https://docs.amadalis.ai/images/steps/S023-forms-second-page-form-picker.png)](https://docs.amadalis.ai/images/steps/S023-forms-second-page-form-picker.png "Open full-size image") On a second page, pick the same saved form. [![The same draft with its Form section now named Docs Walk P4 Shared form and drawing that form's title, its one field Docs walk question, and Send.](https://docs.amadalis.ai/images/steps/S023-forms-second-page-shared-form-preview.png)](https://docs.amadalis.ai/images/steps/S023-forms-second-page-shared-form-preview.png "Open full-size image") The second page draws the same shared form. [![Docs Walk P4 Shared form in the form builder with its one field, and Placements listing two drafts, Docs Walk P4 Form Page A and Docs Walk P4 Form Page B, with their addresses and Open in editor, and the line Saving applies to these live placements immediately.](https://docs.amadalis.ai/images/steps/S023-forms-shared-form-placements.png)](https://docs.amadalis.ai/images/steps/S023-forms-shared-form-placements.png "Open full-size image") Placements lists every page that uses the form. On a site that was not migrated, native forms can adjust field borders and keyboard focus marks for contrast using the theme’s form colours. An author’s painted borders, fills and overlays keep their own styling. Review the real page in each colour mode. The separate help-text and notice adjustments on sites that were not migrated still have their own scope. ## Send your first test reply Before submitting, review [spam protection](https://docs.amadalis.ai/site/forms-and-replies/#review-spam-protection) and [notification recipients](https://docs.amadalis.ai/site/forms-and-replies/#set-notification-recipients). A received submission can send email to those saved recipients. On a [site marked as a demo](https://docs.amadalis.ai/content/dashboard/#read-a-demo-site-notice), public test replies are refused. Sign in as a team member of that site to test its form. 1. Open the published page. In the Composer, choose **View page**. 2. Fill in the required fields with your own test answers. 3. Choose the form’s submit button. Its words are the **Submit button label** you saved. 4. Read the success or error message. Correct any validation error before trying again. Then return to the admin and [read the reply](https://docs.amadalis.ai/site/forms-and-replies/#read-replies). Check its status in the inbox; a success message alone does not show you whether spam protection marked it as received, spam or unverified. ## Read replies 1. Return to **Site** > **Forms** in the admin. 2. Open **Submissions**. 3. Choose a form. 4. Use the status filter to inspect **Received**, **Spam** or **Unverified** entries. 5. Open a row to read its submitted fields. [![Forms, Submissions: five received replies, form and status filters, and received rows; name hidden.](https://docs.amadalis.ai/images/steps/S024-forms-submissions-inbox-identities-barred.png)](https://docs.amadalis.ai/images/steps/S024-forms-submissions-inbox-identities-barred.png "Open full-size image") The inbox shows received replies and their status; name hidden. [![Forms, Submissions: a received reply is expanded with its message, Raw JSON and Delete submission; name hidden.](https://docs.amadalis.ai/images/steps/S024-forms-opened-submission-identities-barred.png)](https://docs.amadalis.ai/images/steps/S024-forms-opened-submission-identities-barred.png "Open full-size image") Expand a reply to read its message; name hidden. An entry being stored is separate from an email being sent. Check the inbox when you need to know whether a reply arrived. Spam entries are deleted automatically after 30 days. **Delete submission** erases an entry permanently once you confirm it, and it cannot be undone. The inbox also offers export actions for its selected scope. Access to submissions depends on your permissions. ## Export form replies Use an Admin account with permission to read submissions. The copilot can prepare a CSV download without putting visitors’ submitted answers into the conversation. 1. Open **Copilot**. 2. Ask “Prepare a CSV download of replies to \[form name\]”. Name a status if you want only received, spam or unverified entries. 3. Choose **Send**. The answer gives a download address, the chosen scope and a limit of 1,000 entries. 4. Open that address while signed in to the same site. The server checks your access again before downloading the file. The file contains the newest 1,000 matching entries at most. It is not a complete export when more entries match. Preparing or opening this download does not erase replies and has no Undo. Once downloaded, the file is outside the site’s access controls; keep it somewhere appropriate for its contents. See [Export a form’s submissions](https://docs.amadalis.ai/reference/copilot/forms-and-comments/#forms-and-replies). ## Archive a form without losing replies Use **Archive** when a saved form should stop accepting replies. Archiving does not erase existing replies. The form keeps its placements, so archiving does not remove its section from a page. 1. Open **Site** > **Forms**, then the **Forms** tab. The list includes archived forms. 2. Open the form by its name. Its editor opens. 3. Choose **Archive**. The card asks **Archive this form?** and names the effect on its placements. 4. Choose **Archive form** to confirm. The editor marks the form **archived**; new submissions are refused. Use the receipt’s **Undo** to reverse that archive. To reopen it later, open the archived form and choose **Unarchive**. It can accept submissions at its existing placements again, subject to the site’s usual checks. Unarchive runs without another approval card and has its own receipt Undo. You can also ask the copilot to “Archive \[form name\]” or “Restore the archived form \[form name\]”. [Forms and replies](https://docs.amadalis.ai/reference/copilot/forms-and-comments/#forms-and-replies) records each request’s approval and Undo. ## Delete a form definition Editors and Admins can delete a form’s definition. Prefer **Archive** above if you only want to stop replies. Deleting the definition stops submissions from pages that still carry it; stored replies and their notification records remain. A form that unlocks a PDF must first have that gate removed through a separately approved form update. Deleting the definition does not erase personal data in its replies. For that, use the permanent **Delete submission** action described under [Read replies](https://docs.amadalis.ai/site/forms-and-replies/#read-replies). ### Use the form editor 1. Open the saved form from the **Forms** tab in **Site** > **Forms**. 2. Choose **Delete** in the form editor. 3. Read **Delete this form?**, including its placements. 4. Choose **Delete form** if those placements should stop accepting replies. 5. Read the confirmation that the definition was deleted. Its **Undo** button restores the definition. ### Ask the copilot 1. Ask the copilot: “Delete the definition of \[form name\], keeping its stored replies.” 2. Read **Delete this form?** and the named placements. 3. Choose **Delete form** only if those placements should stop accepting replies. 4. Read the receipt. Its **Undo** restores the full definition. See [Delete a form definition](https://docs.amadalis.ai/reference/copilot/forms-and-comments/#forms-and-replies). ## Set notification recipients 1. In the form editor, open **Notifications**. 2. Choose **Add notification**. 3. Add recipient email addresses, or select **Site admin**. 4. If you selected **Site admin**, check the actual recipient address shown beside it. 5. Edit **Subject template**. 6. Edit **Body template**. The available field tokens are placeholders that insert the submitted answers. Leaving the body empty uses the submitted fields. 7. [Save the form](https://docs.amadalis.ai/site/forms-and-replies/#create-a-form). 8. Choose **Send test**. 9. Review the saved recipients. The test uses the saved notification and its saved recipients. The email actions now prepare a recorded confirmation before sending. Read the card’s saved recipients and scope; cancelling leaves the proposed action unapplied. 10. Choose **Confirm: send test email** only when you want to send that test. If no notifications are configured, submissions can still appear in the inbox without anyone being emailed. ## Check delivery Use **Delivery** in the **Submissions** tab to see the current sending state and recent notification records. A hosted site can use its connected sender or the platform’s email delivery service. If no sending path is available, the workspace says so. 1. Choose **Dispatch queued now**. 2. Review the confirmation before sending. Confirming sends the site’s queued notifications to their real recipients, and sent email cannot be recalled. The displayed count covers the selected form, but the send covers the site’s queue. 3. Confirm only if you intend to send the site’s whole queue. **Limits.** If no sender is available, nothing is sent and the queue stays as it was. If delivery remains unavailable, contact [support](mailto:support@amadalis.ai) and include the visible delivery message. Only received entries queue notifications. Spam and unverified entries send no email. ## Review spam protection Use the workspace’s **Settings** tab for **Spam protection**. Review the challenge provider, the service used to check whether a submission comes from a person, and what happens when verification fails. A saved form can also use its own spam protection choice. [![Spam protection settings: counts at zero, Challenge provider None, When verification fails Accept and flag for review, Honeypot trap on, Minimum fill time 3, Save protection settings.](https://docs.amadalis.ai/images/steps/S027-forms-spam-protection-settings.png)](https://docs.amadalis.ai/images/steps/S027-forms-spam-protection-settings.png "Open full-size image") The site's spam protection settings. The pictured settings use no challenge provider and accept failed verification for review, which you should check before using the form. ### Choose protection for one saved form Save the form before choosing its own screening setting. This choice is available in an existing form’s editor, not while creating it. 1. Open the saved form from **Site** > **Forms**. 2. Open **Build**. In **Form settings**, find **Spam protection**. 3. Choose **Site setting**, **Always protect** or **Off for this form**. 4. Choose **Save changes**. Read the approval card’s changes. 5. Confirm **Update form** only if the screening choice is the one you intend. The receipt confirms the saved update. **Site setting** follows the site’s configured protection. **Always protect** currently uses that same configured protection; it does not add a missing challenge provider. **Off for this form** skips all spam screening for this form. Required fields and the other submission checks still apply. Use the receipt’s **Undo** to restore the previous form definition. You can also choose the previous setting and save again. The copilot can make the same approved update: “Set spam protection for \[form name\] to \[choice\].” See [Update a form definition](https://docs.amadalis.ai/reference/copilot/forms-and-comments/#forms-and-replies). Check these settings before relying on the form for real enquiries. After reviewing them, return to [Send your first test reply](https://docs.amadalis.ai/site/forms-and-replies/#send-your-first-test-reply), then check the notification’s delivery result and the receiving inbox. Source: https://docs.amadalis.ai/site/ # What you can do in Site Checked against the product’s code on 7 November 2026. Set up the site, its navigation, design libraries, forms and search titles and descriptions. In the site admin, open **Site**. Choose the workspace for the task, such as **Site setup**, **Navigation**, **Forms** or **SEO**. Use the guide for the required role, setup and current limits. ## Start with a task Choose the result you want. Each guide explains where to begin, what to review and how to check the result. - [Set up the site](https://docs.amadalis.ai/site/site-setup/) - [Change header and footer links](https://docs.amadalis.ai/site/menus/) - [Change search titles and descriptions](https://docs.amadalis.ai/site/seo/) - [Change a page address or parent](https://docs.amadalis.ai/site/page-addresses/) ## Capabilities and screens | Capability | What you can do | Read next | | --- | --- | --- | | Pages and posts | Create content and publish each page separately. | [Pages, posts and media](https://docs.amadalis.ai/content/pages-posts-and-media/) | | Templates and AI copy | Provide business facts and review the template page drafts. | [Set up a site from a template: Choose a template and its copy](https://docs.amadalis.ai/site/site-setup/#choose-a-template-and-its-copy) | | Setup result and live settings | Review draft pages separately from live name, menu, header and theme changes. | [Set up a site from a template: Review and publish the result](https://docs.amadalis.ai/site/site-setup/#review-and-publish-the-result) | | Add pages and undo setup | Add drafts beside existing content and read which parts of setup can be undone. | [Set up a site from a template: Undo a setup](https://docs.amadalis.ai/site/site-setup/#undo-a-setup) | | Front page and header button | Review the page shown at the site’s main address and the shared header button destination. | [Set up a site from a template: Choose the front page and header button](https://docs.amadalis.ai/site/site-setup/#choose-the-front-page-and-header-button) | | Navigation | Build, preview and publish header or footer menus. | [Change a menu in your header or footer](https://docs.amadalis.ai/site/menus/) | | Catalogs | Browse page types, section types and themes. | [Catalogs and page types](https://docs.amadalis.ai/site/catalogs-and-page-types/) | | Page types and recipes | Review a page type’s starting content, allowed sections and setup questions. | [Catalogs and page types](https://docs.amadalis.ai/site/catalogs-and-page-types/) | | Sections library | Inspect section, element, preset and pattern definitions. | [Browse the sections library](https://docs.amadalis.ai/site/sections-library/) | | Themes and Theme Studio | Edit tokens and review changes to an active theme. | [Change site colours, fonts and themes](https://docs.amadalis.ai/composer/themes-and-tokens/) | | Taxonomies | Set up content groupings, values and their catalog role. | [Taxonomies, categories and tags](https://docs.amadalis.ai/site/taxonomies/) | | SEO issues and page metadata | Review search titles and descriptions, then approve search visibility separately. | [SEO: search titles and descriptions](https://docs.amadalis.ai/site/seo/) | | SEO defaults and machine files | Read site defaults, crawler instructions and the public files that describe the site. | [SEO: search titles and descriptions: Review defaults and crawler files](https://docs.amadalis.ai/site/seo/#review-defaults-and-crawler-files) | | Forms and placements | Create a form and place its shared definition on a page. | [Forms and replies: Create a form](https://docs.amadalis.ai/site/forms-and-replies/#create-a-form) | | Submissions and delivery | Read the inbox, saved recipients and actual notification outcomes. | [Forms and replies: Read replies](https://docs.amadalis.ai/site/forms-and-replies/#read-replies) | | Spam protection | Review spam checks and what happens when verification fails. | [Forms and replies: Review spam protection](https://docs.amadalis.ai/site/forms-and-replies/#review-spam-protection) | | Readiness and crawler policy | Read the home-page scan and review crawler policy changes separately. | [Check site readiness](https://docs.amadalis.ai/site/readiness/) | | Redirects and the 404 log | Manage old paths and inspect missing-address requests. | [Redirects and the 404 log](https://docs.amadalis.ai/site/redirects-and-404s/) | | Publication calendar | Inspect scheduled content and publishing attention in EmDash’s Calendar. | [Use the content calendar](https://docs.amadalis.ai/content/calendar/) | | Content types and relations | Read how content fields and relationships differ from page type starters. | [Content types and relations](https://docs.amadalis.ai/content/content-types/) | | Shared header, menus and footer | Review the header link and style, menu descriptions and footer columns. | [Layout styles: Style the site’s shared parts](https://docs.amadalis.ai/composer/layout-styles/#style-the-sites-shared-parts) | | Change a page address or parent | prepare a native hierarchy change in the draft. | [Change a page address or parent](https://docs.amadalis.ai/site/page-addresses/) | ## More in this area These guides cover the other tasks and settings in this area. - [Catalogs and page types](https://docs.amadalis.ai/site/catalogs-and-page-types/): Choose the recipes available for new pages and the copilot. - [Browse the sections library](https://docs.amadalis.ai/site/sections-library/): Inspect sections, presets, patterns, page templates and elements before adding them. - [Taxonomies, categories and tags](https://docs.amadalis.ai/site/taxonomies/): Create a grouping, manage its values and understand its catalog role. ## Your next step For a new site, begin with [set up the site](https://docs.amadalis.ai/site/site-setup/). For an existing site, choose the navigation, forms or SEO task above and review that change’s publication timing. Source: https://docs.amadalis.ai/site/menus/ # Change a menu in your header or footer Checked against the product’s code on 7 November 2026. Learn how to change a [menu](https://docs.amadalis.ai/reference/glossary/#menu). Open **Site** > **Navigation** in the site admin. Choose the menu, edit its links and decide where it appears in the top navigation or footer. Review and publish the whole menu change together. EmDash also provides its own **Menus** screen. Both work with the site’s menus. [![EmDash Menus screen showing the Primary menu entry.](https://docs.amadalis.ai/images/owners/menu-manage-menus.png)](https://docs.amadalis.ai/images/owners/menu-manage-menus.png) EmDash’s own Menus list. The Site Navigation workflow below builds and publishes a menu. [Open full size](https://docs.amadalis.ai/images/owners/menu-manage-menus.png). ## Start or choose a menu 1. Open **Site**. 2. Open **Navigation**. 3. Choose an existing menu from the selector, or choose **New menu**. 4. For a new menu, fill in **What to call it**. 5. For a new menu, check **Its stable name**. The stable name identifies this menu independently of its display name. 6. For a new menu, choose **Start building**. [![Start a new menu dialog with What to call it Docs Walk Menu and its stable name docs\_walk\_menu.](https://docs.amadalis.ai/images/steps/S057-menus-new-menu-name-and-stable-name.png)](https://docs.amadalis.ai/images/steps/S057-menus-new-menu-name-and-stable-name.png "Open full-size image") Name a new menu; its stable name follows. Starting a menu does not publish it. You build its links and choose its locations before approving the live change. [![Navigation with Docs Walk Menu (new), Not on your site yet, Unpublished changes, and no links yet.](https://docs.amadalis.ai/images/steps/S057-menus-new-menu-created-draft.png)](https://docs.amadalis.ai/images/steps/S057-menus-new-menu-created-draft.png "Open full-size image") The menu is built here before anything is published. ## Add and arrange links To add content from this site, use **Add a page or post** to search for it. You can also add a category or tag. For a custom link, including another website: 1. Enter its words in the custom link row. 2. Enter its address. 3. Choose **Add**. [![Navigation with the new Docs Walk P4 Menu, Not on your site yet: Add a page or post holds the typed title Docs Walk First Page and shows one matching result, Docs Walk First Page, marked DRAFT, at /docs-walk-first-page/.](https://docs.amadalis.ai/images/steps/S058-menus-page-search-filtered-result.png)](https://docs.amadalis.ai/images/steps/S058-menus-page-search-filtered-result.png "Open full-size image") Search a page by its title and pick the match. [![The same unpublished menu now holding one link, Docs Walk First Page, marked PAGE and DRAFT, at /docs-walk-first-page/, with All links selected and no location ticked.](https://docs.amadalis.ai/images/steps/S058-menus-page-result-inserted-in-draft.png)](https://docs.amadalis.ai/images/steps/S058-menus-page-result-inserted-in-draft.png "Open full-size image") The chosen page joins the draft menu. Click a link’s label to rename it. Drag a link to change its position or nest it under another. The builder supports three levels. You can also move links with the keyboard: pick one up with Space or Enter, move it with the arrow keys, then drop it with Space or Enter. Escape cancels a drag. [![Three links: Docs walk start (renamed, page), Care Guide nested under it, Shipping help (own link to /shipping-and-returns).](https://docs.amadalis.ai/images/steps/S058-menus-links-renamed-and-nested.png)](https://docs.amadalis.ai/images/steps/S058-menus-links-renamed-and-nested.png "Open full-size image") Add pages or your own links, rename a label and nest a link. A link to a [draft](https://docs.amadalis.ai/reference/glossary/#draft) is marked in the builder. **Published only** changes the list you are looking at; it does not publish those draft destinations. Check every destination before publishing the menu. [![Docs Walk Menu (new), Not on your site yet: one link Docs Walk First Page marked PAGE and DRAFT, with All links selected; the preview shows the store's header and hero text.](https://docs.amadalis.ai/images/steps/S058-menus-draft-destination-mark.png)](https://docs.amadalis.ai/images/steps/S058-menus-draft-destination-mark.png "Open full-size image") A link to a draft page is marked Draft. [![The same menu with Published only selected: 1 link pointing at drafts is hidden, nothing moved, and All links brings it back.](https://docs.amadalis.ai/images/steps/S058-menus-published-only-hides-draft-link.png)](https://docs.amadalis.ai/images/steps/S058-menus-published-only-hides-draft-link.png "Open full-size image") Published only shows what a visitor can follow. ## Choose where it appears Under **Where this menu appears**, choose **Header**, **Secondary header** or **Footer** from the locations offered by this site. Read the note if a location already shows another menu. Publishing can replace that menu’s placement. A location already assigned to this menu may stay checked. To replace it, place another menu in that location. Review the site header preview at desktop and phone widths. Check the link labels, order and nesting. On library themes, header menu text can adjust to its background in light and dark, including the current page’s link, links under the pointer and keyboard focus in an open submenu. The open editorial menu uses the same contrast check. Colors that already meet the contrast check stay. Migrated pages keep their earlier rendering. Check the public menu in both modes, especially after adding custom CSS. [![Header ticked and the desktop preview's header showing Docs walk start with a drop-down and Shipping help.](https://docs.amadalis.ai/images/steps/S059-menus-header-placement-desktop-preview.png)](https://docs.amadalis.ai/images/steps/S059-menus-header-placement-desktop-preview.png "Open full-size image") Choose where it appears and check the preview. [![Navigation with Mobile preview selected; the header shows Docs walk start with a dropdown arrow and Shipping help.](https://docs.amadalis.ai/images/steps/S059-menus-mobile-preview.png)](https://docs.amadalis.ai/images/steps/S059-menus-mobile-preview.png "Open full-size image") The phone preview. With Mobile selected, the preview shows Docs walk start as a dropdown while Care Guide is nested beneath it in the editor. ## Publish and undo 1. Choose **Publish**. 2. Read **Publish this menu to your site?** The card names the links and placements that will change. [![Approval required: Publish this menu to your site? Create Docs Walk Menu with 3 links, show it in the header; undo puts your navigation back. With Publish and Keep editing.](https://docs.amadalis.ai/images/steps/S060-menus-publish-card.png)](https://docs.amadalis.ai/images/steps/S060-menus-publish-card.png "Open full-size image") The card says exactly what will change. 3. Choose **Publish** to apply the menu, or **Keep editing** to return to the draft. The menu change is saved when you approve it. Visitors see the change within the hour, usually much sooner. While the site’s server is down, visitors may see the previous version of a page for up to a day. Its [receipt](https://docs.amadalis.ai/reference/glossary/#receipt) offers **Undo** to reverse that published menu change. [![Navigation marks Docs Walk Menu Live on your site; its receipt names three links in the header, one nested, with Undo and Done.](https://docs.amadalis.ai/images/steps/S060-menus-published-receipt-with-undo.png)](https://docs.amadalis.ai/images/steps/S060-menus-published-receipt-with-undo.png "Open full-size image") Published, with Undo. [![The public page's header showing Docs walk start and Shipping help.](https://docs.amadalis.ai/images/steps/S060-menus-public-header-1440.png)](https://docs.amadalis.ai/images/steps/S060-menus-public-header-1440.png "Open full-size image") The new menu in the live header. [![Navigation after Undo: the preview header shows Home, Products, Care, Shipping, Shop again.](https://docs.amadalis.ai/images/steps/S060-menus-after-undo-primary-restored.png)](https://docs.amadalis.ai/images/steps/S060-menus-after-undo-primary-restored.png "Open full-size image") Undo puts the earlier menu back. Publishing a menu does not publish the pages or posts it links to. Use [the Composer](https://docs.amadalis.ai/composer/composer/) for those publications. Source: https://docs.amadalis.ai/site/page-addresses/ # Change a page address or parent Use **Copilot** in the site admin when a native page belongs below another page or needs a different address (URL). An Editor or Admin can prepare the change. The parent page is the page it sits below. That parent and the page’s own address segment determine its place in the hierarchy. Checked against the product’s code on 7 November 2026. ## Prepare the move 1. Open **Copilot** in the site admin. The conversation is ready for your request. 2. Ask “Show \[page title\] and its current parent and address”. The copilot reads the saved page before preparing a change. 3. Check that it found the right page. Use the returned page rather than another entry with a similar title. 4. Ask “Move that page below \[parent page title\], using \[address segment\] for its own part of the address. Change nothing else.” To make it a top level page, ask for no parent instead. 5. Choose **Send**. The result names the prepared path and saves the move in the draft. 6. Open the returned draft preview. Check the proposed path and the unchanged content. Use the real page names and one nonempty address segment in place of the brackets. The parent must be a real native page. A hierarchy move is one separate edit; ask for text or section changes afterwards. [![Copilot confirms the draft page's prepared path and offers its Undo.](https://docs.amadalis.ai/images/steps/2026-11-05-coverage-and-stale/COV1-08-hierarchy-draft-edit-1440.png)](https://docs.amadalis.ai/images/steps/2026-11-05-coverage-and-stale/COV1-08-hierarchy-draft-edit-1440.png "Open full-size image") The hierarchy edit prepares the page path in the draft. ## Review and publish Saving this change does not change the published page’s address. The hierarchy edit also leaves the stored content slug and the page’s content alone. 1. Follow [Review and publish](https://docs.amadalis.ai/composer/composer/#review-and-publish). Review the destination before putting the change on the public site. 2. Check links to the page. Use [Redirects and 404s](https://docs.amadalis.ai/site/redirects-and-404s/) when an old address needs to lead visitors to its replacement. Publication is refused if the native public route cannot be resolved. If the page changed after the copilot read it, read it again before retrying the move. ## Undo the draft move Use the edit receipt’s **Undo** while it remains eligible to restore the covered draft state. Later changes can prevent that reversal. Do not treat draft Undo as a promise to reverse a later publish. The workflow above uses the page edit request. See [Pages](https://docs.amadalis.ai/reference/copilot/pages-and-sections/#pages) for its approval and Undo boundaries. ## Your next step After publication, review [Menus](https://docs.amadalis.ai/site/menus/) so your navigation uses the intended address. Use [Redirects and 404s](https://docs.amadalis.ai/site/redirects-and-404s/) when an old address needs to lead to its replacement. Source: https://docs.amadalis.ai/site/readiness/ # Check site readiness Checked against the product’s code on 7 November 2026. Before launching your site, open **Site** > **Readiness** to see **Readiness report**. It combines a scan of the public home page with the site’s current bot and agent access policy. The scan reads the site’s public home page at its main address. Publish the intended home page and choose the correct [front page](https://docs.amadalis.ai/site/site-setup/#choose-the-front-page-and-header-button) before using the report to assess that content. Other pages need their own review. ## Read the report 1. Choose **Rescan** to request a fresh reading. 2. Read the score and status. 3. Read the checks beneath them. For each row, read **Status**, **Check** and **Detail** together. 4. Review any scan warnings. [![Readiness report after Rescan: 68/100 (at-risk), scanned https://demo-store.sites.amadalis.ai/, ten checks with Pass, Fail or Warn.](https://docs.amadalis.ai/images/steps/S091-readiness-demo-root-after-rescan.png)](https://docs.amadalis.ai/images/steps/S091-readiness-demo-root-after-rescan.png "Open full-size image") A fresh scan of the served root. The demo store’s home address scores 68 out of 100 in this picture, and the Pass, Fail and Warn rows show the checks behind that score. 5. Correct the named content or configuration in its owning screen. 6. Return to **Readiness**. 7. Choose **Rescan**. The score is out of 100 and combines the checks beneath it. Read each **Detail** to see what passed, failed or needs attention. A higher score describes this scan; review the individual findings before deciding what to change. Rescan reads the site; it does not make the proposed fixes. Use [SEO](https://docs.amadalis.ai/site/seo/) for search metadata, [the Composer](https://docs.amadalis.ai/composer/composer/) for page content and [redirects](https://docs.amadalis.ai/site/redirects-and-404s/) for old addresses. The report can refresh after a copilot change that affects the served site. If it says that refresh failed, use **Show the latest** or **Rescan** before relying on the old report. [![Readiness report for the company site root with Rescan and checks marked Pass, Fail or Warn.](https://docs.amadalis.ai/images/owners/platform-site-seo-and-ai-readiness-show-readiness-report.png)](https://docs.amadalis.ai/images/owners/platform-site-seo-and-ai-readiness-show-readiness-report.png) Read Pass, Fail or Warn beside each check, then read its Detail. The score and findings belong to this scan of the public home page. [Open full size](https://docs.amadalis.ai/images/owners/platform-site-seo-and-ai-readiness-show-readiness-report.png). ## Review crawler and agent access **[Bot & agent access policy](https://docs.amadalis.ai/reference/glossary/#bot--agent-access-policy)** shows the applied policy, its last application when recorded, the current `robots.txt` text and any site-wide indexing header. An approved policy changes the live crawler instructions and headers. Its Undo restores the prior policy. 1. Describe the access you want to the copilot. 2. Read **Apply this bot-access policy?**. 3. Choose **Apply bot policy** to approve or **Keep the current policy** to decline. A crawler instruction does not provide access control for private content. Protected content also needs the site’s access controls. See [the machine-readable site guide](https://docs.amadalis.ai/developers/machine-readable-site/) for the published files and their roles. Source: https://docs.amadalis.ai/site/redirects-and-404s/ # Redirects and the 404 log Checked against the product’s code on 7 November 2026. A site Editor or Admin can read **Manage** > **Redirects** in the admin sidebar. Changing a redirect needs an Admin. Use it to send an old address to its replacement and review requests for missing pages. **Redirects** is EmDash’s own screen for redirect rules and the site’s 404 log. A [redirect](https://docs.amadalis.ai/reference/glossary/#redirect) sends a request for an old path to another destination. A 404 means the requested page was not found. ## Send an old path to a new one 1. Open **Redirects** in the admin sidebar. 2. Choose **New Redirect**. 3. Enter the old address in **Source path**, such as `/old-contact/`. 4. Enter the replacement in **Destination path**, such as `/contact/`. 5. Choose **301 Permanent** for a permanent move, or **302 Temporary** for a temporary one, in **Status code**. 6. Check **Enabled**. Leave it off if you want to save the rule without redirecting visitors yet. [![New Redirect with source /docs-walk-old, destination /docs-walk-first-page and the status code list (301, 302, 307, 308, 410, 451).](https://docs.amadalis.ai/images/steps/S061-redirects-status-code-choices.png)](https://docs.amadalis.ai/images/steps/S061-redirects-status-code-choices.png "Open full-size image") Choose the kind of redirect. [![New Redirect sends /docs-walk-old to /docs-walk-first-page with 302 Temporary selected and Enabled on, ready to Create.](https://docs.amadalis.ai/images/steps/S061-redirects-new-redirect-302-enabled.png)](https://docs.amadalis.ai/images/steps/S061-redirects-new-redirect-302-enabled.png "Open full-size image") A temporary redirect, enabled. 7. Choose **Create**. [![New Redirect for /docs-walk-gone with 410 Content Deleted (Gone).](https://docs.amadalis.ai/images/steps/S061-redirects-new-410-rule.png)](https://docs.amadalis.ai/images/steps/S061-redirects-new-410-rule.png "Open full-size image") A Gone rule needs no destination. An enabled rule is saved now. Visitors see the change within the hour, usually much sooner. While the site’s server is down, visitors may see the previous version of a page for up to a day. Check the old address and its final destination after the change. Redirect loops are reported on the screen; correct a loop before relying on the rule. [![Redirects list: /docs-walk-gone 410 and /docs-walk-old to /docs-walk-first-page 302, both enabled.](https://docs.amadalis.ai/images/steps/S061-redirects-list-302-and-410.png)](https://docs.amadalis.ai/images/steps/S061-redirects-list-302-and-410.png "Open full-size image") Both rules, each with its own switch. To change an existing rule: 1. Open **Manage** > **Redirects**. 2. Choose the pencil icon at the right of its row, labelled **Edit redirect**. 3. Change the intended field. 4. Choose **Save**. 5. Check the old address and its final destination. The enabled switch can turn a rule off. Deleting a rule asks **Delete Redirect?** and permanently removes that rule. ## Use the 404 log 1. Open the **404 Errors** tab. 2. Read each missing **Path**, its **Hits** and **Last seen** date. 3. If a replacement page exists, choose the paired arrows icon at the right of that row, labelled **Create redirect for this path**. It opens the new rule form with the missing path filled in. 4. Fill in **Destination path**. 5. Choose the intended **Status code**. 6. Choose **Create**. A missing path is evidence of a request, not proof that a page should exist. Check the address before choosing its replacement. The row’s **410** control is different: it creates an enabled rule immediately, without a confirmation card. It says the content is deliberately gone and sends no destination. Use it only when that is the intended result. You can later disable or remove the rule from **Redirects**. ## Ask the copilot You can ask the copilot to create, change or delete a redirect. That route shows an approval card before changing where visitors are sent. Its cards are **Create this redirect?**, **Change this redirect?** and **Delete this redirect?** Review the old path, destination and effect before approving. When the destination can be read, the card also says whether it is published, still a draft, redirected again or empty. If that cannot be settled, it makes no claim about the destination. [![Copilot card: Create this redirect? /docs-walk-older to /docs-walk-first-page, 302, with Create redirect and Keep routing unchanged.](https://docs.amadalis.ai/images/steps/S063-redirects-copilot-redirect-card.png)](https://docs.amadalis.ai/images/steps/S063-redirects-copilot-redirect-card.png "Open full-size image") The copilot proposes the rule first. [![Copilot reply after Keep routing unchanged: the redirect was not approved, nothing changed.](https://docs.amadalis.ai/images/steps/S063-redirects-copilot-declined.png)](https://docs.amadalis.ai/images/steps/S063-redirects-copilot-declined.png "Open full-size image") Declining changes nothing. [![Receipt: /docs-walk-older now redirects to /docs-walk-first-page (302), LIVE, with Undo.](https://docs.amadalis.ai/images/steps/S063-redirects-copilot-receipt-with-undo.png)](https://docs.amadalis.ai/images/steps/S063-redirects-copilot-receipt-with-undo.png "Open full-size image") Approved, with Undo. The direct EmDash screen follows its own save and delete controls. Do not expect the copilot’s approval card to appear after **Create** on that screen. ## Your next step Open the old address and check that it reaches the intended page. Review [Menus](https://docs.amadalis.ai/site/menus/) so the site’s own links use the current address. Source: https://docs.amadalis.ai/site/sections-library/ # Browse the sections library Checked against the product’s code on 7 November 2026. Open **Site** > **Catalogs** > **Sections** to browse the design library. This view explains the catalog. Add an item to a particular page from [the Composer](https://docs.amadalis.ai/composer/composer/). ## Choose the kind of item | Kind | What it describes | | --- | --- | | **[Sections](https://docs.amadalis.ai/reference/glossary/#section)** | Larger parts of a page with their own fields. | | **[Pre-filled](https://docs.amadalis.ai/reference/glossary/#preset)** | A section with starting values already supplied. | | **[Patterns](https://docs.amadalis.ai/reference/glossary/#pattern)** | Ready made arrangements of several sections that are added together. | | **[Page templates](https://docs.amadalis.ai/reference/glossary/#page-template)** | A complete arrangement of sections added together, with designed settings and words for you to finish. | | **[Elements](https://docs.amadalis.ai/reference/glossary/#element)** | Smaller pieces placed inside a layout. | 1. Choose the kind of item you want to inspect. 2. Search within that kind. 3. Open an item. 4. Where a preview is offered, use **Light** or **Dark** to inspect it. Some items have no preview yet. A preview shows sample content, not a page you have edited. ## Read the details A section’s details include its fields, relevant starting versions, **Used by** and **Personalization** information. Pattern details explain **What lands** when inserted. Some versions are used within patterns instead of being offered as standalone choices. Nothing in the library can be created, edited or deleted here. Insert an item from the Composer’s **\+ Add section** chooser. Its list can include items known to the site that a particular Composer insert menu does not offer. Page type rules and the item’s intended placement still apply. Use [the section field reference](https://docs.amadalis.ai/reference/sections/) for the declared fields and choices. Use [reusable sections](https://docs.amadalis.ai/content/reusable-sections/) for saved content entries rather than type definitions. Source: https://docs.amadalis.ai/site/seo/ # SEO: search titles and descriptions Checked against the product’s code on 7 November 2026. [SEO](https://docs.amadalis.ai/reference/glossary/#seo) means search engine optimization. This guide shows how to change a page’s title and description supplied to search services such as Google. Open **Site**, then **SEO**. Use **Issues & content** to work on individual pages and **Site defaults & robots** for shared settings and crawler files. ## Start with an issue **What needs attention** groups findings such as missing descriptions, hidden pages and canonical addresses pointing to another host. Select a finding to inspect the affected pages, or use **All pages** to find a page directly. [![SEO Issues lists three issue groups; the Docs Walk search shows a page missing its SEO title, description and social fields.](https://docs.amadalis.ai/images/steps/S028-seo-issues-and-fixture-page.png)](https://docs.amadalis.ai/images/steps/S028-seo-issues-and-fixture-page.png "Open full-size image") Start from an issue and find the page in the list. Open a page’s SEO panel. It shows a search result preview and these fields: | Field | What to review | | --- | --- | | **SEO title** | The title supplied for search metadata. An empty value uses the site’s title fallback. | | **Meta description** | The page description. An empty value can use the site default. | | **Canonical URL** | The preferred address for the content. An empty value uses the page’s own address. | | **SEO image URL** | The image used by the page’s SEO metadata. An empty value uses the site’s default social image, if one is set. | | **Robots meta (this page)** | Page level crawler directives. | | **Social sharing fields (og / twitter)** | The titles, descriptions and images supplied for sharing. | A canonical address on another host is highlighted. Keep it only if that destination is intentional. ## Preview and apply a change An applied SEO change is saved now. Visitors see the change within the hour, usually much sooner. While the site’s server is down, visitors may see the previous version of a page for up to a day. It does not wait for the page’s next publish, even when the page body has unpublished changes. Undo restores the previous values. 1. Edit the fields. 2. Choose **Preview & save changes**. 3. Review the comparison. 4. Read the approval card’s consequence in **Apply this SEO change?**. 5. Choose **Apply SEO change** to confirm or **Keep current metadata** to leave the page as it is. [![Fix the meta description dialog with an editable AI draft, Apply this SEO change? and What will happen, with Apply SEO change, Try again and Skip.](https://docs.amadalis.ai/images/steps/S029-seo-ai-description-card.png)](https://docs.amadalis.ai/images/steps/S029-seo-ai-description-card.png "Open full-size image") The AI draft is grounded in the page's own content and shown before it is applied. 6. Read the receipt. 7. Use **Undo** if you need to reverse the applied change and it is still available. [![Applied — live in the served head, with Undo and View this page's SEO.](https://docs.amadalis.ai/images/steps/S029-seo-applied-receipt-with-undo.png)](https://docs.amadalis.ai/images/steps/S029-seo-applied-receipt-with-undo.png "Open full-size image") After applying, the description is in the page's head; Undo is offered. ## Use an AI draft 1. Choose **Fix with AI** on a supported finding. 2. Review the proposed words. 3. Review the content they were based on. 4. Edit the draft if needed. 5. Review its comparison before applying it through the steps above. **Skip** leaves that draft unapplied. Some findings offer a button such as **Draft all 12 with AI**. It drafts up to 20 pages at a time. Review each proposal, then apply only the ones you select. A page with little usable content can produce a draft labelled as based on limited content, or a refusal asking for better source content. Add the missing facts to the page before asking for richer metadata. [![SEO meta-description proposal for a demo open-house page, with editable text and Apply SEO change.](https://docs.amadalis.ai/images/owners/platform-site-seo-fix-with-ai-card.png)](https://docs.amadalis.ai/images/owners/platform-site-seo-fix-with-ai-card.png) An AI description draft grounded in a demo page’s stored content. Applying it changes that page’s public metadata. [Open full size](https://docs.amadalis.ai/images/owners/platform-site-seo-fix-with-ai-card.png). ## Hide a page from search **Hide from search** asks search engines to drop the page from their results. This is an instruction to search engines; it does not restrict who can open the page or guarantee what every crawler does. 1. Open **Site**. 2. Open **SEO**. 3. Choose **Issues & content**. 4. Open the page’s SEO panel. 5. Use **Hide from search**. 6. Read **Change this page’s search indexing?**. 7. Choose **Apply indexing change** or **Keep current indexing**. Undo removes the instruction, but the page returns to search results only after search engines crawl it again. ## Review defaults and crawler files An applied default is used by every page without its own value. 1. Open **Site defaults & robots**. 2. Review the shared values. 3. Edit the intended default. 4. Choose **Preview change**. 5. Read **Change site-wide SEO defaults?**. 6. Choose **Approve & apply defaults** or **Cancel**. ![The SEO workspace listing files published for crawlers and agents.](https://docs.amadalis.ai/images/owners/seo-crawler-files.png) Each crawler file has its own address. Open the relevant file to inspect the instructions or published pages it contains. The same tab explains the files your site publishes for crawlers and agents, including `robots.txt`, sitemaps and `llms.txt`. Use the links on that screen to inspect your own site’s output. These links belong to your site, rather than this documentation site. [![Site defaults & robots with the files published for crawlers and agents, including crawler rules, page and post sitemaps, a text sitemap, a feed and a guide for AI tools.](https://docs.amadalis.ai/images/steps/S031-seo-crawler-files-list.png)](https://docs.amadalis.ai/images/steps/S031-seo-crawler-files-list.png "Open full-size image") The files the site publishes for crawlers and agents. The list separates crawler instructions in robots.txt from published page lists and readable text copies of the site content. [![The public crawler rules allow the site, disallow the admin path and include the sitemap address.](https://docs.amadalis.ai/images/steps/S031-seo-public-robots-txt.png)](https://docs.amadalis.ai/images/steps/S031-seo-public-robots-txt.png "Open full-size image") The served robots.txt. The shown rule allows public crawling and asks crawlers to skip /\_emdash/, which is the admin address. [![The public page sitemap lists the store’s published pages with the time each was last updated.](https://docs.amadalis.ai/images/steps/S031-seo-public-sitemap-pages.png)](https://docs.amadalis.ai/images/steps/S031-seo-public-sitemap-pages.png "Open full-size image") The served pages sitemap. Each page address has a last updated time, and this sitemap lists published pages rather than drafts. For a broader check, open **Site**, then **Readiness**. Its report evaluates the home page. Use **Rescan** after changes, and read the individual findings alongside the score. Source: https://docs.amadalis.ai/site/site-setup/ # Set up a site from a template Checked against the product’s code on 7 November 2026. Open **Site** > **Site setup** to pick a starting design for your website. A first setup offers [templates](https://docs.amadalis.ai/reference/glossary/#starter-site) for the site. An existing site can add a template’s pages beside the content it already has. Use **Front page** below to choose what opens at your website’s main address. The [approval card](https://docs.amadalis.ai/reference/glossary/#approval-card) distinguishes draft pages from live settings. A first setup can also change navigation, the public site name, the header button and the active [theme](https://docs.amadalis.ai/reference/glossary/#theme). Review those effects before approving. If the template declares content collections, the card also names the collections and fields it creates before the pages, or the compatible collections it reuses. Its lists are set to those declared collections. ## Choose a template and its copy For the first setup below, use a template that includes pages. The business description and contact fields appear only when **Let AI write the text for your site** is selected. If it is off, skip those fields and continue with **Set my site up**. 1. Choose a template from the list. 2. Inspect the pages it creates and the theme choices it offers. 3. Compare **Light** and **Dark** previews if available. 4. For a first setup, fill in **The name on your site**. This is the public name used in the header, footer and page titles. 5. If you want copy tailored to the business, select **Let AI write the text for your site**. 6. If AI copy is on, fill in **What your business does**. 7. If AI copy is on, fill in **Who it is for**. 8. Add the **Address** you want used. 9. Add the **Email** you want used. 10. Add the **Phone** you want used. 11. Add **Anything else worth putting on the site** that you want used. Give real facts; blank answers are left out. 12. Choose **Set my site up**. 13. Read **Set this site up from the template?** Review the page list and any live navigation or theme changes. 14. Choose **Create the drafts** or **Not now**. If you leave AI copy off, the built-in starters keep neutral words and leave a note where a section needs your facts. Fill each note with your information, or remove its section, before publishing. ## Review and publish the result 1. Read the result for the pages created and anything left to finish. 2. Check any empty picture slots and button destinations it names. 3. Open a draft in the Composer. 4. Check its content. 5. Review its preview. 6. Publish that page separately when ready. Repeat for each draft. The setup does not publish those pages for you. The Composer names sections that still need your facts separately from other sample words. Choose a section’s name to find it. Fill its note or remove the section before publishing; the refusal names any sections still waiting. Check a named FAQ’s answers too, since a closed answer can hide its note. Other publish checks, including button destinations, still apply. See [Getting started](https://docs.amadalis.ai/get-started/getting-started/) for the publish card. ## Add pages to an existing site 1. Choose **Add pages from a template** in **Site setup**. 2. Pick the template. 3. Review the pages. 4. Choose **Add these pages**. 5. Read **Add this template’s pages?** Check each proposed address. 6. Choose **Add the drafts**. The addition creates draft pages beside your existing pages. It keeps the current navigation, theme and public site name. If an address is taken, it chooses an unused address with a number added. For example, when `/home` is taken and `/home-2` is free, the template’s Home is added at `/home-2`. Read the approval card for each page’s proposed address before choosing **Add the drafts**. The receipt names any moved address afterwards. If no unused address can be found, the addition is refused. [![Add this template's pages? card for Blog / editorial: it creates 4 draft pages, Home, Featured Article, About and Subscribe, next to the existing pages; nothing is published; nothing already there is changed, replaced or removed, and the navigation and theme stay as they are; Home will be added at /home-2 because /home is taken. The four pages are listed as Draft at /home-2, /featured-article, /about and /subscribe, with Not now and Add the drafts.](https://docs.amadalis.ai/images/steps/S095-site-setup-add-template-approval-card.png)](https://docs.amadalis.ai/images/steps/S095-site-setup-add-template-approval-card.png "Open full-size image") Read the approval: it adds drafts only and names each page's address. [![Add pages from a template view with Creative agency selected, draft-page previews and the AI copy option.](https://docs.amadalis.ai/images/owners/platform-site-site-setup-template-list.png)](https://docs.amadalis.ai/images/owners/platform-site-site-setup-template-list.png) Adding template pages to an existing company site. This is the addition flow, not a clean first setup. [Open full size](https://docs.amadalis.ai/images/owners/platform-site-site-setup-template-list.png). Read the receipt, then open the added drafts in EmDash’s **Pages** and **Posts** to review them before publishing. [![Site setup added four Blog / editorial drafts without publishing or changing existing content; the receipt lists their addresses, Home at /home-2, four empty picture slots and Undo this addition.](https://docs.amadalis.ai/images/steps/S095-site-setup-added-drafts-receipt.png)](https://docs.amadalis.ai/images/steps/S095-site-setup-added-drafts-receipt.png "Open full-size image") The receipt names every draft, any moved address, and offers Undo. [![EmDash Pages list with the new Subscribe, About and Home pages at the top, each marked Draft, above the store's own pages.](https://docs.amadalis.ai/images/steps/S095-site-setup-added-drafts-in-pages.png)](https://docs.amadalis.ai/images/steps/S095-site-setup-added-drafts-in-pages.png "Open full-size image") The added pages wait as drafts beside your own. [![EmDash Posts list with one row, Featured Article, marked Draft.](https://docs.amadalis.ai/images/steps/S095-site-setup-added-article-in-posts.png)](https://docs.amadalis.ai/images/steps/S095-site-setup-added-article-in-posts.png "Open full-size image") The template's article is added as a draft post. ## Choose the front page and header button Once the site has content, **Site setup** also offers **[Front page](https://docs.amadalis.ai/reference/glossary/#front-page)** and **Header button**. **To choose the front page:** 1. Under **Front page**, choose **A page** or **The posts index**. 2. If you chose **A page**, select a published page. 3. Choose **Review the change**. 4. Read its card. 5. Confirm **Set the front page** if it matches your intent. That changes what visitors get at the site’s main address. The receipt offers **Undo** while that reversal remains available. **To change the header button:** 1. Under **Header button**, fill in **The button’s words**. 2. Choose **The page it opens**. 3. Choose **Review and save**. 4. Review the card’s comparison of the button words and destination. 5. Confirm **Publish this change**. This is a live site setting, with its own receipt and Undo. [![Site setup shows amadalis serving at /, no replacement front page selected, and Header button words Apply to Lighthouse with a page-of-this-site destination.](https://docs.amadalis.ai/images/owners/prx-account-open-admin-dark-1600w-20261031-poster.webp)](https://docs.amadalis.ai/images/owners/prx-account-open-admin-dark-1600w-20261031-poster.webp) Check the selected front page and the header button’s words and destination before approving a shared site change. [Open full size](https://docs.amadalis.ai/images/owners/prx-account-open-admin-dark-1600w-20261031-poster.webp). ## Undo a setup 1. In the first setup’s result, choose **Undo this setup**. 2. Read **Undo this site setup?** 3. Choose **Undo the setup** or **Keep it**. Eligible new pages go to the recoverable Trash. Pages you edited or published afterwards are left alone. Earlier navigation, name, header button and theme are restored only where it is safe to do so. A collection created by the setup is removed only while empty and not listed by a page. Read the result for anything kept or refused. An addition has its own **Undo** receipt. Undoing an addition does not restore the site’s earlier theme or menu, since that addition did not replace them. ## Your next step Open the new drafts in [the Composer](https://docs.amadalis.ai/composer/composer/). Fill any notes asking for your facts, check links and review each page before publishing. Pages already created from a starter are not rewritten by a catalogue update. Source: https://docs.amadalis.ai/site/taxonomies/ # Taxonomies, categories and tags Checked against the product’s code on 7 November 2026. Open **Site** > **Taxonomies**. This workspace manages EmDash’s native [categories](https://docs.amadalis.ai/reference/glossary/#category), [tags](https://docs.amadalis.ai/reference/glossary/#tag) and your own groupings. EmDash’s own sidebar entries for each taxonomy are hidden so there is one place to manage them. The categories, tags and groupings you see here are the same ones EmDash stores. ## Create a grouping You need the Editor or Admin role to create a grouping. 1. Choose **New taxonomy**. 2. Enter its **Name**. 3. Select the content types under **Applies to**. 4. Choose **Shape**. **Flat** keeps values as peers. **Nested** permits parent and child values. 5. Review **Key**. The key is the permanent name the site uses to identify the grouping; it stays fixed after creation. 6. Review **One of them is called**. 7. Choose **Continue**. 8. Read the planned change. 9. Approve the named action. ## Organize the values 1. Open the grouping. 2. Add a value using the add control, which uses the singular name you chose. 3. Use that value’s actions to rename, describe, nest or reorder it. **Remove** deletes a value: every piece of content filed under it loses that filing, and this cannot be undone. **Delete** at the top of a grouping removes the grouping, all its values and every filing under them; the content itself stays, and this cannot be undone either. Both pause for your approval. Renaming a value keeps every filing. **Move up** and **Move down** change their order. A nested grouping can assign a parent. Changes to the grouping’s shape retain existing content filing links. They change how the values are organized, not which content has already been assigned to them. ## Read Catalog axis **[Catalog axis](https://docs.amadalis.ai/reference/glossary/#catalog-axis)** reports whether the grouping is an interest category used by personalization. An unavailable reading is not the same as a known no. Creating a taxonomy alone does not configure every part of personalization. Continue with [the content catalog](https://docs.amadalis.ai/optimization/affinity-engine/#build-the-content-catalog) when your published content and its tags are ready. Review the approval before making changes that affect an existing grouping. Source: https://docs.amadalis.ai/trust/changelog/ # Changelog Checked against the product’s code on 7 November 2026. These entries are a selection of customer visible changes accepted into the main product code between 28 and 31 October 2026, up to the version reviewed at 13:04 UTC on 31 October. They are not deployment notices. Availability on a hosted site depends on the release it is running. ## 31 October 2026 - **Sitemaps:** native sites list published pages and posts at the preferred addresses their pages use. This includes nested page paths. - **Page navigation:** on pages using a Praxis theme, jumping to a named point within a page leaves room for the sticky header above the target. ## 30 October 2026 - **Privacy notices:** consent controls follow the site’s theme on pages using a Praxis theme. The page reserves room for the notice and updates that space as the visitor changes or dismisses it. - **Hero sections:** a Praxis hero section without a picture keeps the author’s centered or left alignment. A split hero without a picture uses a single column aligned to the left. Sections brought in by a migration keep their stored layout. ## 28 October 2026 - **Agency clients:** an account’s owner or Admin can use a client roster, register a first site owned by the contact and open it through access granted by the client relationship. The client can see which agency manages that access. Suspending or ending the client relationship revokes the agency’s access through that relationship. Read [What’s new](https://docs.amadalis.ai/whats-new/) for the dated release list. Read [Known limitations](https://docs.amadalis.ai/trust/known-limitations/) and [The agency guide](https://docs.amadalis.ai/agencies/agency-guide/) for the boundaries around these capabilities. Source: https://docs.amadalis.ai/trust/ # What you can do in Trust and security Checked against the product’s code on 7 November 2026. Understand permissions, [consent](https://docs.amadalis.ai/reference/glossary/#consent), support entry, recovery and the product’s current limits. Use these guides alongside **Security** in your Praxis account and **Privacy & Data** in the site admin. They explain what to review before you approve access or collect visitor data. Use the guide for the required role, setup and current limits. ## Start with a task Choose the result you want. Each guide explains where to begin, what to review and how to check the result. - [Read security controls](https://docs.amadalis.ai/trust/security/) - [Understand consent](https://docs.amadalis.ai/trust/privacy-and-consent/) - [Check known limitations](https://docs.amadalis.ai/trust/known-limitations/) ## Capabilities and screens | Capability | What you can do | Read next | | --- | --- | --- | | Customer roles and session policy | Read account and site sign in checks, support session endings and their limits. | [Trust and security: support access: Your team controls access](https://docs.amadalis.ai/trust/security/#your-team-controls-access) | | Approval and records | Understand permission checks, approval, recorded activity and available Undo. | [Trust and security: support access: The model proposes; the platform authorizes](https://docs.amadalis.ai/trust/security/#the-model-proposes-the-platform-authorizes) | | Support authority | Review customer permission for support and the separate staff access paths. | [Trust and security: support access: Support access is visible](https://docs.amadalis.ai/trust/security/#support-access-is-visible) | | Consent and visitor data | Understand permitted uses of data, cookies, browser privacy signals, exports and erasure. | [Consent policy and visitor data](https://docs.amadalis.ai/privacy/consent-and-visitor-data/) | | Database region and AI requests | Read the recorded data location and which AI provider settings apply. | [Trust and security: support access: Site data and AI requests](https://docs.amadalis.ai/trust/security/#site-data-and-ai-requests) | | Backups and operator restore | Distinguish content backups from a whole-site recovery operation. | [How Amadalis runs hosted sites](https://docs.amadalis.ai/trust/operations/) | | Audit and [subprocessors](https://docs.amadalis.ai/reference/glossary/#subprocessors) | Read recorded account changes and find the current list of outside service providers. | [Trust and security: support access: Records and recovery](https://docs.amadalis.ai/trust/security/#records-and-recovery) | | Current limitations | Check unsupported tasks and the setup needed before a feature can work. | [Known limitations and unsupported features](https://docs.amadalis.ai/trust/known-limitations/) | | Changelog | Read recorded product changes alongside the separate notice of a deployed version. | [Changelog](https://docs.amadalis.ai/trust/changelog/) | | Staff sign-in and security | Read the boundary around staff-only service requests. | [How Amadalis runs hosted sites](https://docs.amadalis.ai/trust/operations/) | | Service account records | Read the staff-only account administration reference. | [How Amadalis runs hosted sites](https://docs.amadalis.ai/trust/operations/) | | Site lifecycle and provisioning | Read staff requests for setting up and managing a site through its lifetime. | [How Amadalis runs hosted sites](https://docs.amadalis.ai/trust/operations/) | | Service billing and usage | Read the staff-only service billing and usage reference. | [How Amadalis runs hosted sites](https://docs.amadalis.ai/trust/operations/) | | Service incidents and health | Read staff incident, support and health requests. | [How Amadalis runs hosted sites](https://docs.amadalis.ai/trust/operations/) | | Service AI administration | Read the boundary around staff model and service controls. | [How Amadalis runs hosted sites](https://docs.amadalis.ai/trust/operations/) | | Service copilot and activity | Read staff request scope and service activity records. | [How Amadalis runs hosted sites](https://docs.amadalis.ai/trust/operations/) | ## More in this area These guides cover the other tasks and settings in this area. - [How Amadalis runs hosted sites](https://docs.amadalis.ai/trust/operations/): Understand the staff operations areas and the evidence to request for an operation on your site. ## Your next step Choose the guide for the decision you are making. Before granting access, begin with [read security controls](https://docs.amadalis.ai/trust/security/). Before collecting or erasing data, read the corresponding consent and record-scope guide. Source: https://docs.amadalis.ai/trust/known-limitations/ # Known limitations and unsupported features Check this page for what is not supported yet, what has limits and which guide explains the supported route. Review the relevant limits before relying on a workflow or approving a change in the site admin or account. Checked against the product’s code on 7 November 2026. This page was checked against the product’s code. That check does not confirm that a particular hosted site is running every change. Ask support to confirm any capability your project depends on. ## Access and integrations - **Support access:** a grant controls when support can start a read only visit. Revoking the grant stops new entries and ends its open support session on the next request after the grant check refreshes, within 30 seconds. At expiry, the next request ends the session. If the grant cannot be checked, the request is blocked while the session is kept. Read [Support access](https://docs.amadalis.ai/account/security/#support-access) for the separate entry paths and current limits on grants and records for other sites. - **External agents:** EmDash’s Model Context Protocol (MCP) interface for outside agents is disabled on Praxis sites. Personal tokens cannot make changes through EmDash’s software interface (API). The public machine files describe readable content; they do not provide a running MCP service. Reads with a personal API token must also pass the team’s [API token checks](https://docs.amadalis.ai/account/site-access-and-settings/#personal-api-tokens). - **[Single sign-on (SSO)](https://docs.amadalis.ai/reference/glossary/#single-sign-on-sso):** the connection supports the OpenID Connect sign in standard. It requires an email domain registered and verified on your account. The refusal directs you to support for that step. The alternative SAML sign in standard is not supported by this connection. - **Session policy:** If the account cannot read the policy, it pauses access if the last known policy has a rule or its history cannot be read. A team with no recorded policy or no last known rules can continue. The page says “We could not check your team’s sign-in rules; try again in a minute.” It keeps the sign-in session for a retry. The policy is checked on your Praxis account and inside open site admin sessions. If the site cannot read the policy, it uses a policy read within the last five minutes. Without one, it pauses access if the last known policy has a rule or that record cannot be read. A team with no recorded policy or no last known rules can continue. A server that last read a rule may still pause access after another server has read that the rules were cleared. The paused page asks you to try again in a minute. An existing session is kept; a refused new site sign in opens no session. - **Staging:** the normal signup flow provisions one production environment. It does not create a separate staging copy. - **Restore:** restoring a whole site is an action for Amadalis staff. It is not a customer action on the Sites tab. Taking or downloading a content backup from EmDash’s **Backup settings** screen is not available on the hosted site’s database yet. - **Data location:** the database region shown in your account does not pin the network, caches or AI processing to that region. ## Editing and undo - **Undo:** not every change can be reversed. Read each approval card before confirming. Visitor erasure is permanent. - **Theme Studio:** saving or deleting a theme does not offer the same undo flow as activating a theme. - **Page type themes:** a page type’s default theme is a reserved setting. The public render does not use it yet. - **Languages:** the host is configured for English and Spanish. Discuss any other language requirement before a migration. ## Forms and commerce - **Forms:** there is no file upload field in the native form field list. A migrated form with an unsupported field or behavior needs review. - **Imported products:** products brought in by a WordPress import are read only in **Products**. The screen says: “This product was brought in by your import, so it cannot be changed here yet.” - **New product prices:** the Products screen takes prices in US dollars. Confirm currency requirements before setting up a store. ## Audiences and measurement - **Rule audience counts:** “not counted yet” is not a count of zero. Rules are checked as visitors arrive, and the product does not keep a running count for every rule. - **Affinity setup:** [affinity](https://docs.amadalis.ai/reference/glossary/#affinity) needs saved tuning, active content for an affinity audience and a connected personalization service. Confirm setup with Amadalis before relying on recommendations based on interests. - **Event definitions:** an event can be listed before anything on the site sends it. It collects nothing until something does. - **Experiment results:** the scheduled saved result is calculated nightly for each running experiment with a locked plan. Do not expect that saved result to update with every visitor. ## Migration Imported pages and posts start as drafts, but an import can activate redirects, replace a menu with the same name and make its theme live. Scope the destination and timing with Amadalis. See [Migration as a service](https://docs.amadalis.ai/agencies/migration-as-a-service/) for the review workflow. ## Records and erasure Visitor events are kept with no limit until you set a [retention period](https://docs.amadalis.ai/reference/glossary/#retention). Once you set one, events older than it are deleted on the site’s regular scheduled run, but only after an archive export has covered them. An approved change goes ahead even if its Activity record fails to save; the failure is logged on the server. The change keeps any Undo it offered on its receipt. Visitor erasure can finish in the site’s database while reset of live state or export cleanup still needs attention. Read the receipt. Orders and payments are retained without their visitor reference, and an order keeps the customer name and email recorded at checkout. Visitor erasure does not remove form submissions; erase those separately. Files already downloaded cannot be recalled. See [Privacy and consent](https://docs.amadalis.ai/trust/privacy-and-consent/) for the consent rules and erasure scope. Source: https://docs.amadalis.ai/trust/operations/ # How Amadalis runs hosted sites Checked against the product’s code on 7 November 2026. Amadalis has a separate operations console for staff. Your site’s Admin role does not give access to that console. Ask support to explain the scope and result of an operation affecting your site. ## What the operations areas cover | Area | What it supports | | --- | --- | | Customers and sites | Account records, hosted site status and the assigned customer. | | Site creation | Creating a hosted site through the platform workflow. | | Account status | Suspension, reactivation and the separate termination process. | | Billing and usage | Subscription and invoice records, billing accounts, site groups and [capability](https://docs.amadalis.ai/reference/glossary/#capability) grants. | | Domains | Domain ownership, routing and certificate states. | | Incidents and support | Recorded incidents, response work and governed support entry. | | AI configuration | Model choices, configured restrictions and recorded usage. | | Staff copilot | Permitted staff requests with customer scope and approval for consequential changes. | These are staff workflows, not additional self service controls in your account. Site preferences cannot grant a capability outside the platform’s entitlement. ## Health, backups and restore Health checks and backups have scheduled jobs. A schedule is not proof that a particular run succeeded. Before planning recovery: 1. Ask support for the current health result. 2. Ask support for the available backup. A hosted restore replaces a whole site database with the chosen backup and can replace newer work. Its workflow takes a fresh backup and suspends the site while it runs. If the restore does not finish, your site stays suspended until Amadalis has checked it. Amadalis performs the operation; EmDash’s downloadable content backup is a separate feature. When a termination finishes, Amadalis can give you a deletion certificate that lists what was destroyed, when and by whom. Ask support for it. ## Access and records Staff access has separate scopes and two factor checks. Customer grants, incident entry and full Admin override have the boundaries described in [Account Security](https://docs.amadalis.ai/account/security/), including how revocation ends an open support session on its next request after the grant check refreshes, within 30 seconds, and how expiry ends it at the next request. Action log entries are linked by [checksums](https://docs.amadalis.ai/reference/glossary/#checksum), digital fingerprints linking each entry to the previous entry in the platform’s audit log. Amadalis staff run tamper-evident checks: editing or deleting an earlier entry breaks the chain, and the platform checks the whole chain every night. The result identifies four recorded gaps from 19 August 2026. Account erasure is designed to remove personal details without breaking the check. Read [verification and its limits](https://docs.amadalis.ai/account/activity/#understand-verification). Your account reports the recorded database region where available. That is not a promise that caches, network services and AI requests all stay in that region. The current list of service providers that process customer data is published on the account site’s **[Subprocessors](https://docs.amadalis.ai/reference/glossary/#subprocessors)** page. Ask Amadalis for any other facts your review needs. Source: https://docs.amadalis.ai/trust/privacy-and-consent/ # Privacy and consent Use this explanation alongside **Privacy & Data** > **[Consent](https://docs.amadalis.ai/reference/glossary/#consent)** in the site admin. It helps you understand the visitor choices and collection rules shown there. Read **[Subprocessors](https://docs.amadalis.ai/reference/glossary/#subprocessors)** on the account site for the list of data processing partners. Checked against the product’s code on 7 November 2026. Praxis resolves consent for analytics, personalization and marketing separately. Personalization includes A/B testing. Essential sign in and access functions sit outside those purpose switches. It describes settings and defaults, rather than certifying that a site’s chosen policy meets its legal obligations. ## How a request is decided ![Illustration of a request passing through region, Global Privacy Control and recorded choice, with separate purpose switches and essential functions outside the gates.](https://docs.amadalis.ai/_astro/consent-decision.C72Z_A09_1u9pvJ.webp) Follow the request from left to right through location, Global Privacy Control and the visitor’s choice before the permitted uses of data are determined. Essential functions are shown on their separate path. For each purpose, the order of authority is: 1. A [Global Privacy Control](https://docs.amadalis.ai/reference/glossary/#global-privacy-control) signal refuses the purpose. 2. Otherwise, a saved visitor choice applies. 3. Otherwise, the site’s regional default applies. A saved choice can override the regional default in either direction. Global Privacy Control overrides both. ## The default map | Location | Default regime | Before a saved choice | | --- | --- | --- | | The EU countries, United Kingdom, Switzerland, Iceland, Liechtenstein and Norway | [Opt in](https://docs.amadalis.ai/reference/glossary/#opt-in) | Analytics, personalization and marketing are off. | | United States | [Opt out](https://docs.amadalis.ai/reference/glossary/#opt-out) | Analytics and personalization are on. Marketing is off. | | Any unlisted country or unknown location | Opt in | All three purposes are off. | This is the shipped default map, not a statement of the law in each place. An Admin can ask the copilot to change the site’s policy with approval. A region entry such as `US-CA` takes precedence over a country entry such as `US`. A policy can also force one regime for every visitor. **[Essential only](https://docs.amadalis.ai/reference/glossary/#essential-only)** sets all three defaults to off. In the current consent handling it does not replace a saved grant. Do not use its name as an assurance that all earlier choices have been cancelled. ## What visitors see **Accept all** grants what the banner names, and the banner names marketing only on a page that declares English and only on a site that shares. A site that shares nothing keeps the analytics and personalization choice. Visitors can refuse all three purposes with **Decline**, or open **Privacy choices** to choose each purpose separately. An undecided visitor in an opt out region gets a notice when a purpose is active, with **Privacy choices** and **OK**. Dismissing the notice is separate from saving purpose choices. **Privacy choices** opens these switches: - **Analytics**, including arrival page, referring site, campaign tags and advertising click identifiers. - **Personalization & A/B**. - **Marketing / data sharing**. The visitor chooses **Save choices** to record them. The reopen control is a footer link on pages with a marked Praxis footer, or a small corner icon on other pages. The essential only regime does not show this reopen control. A **Do Not Sell or Share My Personal Information** link is shown under opt out when the site’s settings indicate selling or sharing. In supported browsers, JavaScript keeps the notice and choices separate from the page’s custom CSS. Privacy choices can fall back to a corner icon if its footer link is hidden or unreadable. Without JavaScript, the notice says “These buttons need JavaScript, which is not running on this page.” The full opt in banner appears only before a recorded choice. With no saved choice, opt out shows a smaller notice only while at least one purpose is active. An essential only policy shows neither. Check [the consent policy](https://docs.amadalis.ai/privacy/consent-and-visitor-data/#review-the-consent-policy); use **Privacy choices** when offered to reopen the choices. If a notice is still missing when expected, [contact support](mailto:support@amadalis.ai) with the page address. On a slow connection, supported browsers wait for the banner or notice’s text and buttons before drawing it. Broken page markup can keep the earlier rendering. ## Global Privacy Control and cookies A [cookie](https://docs.amadalis.ai/reference/glossary/#cookie) is a small value stored by the browser and sent with requests to the site. The server treats `Sec-GPC: 1` as a refusal for all three purposes that need a consent decision. A grant submitted under that signal is stored as a refusal. Under opt in, Praxis does not issue a new persistent visitor identity until analytics or personalization has been explicitly allowed. Under opt out, the identity can be created when a page is served, when you make a choice or on the first recorded page view, unless the visitor sends Global Privacy Control or has refused both analytics and personalization. When issued, the `__em_vid` identity cookie is Secure and HttpOnly. The separate `__em_consent` cookie is readable by the consent runtime so a refusal can be remembered even without a visitor identity. Both cookies last one year. After a consent choice, the answer that page scripts can read contains no visitor id. The live channel check says whether this browser has an identity without printing any part of it. The identity cookie is still sent to the browser with HttpOnly protection; this change does not remove it. Essential customer sign in is separate. A visitor who refuses personalization still keeps access to content they bought when signed in. ## Tags added by your team In **Privacy & Data → Consent**, the **Head & CSP** tab manages site head entries and Content Security Policy. A head entry can wait for a chosen consent purpose. An entry deliberately set to load before consent does not wait for consent just because the notice is present. Review the behavior of every tag you add. The platform exposes the visitor’s current consent to integrations, but that does not prove that every tag from another service honors it. ## Find and export visitor data An Admin can inspect visitor data: 1. Open **Privacy & Data**. 2. Open **Visitor Data**. 3. Search by email, user ID, visitor ID or person ID. 4. Open the intended browser record. The record has **Overview**, **Journey**, **Identity**, **Interests and audiences**, **Decisions**, **Data held** and **Erase** tabs. **Export this visitor’s data** prepares an export for that person through an approval card. Read the linked browsers and scope on that card before proceeding. Follow [the visitor export task](https://docs.amadalis.ai/privacy/consent-and-visitor-data/#export-the-record) for its steps and complete download. For a site export, open **Privacy & Data → Exports**. Follow [Exports, schedules and retention](https://docs.amadalis.ai/privacy/exports/) for selecting the range, reviewing the datasets and downloading the completed run. The export datasets cover events, decisions, goals, audience transitions, audiences, profiles, consent and daily rollups. Files use compressed NDJSON files, a format with one data record per line, and an inventory of the exported files. They go to platform storage under the site’s own path. Scheduled exports require the feature to be enabled for the account. ## Erase visitor data Erasure requires approval and has no undo. It removes the visitor profile, traits, consent records, interests, memberships and event history in its scope. Some reporting rows are kept without the visitor identity. Orders and payments remain, with the visitor reference removed; an order keeps the customer name and email recorded at checkout. Visitor erasure does not remove form submissions. Erase those separately from the form’s submissions. Read the receipt for the result of reset of live state and export cleanup. Those steps can report a partial result even after the site’s data has been erased. Export files already downloaded cannot be recalled. Arrange cleanup of copies held in your own systems. Use [the browser erasure task](https://docs.amadalis.ai/privacy/consent-and-visitor-data/#erase-one-browsers-data) to review the exact scope before approval. ## Retention Visitor events are kept with no limit until you set a retention period. Once you set one, events older than it are deleted on the site’s regular scheduled run, but only after an [archive export](https://docs.amadalis.ai/reference/glossary/#archive-export) has covered them. The setting covers eligible captured events. It does not set a deletion period for decision records, other visitor data or archive copies. Visitor erasure remains a separate action. ## Your next step Follow [Consent policy and visitor data](https://docs.amadalis.ai/privacy/consent-and-visitor-data/) to inspect your site’s policy or handle a browser record. Source: https://docs.amadalis.ai/trust/security/ # Trust and security: support access Use **Security** in your Praxis account to review how support can get access to your site’s admin. This guide explains how support can enter, what a [grant](https://docs.amadalis.ai/reference/glossary/#support-grant) or revocation controls, and which entries appear in the **[Security log](https://docs.amadalis.ai/reference/glossary/#security-log)**. It also covers permissions and the available ways to recover a change. Checked against the product’s code on 7 November 2026. Praxis combines EmDash’s content management with controls for your team, your visitors and the copilot. ## Your team controls access Sign in to your Praxis account, then use **Open admin →** on the **Sites** tab. The handoff carries your site role, works for that site only, must be used within two minutes and opens one [session](https://docs.amadalis.ai/reference/glossary/#site-session). The site then keeps its own admin session. The site roles are Viewer, Contributor, Author, Editor and Admin. By default, Editors cannot read visitor records or form submissions, export visitor data, manage consent policy or manage the team. These permissions are checked separately from whether a screen is visible. An account owner or Admin can open **Security** and set a **Team session policy**. It offers required two factor authentication, session lifetime, idle timeout and allowed network addresses. The network list must include the address of the person saving it. If the account cannot read the policy, it pauses access if the last known policy has a rule or its history cannot be read. A team with no recorded policy or no last known rules can continue. The page says “We could not check your team’s sign-in rules; try again in a minute.” It keeps the sign-in session for a retry. The policy is checked when your team uses the Praxis account, including **Open admin →**. It is also checked inside an already open site admin session. On requests inside the site, address and session limit changes are normally picked up within about 30 seconds, or longer if the site cannot reach the account. Idle expiry can be up to 30 seconds late. When two factor authentication is required, use **Open admin →** from your Praxis account; a direct site sign in does not meet that requirement. Requiring two factor authentication does not end a site session already opened from the account. If the site cannot read the policy, it uses a policy read within the last five minutes. Without one, it pauses access if the last known policy has a rule or that record cannot be read. A team with no recorded policy or no last known rules can continue. A server that last read a rule may still pause access after another server has read that the rules were cleared. The paused page asks you to try again in a minute. An existing session is kept; a refused new site sign in opens no session. Site API tokens obey the team’s applicable network, membership and two factor rules, with the [token checks and read-failure limits](https://docs.amadalis.ai/account/site-access-and-settings/#personal-api-tokens). Session lifetime and idle timeout do not apply to tokens. ## The model proposes; the platform authorizes The copilot submits actions to a platform gate. The gate checks permissions and validates the request before it prepares a change. When the copilot publishes, deletes or changes consequential settings, it requires an approval card. The platform checks the approval against the person, the proposed action and the state it was prepared from. Read the consequence and reversibility lines before approving. Some actions return **Undo**. Others cannot be undone, including visitor erasure. A scheduled publish is approved for its future time when you approve the schedule. For pages and posts, the publish check runs before scheduling and again when publication is due. Approval does not bypass it. A refusal removes the schedule and leaves the draft or its changes unpublished; a check that cannot finish leaves publication waiting for another check. EmDash’s own admin screens remain part of Praxis. A team member whose role allows publishing can use **Publish** in EmDash’s editor to publish at once, as their explicit act. Anything the copilot publishes always pauses for the approval card. ## Support access is visible 1. In your [Praxis account](https://account.amadalis.ai/account), open **Security**. 2. Find **Support access**. 3. Read the ways Amadalis staff can enter below: - You can grant read only entry for a reason you state, and revoke that grant. Revoking the grant stops new entries and ends its open support session on the next request after the grant check refreshes, within 30 seconds. At expiry, the next request ends the session. - Support can use an active grant to enter your site read only. - In an incident, support can state a reason and enter read only without your grant. - Platform Admin staff can enter your site without your grant, after confirming an Admin override and giving a reason. The override uses a separate Amadalis staff user with Admin permissions, subject to the staff restrictions below. An Admin override lasts one hour. Staff cannot add users or invitations, change a user’s details or role, re-enable access, add or edit signup rules, or install or configure plugins. They also cannot set credentials, webhook destinations or recipients that would give continuing access. Removing access can still be allowed. Staff cannot use a separate site sign-in or a site API token to keep access after the visit. The support visit shows a banner naming the staff member, its access and its end time in UTC. If the grant cannot be checked, the request is blocked while the session is kept. The service tries to record when a staff visit ends. If that record fails to save, the visit still ends and the failure is logged on the server. A missing end can be recorded later by the platform’s regular run after an eligible grant expires; the entry makes that delay and the unknown use of the entry link explicit. Emergency read only access needs no grant from you, but support must state a reason. An Admin override also needs no grant from you, but platform Admin staff must confirm it and give a reason. Support entries into any site in the account appear in your **Security log** and its CSV export. Reading across sites requires an active owner or Admin membership on an active or suspended site in that account. Entries for a fully erased site no longer appear. Without that active membership, the log and export show only the site your account was opened with. That limit applies throughout the account’s closing period when all its sites are being closed or have closed. These controls require an active owner or Admin membership on the site your account was opened with. If you also hold an active owner or Admin membership on an active or suspended site in this account, **Support access** shows live grants across its sites. You can revoke any grant in that list. When grants for different sites are shown, the rows name their sites. Giving a new grant needs an active owner or Admin membership on that specific site, which must be active or suspended. Use **Site this grant covers** when the form offers it. If the form names just one site, check that name. A one-site account keeps its existing form. If your only active owner or Admin memberships are on closing or closed sites, the list and revocation cover only the site your account was opened with. This applies throughout the account closing window. A live grant left on a closing or closed site can still be listed and revoked when that site is within your view. Fully erased sites no longer appear. The **Security** tab also has **[Single sign-on (SSO)](https://docs.amadalis.ai/reference/glossary/#single-sign-on-sso)** and **[SCIM provisioning](https://docs.amadalis.ai/reference/glossary/#scim-provisioning)**. It can connect an OpenID Connect sign in provider for a verified email domain and issue SCIM tokens for automatically creating or disabling team memberships. Account owners and Admins can read the **Security log** under **Activity** and download it as a CSV spreadsheet file. Amadalis has a public **Subprocessors** list of service providers that process customer data; ask support for the current register. ## Site data and AI requests ### Can another customer see your site’s private data? Not through their own site. A hosted site’s hostname selects only that site’s own database, and unknown, pending and suspended hosts are refused rather than falling back to another site’s database. Your account’s **Overview** includes **Where your data lives**. It reports the recorded database region, or says when that record is missing. The global network, caches and AI features are not all pinned to that region. A database location is not a promise that every part of the service runs in that country. Model requests use an authenticated Cloudflare AI Gateway route. The provider adapters request gateway logging of request details only, with collection of the prompt and response content disabled. This describes that gateway setting. It does not establish a model provider’s retention or training terms. ## Records and recovery Your account’s **Security log** records account actions. Each entry is linked by a SHA-256 checksum, a digital fingerprint, to the previous entry in the platform’s audit log. Its tamper-evident checks identify editing or deletion of an earlier entry, and the platform checks the whole chain every night. The result identifies four recorded gaps from 19 August 2026. Account erasure is designed to remove personal details without breaking the check. The account does not show a verification result. Read [verification and its limits](https://docs.amadalis.ai/account/activity/#understand-verification). The site’s copilot Activity record is a separate record. An approved change goes ahead even if its Activity record fails to save; the failure is logged on the server. The change keeps any Undo it offered on its receipt. Amadalis staff perform site restores. A restore returns the whole site database to a chosen backup, replacing work saved since that backup. The flow takes a fresh backup first and suspends the site while it runs. Ask support to arrange a restore. Taking or downloading a content backup from EmDash’s **Backup settings** screen is not available on the hosted site’s database yet. Read [Privacy and consent](https://docs.amadalis.ai/trust/privacy-and-consent/) for visitor controls and [Known limitations](https://docs.amadalis.ai/trust/known-limitations/) before planning an integration or a security review. Source: https://docs.amadalis.ai/whats-new/ # What's new Checked against the product’s code on 7 November 2026. See what changed in the hosted product and follow a guide to use it. Dates below are when the update was confirmed serving, in UTC. ## 7 November 2026, 12:09:01 UTC - **[Review what publishing adds](https://docs.amadalis.ai/composer/composer/#review-and-publish).** The card can name new scripts, tracking and form recipients, and warn about unpublished destinations or missing places on the page. Read any notice that a check could not finish. - **[Name a picture that opens full size](https://docs.amadalis.ai/composer/layout-styles/#open-a-picture-at-full-size).** Its control now uses the supplied alt text. A Features card also has its own picture description. New descriptions beyond the stated 500 character limit are refused with an explanation; older stored descriptions keep their previous rendering. - **[Keep arrival tags out of order contact details](https://docs.amadalis.ai/commerce/orders/#find-and-inspect-an-order).** New order attribution leaves out email-like values from tags and recorded arrival addresses. This does not rewrite older orders or remove checkout contact details. - **[Create a site with a long name](https://docs.amadalis.ai/account/your-account-and-domains/#open-or-create-a-site).** New generated addresses are shortened when needed. Existing addresses stay as they are. - **[Understand the copilot’s context](https://docs.amadalis.ai/copilot/conversations-and-context/#give-the-copilot-the-right-facts).** Words read from pages, browser context and imports are supplied as quoted data, separately from your request. Approval still comes from you. ## 7 November 2026, 04:27:25 UTC - **[Choose an accepted AI key provider](https://docs.amadalis.ai/account/your-account-and-domains/#your-provider-keys).** New customer keys are accepted for Anthropic and OpenAI. A Google key is refused before it is saved. - **[Read what Accept all grants](https://docs.amadalis.ai/trust/privacy-and-consent/#what-visitors-see).** It grants what the banner names. The banner names marketing only on a page that declares English and only on a site that shares. Global Privacy Control still refuses. - **[Restore a saved draft in Composer](https://docs.amadalis.ai/content/revisions/#choose-a-saved-version).** **History** lists saved versions and offers an approved restore with receipt Undo when available. **Move to trash** has its own confirmation; Undo brings the page back as a draft. - **[Check captured arrival values](https://docs.amadalis.ai/insights/events-and-capture/#collection-tabs).** Removed query names stop being stored on page views when approved. Values containing email addresses are left out of visitor-data campaign tags and click identifiers; this does not clean commerce attribution on orders. - **[Download export files as an Admin](https://docs.amadalis.ai/privacy/exports/#export-a-range).** Downloads check your role. Chat points to the Exports screen; it does not print the file’s download address. - **[Choose heading line breaks and step rows](https://docs.amadalis.ai/composer/layout-styles/#choose-how-a-heading-wraps).** **Heading wrap** offers **Automatic**, **Balanced** and **Pretty**. **Timeline / steps** adds **Steps per row** for its numbered layout. ## 6 November 2026, 23:56:02 UTC - **[Review imported design choices](https://docs.amadalis.ai/migration/review-and-cutover/#review-each-imported-item).** More Elementor global-style choices that were not carried across are named for review. Keep checking the imported page against its source; this does not establish that every loss is reported. ## 6 November 2026, 21:40:19 UTC - **[Set up a new store as an Admin](https://docs.amadalis.ai/commerce/commerce/#create-the-storefront-drafts).** Creating or undoing its product content type needs a site Admin. The first access change on a page can also need an Admin to add its access field. - **[Keep an experiment’s deciding method](https://docs.amadalis.ai/optimization/experiment-results/#read-the-result-under-its-plan).** The locked plan chooses the method that can authorize promotion. New plans check that harm beyond each guardrail limit is ruled out. The optional **Hypothesis** keeps the change you expect and why. - **[List entries by their own date](https://docs.amadalis.ai/composer/collection-index/#choose-the-entries).** A Live list can use a collection’s datetime field and show only dates still to come. - **[Understand shared page copies](https://docs.amadalis.ai/developers/platform/#content-and-delivery).** Unrelated cookies no longer bypass the edge cache. Identity, consent and Global Privacy Control can use separate shared copies when the page is safe to share; sign-in, cart and personalized responses keep their own protections. - **[Check content-backup availability](https://docs.amadalis.ai/content/site-settings/#backups).** The copilot now states that taking or downloading a content backup is unavailable on this site’s database. Whole-site recovery through support is separate. ## 6 November 2026, 20:32:20 UTC - **[Review a form’s recipients](https://docs.amadalis.ai/site/forms-and-replies/).** A chat approval card flags an added address you did not write in the conversation. Creating a form still leaves chat-supplied addresses for the separately approved update. ## 6 November 2026, 19:56:07 UTC - **[Create and pause coupons](https://docs.amadalis.ai/commerce/commerce/#create-and-pause-a-coupon).** **Commerce** > **Coupons** creates and changes checkout codes behind approval cards, with supported receipt Undo. The copilot can also find products and membership levels by name. ## 6 November 2026, 19:16:46 UTC - **[Give a request the current context](https://docs.amadalis.ai/copilot/conversations-and-context/#give-the-copilot-the-right-facts).** The copilot reads available saved site facts for each request, and a Composer selection can identify “this section”. Its instructions follow the actions available to your role. ## 6 November 2026, 18:01:15 UTC - **[Continue a saved conversation](https://docs.amadalis.ai/copilot/conversations-and-context/#start-and-organize-a-conversation).** Supported result cards return with saved messages without replaying their actions. - **[Change page scripts with receipt Undo](https://docs.amadalis.ai/developers/page-scripts-and-events/#add-a-capture-binding).** **\+ Add script** opens a form before anything is saved. Saved changes use Composer receipts and respect the selected live-page or experiment view. - **[Review a template’s collections](https://docs.amadalis.ai/site/site-setup/#choose-a-template-and-its-copy).** A template that declares collections names them on the setup card and creates or reuses them before its drafts. Undo removes a created collection only while empty and not listed by a page. - **[Keep a live offer’s campaign holdback](https://docs.amadalis.ai/optimization/live-offers-and-arrangements/#show-a-live-offer).** Live updates honor that campaign’s holdback and its event trigger’s session window. The separate expiry warning remains. ## 6 November 2026, 14:30:22 UTC - **[Read an open menu](https://docs.amadalis.ai/site/menus/#choose-where-it-appears).** Library themes check submenu text against its panel in light and dark, including pointer, keyboard-focus and current-page states. Custom themes keep their own styling. ## 6 November 2026, 12:41:52 UTC - **[Read staff actions in your account](https://docs.amadalis.ai/account/activity/#read-the-entries).** Staff actions read **Praxis staff**, or **Praxis staff, with the copilot**, in Activity and the Security log download. New internal staff notes record the action without adding their words to your log. ## 6 November 2026, 11:02:44 UTC - **[Read the Free AI allowance](https://docs.amadalis.ai/account/your-account-and-domains/#monthly-ai-allowance).** Without a live subscription, or if your plan names no AI allowance, the copilot uses the Free plan’s monthly allowance. Separate agreements and your own provider keys keep their existing rules. When this allowance is used, the pause message names it and links to your account. ## 6 November 2026, 09:56:48 UTC - **[Review form colours in each mode](https://docs.amadalis.ai/site/forms-and-replies/#send-your-first-test-reply).** On a site that was not migrated, native forms can adjust help text, notices and focus marks for contrast. Custom colours and overlays keep their styling. - **[See the consent notice arrive whole](https://docs.amadalis.ai/trust/privacy-and-consent/#what-visitors-see).** In supported browsers, the banner or notice waits for its text and buttons before appearing. Broken page markup can keep the earlier rendering. ## 6 November 2026, 08:50:45 UTC - **[Read your agreed AI allowance](https://docs.amadalis.ai/account/your-account-and-domains/#monthly-ai-allowance).** AI and Copilot Options name an allowance set by your agreement with Amadalis. Ask Amadalis to change it; moving plans does not replace it. AI turned off by agreement stays off after the monthly reset. ## 6 November 2026, 05:56:16 UTC - **[Understand a site marked as a demo](https://docs.amadalis.ai/content/dashboard/#read-a-demo-site-notice).** Public visitors can browse and use the cart, but forms, account sign-ups, comments and checkout are refused. Team members can test forms and checkout while signed in to that site. Site-search events omit the typed query; consent choices and permitted analytics still work. ## 6 November 2026, 05:24:22 UTC - **[Read menu links on library themes](https://docs.amadalis.ai/site/menus/#choose-where-it-appears).** Library themes adjust menu text for its background in light and dark, including the current link and a link under the pointer. Colour pairs that already meet the contrast rule keep their colour. Migrated pages are unchanged. - **[Look up a business record before changing it](https://docs.amadalis.ai/developers/governed-tools/#one-action-from-request-to-result).** For a request in a connected business application, the copilot runs a needed record lookup before preparing the dependent change for approval. If those lookups do not settle the record, it can ask which record to use without saving a change. ## 6 November 2026, 03:23:49 UTC - **[Understand why your own visits are missing](https://docs.amadalis.ai/insights/analytics-reports-and-sources/#why-your-own-visits-can-be-missing).** The notice about your own visits now follows your browser’s Global Privacy Control signal, a saved analytics refusal, and Do Not Track when no analytics choice is saved. A saved acceptance takes precedence over Do Not Track, but never over Global Privacy Control. ## 6 November 2026, 02:50:56 UTC - **[Reach the page controls in a narrow window](https://docs.amadalis.ai/composer/composer/#work-with-columns).** The page toolbar wraps its groups onto extra rows when the window narrows, rather than squeezing controls out of view. ## 6 November 2026, 00:58:28 UTC - **[Fill starter pages with your own facts](https://docs.amadalis.ai/site/site-setup/#review-and-publish-the-result).** With AI writing off, the built-in starters leave notes where your facts are needed. Fill those notes or remove their sections before publishing. Pages already created from a starter are unchanged. - **[Read whether site access was updated](https://docs.amadalis.ai/account/your-team/#change-access).** When you disable someone through the copilot, its result says whether their sign-in at the site was updated. If the site could not be reached, a session already open there can continue. ## 5 November 2026, 20:29:44 UTC - **[Keep privacy choices clear](https://docs.amadalis.ai/trust/privacy-and-consent/#what-visitors-see).** In supported browsers, JavaScript separates the notice and choices from the page’s custom CSS. A hidden or unreadable footer link can fall back to the corner icon. - **[Change the recorded billing contact](https://docs.amadalis.ai/account/your-account-and-domains/#read-plan-and-billing-details).** Ask Amadalis support to replace the contact shown on the account. This sends no email and does not update Stripe. - **[Keep draft previews with their site](https://docs.amadalis.ai/composer/composer/#who-can-see-the-draft).** Native draft previews now read the correct site’s stored signing secret. A configured preview-secret override still takes precedence. Keep preview links private. - **[Read a payment that needs help](https://docs.amadalis.ai/account/your-account-and-domains/#open-or-create-a-site).** If payment was received but activation or an upgrade could not finish, the account tells you not to pay again and to contact support. The next payment stays scheduled until this is sorted. - **[Request a recovery link](https://docs.amadalis.ai/account/sign-in-and-recovery/#recover-access).** The public recovery reply does not confirm whether the address has an account or whether mail arrived. If no link arrives, try again or contact support. ## 5 November 2026, 18:16:31 UTC - **[Leave an empty gallery out of the public page](https://docs.amadalis.ai/reference/sections/media/#gallery).** On a site that was not migrated, a native Gallery with no pictures draws nothing for visitors. Composer keeps a Picture slot. A carousel with pictures keeps its empty slides, and migrated pages keep their earlier rendering. ## 5 November 2026 - **[Keep imported site parts together](https://docs.amadalis.ai/migration/review-and-cutover/#review-each-imported-item).** WordPress imports started in your site save supported menus, categories and settings to that site. Read the review for anything left unfinished. - **[Scroll dropdown choices](https://docs.amadalis.ai/composer/composer/#select-and-edit-a-section).** Dropdown lists in the admin stay where you scroll. Opening a list brings the selected choice into view. - **[Invite a teammate by role name](https://docs.amadalis.ai/account/your-team/#invite-a-teammate).** The copilot accepts role names for invitations and role changes, and email addresses for existing teammates. Invitation and role-change cards name the requested role. - **[See the current empty collection preview](https://docs.amadalis.ai/composer/collection-index/#choose-a-starting-point).** The Collection index with paging preview shows its heading and empty result without a zero count, in light and dark. - **[Close an open list with Escape](https://docs.amadalis.ai/composer/composer/#select-and-edit-a-section).** Escape closes an open dropdown list and returns focus to its control without closing the dialog around it. Holding Escape does not close the next layer. - **[Read what happened in your account](https://docs.amadalis.ai/account/activity/#read-the-entries).** Activity describes a support entry link as issued rather than claiming a visit. In [Team](https://docs.amadalis.ai/account/your-team/), role changes explain when site permissions update, and recovery requests tell you to check the email delivery result. - **[See picture controls on dark themes](https://docs.amadalis.ai/composer/layout-styles/#open-a-picture-at-full-size).** The native picture viewer adjusts the colour of its Close and arrow icons for dark themes. Custom CSS can still affect the controls, and the screen reader description limit in the guide remains. - **[Add an enquiry beside a comparison or collection](https://docs.amadalis.ai/site/catalogs-and-page-types/#create-or-edit-a-page-recipe).** The supplied Comparison / alternatives page type also offers **Form** and **Image & text**. Profile / About and Collection index offer **Form** and **Comparison table**. Starting sections stay the same, and nothing is added to existing pages automatically. - **[Use section controls in a narrow preview](https://docs.amadalis.ai/composer/composer/#select-and-edit-a-section).** The selected section’s floating bar shortens or hides extra labels before its controls wrap. The text editing bar can wrap too. - **[Read the message when AI usage cannot be checked](https://docs.amadalis.ai/account/your-account-and-domains/#choose-the-copilots-ai-model).** If the copilot cannot read or save AI usage, it can continue within a limited allowance before pausing new requests. It asks you to try again in a few minutes. Saved work is unaffected. - **[Know when visitors can see a saved change](https://docs.amadalis.ai/privacy/head-and-csp/#review-the-site-policy).** Cards distinguish saving a change from the copy visitors see. A change is saved now; visitors can keep seeing the old version for up to about 11 minutes, and longer if a server is having trouble. - **[Match plugin requests to your role](https://docs.amadalis.ai/content/plugins/).** The copilot offers plugin requests only to Admins. A saved plugin change can say when its result could not be confirmed; use the receipt’s Undo where offered. - **[Carry more shared Elementor colors](https://docs.amadalis.ai/migration/review-and-cutover/#review-each-imported-item).** Some shared colors missing from an Elementor export can be read from that page’s saved styles. The export’s shared color definitions keep priority, and unresolved colors stay listed for review. ## 4 November 2026 - **[Keep Undo in order](https://docs.amadalis.ai/copilot/copilot/#undo-a-change).** Requests to undo the latest change use the order new changes were saved. This fix began serving on 3 November. - **[Use library theme text colours](https://docs.amadalis.ai/composer/themes-and-tokens/).** Library themes adjust header-name and accent-button text colours for their backgrounds. Very tight heading spacing relaxes on smaller headings. - **[Fit long words into narrow columns](https://docs.amadalis.ai/composer/layout-styles/).** On a library theme or a site that was not migrated, long headings and button labels can wrap within narrow columns. Wide rich text tables can scroll inside their own box. - **[Leave optional words empty](https://docs.amadalis.ai/reference/sections/common-fields/).** Blank quote text draws no rule, and blank testimonial roles and companies add no separating comma. - **[Keep empty results simple](https://docs.amadalis.ai/composer/collection-index/).** On a library theme or a site that was not migrated, empty lists leave out zero counts and public gallery grids leave out caption-only slots. Carousel slots stay. - **[Read the footer credit](https://docs.amadalis.ai/reference/settings/site-settings/).** The built-in credit uses the current year and your site name, followed by **Powered by Praxis.** A footer line your team wrote keeps its separator. - **[Use the native header and reading defaults](https://docs.amadalis.ai/reference/settings/theme-tokens/).** On a site that was not migrated, an unset header background uses the page background and an unset body line height uses **1.6**. A section label keeps its start edge beside centred words. - **[Open pictures full size](https://docs.amadalis.ai/composer/layout-styles/).** Close and arrow icons sit in the centre of their controls. - **[Read partial import warnings](https://docs.amadalis.ai/migration/review-and-cutover/#review-each-imported-item).** A partial import names site parts it did not bring in and asks you to contact support. Pages already imported stay in place. ## 3 November 2026, 16:19:52 UTC - **[Check a page before scheduled publication](https://docs.amadalis.ai/content/pages-posts-and-media/#create-a-page-or-post).** Pages and posts face the publish check before scheduling and again when publication is due. A refusal removes the schedule and leaves the draft or its changes unpublished; an unfinished check leaves publication waiting for another check. - **[Keep visitor ids out of consent replies and the live check](https://docs.amadalis.ai/trust/privacy-and-consent/#global-privacy-control-and-cookies).** The consent reply no longer includes the visitor id, and the live check reports only whether an identity exists. Consent choices, Global Privacy Control and the identity cookie’s HttpOnly protection are unchanged. ## 3 November 2026, 06:45:45 UTC - **[Keep content private when an access check fails](https://docs.amadalis.ai/composer/access-and-tracking/).** Affected lists and feeds leave out text when access cannot be checked, and public machine files leave out the entry. Package approval cards name an access check they could not read. - **[Keep protected-file access unchanged when it cannot be checked](https://docs.amadalis.ai/commerce/documents/).** Changing a protected file is refused if its previous access cannot be read. - **[Protect live connection tickets](https://docs.amadalis.ai/optimization/live-offers-and-arrangements/).** Tickets issued with new pages are encrypted so page scripts cannot decode the visitor id. Consent and Global Privacy Control still apply. ## 3 November 2026, 02:24:28 UTC - **[Apply team rules to API tokens](https://docs.amadalis.ai/account/site-access-and-settings/#personal-api-tokens).** Site API tokens now follow applicable network, membership and two factor rules, including tokens created before a two factor requirement. Session lifetime and idle timeout do not apply to tokens; read the guide for refusals and read-failure limits. ## 2 November 2026, 18:28:41 UTC - **[Pause access when sign-in rules cannot be checked](https://docs.amadalis.ai/account/security/#team-session-policy).** If the account cannot read the team’s policy, access pauses when its last known policy has a rule or its history cannot be read. Teams with no recorded policy or no last known rules can continue. An open site session can use a policy read within the last five minutes. Without one, the same rule applies using the site’s last known record. A server that last read a rule may still pause access after another server has read that the rules were cleared. The paused page asks you to try again in a minute. An existing site session is kept for a retry; a refused new site sign in leaves no session open. Read the guide for the exact scope and timing. ## 2 November 2026, 06:42:03 UTC - **[Keep domain signup at Editor or below](https://docs.amadalis.ai/account/site-access-and-settings/#users-and-signup-domains).** A new signup request through an allowed email domain receives its chosen role up to Editor. Give Admin access by inviting the person from **Team** in your Amadalis account. Existing people’s roles are unchanged. An older rule stored as Admin keeps that stored value, but new signup requests under it receive Editor. While an enabled rule above Editor remains, signing in through another provider is refused; unreadable rules also refuse that sign in. Old rules can be lowered or switched off, but a new or raised Admin rule is refused. Read the [specific Undo limits](https://docs.amadalis.ai/reference/copilot/account-and-privacy/#self-signup-by-email-domain) before changing an older rule. ## 2 November 2026 - **[Manage support grants across the account](https://docs.amadalis.ai/account/security/#support-access).** Owners and Admins with the required active membership can see and revoke live support grants across the account in **Security** > **Support access**. Giving a new grant requires an active owner or Admin membership on that specific site, which must be active or suspended. The wider list needs an active owner or Admin membership on an active or suspended site in the account, as well as the active owner or Admin membership needed to open these controls. Otherwise, the list covers only the site your account opens with, including the account closing window. Fully erased sites no longer appear. A live grant left on a closing or closed site can still be revoked when it is within your view; a closing or closed site cannot take a new grant. ## 2 November 2026, 01:27:41 UTC - **[Read support entries across your account](https://docs.amadalis.ai/account/activity/).** Account owners and Admins can read support entries into the account’s sites in the Security log and its CSV export. Reading across sites requires an active owner or Admin membership on an active or suspended site in that account. Entries for a fully erased site no longer appear. Without that active membership, the log and export show only the site your account was opened with. That limit applies throughout the account’s closing period when all its sites are being closed or have closed. At that release, grant controls covered only the site your account was opened with. See [Support access](https://docs.amadalis.ai/account/security/#support-access) for the current controls. ## 1 November 2026, 20:22 UTC - **[Provision new members as viewers](https://docs.amadalis.ai/account/security/#sso-and-provisioning).** New members added through SCIM now join as Viewer, which cannot create, edit or publish. Existing members keep their roles. - **[Limit who can read the Security log](https://docs.amadalis.ai/account/activity/).** Account owners and Admins can read the Security log. At this release, support entries into the account’s other sites were not yet included. See [Account Activity](https://docs.amadalis.ai/account/activity/) for the current scope. - **[Create a paid client site](https://docs.amadalis.ai/agencies/agency-guide/#add-a-client-and-its-first-site).** Choose a paid plan when adding a client’s first site; it stays on hold until the agency owner’s payment is confirmed. The client’s contact confirms their own email, and the confirmation landing does not show the agency’s name. ## 1 November 2026, 17:03 UTC - **[End an open support visit](https://docs.amadalis.ai/trust/security/).** Revoking a support grant now ends its open visit on the next request after the grant check refreshes, within 30 seconds. At expiry, the next request ends the visit. - **[Apply team policy inside site admin](https://docs.amadalis.ai/account/security/).** Your team’s session policy now also applies inside an open site admin session. Read the guide for refresh timing and the limits when the policy cannot be read. - **[Read staff visit limits](https://docs.amadalis.ai/trust/security/).** An Admin override now ends on the next request after one hour. A banner identifies the staff member, and staff permissions block creating continuing access. - **[Respect refusal in decision records](https://docs.amadalis.ai/trust/privacy-and-consent/).** Refusing personalization now prevents new experience choices from being recorded against that visitor, including recommendation choices. This does not remove earlier records. - **[List a collection on a page](https://docs.amadalis.ai/composer/collection-index/).** Choose **Collection index** in **Composer** > **New page** to start a draft with a **Live list** and supporting sections. The list starts with posts; choose an existing collection and finish its list settings before publishing. - **[Keep imported form dimensions and colour](https://docs.amadalis.ai/migration/review-and-cutover/).** Imported Contact Form 7 fields now keep their measured outer height and surrounding label colour. - **[Keep imported content visible beyond a column](https://docs.amadalis.ai/migration/review-and-cutover/).** Imported columns can keep content visible beyond their edge when the recorded source layout permits it at each checked width. ## 1 November 2026, 00:14 UTC - **[Use your supplied words](https://docs.amadalis.ai/copilot/copilot/).** When you ask the copilot to build a page with words you supply, it checks those words and their placement. Its closing reply names missing words and text left for you to finish. - **[Choose pictures by name](https://docs.amadalis.ai/copilot/copilot/).** Ask for a picture already in your media library by name, with its caption or alternative text. If the picture cannot be matched, the copilot explains which picture control to use. - **[Leave pictures, icons or buttons out](https://docs.amadalis.ai/composer/composer/).** When asking for a page, you can ask to leave out pictures, icons or buttons. The copilot no longer carries stock placeholder pictures into a new page. - **[Keep instructions out of page prose](https://docs.amadalis.ai/copilot/copilot/).** Ask the copilot to use only the words you provide. Empty fields can stay unfinished, and instructions about links are kept out of the page’s prose. - **[Check requested links](https://docs.amadalis.ai/copilot/copilot/).** After a change, the copilot checks the links and page anchors you requested. Its closing reply names missing or misplaced ones. - **[Read an approval card’s outcome](https://docs.amadalis.ai/copilot/copilot/).** A card can now say that it expired, was replaced, was stopped or could not be applied. Those outcomes do not say that you declined the change. - **[Keep words while the copilot edits](https://docs.amadalis.ai/composer/composer/).** Words still being edited in the Composer stay in place when a copilot change arrives. The page refreshes without discarding those edits. - **[Edit existing entries](https://docs.amadalis.ai/composer/composer/).** You can clear the title on an existing **Features** card; a new card still needs one. Opening an unchanged entry no longer triggers an unsaved work warning. - **[Apply anchors and CSS classes](https://docs.amadalis.ai/developers/page-scripts-and-events/).** Section HTML anchors and CSS classes now save through **Apply changes** at the bottom of the inspector. - **[Try an editorial header](https://docs.amadalis.ai/composer/layout-styles/).** The header has an **Editorial** style, an optional second action shown as a text link, and introductions and descriptions for larger menus. Choose the destination for each action rather than putting an address into its words. - **[Build a columns footer](https://docs.amadalis.ai/composer/layout-styles/).** Choose **Columns** for the footer, add your own note and use the footer’s brand colour control. - **[Open pictures full size](https://docs.amadalis.ai/reference/event-catalog/).** More section pictures can open full size, alongside Gallery. Opening a picture can record **Picture opened full size**, subject to the site’s consent rules. - **[Set interface and monospace faces](https://docs.amadalis.ai/composer/layout-styles/).** Themes now have separate **Interface** and **Mono** font roles, and the font library includes JetBrains Mono. - **[Reduce font changes during loading](https://docs.amadalis.ai/composer/themes-and-tokens/).** Pages preload the library faces they use for body text, headings and menus, with closer fallback fonts. This reduces visible font changes while a page loads. - **[Use more theme colour roles](https://docs.amadalis.ai/composer/themes-and-tokens/).** Themes have additional colours for labels, footers, muted surfaces and the new layout styles. The copilot uses the active theme when choosing readable text for a background colour change. - **[Keep dropdown prompts separate](https://docs.amadalis.ai/site/forms-and-replies/).** Dropdown fields can show a prompt without saving it as someone’s answer. Imported Contact Form 7 dropdowns also keep a first option used only as a label. - **[Refresh pages after head changes](https://docs.amadalis.ai/privacy/head-and-csp/).** Changes to **Head entries** or **Content Security Policy** made in **Head & CSP** can refresh some cached pages. Chat changes wait for those copies to refresh. Their receipts describe how long visitors can keep seeing an older copy. - **[See which clock is shown](https://docs.amadalis.ai/privacy/visitor-data/).** More admin dates now show which time zone they use. Event times in **Explore** remain in UTC. - **[Read migration recovery explanations](https://docs.amadalis.ai/migration/workspace-and-recovery/).** Migration and targeted content messages now explain their limits in plainer words. - **[Add section numbers and labels](https://docs.amadalis.ai/composer/layout-styles/).** Supported sections can show a section number and a separate label column. Empty values leave those details out. - **[Use a dark Stage band](https://docs.amadalis.ai/composer/layout-styles/).** Choose **Stage (near black, with glow)** under **Band tone** where offered. Its colour controls use the theme’s Stage palette. - **[Place a picture beside words](https://docs.amadalis.ai/composer/layout-styles/).** Supported sections can place a picture beside their words, with choices for its side, width, frame and heading position. The arrangement stays off until you add a picture. - **[Add an article rail](https://docs.amadalis.ai/composer/layout-styles/).** In **Page layout**, choose **Article with an On this page rail** for an article and review it in **Open preview**. The canvas keeps its normal editing layout, and saving the page layout offers **Undo**. - **[Arrange an index list](https://docs.amadalis.ai/composer/layout-styles/).** A **Features** section can use **Index list** to arrange groups and links you write. It uses the section’s column choice and does not fetch a collection. - **[Put facts beside a hero](https://docs.amadalis.ai/composer/layout-styles/).** A **Stats** section can use **Facts list** and sit beside an eligible Hero by setting **Place** to **Beside the hero above**. Supply the values and labels yourself. - **[Add a line to Hero text](https://docs.amadalis.ai/composer/layout-styles/).** **Label rule** and **Lede rule** can add a short line to a Hero’s supplied label or subheadline. Both start at **None**. - **[Fill a blank starter list](https://docs.amadalis.ai/copilot/copilot/).** When the copilot adds cards to a list whose starter entries are all empty, it replaces those empty entries. A list that already has words keeps them and adds the new cards after them. - **[Read the page loading state](https://docs.amadalis.ai/composer/composer/).** The page layout panel now says **Loading the page layout** while it opens.