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

# Create and attach an app template

> Bind a small interface to a published workflow, then configure and test a workspace instance.

This exercise wraps your own tested workflow in a small app. Choose a workflow with an inspectable output and, if needed, a named human wait.

You need Vantage, Forge authoring, workflow access and permission to create a child in the destination workspace.

<Steps>
  <Step title="Select the workflow version">
    Open the app-template authoring surface in Forge. Create a template and select the tested published workflow version.

    Inspect the Entry inputs, output steps, waits and publication path. The template pins that workflow version.
  </Step>

  <Step title="Add a minimal interface">
    Choose platform elements for the task. For example, use a document for the artefact, a review sheet for the wait and a log for run progress.

    Bind each element to the compatible workflow step. An element does not require its own workflow step, and a step needs no visible element.

    Use a Fill binding for calculated text, tiles or charts. In the workflow's **Fill app block** inspector, select the template and target block. An app save does not add that workflow step.
  </Step>

  <Step title="Validate the layout and actions">
    Arrange the elements in a readable layout. Check the narrow layout as well as the desktop layout.

    Inspect each binding and action. A read-only transcript cannot become an editable agent chat through presentation settings. Resolve missing or duplicate block IDs before publication.
  </Step>

  <Step title="Publish and attach">
    Publish the template. Attach it to your test workspace and configure the instance's local parameters, data, reviewers, destinations and budget.

    Publish the instance configuration. Select a template pin or deliberately follow latest. Reusing a template does not copy another workspace's data or runs.
  </Step>

  <Step title="Run the workspace instance">
    Start one run from the instance. Inspect the exact instance, template and workflow versions.

    Check the output, human wait and each supported action. Confirm that read-only users cannot submit an unauthorised decision.
  </Step>
</Steps>

## Keep input sources distinct

Instance parameters belong to the published instance configuration. A workflow Entry receives that run's input. A human-answer form settles an existing wait.

An app-instance run starts from its instance-held input. It does not accept arbitrary launch input in the start call. Use supported instance configuration for that input.

Exact parameter references have the form `${parameters.name}` and replace a complete value. Embedded text containing that expression is not substituted. Plain Forge workflow tests have no instance parameters.

## Check later updates

Following latest changes future runs only. If a new template is incompatible with local settings, the instance stays visible but cannot run until repaired.

Archiving an app preserves past runs. A missing or archived workflow blocks new runs. Use [Run a workspace app](/vantage/run-apps-and-workflows/run-app) for the reader's operating route.


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