Skip to main content
FlowFn
IntegrationsTemplatesPricingDocsBlogSign inStart free
All documentation

Workflow Task Types

UpdatedJun 28, 2026Reading time4 min read

Overview

Tasks are the steps that run after the trigger. Each task has a type and can link to the next step or to branches. Outputs from one task can be used as inputs to the next.

AI Model

Calls an AI model (identified by reference_code). Configure the prompt and inputs; you can define custom output fields. Uses your team's AI model connection and consumes plan credits.

Platform Tool

Runs an action of a connected platform tool (reference_code, action, connection). Map inputs from the trigger or previous tasks. Credentials are stored at the team connection level.

Condition

Branches execution based on an expression. Most operators use a left operand, an operator, and a right operand (right may be empty for equals / not_equals). Unary operators is_empty and is_not_empty only evaluate the left value. Operators: equals, not_equals, greater_than, less_than, contains, is_empty, is_not_empty. Configure yes_task_id (when the condition is true) and no_task_id (when false) for the next step.

Loop

Repeats a task multiple times. Settings: max_iterations (1–20), delay_between_iterations (0–60000 ms), loop_task_id (the task to run on each iteration).

Parallel

Runs multiple tasks at once. Settings: task_ids – a list of task IDs. All run concurrently; the workflow continues from a designated next step after they complete.

Code

Runs custom code (e.g. JavaScript). Use for data transformation or logic not covered by platform tools or AI. You can use placeholders directly in code to map trigger/task values at runtime.

See Code Task Placeholders and Custom Values for syntax and examples.

Template

Converts and decorates string-based data. Define a list of input fields (mapped from trigger or previous tasks). Write the template body in the editor (plain text, JSON, HTML, etc.) and use placeholders like {{arg1}}, {{arg2}} to inject input values. Output is a single field content (string) for use in the next task (e.g. email body, code input).

Beyond simple placeholders, the template body supports path-based conditionals and loops (no code — resolved from your input fields, using the same dotted paths as {{placeholders}}):

  • {{ff-if path}} … {{/ff-if}} (with an optional {{ff-else}} … ) — render a section only when path is truthy. An empty list or empty object counts as falsy, so {{ff-if items}} cleanly guards a list.
  • {{ff-each item in path}} … {{/ff-each}} — repeat a section for each element of an array. Inside, reference the element as {{item.field}}; to get a zero-based index use {{ff-each (item, i) in path}} and {{i}}.

Blocks nest freely and work in plain text, HTML, and JSON output. A missing path or a non-array loop renders nothing, and an unbalanced tag is left as plain text. Unlike playground page templates, workflow templates accept dotted paths only — not JavaScript expressions.

Data Visualizer

Pushes workflow output into a Visualizer so it appears in a live dashboard. Select a visualizer in the task settings; the task requires a visualizer to be set. Map workflow outputs to the visualizer's data schema fields. See Visualizers overview and Creating and using visualizers for how to create and configure visualizers.

Data Sheet

Reads or writes a sheet in a Database from the Data Sheets feature. Pick a database (filtered to the workflow's app) and one of its sheets, then choose an operation: read, create, edit, upsert, or delete. Use it to persist run state, accumulate results, or sync records into shared tabular storage without an external database.

See Data Sheets in workflows for detailed usage and examples.

Trigger Inputs

Exposes trigger inputs as outputs for downstream tasks. Define at least one output mapping (trigger input key to output key). Later tasks can reference these outputs like any other task output. Useful for normalizing or renaming trigger data before passing it to AI or platform tool tasks.

Approval

Pauses the workflow run for human sign-off. Configure assignees (team members), a minimum approval count, and an optional email subject and message (both support placeholders). The run pauses with status paused; assignees receive an email with Approve and Reject buttons plus a deep link to the run page. Once the minimum approvals are collected the run resumes automatically; if enough rejections make the threshold unreachable the run is marked failed. Approval tasks cannot be optional — the gate is always enforced. An "Allow approving without sign-in" toggle controls whether the Approve / Reject buttons in the email land on a public page (no session) or on the dashboard (sign-in required).

See Approval Tasks: Human Sign-off for setup and run-time behavior.

For AI Model and Platform Tool tasks, reference_code identifies the model or tool; the connection and credentials are configured at the team level in the app.

For file handling across tasks, see File Handling in Workflows.

Spotted an issue or have feedback?

support@flowfn.com
Back to docs hub →