Template Builder: Block Types and Building a Page
Build a template page with the block editor.
Every page in a template is a block editor. Choose a grid layout, then fill each cell with a block. Blocks pull in your variables, so the page shows real data from the project your team is building instead of static placeholder text.
[Image: Screenshot of a template page in the block editor with the grid preset selector visible]
How a Page Is Put Together
Three things to understand before you start:
- Grid presets set the layout. Choose a preset to change how the page is divided up.
- Blocks fill their grid cell. A block expands to the full size of the cell it sits in, so the grid, not the block, controls the proportions of the page.
- Variables are the through-line. Options change depending on which block you have selected, but almost every block is ultimately a way of inserting and displaying variables. Anything in your variables list is available.
Think of it as a what-you-see-is-what-you-get editor. You are laying out a page visually, and the data inside it stays live.
The Block Types
- Text: a paragraph or a run of copy, with variables inserted inline.
- Number: a numeric value, typically driven by a variable.
- HTML: your own HTML, rendered on the page. See the section below.
- Table: rows and columns of data.
- Image: an image on the page, including assets from your media library.
- Spacer: empty space, for controlling layout.
- Heading: a page or section heading.
- Divider: a horizontal rule separating sections.
- Button: a clickable element on the page. [NEEDS CLARIFICATION: confirm how a Button block behaves in a PDF export versus a web view, so this description can say so explicitly.]
- Chart: a visual representation of data. [NEEDS CLARIFICATION: which data sources can a Chart block use, and are chart types selectable?]
- List: a bulleted or numbered list.
[Image: Screenshot of the block type picker showing all available block types]
The HTML Block Is the Powerful One
If you want a template page that actually looks like your company's proposal, the HTML block is where you will spend your time.
It lets you build fully styled pages that render live variable data, so you get control over the layout and the visual design while the numbers on the page still come from the project. Everything the other blocks do individually, an HTML block can do in one place, with your own styling around it.
For example, inserting the customer name variable inside an HTML block looks like: <p>Prepared for </p> [NEEDS CLARIFICATION: confirm the actual variable insertion syntax used inside an HTML block]. The block renders the tag as styled HTML, with the variable resolved to the real project value.
It is also the block that assumes the most from you, since you are writing markup rather than filling in fields. If you are not comfortable there, see Template Builder: Build with AI for the AI options and the AI context variable file that exist for exactly this reason.
[Image: Screenshot of an HTML block in the editor alongside its rendered output showing live variable data]
Combining Visuals and Live Data
Media library assets can sit on the same page as variable-driven data. That means a page can carry your real visual assets, for example array photos, racking images, or a team photo, alongside numbers that update with the project.
Upload your assets to the media library first, then place them with an image block or reference them from an HTML block. [NEEDS CLARIFICATION: confirm how a media library asset is referenced from inside an HTML block — by URL, by a helper tag, or another method.]
For more information on Media Library and PDF Content Pages, please see this support article.
1. Choose a Grid Preset
On your template page, select a grid preset to divide the page into cells.
[Image: Screenshot of the grid preset selector with a preset being chosen]
2. Add a Text Block
Add a text block into a grid cell.
[Image: Screenshot of a text block being added to an empty grid cell]
3. Insert the Customer Name Variable
With the text block selected, insert the customer name variable into the block. The block now displays whatever customer name the project carries rather than fixed text. [NEEDS CLARIFICATION: confirm the exact mechanism for inserting a variable — an insert button, a picker, a typed token, or a drag from a variables panel.]
[Image: Screenshot of the variable insert control with the customer name variable being selected]
4. Save the Page
Save your work before you leave the block.
[Image: Screenshot of the save control in the block editor]
5. Preview the Page
Preview the page to confirm the variable resolved to a real value rather than showing as a variable name. This is the loop worth repeating for every block you add: add, insert, save, preview.
[Image: GIF showing the full loop of adding a text block, inserting the customer name variable, saving, and previewing the resolved value]
6. Add a Table Block
Add a table block into a grid cell, then set what the table should display, and save and preview it the same way.
[NEEDS CLARIFICATION: which data sets can a table block bind to? Confirm whether a table pulls from a defined list of data sets such as cash flow, adders, incentives, or equipment, whether rows are built manually with individual variables in each cell, or both. This step cannot be finalized without that answer.]
[Image: Screenshot of a table block on a template page showing populated rows]
Repeat this loop, add, insert, save, preview, for any block type you add to the page.
Keep Your Variables Straight
Every variable available to a block comes from your variables list, which includes Scanifly design data, the calculations behind the standard proposal, and anything you created yourself. If a value you want on the page does not exist yet, create it as a variable first, then come back and insert it.
For more information on Variables Overview: The Six Types and What They Do, please see this support article.
📘 Pro Tip: Build and preview one block at a time. A page with ten blocks and one broken variable is much harder to debug than a page you checked as you went.
[NEEDS CLARIFICATION: confirm whether the Template Builder requires the "Manage proposals" permission, the way Media Library and PDF Content Pages does. If so, add a 🚧 Admin only 🚧 callout here and link to Proposal Tool Permissions: Who Can Do What.]
For more information on Template Builder: Access, Templates, and Pages, please see this support article.
For more information on Variables: Custom, AI, and Input Variables, please see this support article.
If you have any questions or need further assistance, please reach out to our chat support or email hello@scanifly.com.