The three layers
Every actor’s system prompt is built from three layers, in order:- Global context — Set on the flow itself. Inherited by any actor that opts in.
- Parent actor context — If actor B inherits from actor A, B sees A’s context too. Inheritance is explicit, not automatic up the chain.
- The actor’s own context + instructions — Always included.
Context vs Instructions
A subtle but important distinction:Context (inheritable)
Background knowledge. What’s true about the world this actor lives in.Example: “Acme sells two products: Pro at $49/seat/month and Enterprise on annual contract.”Child actors can inherit it.
Instructions (private)
Behaviour rules. What this specific actor should do, this turn.Example: “Greet the user and figure out whether they want product or pricing help. Hand off as soon as you know.”Never inherited.
Setting global context
Open Flow settings → General and fill in Global Context:
Inheriting from a parent actor
When you create an actor that’s a child of another (drawn by dragging a routing edge from parent to child), the child gets an Inherit Context list:
An actor's Inherit Context list shows the global context and any ancestors it can opt into.
- Global flow context — opt in to the flow’s global context.
- <Parent actor name> — opt in to a specific ancestor’s context.
- Collected information so far — automatic slot summary (the values collected by
ask-questionsteps, see Step builder).
A worked example
The Sales Triage flow has three actors. Their context wiring:- Triage has only the global context. It’s a router — doesn’t need product-specific knowledge.
- Product Specialist has the global context plus its own detailed knowledge of features and integrations.
- Pricing Specialist has the global context plus its own knowledge of pricing tiers and the Enterprise commercial model.
Slots — automatic memory
There’s a fourth layer that works differently: slots. Slots are pieces of information collected during a conversation — typically byask-question steps. They include things like the user’s name, their email, the order number they’re asking about, etc.
By default, every actor sees a “Collected information so far” block summarising the slots. This means:
- Triage asks: “What’s your name?” → user says “Sarah” → slot
user_name = "Sarah" - The conversation hands off to Pricing Specialist
- Pricing Specialist’s prompt automatically includes: Collected information so far: user_name = Sarah
Anti-patterns to avoid
Next
Focus modes
How strictly each actor sticks to its job mid-conversation.
Configure an actor
The full field-by-field guide.
