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
Section titled “Organizations”Organizations scope your projects, connections, and team members. Every account has a personal organization created automatically.
| Role | Manage Members | Manage Connections | Create Projects | View Projects |
|---|---|---|---|---|
| Owner | Yes | Yes | Yes | All |
| Admin | Yes | Yes | Yes | All |
| Member | No | No | Yes | Assigned |
Creating Projects
Section titled “Creating Projects”Projects are the top-level containers for your forms and data. Click New Project from the Projects page to open the wizard.
From a Snowflake Table
Section titled “From a Snowflake Table”- Select Source: Browse the Object Explorer to pick a database, schema, and table/view
- 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
- Name: Enter a project title
- Review: AI analyzes the table and generates an optimized form layout
From a Semantic View
Section titled “From a Semantic View”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).
From CSV/Excel
Section titled “From CSV/Excel”Upload a spreadsheet to auto-generate a form and import data. AI analyzes column names and data to suggest field types and layout.
Empty Form
Section titled “Empty Form”Start from scratch with a blank form and build it manually in the Form Editor.
Form Editor
Section titled “Form Editor”Access the form editor via the Edit Form button on a project (requires build seat or higher).
Structure
Section titled “Structure”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)
Draft / Publish / Discard
Section titled “Draft / Publish / Discard”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=draftto a submission URL to preview the draft
Index Columns
Section titled “Index Columns”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.
Field Types
Section titled “Field Types”Basic text input. Enable Multi-line for a textarea.
Numeric
Section titled “Numeric”Number input with optional constraints: min/max value, decimal places for rounding.
Date picker. Enable Include time to add a time selector.
Checkbox
Section titled “Checkbox”A single true/false toggle.
Select
Section titled “Select”Dropdown or multi-select list. Options are managed in the field editor. Supports cascading dropdowns for dependent fields.
Lookup
Section titled “Lookup”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.
Variant
Section titled “Variant”Displays JSON or complex structured data (Snowflake VARIANT/OBJECT/ARRAY columns). Read-only in the form view.
Common Settings (all types)
Section titled “Common Settings (all types)”- 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
Section titled “Field Rules”Field rules control when a field is visible based on another field’s value.
- Open the Field Editor for the field you want to show/hide
- Scroll to the Rules section and click Add Rule
- Select the parent field whose value determines visibility
- Choose a condition: equals, does not equal, contains, is empty, less than, greater than, or between
- 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
Section titled “Cascading Dropdowns”Cascading dropdowns filter a child Select field’s options based on the parent’s selected value.
- Create both parent and child Select fields with their options
- Open the child field’s editor
- Under Cascading Parent, select the parent field
- 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
Section titled “Submissions”Submissions are individual form responses within a project partition.
Creating & Editing
Section titled “Creating & Editing”- 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
Submission List
Section titled “Submission List”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
Virtual Submissions
Section titled “Virtual Submissions”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
Section titled “Nested Forms”Nested forms embed child project submissions within a parent submission.
In the form editor, add a Nested Form section and select the child project.
Using Nested Forms
Section titled “Using Nested Forms”- 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.
Submission Workflows
Section titled “Submission Workflows”Enable review and approval workflows on a per-project basis. See Workflow States for the full state machine reference.
Status Flow
Section titled “Status Flow”| Status | Description |
|---|---|
| Draft | Initial state. User can edit fields freely. |
| Submitted | Submitted for review. Fields locked. |
| Under Review | Being reviewed by a manager. Fields locked. |
| Approved | Accepted. Fields locked. |
| Rejected | Declined. 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
Data Import & Export
Section titled “Data Import & Export”Import from Snowflake
Section titled “Import from Snowflake”On the submission list, click Import > Snowflake Table, browse the Object Explorer, and select a source table. Data syncs from Snowflake into submissions.
Import from CSV/Excel
Section titled “Import from CSV/Excel”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.
Export to Snowflake
Section titled “Export to Snowflake”Click Export > Snowflake Table, browse to choose a target table, and run the export. Submissions are written back to Snowflake.
Export to CSV
Section titled “Export to CSV”Click Export > CSV for a one-click download of all submissions.
Permissions
Section titled “Permissions”42Forms has a layered permission system. See Permission Model for the full reference.
Organization Level
Section titled “Organization Level”Organization roles (Owner, Admin, Member) control who can manage members, connections, and settings. Org admins and owners have full access to all org projects.
Project Level
Section titled “Project Level”The project creator is the owner with full access. Non-owners must be granted partition-level permissions.
Partition Level
Section titled “Partition Level”Managed in Partition Settings (gear icon):
| Permission | Description |
|---|---|
| Submit | Create new submissions |
| Read Own | View own submissions |
| Read All | View all submissions |
| Edit Own | Edit own submissions |
| Edit All | Edit any submission |
| Delete Own | Delete own submissions |
| Delete All | Delete any submission |
| Manage | Access settings and form editor |
Field Group Permissions
Section titled “Field Group Permissions”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.
Audit Trail
Section titled “Audit Trail”Field Change History
Section titled “Field Change History”Open a submission’s History tab to see a timeline of field changes - old value, new value, who changed it, and when.
Access Log
Section titled “Access Log”The Access Log tab shows who viewed or edited the submission, with timestamps.
Form Changelog
Section titled “Form Changelog”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
Section titled “Partitions”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)