Overview
Terra’s folder system lets you organize forms into logical groups—by program, department, or any structure that fits your workflow. Drag and drop forms between folders for quick reorganization.Folders are workspace-wide. All team members see the same folder structure.
Creating Folders
- Navigate to the Forms page
- Click the + button in the folder sidebar
- Enter a folder name (e.g., “Housing Connector”)
- Choose a color for visual identification
- Click Create Folder

Moving Forms to Folders
Drag and Drop
The fastest way to organize forms:- Hover over a form row to reveal the drag handle (⋮⋮)
- Drag the form to the target folder in the sidebar
- Drop to complete the move
Bulk Organization
For large-scale reorganization, consider:- Creating folders first based on your program structure
- Filtering by “Uncategorized” to see unorganized forms
- Dragging related forms to their folders in batches
Folder Views
All Forms
Shows every form in your workspace regardless of folder. Use this view to see your complete form inventory.Uncategorized
Forms that haven’t been assigned to any folder. New forms start here by default.Custom Folders
Click any folder to filter the view to only forms in that folder. The form count badge updates in real-time.Managing Folders
Rename a Folder
- Hover over the folder in the sidebar
- Click the ⋯ menu
- Select Rename
- Update the name and/or color
- Click Save Changes
Delete a Folder
- Hover over the folder in the sidebar
- Click the ⋯ menu
- Select Delete
- Confirm deletion
Folder Colors
Choose from 8 colors to visually distinguish folders:| Color | Hex | Suggested Use |
|---|---|---|
| Indigo | #6366F1 | Default / General |
| Blue | #3B82F6 | Active programs |
| Emerald | #10B981 | Approved / Complete |
| Amber | #F59E0B | Needs attention |
| Rose | #F43F5E | Urgent / Priority |
| Purple | #A855F7 | Special programs |
| Slate | #64748B | Archive / Inactive |
| Cyan | #06B6D4 | Pilot programs |
Best Practices
Organize by Program
Organize by Program
Create one folder per program (e.g., “Housing Connector”, “Emergency Rental Assistance”, “Utility Assistance”). This maps to how most government teams think about their work.
Use Consistent Naming
Use Consistent Naming
Establish naming conventions early. Consider prefixes like department codes (e.g., “HSD - Housing”, “HSD - Utilities”) for large organizations.
Archive Inactive Programs
Archive Inactive Programs
Create an “Archive” or “Inactive” folder for programs that are no longer accepting applications but need to be preserved for record-keeping.
Limit Folder Depth
Limit Folder Depth
Terra uses a flat folder structure (no nested folders) intentionally. This keeps navigation simple and prevents organizational complexity.
Technical Reference
Database Schema
Server Actions
| Action | Description | Parameters |
|---|---|---|
getFolders() | Fetch all folders with form counts | — |
createFolder(name, color) | Create a new folder | name: string, color?: string |
updateFolder(id, updates) | Update folder name/color | id: string, updates: { name?, color? } |
deleteFolder(id) | Delete folder (unlinks forms) | id: string |
moveFormToFolder(formId, folderId) | Move form to folder | formId: string, folderId: string | null |
Component Architecture
Drag and Drop
Terra uses@dnd-kit/core for drag-and-drop:
- Draggable: Form rows in the table (
useDraggable) - Droppable: Folder items in the sidebar (
useDroppable) - Sensors: Mouse (8px activation) and Touch (200ms delay)
Troubleshooting
Drag handle not visible
Drag handle not visible
The drag handle appears on hover. Ensure you’re hovering over the form row, not just the form name link.
Form count not updating
Form count not updating
Folder counts update optimistically. If counts seem wrong, refresh the page to sync with the database.
Can't delete folder
Can't delete folder
Ensure you have appropriate permissions. The delete action unlinks all forms first, which requires write access to the forms table.