Skip to main content
For AI agents: a documentation index is available at https://docs.coverbase.com/llms.txt. This page is also available in markdown by appending .md to the URL.
This is the complete list of placeholders you can write in an assessment report template. Field names are matched case-insensitively, and whitespace around the entity, the ::, and the field name is ignored.

Vendor

{{vendor::<field>}} resolves against the vendor that the assessment belongs to.

Assessment

{{assessment::<field>}} resolves against the assessment being exported. Dates are formatted YYYY-MM-DD in the timezone supplied at export time.

Services

{{services::<field>}} covers all services in scope on the assessment, flattened into a single value. When the assessment has one service, the value is the bare field value. When it has more than one, the value becomes a bulleted block of • Service name - value, and services with no value for that field are dropped. When the assessment has no services, every services placeholder is empty.

Reviews

{{reviews::<field>}} covers the whole-assessment reviews on the assessment. Domain-scoped reviews from the risk profile are excluded, matching the other exports. Formatting follows the same rule as services: a single review renders bare, several reviews render as a bulleted block keyed by a row label. The row label is the review name, falling back to the reviewer, falling back to Review 1, Review 2, and so on.
Use {{reviews::summary}} when there is more than one reviewer. The individual field placeholders each produce their own bulleted list, so reading a reviewer’s outcome next to their notes means cross-referencing two lists. summary keeps each reviewer’s label, outcome, and notes on one line.

Findings

{{findings::<set>::<column>}} only works inside a table row. The row is cloned once per finding in the set. See repeating findings tables for how to lay the table out, and one table per risk domain to split findings by risk domain. Sets: Columns, usable with either set: Rows where a column has no value render that cell empty. Each set is capped at 100 rows.

Scoping a table to one risk domain

{{findings::<set>::<risk domain>::<column>}} narrows a table to the findings whose controls belong to one risk domain, so a report can carry a separate table per domain:
The domain is the name as configured in Configuration → Risk domains, matched ignoring case and surrounding spaces. It resolves per finding through the control the finding was raised against: the control section’s risk domain when it sets one, otherwise the control set’s. A domain with no findings renders “No new findings for Privacy”; a domain your org does not have is reported as an unknown placeholder.

Agent

{{agent::<your prompt>}} generates prose from the assessment. The whole text after :: is the prompt.
Output is rendered as Word content, honoring **bold**, *italic*, ***bold italic***, ==highlight==, and bulleted and numbered lists. Headings and markdown tables are not rendered. See AI-written sections for the full behavior, including timeout and failure markers.

Custom field formatting

Custom fields render according to their configured type.
Select and multi-select fields with more than 10 options collapse to a plain comma-separated list of only the selected values. A marked list of 70 country options is unreadable in a report, so Coverbase drops the unselected ones automatically.

Quick lookup

{{vendor::name}} and {{vendor::description}}.
{{assessment::residual risk}} for the outcome, {{assessment::inherent risk}} for the starting point, {{assessment::assessment score}} for the numeric score.
A two-row table with {{findings::new::id}}, {{findings::new::title}}, {{findings::new::risk level}}, and {{findings::new::due date}} in the body row.
One table per domain, each using {{findings::new::<risk domain>::<column>}}, for example {{findings::new::Privacy::title}}. Or keep one table and add a {{findings::new::risk domain}} cell to label each row.
{{reviews::summary}} for everything on one line per reviewer, or {{assessment::approval option}} for the approval decision recorded on the assessment itself.
{{agent::...}} with a specific prompt. Say who the audience is and how long the answer should be.