Open Settings (sliders icon in the editor header). Settings belong to the flow, not to a version.
| Setting | Stored as | Default | Meaning |
|---|---|---|---|
| Other flows can call it | setting.caller: "self" / "none" | none | Run flow nodes and error flows can use it. It needs a Flow input. |
| Error flow | setting.error.flowId | none | A callable flow that runs with the failure when a run of this flow fails. See Error flows. |
| Run time limit (hours) | setting.timeoutMs | 24 hours | A run that takes longer stops and fails. Time waiting for you counts. 0 = no limit (endless flows). Up to 7 days. |
| Keep files (days) | setting.file.ttlMs | 0 | A run's files (screenshots, downloads) are deleted this many days after it ends. 0 keeps them as long as the run (90 days). Up to 90. |
| Keep incomplete runs | setting.incomplete.isKeep | on | A node set to Save to resume later ends the run Incomplete, to go on from there. Off: it fails instead. |
| Offer as an MCP tool | setting.tool: { isEnabled, name, description } | off | MCP clients of the workspace's MCP server trigger can call this flow by name (letters, digits, _, -; empty: the flow's name), with its Flow input as the arguments. |
| Turn off after failures in a row | setting.failure.limit | 0 | This many failed runs in a row turn the flow's campaigns off (each counts its own main runs) and pause its Schedule trigger (its own real runs). You get a notification. A succeeded run resets the count. Publish again to turn a paused schedule back on. 0: never. |
| Timezone | setting.timezone (IANA) | UTC | Used by Schedule at, Date & Time and Wait until, unless a node sets its own. |
| Tags | tag | none | Comma separated, lower-cased; filter the Studio list by them. |
Test browser
Per browser name the flow's nodes act in (x, facebook…): the Studio tests and Open browser use. New browser (default) makes one on the first test, <flow> · <name>. Pick a campaign's browser to test with its sign-in; only browsers on the flow's engine are listed.
Options
What the flow asks for when it runs, laid out the way the form shows it: sections (the form's side nav, each with an icon), each of groups (a card), each of options. Studio runs use each option's default. Add section, Add group and Add option build it; the arrows move any of them.
| Field | Meaning |
|---|---|
| Section: id, icon, label, description | A tab of the side nav. Icon: a lucide name (user-round, shopping-bag). |
| Group: id, label, description | A card in its section. A called flow's section or group with the same id joins the flow's own. |
| Key | Its name, dotted keys nest: account.x is {{ option.account.x }}; each key once. |
| Kind | A dataset entry, dataset.account (Account, of a platform: 𝕏, Threads, Facebook or Shopee), dataset.ai (AI key) or dataset.post (Post set, see ): the same kind as the node field it fills. Or a value: Text, Long text, Number, Duration (seconds to days, kept in ms), Yes or no, Choice (each value with the label and description the form shows: up to 4 with descriptions show as cards, up to 3 short ones as a toggle, more as a dropdown), List (entries the campaign adds, edits, reorders and removes), Limit (lines of N per period, every one at once; with Follow the account where the template offers it), Range ({ min, max }, read as {{ option.filter.like.min }}), Note (a hint with no value: its description, where [text](link) is a link and ~/ starts in the workspace, e.g. [Settings › Brand](~/setting/brand)). |
| Label, Description | What the form shows, in English and Indonesian (an empty Indonesian one shows the English). |
| Default | For an account or AI key: the one Studio runs use. For a value: the value when the campaign leaves it. May be a template: {{ random:"1h","2h" }}, {{ brand.media.path }}. |
| Required | A campaign can't be saved without it (while it shows). |
| Advanced | Folded under its card's Advanced. |
| Show when | On a section, a group or an option: it shows only while options before it (a Choice or Yes/no) hold certain values. Several rules must all hold; Or… starts another group (any one holds). An option shows only when its section's, group's and own rules all hold. A hidden option isn't asked, required or checked, counts as unset for the rules after it (so what hangs under it hides too) and runs with its default. |
Every value a campaign fills may be a template ({{ random:20,40 }}, {{ vars.name }}), resolved each time a node uses it; the form shows Use a template on choices, yes/no and durations, and numbers, ranges and text take one as they are. A switch (an option another one's Show when reads) and account, AI key and post set picks stay fixed values.
Use them in any field: {{ option.timeline.max }} in Collect posts' "Maximum posts", {{ option.account.x }} in every 𝕏 node's account, {{ option.account.ai }} in every AI node's AI key, and in node settings such as a : {{ option.pace.limit.mode }}, {{ option.pace.limit.window }}.
Account fields must use an account option and AI key fields an AI key option; Node details lists the options that fit.
Account options give the flow its accounts and AI key options its AI keys, so each campaign picks its own; the browsers belong to the campaign (see ). A called flow's options are filled by the same keys: Auto Reply and Auto Post declare account.shopee themselves (in their Shopee section), so the form asks for it once, and one account.ai fills both flows' AI nodes. A key the calling flow already declares isn't asked again for the called flow.
The editor asks before you leave with options not saved.
Timezone
When a run starts, every node with an empty timezone field gets the flow's timezone, and the scheduler reads Schedule's at in it. A called flow uses its own timezone.
Example: timezone Asia/Jakarta, Wait until 00:05 → the run waits until 00:05 WIB (17:05 UTC the day before).
Agent instructions
The agent panel has Instructions for this flow: text the keeps in mind in every conversation about this flow (accounts to use, tone, language, things to avoid). Stored as setting.agent.instruction.
Stars
Star a flow from the Studio list (Star / Unstar) and filter with Starred only.
FAQ
My endless flow fails after 24 hours.
Set Run time limit to 0.
Why does my old flow fail with "must use an account option"?
Account fields now come from options. Add an account option in Settings › Options and pick it in each account field.
Why does my old flow fail with "must use an AI key option"?
AI key fields come from options too, so a campaign can pick its own key. Add an option of kind AI key (key account.ai) in Settings › Options, set its default, and pick it in each AI node's AI key field (and Fallback AI key, if you use one).
Can a flow be its own error flow?
No: A flow can't be its own error flow. The error flow must start with Flow input and allow callers.