Process Studio Development (Stages, Decisions, Loops, Collections)
Core stage vocabulary
You must know the standard stages and when each is appropriate: Start, End, Action (calls an object action), Decision, Calculation, Multi-Calculation, Choice, Data Item, Collection, Loop, Block, Note, Anchor, Page (sub-page call), Exception, Recover, Resume, and Alert. Understand that links carry data via the stage's output properties, and that a Decision stage routes flow based on a boolean expression.
Loops and collections
Collections are in-memory tables with named fields and rows. A Loop stage iterates rows; the loop's current row is exposed, and you read fields from it. Know the Collection Actions: Add Row, Delete Row, Filter (creates a new filtered collection), Sort, and how to read a specific row by index. The classic trap is modifying a collection while looping over it - deletion inside a loop shifts indices. Safer patterns: loop over a filtered copy, or collect rows to delete and remove after the loop. Also know that a Loop over an empty collection simply does not execute the body - it does not throw.
Decisions, calculations, and flow
Decision expressions must evaluate to true/false; use Choice for multi-way branching on a value. Calculation stages assign one output; Multi-Calculation assigns several in one stage. Watch for questions about link conditions versus Decision stages - both can branch, but a Decision stage is clearer for readability. Data item scope matters: a data item is visible on its page and to sub-pages it calls, not globally.
Worked example
To process a collection of invoices and skip zero-value rows: Loop over the collection, add a Decision 'Amount > 0'. True link goes to processing; False link goes to the loop's next-iteration path. Never delete rows inside the same loop you are iterating.
Traps
Off-by-one on row indices, assuming index starts at 1 when it starts at 0, and forgetting that Filter returns a new collection rather than mutating the original.