Skip to content

Flow Editor

The Flow Editor is where you design the action flow for a workflow step. Actions define what happens when a step executes — user tasks, API calls, email notifications, conditional logic, and more.

Flow Editor

INFO

Access the Flow Editor by clicking Edit Flow on a step in the Template Editor.

Layout

The Flow Editor has three tabs and a split-panel layout:

  • Left panel — action tree showing the hierarchical structure
  • Right panel — configuration form for the selected action

Actions Tab

Action Tree

The left panel shows all actions in the step as a hierarchical tree. Actions can be:

  • Sequential — each action runs after the previous one completes
  • Nested — inside conditional branches, parallel blocks, or loops

Each action shows its name, type icon, and a drag handle for reordering. If the action has a stage assigned, a colored badge appears next to the name showing the stage color and name.

  • Click an action to select it and view its configuration
  • Drag an action to reorder or move it into a different container
  • Click Add Action to insert a new action at that level

Action Library

When adding a new action, the action library panel opens with all available types:

User Tasks

ActionDescription
User FormCollect data from an assigned user via a form
ApprovalRequest approval or rejection from a user
Document UploadCollect files from an assigned user

System Actions

ActionDescription
HTTP RequestMake an API call to an external service
GraphQLExecute a GraphQL query
JavaScriptRun custom JavaScript code
EchoTransform or reshape data
Send EmailSend an email notification

Control Flow

ActionDescription
Conditional (If/Then/Else)Branch based on a condition
ParallelRun multiple actions simultaneously
DelayPause execution for a duration
LoopRepeat actions while a condition is true
Set VariableUpdate a workflow variable

Action Configuration

When you select an action in the tree, the right panel shows its configuration form. Fields vary by action type.

Common Fields

  • Name — display name for the action
  • Description — optional description (supports Scriban template expressions for dynamic text)

User Task Configuration

User Form configuration

  • Assignee — who should complete this task. The selector has two modes:
    • Select — pick a specific user or group from the directory
    • Expression — use a variable expression, e.g. {{ workflow.createdBy }} to assign to the person who launched the workflow

Assignee expression mode

  • Form fields — field definitions for form tasks (or select a Form Task Template)
  • Initial data — pre-fill fields with values from workflow variables (see Smart Values below)
  • Document requirements — what files are needed (for document upload tasks)

HTTP Request Configuration

  • URL — the endpoint to call (supports template expressions)
  • Method — GET, POST, PUT, DELETE, PATCH
  • Headers — request headers
  • Query parameters — URL query string
  • Body — request payload
  • Credentials — select saved credentials from the Credentials Vault to authenticate the request
  • Retry policy — max attempts and backoff strategy for failures

Email Configuration

  • Recipients — email addresses (static or from workflow variables)
  • Subject — email subject line (supports template expressions)
  • Body — email content (HTML or text, supports template expressions)

Conditional Configuration

  • Condition — JavaScript expression that evaluates to true or false
  • Then branch — actions to run if the condition is true
  • Else branch — actions to run if the condition is false

Delay Configuration

  • Duration — fixed duration or template expression (e.g., {{ input.delayDays }} days)

Output Mapping

Each action can map its output to workflow variables. In the action configuration, define:

  • Source expression — path to the data in the action's output
  • Target variable — workflow variable name to store the value

Error Handling

Configure what happens when an action fails:

  • Stop — halt the workflow step
  • Continue — skip the error and proceed to the next action

Smart Values

Smart Values let you insert dynamic data into action fields using the {{ expression }} syntax. They are used in task initial data, email bodies, descriptions, HTTP URLs, and more.

Available Variable Scopes

ScopeSyntaxDescription
Input data{{ input.field_name }}Values from the workflow launch form
Context{{ context.client.firstName }}Entity data (Client, Account, Household) passed from the portal
Workflow metadata{{ workflow.createdBy }}Workflow-level info (ID, initiator)
Action output{{ actions("action_name").field }}Output from a previous action in the same step
Previous loop iteration{{ loop.previous.actions("taskName").data }}Data from the same task in the previous loop cycle

Using Smart Values in Form Pre-fill

When configuring a User Form action, the Initial Data field accepts a Smart Value expression. The resolved values are used to pre-fill the form fields before the assignee opens the task.

Common patterns:

  • Pre-fill from input{{ input }} passes all launch form data as initial values
  • Pre-fill from previous action{{ actions("collectInfo").data }} carries forward data entered in an earlier form
  • Loop carry-forward{{ loop.previous.actions("reviewForm").data }} lets a reviewer see data from the previous iteration

TIP

The Initial Data field provides a variable picker that shows all available variables in context. Click the {x} icon to browse and insert variables.

Variable picker showing available scopes

Credentials Vault

The Credentials Vault stores authentication credentials for external services. Credentials are used in HTTP Request actions to authenticate API calls without embedding secrets in the workflow template.

Supported Authentication Types

TypeDescription
OAuth 2.0Token-based authentication for services like Salesforce, Microsoft, HubSpot
Basic AuthUsername/password authentication

Supported Providers

The vault includes pre-configured provider integrations: Schwab, Salesforce, QuickBooks, Microsoft Entra, HubSpot, Orion, Redtail, Wealthbox, and others.

Managing Credentials

Credentials are managed in the External Apps section of the platform preferences. To create a credential:

  1. Navigate to Preferences → External Apps
  2. Click Add Credential
  3. Select the provider and authentication type
  4. Enter the required configuration (base URL, client ID, secrets, etc.)
  5. Save the credential

Using Credentials in Actions

When configuring an HTTP Request action, select a credential from the Credentials dropdown. The selector shows credentials grouped by provider, with search to quickly find the right one. Select None to make unauthenticated requests.

Stages Tab

Define workflow stages — named states that the step can be in (e.g., "Submitted", "Under Review", "Approved").

  • Add Stage — create a new stage with a name and color
  • Reorder — use up/down buttons to change stage order
  • Edit — change the stage name or color
  • Delete — remove a stage

Stages are used to track the progress of a step through different phases.

Output Tab

Define output mappings for the step — which action results should be exposed as step-level output variables.

  • Add Mapping — select a source (action output) and target (output variable name)
  • Remove Mapping — delete an existing mapping

Saving

WARNING

The Flow Editor does not auto-save. Click Save Now to persist your changes. An "Unsaved changes" banner appears when you have pending edits.

If you try to navigate away with unsaved changes, a confirmation dialog warns you about losing your work.

Validation

The editor validates your flow before saving:

  • Document upload tasks must have at least one document requirement
  • Required fields must be properly configured
  • The save button shows the number of validation errors (if any)

Invent Workflows Guide