Skip to main content
Use it together with:

Example 1: simplest possible workflow

Use this when you just want to prove the runner works.
What it does:
  • starts
  • appends one line to a file
  • ends

Example 2: LLM draft only

Use this when you want the workflow to generate text and stop there.
What it does:
  • drafts content with an LLM
  • writes the output to node-outputs/
  • finishes without posting anything

Example 3: draft → approve → publish

Use this when you want a human review step before external posting.
What it does:
  • drafts text
  • pauses for approval
  • publishes only after approval

Example 4: writeback after work finishes

Use this when you want the workflow to leave a durable note in team files.

Example 5: success path and failure path

Use this when you want different behavior after success vs failure.

Example 6: cron-triggered workflow skeleton

Use this when you want a workflow definition that is meant to run on a schedule.

Common mistakes

1) Expecting if or delay nodes to work as first-class built-ins

They are not first-class built-in node kinds today.

2) Forgetting assignedTo.agentId

Several node kinds require it.

3) Expecting install to automatically enable posting

Workflow support and workflow posting are not the same thing.

4) Using paths outside the team workspace

fs.append is intentionally constrained.

5) Assuming all incoming edges must succeed

Current incoming-edge semantics are OR, not AND.

Suggested learning order

If you are new to workflows, read in this order:
  1. WORKFLOW_RUNS_FILE_FIRST.md
  2. this file
  3. OUTBOUND_POSTING.md