Workflow Organization

Heym lets you organize workflows in folders, create sub-folders, and schedule workflows for deletion. See Workflows Tab for the UI overview.

Heym lets you organize workflows in folders, create sub-folders, and schedule workflows for deletion. See Workflows Tab for the UI overview.

Folders and Sub-folders

Folders form a tree. Each folder has:

  • Name – Display name
  • Parentparent_id links to another folder; null means root
  • Workflows – Workflows can be moved into folders via folder_id

API

EndpointPurpose
GET /foldersRoot folders only
GET /folders/treeFull tree (children + workflows)
GET /folders/{id}Single folder with contents
POST /foldersCreate folder (parent_id optional)
PUT /folders/{id}Update name or parent_id
DELETE /folders/{id}Delete folder (cascade)
PUT /folders/{folder_id}/workflows/{workflow_id}Move workflow into folder
DELETE /folders/workflows/{workflow_id}/folderRemove workflow from folder
GET /folders/{id}/exportDownload folder + all subfolders as ZIP

Tree Structure

The tree response includes children and workflows per folder. Shared workflows can appear in a folder via WorkflowShare.folder_id.

Sharing Workflows

Open Share in the workflow editor to invite users by email or share with a team.

Sharing a workflow grants access to the canvas, execution history, and analysis document. It does not automatically share:

  • Credentials referenced by nodes in the workflow
  • Sub-workflows called by Execute nodes or agents

Recipients need those credentials and child workflows shared with them separately (same users or teams). Share credentials from the Credentials tab; see Credentials Sharing. Share each sub-workflow from its own editor share dialog.

Scheduled for Deletion

Workflows can be scheduled for deletion instead of being removed immediately.

  • Field: scheduled_for_deletion (nullable datetime)
  • Behavior: When set, the workflow moves to folder_id = null and appears in the "Scheduled for Deletion" section.

API

EndpointPurpose
PUT /workflows/{id}/schedule-deletionSet scheduled_for_deletion, clear folder_id
DELETE /workflows/{id}/schedule-deletionClear scheduled_for_deletion (restore)

UI

  • Drag to trash – Drop workflows into the "Scheduled for Deletion" area to schedule them
  • Restore – Remove from schedule
  • Delete immediately – Trash icon for permanent removal

Cleanup Logic

A cron job runs daily at 23:59 (configured timezone). A workflow is only deleted when:

  • All start nodes (nodes with no incoming edges, excluding sticky/errorHandler) have active === false

If any start node is still active, the workflow stays until the next run.

Dashboard UI

  • Sidebar – New Folder, recursive folder tree with expand/collapse
  • Context menu – New Subfolder, Rename, Download as ZIP, Delete per folder
  • Main area – Root workflows (no folder, not scheduled) and Scheduled for Deletion
  • Folder drop preview – Dragging a workflow highlights the exact folder or sub-folder and shows its full path in a card-sized preview. A collapsed folder expands after a short hover.
  • Stable drag feedback – The source card uses a drag ghost, and the active drop target stays selected while scrolling or crossing controls inside the same folder.
  • Destination check – The current folder is shown as Already in Folder and does not accept a redundant move.
  • Other drop zones – Root and "Scheduled for Deletion" highlight when they can accept the dragged workflow.
  • ZIP drop – Drop a ZIP file onto the workflow area to import a folder structure at root level