DESIGNER GUIDE
Build deterministic flows
Design controlled business processes with explicit steps, decisions, user interfaces, human approvals and approved system actions. Use AI to accelerate the design, then inspect and test every important path.
Scope: individual Flow project
AI can design the process. The flow controls execution.
What is a flow?
A flow is a visual graph of connected steps. Each step performs a defined function, and each connection controls what happens next.
- Structured user interfaces
- Conditional branches
- Agentic workers
- Other flows
- Human approval
- Model interactions
- HTTP requests
- MCP capabilities
- Installed extension steps
- Canvas
- The visual workspace containing the process steps and their connections.
- Step
- One defined unit of work, such as displaying a card, evaluating a condition or calling a worker.
- Connection
- The path from one step or outcome to the next.
- Variables
- Values passed into, between and out of process steps.
- Run Demo
- The interactive preview used to test the current draft.
- Issue indicator
- A count showing that part of the project may require attention before deployment.
- Validation
- The readiness check performed before continuing toward deployment.
A flow uses only the capabilities its process actually requires. Many useful flows contain no AI step at all.
A continuous example
This guide uses one fictional ACME demonstration architecture: a customer-facing flow, an agentic worker that classifies requests and a deterministic resolution process.
- Customer-facing flow: ACME Customer Service Main Menu
- Agentic worker: ACME Support Process Router
- Controlled process: ACME Late Delivery Resolution
Customer opens the support menu
↓
Chooses an option or enters an open question
↓
Agentic Worker classifies the request
↓
Conditional Branch evaluates the result
↓
Go to Flow starts the approved process
↓
Deterministic resolution stepsOn this page
Before you begin
A short amount of preparation removes most of the rework that follows an unclear process design.
- Confirm that the correct workspace is active.
- Define one clear business outcome for the flow.
- Identify the information the process receives.
- Identify the information it must return or display.
- List the important decisions and branches.
- Decide which actions must remain deterministic.
- Identify any human approvals that are required.
- Confirm which workers, tools or other flows are available.
- Prepare fictional test data for each important route.
1. Create a Flow project
A Flow project produces an explicit visual process you can inspect and control.
- 1Open Designer Home.
- 2Select New project.
- 3Enter a clear project name.
- 4Select Flow.
- 5Review the project-type description.
- 6Select Create.
- 7Describe the process when the Flow Editor opens.
The other project types in this dialog are covered in the Getting started guide.
2. Describe the process
Designer generates the first version of the process from your description, then you inspect and refine it.
- AI design conversation
- Describe what the process should achieve, what it should collect, which decisions it makes, which workers or flows it calls, what it must not do and which outcomes it presents.
- Visual canvas
- Inspect the complete process, select steps, add or remove steps, review connections, reorganise the layout and fit a large process into view.
- Run Demo
- The interactive experience produced by the current draft, shown beside the canvas.
Create a deterministic flow called [name].
Purpose:
[One clear business outcome]
Inputs:
- [Input 1]
- [Input 2]
Process:
1. [First step]
2. [Validation or decision]
3. [Approved action]
4. [Completion]
Branches:
- If [condition], go to [outcome]
- If [condition], go to [outcome]
The flow may:
- [Approved actions]
The flow must not:
- [Prohibited actions]
Demo requirements:
- Use fictional embedded data
- Do not call external systems
- Show realistic forms, choices and outcomes- 1Describe the business outcome.
- 2Name the required inputs.
- 3List the main process steps.
- 4Define the important branches.
- 5State any approval or escalation requirements.
- 6State what the flow must not do.
- 7Ask Designer to generate the first version.
- 8Inspect the complete canvas before making another request.
- 9Make focused follow-up changes one at a time.
3. Understand the Editor controls
The Editor toolbar and canvas controls shown in the screenshot above cover saving, data, preview and deployment.
- Save
- Save the current draft.
- Variables
- Open the project’s data and variable controls.
- Run Demo
- Preview the current experience.
- Deploy
- Begin the readiness and deployment journey.
- Additional project actions
- Open version, layout, import and export controls.
- Fit view
- Zoom in
- Zoom out
- Minimap
- Canvas movement
4. Add process steps
Steps are the units of work in the process. Add them deliberately and connect them to explicit routes.
- Steps
- Built-in process capabilities provided by the Designer.
- Extension steps
- Additional steps exposed by installed extensions.
| Step | Typical purpose |
|---|---|
| Human Approval | Pause or route work for a human decision according to an approval policy |
| Card Render | Present structured information or collect input using a card |
| Conditional Branch | Select an explicit route according to a condition |
| Agentic Worker | Invoke a configured agentic worker |
| Go to Flow | Continue through another reusable flow |
| HTTP Call | Call an approved HTTP endpoint |
| LLM Chat | Use a model for a bounded language task inside the process |
| MCP | Invoke an approved MCP capability |
- 1Open the Add Step control.
- 2Search for the required step.
- 3Choose between built-in and extension steps.
- 4Select the step type.
- 5Give the new step a meaningful name.
- 6Complete its required settings.
- 7Connect it to the appropriate previous and next steps.
- 8Run the affected path before continuing.
5. Configure an Agentic Worker step
Selecting a step opens its settings panel, where the step name, required resources and interaction behaviour are configured.
- Step name
- The name used to identify the step on the canvas and during design.
- Agent
- The Agentic Worker the step invokes. This field is required in the shown interface.
- Conversational
- Off returns one response and the flow continues. On keeps the conversation with that worker open until it ends, then the flow proceeds.
- 1Add an Agentic Worker step.
- 2Select the step on the canvas.
- 3Enter a meaningful step name.
- 4Select the required worker.
- 5Decide whether the interaction should be single-response or conversational.
- 6Connect the step to the incoming path.
- 7Connect its output to the next decision or action.
- 8Test the worker directly.
- 9Test it again from inside the flow.
6. Combine workers and deterministic flows
Use the worker for interpretation and the flow for the decision, the data and the approved outcome.
Open customer message
↓
Agentic Worker step
↓
Structured classification
↓
Conditional Branch
↓
Go to Flow
↓
Controlled resolution- 1The customer-facing flow receives an open-text message.
- 2The Agentic Worker step sends it to the process router.
- 3The worker returns a stable classification result.
- 4A Conditional Branch evaluates the result.
- 5A Go to Flow step starts the relevant deterministic process.
- 6The called flow collects information and performs the approved resolution steps.
detected_intent
confidence
clarification_question
called_process
suggest_human_supportThese field names are an example from the ACME demonstration. They are not mandatory Greentic fields, and not every worker returns JSON. The designer defines the contract required by the receiving flow.
Worker configuration is covered in the Agentic workers guide.
7. Use specialised steps appropriately
Match each requirement to the step designed for it, and keep AI where interpretation is genuinely needed.
| Requirement | Recommended step |
|---|---|
| Ask a person to approve a sensitive action | Human Approval |
| Display structured information or collect user input | Card Render |
| Route according to explicit data or state | Conditional Branch |
| Interpret an open-language request | Agentic Worker |
| Reuse another deterministic process | Go to Flow |
| Call a permitted web endpoint | HTTP Call |
| Perform a bounded language operation | LLM Chat |
| Invoke an approved MCP capability | MCP |
Adaptive cards
Design the Card Render interfaces used to present information and collect input.
Open guideIntegrations and providers
HTTP, MCP and installed capabilities available to process steps.
Open guidePublishing and deployment
Approvals, packaging and the deployment journey.
Open guideAgentic workers
Configure the workers a flow invokes.
Open guide8. Plan variables, inputs and outputs
Predictable data names make branches, called flows and tests far easier to reason about.
- 1Identify the data the flow receives.
- 2Give each value a clear stable name.
- 3Pass only the information required by each step.
- 4Map step outputs deliberately.
- 5Avoid storing credentials or secrets in ordinary flow variables.
- 6Define what the flow returns when it completes.
- 7Include fallback values or paths for missing information.
| Variable | Purpose |
|---|---|
| customer_message | Original open-text request |
| detected_intent | Classification returned by the process router |
| order_number | Order reference supplied by the customer |
| delivery_status | Fictional or retrieved delivery state |
| resolution_choice | Approved option selected by the customer |
9. Run the flow in Demo
Run Demo tests the current draft through the same structured interaction the user will experience, without leaving the Editor.
- 1Save the current draft.
- 2Open Run Demo.
- 3Start from the beginning of the interaction.
- 4Select an available menu option or enter an open question.
- 5Complete every required input.
- 6Confirm that the expected branch starts.
- 7Confirm that cards and messages contain the correct information.
- 8Repeat the test using alternative wording.
- 9Test missing and invalid information.
- 10Reset the interaction before testing an independent scenario.
- 11Correct the canvas and run the scenario again.
A complete test approach is described in the Testing and troubleshooting guide.
10. Save, version, import and export
Record meaningful project states so significant design changes remain reversible and reviewable.
- Version history
- Review versions recorded for the project.
- Save as version
- Create a named or recorded project version before significant changes or release.
- Auto-layout
- Rearrange the canvas automatically.
- Import flow
- Import supported flow content.
- Export flow
- Export the flow using the supported Designer format.
- Export to GitHub
- Export supported project content to a connected GitHub destination.
- 1Save the draft.
- 2Complete a representative Run Demo test.
- 3Open the project actions menu.
- 4Select Save as version.
- 5Record a meaningful version description where requested.
- 6Continue editing in the draft.
- 7Use Version history when reviewing previously saved states.
11. Validate before deployment
Designer performs a readiness check as the project moves toward deployment.
- A successful result states that no issues were detected.
- The summary may include the number of cards and process steps.
- Let’s go continues the publishing or deployment journey.
- The counts shown belong only to the ACME demonstration.
- 1Save the current draft.
- 2Run representative tests.
- 3Resolve the visible issue count.
- 4Continue to the deployment readiness check.
- 5Review the validation result.
- 6Return to the Editor when an issue remains.
- 7Continue only when the project is technically ready and the business test has passed.
The next stage is covered in the Publishing and deployment guide.
Flow review checklist
Work through this list before the flow is shared, tested with customers or moved toward deployment.
- The flow has one clear business outcome.
- The start and completion states are clear.
- Inputs and outputs have stable names.
- Important decisions use explicit branches.
- Agentic workers are used only where interpretation is required.
- Worker outputs follow a stable contract.
- Every called flow exists and is available.
- Sensitive actions use human approval where required.
- Only approved external capabilities are used.
- Every important branch has been tested.
- Missing and invalid inputs follow a controlled path.
- Customer-facing text and cards are understandable.
- The draft has been saved.
- A meaningful version has been recorded.
- The project passes the readiness check.
Flow troubleshooting
Common design-time problems and the practical action that resolves them.
| Problem | Likely cause | Action |
|---|---|---|
| Most of the process is off-screen | The generated flow is larger than the current viewport | Use Fit view, zoom controls and the minimap |
| A new step cannot be configured | A required resource or field is missing | Select the step and complete every required setting |
| An Agentic Worker step cannot run | No available worker is selected | Configure or publish the worker and select it in the step |
| The wrong process starts | The worker output or branch condition is ambiguous | Tighten the output contract and review the branch logic |
| A branch is never reached | Its condition does not match the actual variable value | Inspect the expected output and test the boundary case |
| A called flow does not start | The destination flow is unavailable or the route is incomplete | Confirm the target and inspect the connection |
| The demo stops waiting for input | A card or step expects a user action | Complete the displayed input or button action |
| A change is lost during later editing | It was not saved or recorded as a version | Save regularly and use Save as version |
| The project shows an issue count | One or more required settings or connections need attention | Inspect the affected steps and complete the missing configuration |
| Validation succeeds but the process is wrong | Technical validation does not check every business rule | Complete business testing and customer acceptance |
