Skip to content
Proud to collaborate with Microsoft for Startups

Control ​

WorkflowTypeDescription
control.collection.distinctAtomicDrop duplicate elements (optionally by a field), preserving order
control.collection.filterAtomicKeep the list elements matching one comparison predicate
control.collection.flattenAtomicFlatten nested lists up to a given depth (-1 = fully flat)
control.collection.group_byAtomicBucket list elements into an object keyed by a field path
control.collection.mapAtomicApply one unary transform (cast/case/abs/length…) to every list element
control.collection.matchAtomicMatch two record lists by exact or decimal-tolerance rules without guessing collisions
control.collection.pluckAtomicExtract one field (dotted path) from every element into a flat list
control.collection.reduceAtomicAggregate a list with count/any/all/sum/min/max into one value
control.collection.sliceAtomicTake a bounded window of a list (offset/limit; negative offset = from end)
control.collection.sortAtomicSort a list (optionally by a field path), ascending or descending
control.flow.guardAtomicAssert a condition; pass through if it holds, else fail the branch with a reason
control.flow.waitLinearPause for a bounded delay (seconds or until an epoch) before continuing
control.http.requestAtomicMake a generic HTTP/REST request so integrations without a first-class workflow are reachable
control.math.computeAtomicEvaluate one arithmetic op (add/sub/mul/div/mod/pow/min/max/abs/neg/round)
control.policy.evaluate_matrixAtomicEvaluate a list of items against reusable policy rules and summarize compliance
control.poll.untilLinearPoll a read-only probe workflow until a predicate on its output holds (or stop/deadline)
control.predicate.combineAtomicCombine a list of booleans with all/any/none into one result
control.predicate.compareAtomicCompare two values with one operator, emitting a boolean result
control.switch.selectAtomicMap a value to a branch label via a cases table (with optional default)
control.text.extract_matchesAtomicExtract regex matches from text into deterministic JSON row objects
control.text.joinAtomicJoin a list into a string with a separator (default empty)
control.text.replaceAtomicReplace substrings in a string (literal or regex)
control.text.splitAtomicSplit a string into a list by a separator (default: whitespace)
control.time.nowAtomicEmit the current UTC time (iso8601/date/epoch) as a value for downstream steps
control.value.buildAtomicBuild one object from a fields dict, with optional defaults and null-dropping
control.value.castAtomicCoerce a value to a declared type (str/int/float/bool/json/list)
control.value.coalesceAtomicReturn the first non-null value from an ordered candidate list
control.value.formatAtomicInterpolate {0}..{7} placeholders in a template from positional arg0..arg7 — the composition-friendly form of control.value.template (each argN is a top-level input so a composition can bind a ref to it without nesting inside a values dict).
control.value.getAtomicExtract a nested value from an object/list by a dotted/indexed path
control.value.mergeAtomicMerge two objects (overlay wins); deep (recursive) or shallow
control.value.setAtomicSet one key on an object to a value, composing objects across steps
control.value.templateAtomicInterpolate a string template ({name} placeholders) from a values dict
control.version.lag_summaryAtomicAggregate version-lag evidence rows into a deterministic summary
control.version.select_latestAtomicSelect the latest comparable version and compute current-version lag evidence