Skip to content

Templates

A Template is the schema definition in Omnismith. It combines a set of Attributes into a reusable blueprint that shapes how Entities (data records) are created, validated, searched, and visualized.

Think of a Template as a digital form design: once designed, you can create dozens, thousands, or millions of matching records from it.


A Template consists of two main configuration areas:

  1. Basic Info:
    • Name: Clear, descriptive template title (e.g., Support Ticket, Server Node, Customer Account).
    • Slug (Optional): A project-unique string identifier (e.g. server_node, support_ticket) that enables deterministic API entity creation without querying template UUIDs.
    • Description: Optional operational notes explaining what data this template holds.
    • Visual Styling: Icon and color customization for easy identification across the UI.
  2. Attribute Composition:
    • The list of attached Attributes (Dimensions, Metrics, Lists, References) that define the fields of records created under this template.
    • Reordering fields to customize the entity form presentation.

  1. Navigate to Data Modeling → Templates in the navigation launcher.
  2. Click + Create Template.
  3. Basic Details Tab:
    • Enter a Name (e.g. Server Node).
    • Enter an optional Slug (e.g. server_node).
    • Set an optional description and visual icon.
  4. Attributes Tab:
    • Click + Attach Attribute.
    • Select existing attributes from your project library (e.g. Hostname, Environment, Status, CPU Usage, Latency).
    • Drag to reorder fields as desired.
  5. Click Save Changes.

Template details screen with Basic and Attributes tabs


3. Template Slugs & Deterministic API Workflows

Section titled “3. Template Slugs & Deterministic API Workflows”

Templates support string-based project-unique slugs (template_slug):

  • Zero-Lookup Ingestion: External ingestion pipelines can create entities directly by specifying template_slug: "server_node" and attribute slugs, eliminating the need to look up template UUIDs.
  • Cross-Environment Consistency: Deploy schemas across development, staging, and production environments deterministically using static configuration files and matching slugs.

4. Template Attribute Groups (Form Sections & Layouts)

Section titled “4. Template Attribute Groups (Form Sections & Layouts)”

Templates allow organizing attached attributes into structured, visual Attribute Groups (Sections) to create clean, intuitive form layouts:

  • Named Sections: Group related fields into logical blocks (e.g. General Information, Hardware Specifications, Network & Connectivity, Operational Status).
  • Custom Section Headers: Set a custom Name, Description, and Icon for each group.
  • Responsive 1 or 2-Column Grid: Choose between single-column full-width layouts (columns: 1) or compact 2-column side-by-side layouts (columns: 2).
  • Drag-and-Drop Organization:
    • Drag individual attributes between groups or move them to the Ungrouped Attributes section.
    • Drag and drop entire group containers to reorder the section hierarchy.
  • Entity Form Rendering: When viewing or editing an entity record (SH-020.png), fields are neatly compartmentalized into these styled section blocks according to the template’s group configuration.
{
"name": "Server Node",
"slug": "server_node",
"groups": [
{
"name": "System Identity",
"description": "Host and environment identification",
"icon": "dns",
"columns": 2,
"attribute_ids": ["019fe205-c125-735b-98bd-86851e8baf15"]
},
{
"name": "Performance Telemetry",
"description": "Real-time metrics and health indicators",
"icon": "speed",
"columns": 2,
"attribute_ids": ["019fe206-e9d6-7349-b628-f9e9474622a2"]
}
]
}

5. Dynamic Schema Evolution (Zero-Downtime Updates)

Section titled “5. Dynamic Schema Evolution (Zero-Downtime Updates)”

One of Omnismith’s greatest strengths is runtime schema flexibility:

  • Adding Fields: Attach a new attribute to an existing template at any time. All existing entities under that template instantly gain access to the new field without database migrations.
  • Removing Fields: Detach an attribute from a template to hide it from entity forms and search tables without destroying historical metric logs.
  • Restructuring Groups: Modify section headers, column grids, or field groupings at runtime without affecting stored entity values.
  • No Downtime: Changes take effect immediately across the web UI, API endpoints, and dashboard views.