FlowPortal

Workflows where the AI drafts and you decide.

FlowPortal is a local portal where every workflow is a card. Click Run: Python does the arithmetic, an AI agent reads and writes, and the workflow stops for your approval before anything goes out.

  • Free and open source (MIT)
  • Runs on your machine
  • Windows and Linux
  • Works with any OpenAI-compatible model

Prepare the steering committee

A simplified version of the bundled example. Press Run, then decide.

  1. ·Compute the indicatorsSchedule, budget and workload figures, calculated exactly.Python
  2. ·Pull risks and actions from the notesThe agent reads the free-text meeting notes and drafts the report.AI agent
  3. ·Project lead approves the reportNothing is published until a person says yes.Human
  4. ·Save the reportWritten to a file, only after approval.File

Ready. Four steps, one of them is yours.

This is an illustration running in your browser. No AI call is made here.

Python calculates. The AI drafts. A person decides.

Chat assistants are good at writing and unreliable at arithmetic, and they will happily act without asking. A FlowPortal workflow gives each job to the right worker and puts a person at the points that matter.

Python

Figures, files, HTTP calls and shell commands. Deterministic, the same result every run. Scripts run without Python installed when you use the compiled app.

  • python
  • shell
  • transform
  • file_read
  • file_write
  • http_get
  • http_post

The AI agent

Reading messy text, summarising, drafting, fixing code. The step is handed to CSAgent, which can use files, git, the web and any MCP server.

  • agent
  • mcp_call
  • mcp_tools

You

Approve or reject before something is published. Type a value, or dictate it by voice, and correct the transcript before the workflow continues.

  • human_approval
  • user_input

Every workflow is a card you can read.

The rail on each card shows its steps in order, coloured by who does the work. A workflow is a plain YAML file, so it can be reviewed, versioned and shared like code.

FlowPortal home screen: a grid of workflow cards, each with a rail of coloured steps, filters and a Run button
The portal: search, filters, and a card per workflow with its prerequisites and last run.
A running workflow paused on an orange box asking the user to approve or reject before continuing
A running workflow waiting for your decision, with the step list on the side.

The interface and the documentation are in French for now.

What you get

Describe a workflow, get the YAML

Type or dictate what you want. The assistant works on a copy, the portal checks the result, and you review a diff before anything is applied.

Safe to edit

Every change is validated before it is written. The previous version is kept as a backup, and deleted workflows go to a recycle folder.

Run history and a Stop button

Each run is recorded, with secrets masked. Stop interrupts a script, a command or an agent step right away.

27 example workflows

Steering committee report, Linux health check, security watch, open data on data.gouv.fr, CV screening, meeting digest and more.

MCP in both directions

A workflow can call any MCP server. And FlowPortal is itself an MCP server, so an assistant can list, check and launch your workflows.

Built for the keyboard

Full keyboard navigation, WCAG AA contrast, visible focus, and state shown by a label as well as a colour.

Ask your chat to run it.

With FlowPortal --mcp, an assistant such as CSAgent can list your workflows, check one and launch it, then report each step back to you.

Guardrails: only the workflows folder, one run at a time, and a workflow with a human approval or a typed input is never launched by the assistant. You open it in the portal and decide yourself.

Run the Linux health check and tell me what needs attention.
list_workflows → check_workflow → run_workflow
Done in 6 steps. Disk is at 91% on /var, and two security updates are pending. The full report is saved.

Run it in five minutes.

You need Python 3.10 or newer, and an API key for any OpenAI-compatible model, local models included. Steps that call no AI run without a key.

# 1. get it
git clone https://github.com/artydev/FlowPortal
cd FlowPortal
pip install -r requirements.txt

# 2. start CSAgent and FlowPortal together (Linux shown)
export ALBERT_API_KEY=your-key
./start_agent.sh

# or only the portal, without AI steps
python3 app.py

On Windows use set instead of export and start_agent.bat. A compiled FlowPortal.exe needs no Python at all. The portal opens in your browser.

What to know before you try it.

  • The model's output varies. Python and file steps give the same result every run. Agent steps do not, so keep a human step before anything that matters and read the diff the assistant proposes.
  • Workflows run code on your machine. Shell and Python steps are not filtered. Only run workflows you trust, and be careful with the MCP mode.
  • One run at a time. The portal runs a single workflow, and the assistant cannot run at the same moment.
  • French first. The interface and the documentation are in French. The step names and the YAML keywords are English.