{"schemaVersion":"1","contentVersion":"2026-10-18.1","slug":"controls-workflows","title":"Workflow list, canvas, and version controls","summary":"Find an automation, edit its steps, understand Save and Create, and manage versions and data contracts.","category":"Control reference","minutes":14,"prerequisites":["Open the named screen in Rumata. Available controls may depend on your account, permissions, and resource state."],"sections":[{"id":"list","title":"Find and manage workflows","blocks":[{"type":"paragraph","text":"Open [System Explorer](/guides/controls-preview#navigation) → [Workflows](/guides/controls-workflows#list). A workflow is an automation made of connected steps."},{"type":"table","headers":["Control","What it does"],"rows":[["Search workflows","Find workflows in the list."],["All triggers / trigger filter","Limit the list to a particular way of starting a workflow."],["Refresh workflows","Reload the list and its displayed measurements."],["Grid view / Table view","Choose cards or a comparison table."],["Sort column heading / Filter column","Order or narrow Name, Endpoint, Requests, Avg latency, Last latency, Last hit, Created at, and Updated at in table view."],["Show affected / Show all","Limit the list to workflows needing attention from the overview, or restore the complete list."],["Column filter operator / value / Clear filter","Choose a comparison and value for that column. [Clear filter](/guides/controls-workflows#list) removes that condition; it does not change any workflow."],["Workflow card / row","Open its graph editor."],["New workflow","Start a workflow draft. It becomes a saved workflow when you choose Create."],["Workflow actions → Edit details","Open the name and description form. [Save](/guides/controls-workflows#list) applies this metadata without changing graph steps."],["Workflow actions → Manage access","Open permissions for who can read, edit, or execute this workflow."],["Workflow actions → Copy endpoint URL","Copy the HTTP endpoint when this workflow has one."],["Workflow actions → Copy ID","Copy its identifier."],["Workflow actions → Delete","Open confirmation. The final Delete permanently removes the workflow, all versions, and its run history. Cancel keeps it."]]}]},{"id":"toolbar","title":"Editor toolbar and saving","blocks":[{"type":"paragraph","text":"Graph edits are local until you save. [Save](/guides/controls-workflows#toolbar) publishes the graph as the current workflow version; it is not just a private draft save."},{"type":"table","headers":["Control","What it does"],"rows":[["Back to workflows","Return to the workflow list. Resolve your unsaved work before leaving."],["Workflow name","Edit the name in the graph draft."],["Visual / JSON / Runs / Performance","Switch between the canvas, graph definition, [execution history](/guides/system-explorer-workflows), and performance measurements."],["Run","Open the test-run panel. The [Run workflow](/guides/controls-workflow-runs#prepare) button inside that panel actually executes the saved workflow."],["Create / Save","Validate and publish the current graph. The number of issues with required settings appears beside the action."],["Review first item","Open the first step needing attention so you can complete its required settings."],["Access","Manage permissions. [Save](/guides/controls-workflows#toolbar) a new workflow first to enable this."],["More actions","Open [Version history](/guides/controls-workflows#versions), [API & schemas](/guides/controls-workflows#api-schemas), [Groups](/guides/controls-access#groups), [Copy workflow ID](/guides/controls-access#groups), and [Discard changes](/guides/controls-workflows#toolbar)."],["Discard changes","Open confirmation to restore the last saved graph, or clear an unsaved new graph. Keep editing cancels; the final [Discard changes](/guides/controls-workflows#toolbar) loses the draft."]]}]},{"id":"canvas","title":"Visual canvas","blocks":[{"type":"paragraph","text":"A step is a node; a connecting line describes where data goes next. Changes here form part of the graph draft."},{"type":"table","headers":["Control","What it does"],"rows":[["Add step / palette search","Open the step catalog and search its triggers, connectors, activities, AI, and control steps."],["Step choice","Add the selected kind of step, then configure its fields. Selecting a connector first shows its available operations."],["Step on the canvas","Select it and open the settings inspector."],["Step Name / Close inspector","Give it a recognizable label or dismiss settings. Closing does not undo the draft edit."],["Drag a step / drag a connection handle","Reposition a step or connect an output to another step’s input."],["Connection / delete connection action","Select and remove a connection from the draft."],["Delete this step","Remove the selected step from the draft. [Save](/guides/controls-workflows#toolbar) is required to publish that removal."],["Zoom in / zoom out / fit view / mini-map","Navigate the diagram without executing it."],["Field help icon / Advanced disclosure","Read an explanation or reveal additional settings for the selected step."]]}]},{"id":"json","title":"Graph JSON","blocks":[{"type":"paragraph","text":"This is the technical representation of the same steps and connections."},{"type":"table","headers":["Control","What it does"],"rows":[["Graph definition editor","Edit the JSON text. Invalid JSON is reported in the editor."],["Format","Reformat valid JSON for readability."],["Apply to canvas","Load the edited definition into the graph draft. Review the canvas and [Save](/guides/controls-workflows#toolbar) to publish it."]]}]},{"id":"versions","title":"Version history","blocks":[{"type":"paragraph","text":"Open [More actions](/guides/controls-workflows#toolbar) → [Version history](/guides/controls-workflows#versions). Each saved graph version remains in history."},{"type":"table","headers":["Control","What it does"],"rows":[["Refresh / Close","Reload the history or dismiss the panel."],["Version row","Load that graph onto the canvas. The Current badge identifies the currently published version."],["Rename version / name field","Give the version a label of up to 100 characters."],["Save name / Enter","[Save](/guides/controls-workflows#versions) the version label immediately without changing the immutable graph snapshot."],["Cancel name / Escape","Discard the pending label edit."],["Save while viewing an older version","Open restoration confirmation. [Restore version](/guides/controls-workflows#versions) publishes the displayed graph as a new current version; Cancel keeps the current published version."]]}]},{"id":"groups","title":"Workflow group membership","blocks":[{"type":"paragraph","text":"[More actions](/guides/controls-workflows#toolbar) → [Groups](/guides/controls-access#groups) controls what this workflow can access through group membership. Access controls who can access the workflow itself."},{"type":"table","headers":["Control","What it does"],"rows":[["Refresh / Close","Reload memberships or dismiss the drawer."],["Add to a group / group search / group choice","Find a group you own and add this workflow. Selecting the group applies the membership immediately; graph [Save](/guides/controls-workflows#toolbar) is not required."],["Create a new group / Group name / Description / Create & add","Create a group and immediately request this workflow’s membership. Creating the group and adding membership are separate operations; a membership error can leave the new group in place."],["Back in group creation","Return to the existing-group picker without submitting the new-group form."],["Member / Pending / Requested","Read whether membership is active or still waiting for approval."],["Remove from group","Open confirmation. Remove immediately withdraws membership and its inherited access; Cancel keeps it."]]}]},{"id":"api-schemas","title":"API & schemas","blocks":[{"type":"paragraph","text":"This panel describes the published address and the expected input/output shape. A schema is a set of rules for the data callers send or receive."},{"type":"table","headers":["Control","What it does"],"rows":[["Copy workflow endpoint","Copy the published URL. Check its method and any path parameters before calling it."],["Open workflow endpoint","Open the published address in a new browser tab. A browser visit sends a GET request; if the route runs on GET, this can execute the workflow."],["View raw JSON Schema","Expand the exact schema behind the readable field summary."],["Edit schemas","Open the Input schema and [Output schema](/guides/controls-workflows#api-schemas) text editors."],["Input schema / Output schema","Edit the JSON rules for incoming and returned data. Leave an editor blank to remove that schema."],["Remove beside a schema","Clear that schema in the pending edit."],["Save schemas","Apply the schema changes immediately. These changes do not create a graph version."],["Cancel schemas / Close panel","Leave without submitting the current schema edit."]]}]}],"technical":[],"related":["system-explorer-workflows","controls-workflow-triggers","controls-workflow-runs"],"sources":["components/window/explorer/graph-workflows/WorkflowList.tsx","components/window/explorer/graph-workflows/WorkflowEditorToolbar.tsx","components/window/explorer/graph-workflows/WorkflowEditorWorkspace.tsx","components/window/explorer/graph-workflows/WorkflowEditorDialogs.tsx","components/window/explorer/graph-workflows/VersionsPanel.tsx","components/window/explorer/graph-workflows/WorkflowApiPanel.tsx"],"updated":"2026-09-06","audience":"general","media":[{"src":"https://docs.rumata.dev/media/manual/workflow-step.jpg","width":1662,"height":789,"alt":"Lesson-loading workflow with the SQL activity selected and its settings open.","caption":"Reference capture from the separate Sabai Talk Thai application (September 8, 2026). Selecting a step opens its settings beside the graph. This lesson route loads its content through a saved query; no settings were changed for the capture.","sectionId":"canvas"}],"video":null,"url":"https://docs.rumata.dev/guides/controls-workflows"}