FormWork FormWork

Core Concepts

Understand the fundamental concepts and terminology used in FormWork.

Before diving deep into FormWork, it’s helpful to understand the core concepts and how they relate to each other.

Hierarchy Overview

FormWork organizes data in a clear hierarchy:

Account
└── Projects
    └── Forms
        ├── Form Versions
        │   ├── Pages
        │   │   └── Fields
        │   └── Workflows
        └── Entries
            └── Answers

Accounts

An Account is the top-level container for all your FormWork data. It represents your organization or team.

  • Each account has its own users and permissions
  • Billing is managed at the account level
  • API keys are scoped to accounts

Projects

Projects help you organize related forms together.

  • Group forms by department, client, or purpose
  • Control access at the project level
  • Keep your workspace organized

Forms

A Form is the core entity in FormWork. Each form can have multiple versions and collects entries (submissions).

Form Types

FormWork supports three types of forms:

  1. Normal Forms - Standard forms for collecting data
  2. Data Tables - Structured data stores (like a spreadsheet)
  3. Metafields Forms - Internal fields attached to normal forms

Form Versions

FormWork uses versioning to manage changes to your forms safely.

Version States

  • Draft - Work in progress, not visible to users
  • Published - The current live version
  • Archived - Previous versions kept for reference

How Versioning Works

  1. When you edit a form, you work on a draft version
  2. Publishing creates a new live version
  3. Existing entries retain their original version
  4. New entries use the published version

This ensures you can make changes without affecting in-progress submissions.

Pages

Forms can have multiple Pages to organize fields into logical steps.

  • Create multi-step forms for better user experience
  • Show progress indicators
  • Navigate between pages

Fields

Fields are the building blocks of your forms. FormWork offers 20+ field types organized into categories:

Atomic Fields

Single-value inputs like text, email, number, date, select, etc.

Templated Fields

Pre-configured field groups like Name (first, middle, last) and Address.

Container Fields

Fields that contain other fields, like Groups.

Content Fields

Display-only elements like headings, paragraphs, and images.

Entries

An Entry represents a single form submission.

Entry States

  • Draft - In-progress, not yet submitted
  • Complete - Successfully submitted
  • Processing - Being processed by workflows
  • Error - Workflow encountered an error

Answers

Each entry contains Answers - the values submitted for each field.

Answers are stored in a flat map structure using Answer Paths:

"name" → "John Smith"
"email" → "[email protected]"
"address.street" → "123 Main St"
"address.city" → "New York"
"items[abc123].name" → "Widget"
"items[abc123].quantity" → 5

The path format supports:

  • Simple fields: field_id
  • Nested fields: group_id.field_id
  • Repeater instances: repeater_id[instance_id].field_id

Workflows

Workflows automate actions when certain events occur.

Triggers

Events that start a workflow:

  • Form submitted
  • Answer updated
  • Entry created
  • Button clicked
  • API request received
  • And more

Steps

Actions that execute in sequence:

  • Calculate values
  • Update fields
  • Send emails
  • Make API requests
  • Create/update/delete entries
  • Loop over collections

Connections

Steps connect via paths like next, true, false, or error to create branching logic.

References

FormWork uses a reference system to access data dynamically across the platform.

Reference format: source:identifier.path

Examples:

  • entry:current.answers.email - Current entry’s email answer
  • form:abc123.fields.name - A form’s field definition
  • data_table:products[sku="ABC"].price - Lookup from a data table
  • workflow:step1.outputs.result - Output from a workflow step

References enable:

  • Dynamic field defaults
  • Conditional logic based on other values
  • Workflow calculations and data access
  • Data table lookups

Data Tables

Data Tables are structured data stores within FormWork.

Use cases:

  • Dropdown option lists
  • Lookup tables for calculations
  • Reference data (countries, categories, products)

Data tables support:

  • Multiple columns with typed data
  • Row-level data storage
  • Reference from forms and workflows

Metafields

Metafields are internal fields attached to a form for admin purposes.

  • Not visible to form respondents
  • Used for internal notes, status tracking, computed values
  • Stored in a separate linked form
  • Can trigger their own workflows