Skip to content

HyvFlow (Project Management)

RoutePurpose
/hyvflowWorkspace listing
/hyvflow/[id]Portfolio view within workspace
/hyvflow/[id]/pf/[portfolioId]/p/[projectId]/m/[milestoneId]Task management
/my-tasksPersonal tasks across all workspaces

Workspace → Portfolio → Project → Milestone → Sprint → Task → Subtask

FieldTypeRequiredValidation
nametextYesNon-empty
membersmulti-selectNoFrom all system users
isdraftbooleanNoDraft = visible only to creator
  • Generates UUID, sets status (Draft or Active)
  • Creates default portfolio: “New Portfolio Beta”
  • Notifications sent to assigned members

FieldTypeRequiredValidation
nametextYesNon-empty
membersmulti-selectNoFrom workspace members

When members are removed from portfolio, they’re automatically removed from all child projects.


FieldTypeRequiredValidation
nametextYesNon-empty
descriptiontextareaYesNon-empty
objectivestextareaNo
requirementstextareaNo
scopetextareaNo
riskstextareaNo
visiontextareaNo
resourcesnumberNoMin 0
membersmulti-selectNoFrom workspace members
startDatedateNoMin today
dueDatedateNoMin startDate
  • Creates default milestone “Milestone” with:
    • 3 status columns: “TO DO” (#E2E8F0), “IN PROGRESS” (#60A5FA), “COMPLETE” (#4ADE80)
    • 1 default sprint: “Sprint 1”
  • Project members synced to portfolio
  • Notifications sent to all members

FieldTypeRequiredValidation
nametextYesNon-empty
descriptiontextareaYesNon-empty
startDatedateNoMin today
dueDatedateNoMin startDate

Each milestone has configurable status columns (arrayStatus) with name, color, and position. Default: TO DO, IN PROGRESS, COMPLETE.


FieldTypeRequiredValidation
nametextYesNon-empty
startDatedateNoMin today
endDatedateNoMin startDate

Sprints organize tasks within milestones. Can insert at specific positions.


FieldTypeRequiredNotes
nametextYesTask title
descriptiontextNoRich text content
statusselectAutoFrom milestone status columns
priorityenumAuto (Normal)Urgent, High, Normal, Low
startDatedateNo
dueDatedateNo
assigneesmulti-selectNoTeam member UIDs
tagsarrayNoTag objects with title
timeEstimatestringNoEstimated duration
trackTimestringNoActual tracked time
sprintIdstringAutoSprint assignment
taskTypeenumAuto (Task)Task or Milestone
parentIdstringNoFor subtasks
  1. Type task name in inline form
  2. Optionally set start/due dates
  3. Click “Add” - creates with Normal priority and current sprint/status
  • Created via parentId linking to parent task
  • Inherit milestoneId and sprintId from parent
  • Expandable/collapsible in task cards
  • Count shown as badge
  • Add items by typing name + Enter
  • Toggle done/undone with circle icon
  • Each item can have assignees
  • Progress shown as {done}/{total}
  • Drag-drop or click to upload
  • Max 30MB per file
  • Checks subscription storage limit
  • Storage path: tasks/{taskId}/files/{fileID}
  • Creates storage metadata at storageUser/{userId}/files/{fileID}
  • Comment: Enter text (Enter to submit, Alt+Enter for newline)
  • @Mentions: Type @ for autocomplete dropdown, searches by displayName/email
  • Image attachments in comments (drag-drop)
  • Reply threads stored as nested replies
  • Edit/delete own comments
  • Activity auto-logged: status changes, file uploads, checklist updates
  • Types: link, waiting (blocked by), blocking (blocks others)
  • Blocker: Cannot mark task complete if waiting relationships have incomplete blockers
  • Alert shows: “Hold on - There Are Dependent Tasks” with list
  • URL dependencies for external links

When marking a task complete that has subtasks:

  • Dialog: “Update Task and All Subtasks” or “Update Only This Task”
  • Recursive update available

  • Sprint sections (collapsible)
  • Status columns within each sprint
  • Drag-drop tasks between statuses or within column
  • Visual drop indicator
  • Sprint-grouped task listing
  • Status sections within sprints
  • Columns: #, Name, Assignees, Status, Due Date, Created Date, Created By, Tags, Priority, Last Updated
  • Sortable by: Name (A-Z), Status, Priority, Due Date, Created At
  • Filterable by: Status, Priority, Tags
  • Subtask show/hide toggle
  • Powered by dhtmlx-gantt
  • Timeline: 31-day range (past 3 days to future)
  • Sprints as parent rows, tasks as children
  • Today highlighted
  • Click task to open modal

View preference persisted via userInterfacesManager.


Aggregates all tasks assigned to current user across all workspaces/portfolios/projects. Same task modal and editing capabilities as project view.


Bookmark projects, milestones, or tasks. Shown in sidebar favorites menu.


Sent on create/edit of workspaces, portfolios, projects, milestones. Contains link to item. @mentions create separate notification records.