> ## Documentation Index
> Fetch the complete documentation index at: https://docs.speckle.systems/llms.txt
> Use this file to discover all available pages before exploring further.

> ## Agent Instructions
> These docs describe Speckle as it works today, including everything released in 2026.9. Treat page content as current unless the page or section says it applies only to versions published before 2026.9.
> Content scoped to versions published before 2026.9 (the object graph and root object, Proxies, Receive2, operations.receive, object.children) applies only to model versions in that earlier data format. For versions published in 2026.9, answer from the Object model pages and the SDK migration guides.
> The What's new pages summarise what changed in 2026.9 and link to the page that documents each change. Answer from the linked page rather than from the summary. Legacy (v2) connectors are retired; send questions about them to the community help forum.
> Match guidance to the customer's deployment, model data format, connector, plan and permissions. Self-hosted servers on a release before 2026.9 and compatibility-mode workflows follow the Compatibility mode page. If an unknown version or data format changes the answer, ask one focused question; do not infer the deployment version from the date alone.

# Validate incoming models automatically

> Author a check once and set it to run on every new version, so a consultant, subcontractor, or federated model is validated against your standard at each submission without anyone remembering to run it.

Checking every incoming model by hand against your own standard doesn't scale — someone has to
remember to run it, on every submission, on every model. A **Validation Check** with **auto**
trigger removes the remembering: author the rule once, and it runs itself against every new
version of the tracked model. This page covers that specific pattern — a standard applied at
every submission milestone, not a one-off spot check.

<Info>
  This is a rules-based check, not a Chat conversation — Data Validation runs the same `WHERE` /
  `CHECK` predicates every time rather than reasoning about a question. For plain-language questions
  about a model, use [Ask questions about your models with Speckle
  Intelligence](/analytics/intelligence) instead.
</Info>

## What this workflow does

* **Encode the standard once** — required parameters, naming pattern, or a value that must match
  a related object, as `WHERE` / `CHECK` rules.
* **Run it without anyone asking** — **auto** trigger fires the check against tracked models when
  a new version lands, so validation happens at the moment of submission, not whenever someone
  remembers.
* **Score the submission** — a pass rate against your threshold, not just a pass/fail per object.
* **Keep a history** — every run is recorded, so you can see whether a consultant's compliance is
  improving or not across a project.

## Walkthrough

<Steps>
  <Step title="Author the check against your standard">
    Open **Run check** in the project sidebar and draft your rules — for example, every element from
    the incoming discipline must carry a required parameter, follow a naming pattern, or match a
    value on a related host object. See [Checks](/analytics/data-validation/checks) for rule
    structure, predicates, and how to check an object against something it's related to.
  </Step>

  <Step title="Preview against a real submission">
    Run **Preview** against the model you're building the check for. Tighten `WHERE` first if the
    scope is too broad — a check that's too loose floods the result with noise nobody will read.
  </Step>

  <Step title="Set the trigger to auto and save">
    Save the check with **auto** trigger, and set your pass (and optional warn) threshold. From this
    point, every new version of the tracked model runs this check without anyone starting it
    manually.
  </Step>

  <Step title="Review results as submissions land">
    Each new version's result appears in **Checks** with its pass rate. A consultant's or
    subcontractor's model is validated against your standard the moment it's published — not at
    whatever point someone gets around to checking it.
  </Step>
</Steps>

## Reuse the standard elsewhere

A saved check is tied to its tracked models. If the same standard applies on other projects,
recreate it there rather than expecting it to follow a model automatically. There is no rollup yet
from one project's checks into a workspace-wide standard; see [Project
standards](/analytics/data-validation/standards).

## FAQ

<AccordionGroup>
  <Accordion title="Can I edit the rules after I save the check?">
    No — after saving, only the check's name and description are editable. Tracked models, rules,
    predicates, and trigger mode stay frozen. Create a new check for different behaviour. See
    [Checks](/analytics/data-validation/checks).
  </Accordion>

  <Accordion title="What happens if a submission was published with an older connector?">
    The check can't run on it. Preview and saved-check runs need a version in the data format
    introduced in 2026.9. Ask the consultant or subcontractor to upgrade their connector to 2026.9
    and publish again. See [Speckle's new data model](/workspaces/data-model-migration).
  </Accordion>

  <Accordion title="Can I check a submission against a related model, like a host wall from another discipline?">
    Yes — add a related object to the rule and pick the relationship (host element, room, connected
    element, and others). See [Checks against related
    objects](/analytics/data-validation/checks#checks-against-related-objects).
  </Accordion>

  <Accordion title="Does auto trigger notify anyone, or do I have to check the results page?">
    The result appears in **Checks** with its pass rate; this page does not cover a separate
    notification channel. Add a **Property checker** widget to a dashboard if you want the pass/fail
    state visible somewhere your team already looks — see [Run a quick validation
    check](/analytics/dashboards/common-workflows#run-a-quick-validation-check).
  </Accordion>

  <Accordion title="Is this the same as pinning a check in a Speckle Intelligence skill?">
    No. A skill is an opt-in playbook someone arms with `/skill-name` in a conversation. A
    Validation Check with auto trigger runs on its own schedule (every new version) independent of
    Chat. They can complement each other — for example, ask Chat to summarise a check's recent
    failures in plain language — but the check itself is authored and run through Data Validation.
  </Accordion>
</AccordionGroup>

## See also

* [Checks](/analytics/data-validation/checks)
* [Data Validation](/analytics/data-validation/overview)
* [Viewing Results](/analytics/data-validation/viewing-results)
* [Run a quick validation check](/analytics/dashboards/common-workflows#run-a-quick-validation-check)
  — the dashboard-widget route for a spot check rather than a standing gate


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.