Workflows
Build, validate, deploy, run, and manage finance automations in the visual Workflow Studio.
Workflows turn repeatable finance operations into connected triggers, actions, decisions, delays, and human checkpoints. The web app includes a workflow library, a visual editor, validation and deployment controls, manual test runs, execution history, and AI-assisted editing.
Availability and Access
The Workflows feature requires an authenticated team workspace on Starter or higher.
| Plan | Configured workflow entitlement |
|---|---|
| Free | Workflows unavailable |
| Starter | 3 workflows |
| Pro | Unlimited workflows |
| Enterprise | Unlimited workflows |
The current Create Workflow screen is protected by plan and role checks, but it does not show remaining workflow quota or a pre-submit limit check. If the number your workspace can create differs from the configured entitlement, use the workspace’s current billing state and support guidance as the authority.
The primary navigation gate is owner-facing:
- workspace owners on Starter or higher can open Workflows from the sidebar;
- members and viewers can see a locked entry even though the underlying workflow service has narrower namespace permissions for them;
- billing write restrictions can block create, edit, deploy, run, resume, cancel, and delete actions even when read access still works.
The workflow service applies this namespace matrix:
| Role | Payment Follow-up | Promise to Pay | Settlement |
|---|---|---|---|
| Owner | read, create, edit, deploy, and delete | read, create, edit, deploy, and delete | full definition access |
| Member | read, create, edit, and deploy; no delete | read, create, edit, and deploy; no delete | no definition access |
| Viewer | read only | read only | no definition access |
Because the web navigation itself requires an owner, use an owner account for the supported browser workflow. A non-owner opening a direct page can encounter a locked navigation item or a permission error even when the underlying service would otherwise grant read access.
Open Workflows
Choose Workflows in the primary sidebar. The section has two secondary tabs:
- Workflows for definitions, status, and editing
- Executions for run history
Workflow Pauses is available from a run’s Execution Details → View All Pauses action. It is not a third secondary tab.
Understand the Workflow Library
The Workflows page summarizes:
- Total Workflows,
- Active definitions,
- Inactive definitions, and
- Automation Nodes across the definitions loaded for the page.
Use Search workflows... to match a name, description, or namespace. The filter control can narrow by namespace and active state. The table shows Workflow, Namespace, Status, Nodes, Version, Updated, and Actions.
The page requests at most 100 definitions. Search runs against that loaded set in the browser; it is not an unlimited workspace-wide search.
From a workflow row you can:
- choose Edit to open Workflow Studio,
- choose Activate or Deactivate,
- choose View Details, or
- choose Delete.
Delete requires confirmation, is owner-only, and cannot be undone from the web app.
Create a Workflow
- Open Workflows.
- Choose Create Workflow.
- Enter a required Name.
- Choose a Namespace:
- Payment Follow-up for receivables follow-up,
- Promise to Pay for payment-promise operations, or
- Settlement for settlement negotiation.
- Add an optional Description.
- Choose Create workflow.
The new definition starts inactive at version 1 and opens in Workflow Studio. It contains one Trigger block at the starting position. That trigger defaults to Invoice Overdue; select it and change the configuration when the workflow should start another way.
The namespace cannot be changed after creation through the current update service. Choose it deliberately.
Build in Workflow Studio
Workflow Studio has a canvas, a resizable right panel, an optional console, and three panel modes:
- Library lists blocks that can be clicked or dragged onto the canvas.
- Editor configures the selected block, including its name, description, enabled state, and block-specific inputs.
- Copilot can explain the open definition, inspect history, and propose edits.
Connect a source handle on one block to the target handle on the next. Select blocks or edges to move, configure, duplicate, disable, or delete them. Deleting a block also removes edges attached to it.
The current Library exposes these blocks:
| Group | Blocks |
|---|---|
| Triggers | Trigger |
| Communications | Send Email, Send SMS, Notify Team |
| Finance actions | Apply Late Fee, Escalate |
| General action | Action |
| Flow control | Decision, Router, Loop, Parallel, Subflow, Wait, Pause, End |
Other registered block types are intentionally hidden from the current Library. Do not assume that a registered or API-level type can be added through the web editor.
Canvas controls and shortcuts
The canvas supports pan, zoom, partial selection, dragging, connection handles, undo, redo, and fit-to-view. Useful shortcuts are:
| Action | macOS | Windows or Linux |
|---|---|---|
| Save now | Command+S | Control+S |
| Run or stop | Command+Enter | Control+Enter |
| Undo | Command+Z | Control+Z |
| Redo | Command+Shift+Z | Control+Shift+Z |
| Duplicate selected block | Command+Shift+D | Control+Shift+D |
| Delete selection | Delete or Backspace | Delete or Backspace |
| Fit to view | Command+Shift+F | Control+Shift+F |
| Auto-layout | Shift+L | Shift+L |
| Clear console | Command+D | Control+D |
Shortcuts that change the canvas are suppressed while focus is inside most editable fields.
Use AI-Assisted Editing
Choose the sparkle icon in the editor header to open Generate with AI. A successful wand request applies its validated proposal immediately as one undoable change.
Open the Copilot panel for a conversational workflow. Copilot proposals are not applied by the server. Review the latest proposal, then explicitly accept or reject it. An accepted proposal is also one undoable document replacement.
AI requests can fail because of connectivity or assistant rate limits. Always inspect the resulting blocks, connections, and configuration before deployment.
Autosave and Version Behavior
Every document edit marks the workflow dirty. The editor waits 1.5 seconds, then saves the definition and canvas positions. The header reports:
- Saved,
- Unsaved changes,
- Saving…, or
- Save failed.
Command+S or Control+S bypasses the debounce. Running and deploying also request an immediate save first. Leaving the editor attempts to flush pending work, but a browser or network failure can still prevent persistence; do not leave while Save failed is visible.
Generic editor autosaves deliberately keep the current version, and the activation action only changes active state. The displayed version therefore does not increment for normal canvas edits or for activate/deactivate in the current web flow.
Validate and Deploy
Choose Deploy to open the deployment sheet. Expand Validation to inspect structural and configuration checks.
Deployment is blocked by errors such as:
- no trigger,
- orphaned or disconnected blocks,
- a cycle,
- a decision branch or router route without a mapped edge,
- an edge that references a missing block, or
- a required block setting that is invalid.
Warnings such as a missing terminal block, multiple triggers, or unreachable blocks are shown but do not block deployment by themselves.
Choose Deploy in the sheet to activate a draft. Activation is the shipped publish operation: it saves first, validates again on the server, and sets the definition active. There is no separate deployment artifact or environment selection wired into this page.
The same editor action toggles an already published workflow back to inactive. In that state the sheet labels the button Deployed, but selecting it calls the unpublish operation. For a clearer deactivation action, use the workflow’s actions menu and choose Deactivate.
Run and Stop a Workflow
The Run button is disabled until the workflow is active. A manual run:
- saves current editor changes,
- queues a run with trigger type
manualand an empty trigger-data object, - opens the console, and
- overlays live step state on the canvas when realtime data is available.
While that editor-tracked run is active, Run becomes Stop. Stop calls the execution-cancel operation. The web Run action does not ask for trigger data and does not send an idempotency key, so do not double-click or use it as a substitute for testing an event-specific payload.
Editing an active definition changes the stored definition immediately. A waiting execution is resumed against the current active definition, and deactivating a definition causes a resume attempt to be skipped. Before a major structural edit, inspect Executions for waiting runs and decide how they should be handled.
Verify a Deployment
- Confirm the header badge says Published and the save indicator says Saved.
- For a safe first test, use a Manual trigger and a no-side-effect path ending in End.
- Choose Run once.
- Watch the console and canvas overlay.
- Open Workflows → Executions.
- Open the new run and confirm its status, steps, trigger data, context, and result.
An Active badge proves eligibility to run; it does not prove that an event trigger fired or that an execution completed.
Troubleshooting
Workflows is locked
Confirm that the workspace is on Starter or higher and that you are a workspace owner. A billing write restriction can also leave reads available while blocking changes.
Create workflow fails for Settlement
Settlement is owner-only. Members and viewers are restricted to the Payment Follow-up and Promise to Pay namespaces.
Deploy is disabled
Expand Validation and correct every failed check. Warnings alone do not block deployment.
The editor says Save failed
Keep the page open, restore network access, make a small change, or use Command+S or Control+S to retry. Confirm Saved before running or leaving.
Run is disabled
The workflow is a draft or inactive. Deploy it successfully before a manual run.
A published workflow changed while a run was waiting
The resume worker loads the current definition, not a user-visible immutable deployment snapshot. Inspect the waiting execution and the edited node IDs before resuming.
The version did not change after editing or deployment
That is current generic-editor behavior. Autosave and activation do not bump the displayed version.