Skip to content

User Guide

42Forms is a dynamic form builder and data management platform that runs natively inside your Snowflake account. Connect to your Snowflake tables, views, and semantic views to build forms, collect submissions, run approval workflows, and sync data back to Snowflake.

Organizations scope your projects, connections, and team members. Every account has a personal organization created automatically.

RoleManage MembersManage ConnectionsCreate ProjectsView Projects
OwnerYesYesYesAll
AdminYesYesYesAll
MemberNoNoYesAssigned

Projects are the top-level containers for your forms and data. Click New Project from the Projects page to open the wizard.

  1. Select Source: Browse the Object Explorer to pick a database, schema, and table/view
  2. Choose Load Mode:
    • Virtual Rows (Streaming): data stays in Snowflake, read on-demand (best for large tables)
    • Full Import: all rows imported locally (best for full control)
    • Form Only: creates form from schema, no data sync
  3. Name: Enter a project title
  4. Review: AI analyzes the table and generates an optimized form layout

Create a multi-project hierarchy from a Cortex Analyst semantic view. AI creates one project per logical table with relationships automatically wired via join keys (e.g., Customers → Orders → Line Items).

Upload a spreadsheet to auto-generate a form and import data. AI analyzes column names and data to suggest field types and layout.

Start from scratch with a blank form and build it manually in the Form Editor.

Access the form editor via the Edit Form button on a project (requires build seat or higher).

Forms are organized as:

  • Sections: collapsible cards with a title (drag to reorder)
  • Rows: horizontal containers within a section (drag to reorder)
  • Fields: individual form inputs within a row (drag to reorder)

The form editor uses a draft workflow:

  • Auto-save: Changes save to a draft automatically (2-second debounce)
  • Publish: Promotes the draft to production - submissions render using the published form
  • Discard: Reverts all unpublished changes back to the last published version
  • Preview: Add ?preview=draft to a submission URL to preview the draft

Index columns determine which fields appear as columns in the submission list table. Click Index Columns in the form editor header to select up to 5 fields.

Basic text input. Enable Multi-line for a textarea.

Number input with optional constraints: min/max value, decimal places for rounding.

Date picker. Enable Include time to add a time selector.

A single true/false toggle.

Dropdown or multi-select list. Options are managed in the field editor. Supports cascading dropdowns for dependent fields.

Autocomplete field that searches values from another project’s data. Configured by linking to a target project and field.

Read-only display element. Use the Description field to set the display text. Cannot be edited by users.

Displays JSON or complex structured data (Snowflake VARIANT/OBJECT/ARRAY columns). Read-only in the form view.

  • Title: The field label shown to users
  • Description: Optional help text shown below the field
  • Required: Mark the field as mandatory
  • Field Group: Assign a group number for field-level permissions

Field rules control when a field is visible based on another field’s value.

  1. Open the Field Editor for the field you want to show/hide
  2. Scroll to the Rules section and click Add Rule
  3. Select the parent field whose value determines visibility
  4. Choose a condition: equals, does not equal, contains, is empty, less than, greater than, or between
  5. Enter the comparison value(s)

A field is visible only when all its rules evaluate to true. Rules are evaluated in real-time as the user fills out the form.

Cascading dropdowns filter a child Select field’s options based on the parent’s selected value.

  1. Create both parent and child Select fields with their options
  2. Open the child field’s editor
  3. Under Cascading Parent, select the parent field
  4. In Option Dependencies, map each child option to the parent values that make it visible

Options with no mapping are always visible. If the parent changes and the child’s selection becomes invalid, it resets.

Submissions are individual form responses within a project partition.

  • Click New Submission to open a blank form
  • Fields auto-save after a brief delay (2 seconds)
  • The save indicator shows: Saving…, Saved, or Save failed
  • Required field validation triggers when you leave a field

The submission list provides:

  • Search: Filter by index column values
  • Sort: Click column headers to sort ascending/descending
  • Pagination: Choose 20, 50, or 100 rows per page
  • Status filter: Filter by workflow status (if enabled)
  • Edited-only filter: Toggle between all rows and locally-edited rows (Snowflake-synced projects)
  • Bulk delete: Select multiple rows with checkboxes and delete

When a project uses Virtual Rows (Streaming) mode, Snowflake data is not imported - it’s read on-demand.

  • Virtual rows appear in the submission list alongside local submissions
  • Clicking a virtual row opens a read-only view of the Snowflake data
  • To edit, the row is materialized: copying current Snowflake values into a local submission
  • Once materialized, the submission is fully editable with a full audit trail
  • Locally-edited rows show a pencil icon; use Edited only to filter

See Virtual Submissions for the technical details.

Nested forms embed child project submissions within a parent submission.

In the form editor, add a Nested Form section and select the child project.

  • Each nested form appears as a named section (e.g., “Orders”) showing a table of child submissions
  • Click Add to create a new child linked to this parent
  • Click a row to view/edit the child submission
  • The breadcrumb trail tracks your navigation through the hierarchy

For projects created from semantic views, relationships are wired automatically using join keys.

Enable review and approval workflows on a per-project basis. See Workflow States for the full state machine reference.

StatusDescription
DraftInitial state. User can edit fields freely.
SubmittedSubmitted for review. Fields locked.
Under ReviewBeing reviewed by a manager. Fields locked.
ApprovedAccepted. Fields locked.
RejectedDeclined. Fields locked.
  • Submitters can: submit (draft → submitted), revert own submissions back to draft
  • Managers (can_manage) can: move to under review, approve, reject, or send back
  • When workflow is enabled, fields are read-only unless the submission is in draft status
  • An optional comment field is available on each transition

On the submission list, click Import > Snowflake Table, browse the Object Explorer, and select a source table. Data syncs from Snowflake into submissions.

Click Import > CSV/Excel and upload your file. Map columns to form fields, validate rows, then import. If no form exists, AI generates one from the file.

Click Export > Snowflake Table, browse to choose a target table, and run the export. Submissions are written back to Snowflake.

Click Export > CSV for a one-click download of all submissions.

42Forms has a layered permission system. See Permission Model for the full reference.

Organization roles (Owner, Admin, Member) control who can manage members, connections, and settings. Org admins and owners have full access to all org projects.

The project creator is the owner with full access. Non-owners must be granted partition-level permissions.

Managed in Partition Settings (gear icon):

PermissionDescription
SubmitCreate new submissions
Read OwnView own submissions
Read AllView all submissions
Edit OwnEdit own submissions
Edit AllEdit any submission
Delete OwnDelete own submissions
Delete AllDelete any submission
ManageAccess settings and form editor

Fields can be assigned to groups for column-level access control. Users can be granted Read (view only) or Edit (view and modify) per group. Fields with no group are accessible to everyone. See Permission Model for details.

Open a submission’s History tab to see a timeline of field changes - old value, new value, who changed it, and when.

The Access Log tab shows who viewed or edited the submission, with timestamps.

On the project detail page, the Form History tab shows all structural changes (field additions, renames, reorders) with before/after values, filterable by entity type and user.

Partitions organize submissions within a project into separate groups (e.g., “Q1 2025”, “Q2 2025”).

  • Single partition (default): Submissions appear directly on the project page
  • Multiple partitions: Each partition appears as a card - click to view its submissions
  • Managed in the project detail page (Manage Partitions, owners only)