Custom Pages
A Custom Page is a screen you build yourself and plug into AdmCloud: either your own HTML/JavaScript code, or an external URL you want embedded inside the app. Once saved, it can show up as an entry in AdmCloud's own navigation menu and/or as a panel on your Dashboard, so your team reaches it exactly like any other native screen.
What it is and what it's for
Every Custom Page holds exactly one of two kinds of content:
- HTML content: your own HTML, CSS and JavaScript, written in a built-in code editor. AdmCloud renders it as-is when the page is opened.
- External URL: a link to a page hosted somewhere else (an internal tool, a BI dashboard, a form, a knowledge-base article) that AdmCloud embeds inside the screen instead of sending your users away from the app.
It's useful whenever you need a bit of custom UI — a quick internal tool, an embedded report from another system, a how-to page for your team — without needing a full Custom Record or a Plugin, and without asking AdmCloud to build a native screen for it.
Screens in this area
| Screen | What it does |
|---|---|
| List | Lists every Custom Page in your company, with its owner, whether it shows in the menu, whether it's public, its module and whether it's owner-only. From here you create a new one, open a "Viewing" link to see it rendered, or open its detail. |
| Create / Edit | The form with the page's Name, its HTML editor or URL, its Module or Custom Menu Option, its visibility options and the table of user groups with access. |
| Details | The already saved page in read-only mode, with a "Visualize" shortcut to see it rendered, an "Edit" button, its permissions and its change log. |
| Viewing (render) | The actual page as your end users see it: your HTML rendered directly, or the external URL embedded on screen — this is the link you share or place in the menu/Dashboard. |
How to use it, step by step
- Open the Custom Pages list and click New. A new page starts pre-loaded with a small sample (a title, an input and a button) so you have a working starting point to edit instead of a blank editor.
- Enter the Name that identifies the page; it must be unique across your company.
- Choose one content type: either write your HTML in the code editor, or fill in the URL of the external page you want embedded — you can only use one of the two on the same page.
- If you used a URL and the destination site needs to know who's logged in, check Include Token so AdmCloud appends a session token to the URL's query string automatically. This option only applies to URL pages.
- Decide where it should appear: check Show in Menu to have it show up in AdmCloud's navigation, and/or Show in Dashboard to have it show up as a panel on the Dashboard.
- If it shows in the menu, file it somewhere: assign either an existing app Module (Sales, Inventory, etc.) or one of your own Custom Menu Options — not both at the same time.
- Set the Owner and decide whether it's Public (visible to everyone) or restricted; if it's restricted, go to the user groups table and add the groups that should see it.
- If only you should be able to change its structure, check the option that restricts editing and deleting to the owner.
- Save. Use the Viewing link from the list or the Visualize button on the detail screen to confirm it renders as expected.
Dynamic placeholders you can use in your HTML
When an HTML Custom Page is rendered, AdmCloud automatically replaces the following placeholders with real values from the current session, so the same page can be personalized for every user without any server-side code:
| Placeholder | Replaced with |
|---|---|
@Model.CompanyName | The name of the company the user is logged into. |
@Model.DatabaseName | The technical database name of the company. |
@Model.LoggedUserName | The full name of the logged-in user. |
@Model.LoggedUserEMail | The email address of the logged-in user. |
@Model.CurrentYear | The current year, according to the company's local date. |
@Model.CurrentMonth | The current month. |
@Model.CurrentDay | The current day. |
@Model.LoginID | The internal identifier of the current login/session. |
@Model.Token | A fresh session token, useful if your own HTML needs to call an AdmCloud API endpoint. |
Key fields
| Field | What it's for |
|---|---|
| Name | The page's identifying name. Required and must be unique across all your Custom Pages. |
| HTML | Your own HTML/CSS/JavaScript, edited in the built-in code editor. Mutually exclusive with URL. |
| URL | The address of the external page to embed. Must be a valid, absolute http or https link. Mutually exclusive with HTML. |
| Include Token | Appends a session token to the URL's query string, so the destination site can identify the logged-in user. Only allowed when a URL is set. |
| Module | The existing app module this page should be filed under in the navigation, if any. Can't be combined with a Custom Menu Option. |
| Custom Menu | The Custom Menu Option this page should be filed under in the navigation, if any. Can't be combined with a Module. |
| Icon / Type | The icon shown next to the page's name in the navigation menu. |
| Show in Menu | When checked, the page appears as an entry in AdmCloud's own navigation. |
| Show in Dashboard | When checked, the page appears as a panel on the Dashboard. |
| Public | When checked, any user in the company can open the page. When unchecked, only the owner and the user groups you assign can see it. |
| Owner | The user responsible for this page; must be an active user. |
| Only owner can edit the structure (Protected) | When checked, only the owner can edit or delete this page. |
| User groups | When the page isn't public, defines which user groups can see it. |
Validations on save
- Name and Owner are required, and the Owner must be an active user.
- You must fill in exactly one of URL or HTML — leaving both empty, or filling in both, blocks the save.
- Include Token can only be used with a URL page, never with HTML content.
- The URL must be a valid, absolute address starting with
http://orhttps://. - You can't assign a Module and a Custom Menu Option at the same time — pick one place for the page to be filed under.
- The Name must be unique; it can't repeat another Custom Page already in your company.
- A Protected page can only be edited or deleted by its owner; other users get a permission error.
Managing the page
From an already saved page's detail screen, depending on your permissions, you can:
- Visualize it, opening the rendered page exactly as your end users will see it.
- Edit it, to adjust its content, visibility, filing or permissions.
- Transfer it to another company you own in the same company group, if you're the page's owner. The page is copied into the destination company under a matching user; this option isn't available for evaluation (trial) companies.
- Review its change log, showing who created or edited it and when.
- Delete it, as long as it isn't currently used as an asset by one of your company's Plugins; if it is, unlink it from the Plugin first.
Availability and permissions
- Access is controlled by the "Customization" permission on the user group, with separate levels for view, add and edit.
- A page marked Public is visible to your whole company; otherwise, only the owner and the user groups you assign on the Permissions table can see it.
Tips and common mistakes
Use the dynamic placeholders to personalize your HTML. A single Custom Page can greet every user by name, or show the current company and year, without writing any server-side logic — AdmCloud fills those values in for you when the page renders.
Pick either HTML or a URL — not both, not neither. If the save fails with a message about the URL or the HTML, check that exactly one of the two fields has content.
Group related pages under a Custom Menu Option instead of the built-in Module field. If you already have several Custom Pages, Records or Reports that belong together, create a Custom Menu Option and file them all under it, rather than scattering them across unrelated app Modules.
Test the rendered page before sharing it. Use the "Viewing" link from the list, or the "Visualize" button on the detail screen, to confirm your HTML or embedded URL behaves as expected before turning on "Show in Menu" or "Show in Dashboard" for everyone.