1.9 KiB
Templates User Guide
Open Templates to create or select a reusable definition.
- Choose the template type and the contexts in which it may be used, such as
campaign.postal. - Declare every required input path and its type. Use the same paths as tokens
in the body, for example
{{name}}or{{postal.address}}. - Configure page size and, for label sheets, rows, columns, and spacing.
- Save to create a new immutable revision. Publish the revision before using it for final output.
- In Preview, supply a representative JSON item. Compatibility validation explains missing fields, wrong types, unsupported usages, and output-format mismatches before output is produced.
- Preview a draft or render final output. Store it in Files when that module is available and you have upload permission; otherwise use the bounded download. Bounded output history is visible only to the actor who rendered it and to a Templates administrator. Calling modules expose their own governed download when additional collaborators need access.
Render evidence shows the exact revision and abbreviated template, input, and output hashes. A consumer such as Campaign can submit many frozen recipients; the UI sample intentionally validates one representative item.
Rendering is also limited to 15 seconds elapsed time, 10 CPU seconds, 512 MiB process memory, 32 MiB serialized input and 8 MiB serialized result transport; the final output remains limited to 5 MiB and 5,000 items. Deeply nested data or more than 1,000,000 transported value nodes is rejected. A limit error creates no partial output or render evidence: reduce the selected input or template complexity and retry. If processing capacity is busy, retry later. Unavailable worker controls or a worker failure require operator investigation. Existing successful output with the same idempotency key is reused without rendering again, provided its input and authorization still match.