Beta · experiment in progress

Describe the integration. Get the iFlow.

IFlow Assistant generates Integration Flows for SAP Integration Suite with an Ollama model that runs on your PC and learns from the templates and solutions you teach it. From a plain-language request to a deployable package, with lint, security check and deploy to the tenant.

Windows 10/11 64-bit · free and open source · updates itself · everything stays on your PC

Why it exists

It is a slightly reckless project: I wanted to start training a model with Ollama on my own machine and have a tool that speeds up building iFlows from the templates and solutions I taught it. It is not a finished product: it is an experiment I actually use in my daily work, shared as it is.

Federico Bellizia (Bais), author

In practice the model is not retrained: it "learns" through a local knowledge base (RAG) that collects your exports, the templates you classify and the generated packages you approve. Every new request is enriched with the most similar fragments and passed to an Ollama model on your PC. If the result is good, you tell the app and from then on it weighs on the next generations.

Everything runs locally: no cloud, no account, no telemetry. It is beta and has clear limits, listed further down without sugar-coating.

What it does

A desktop tool for people who build iFlows every day: it starts from the description and ends at the tenant.

From description to deployable package

Describe the flow in plain language and get a .zip you can import into Integration Suite. In Spec mode the model produces a JSON specification and a deterministic builder assembles the BPMN2 XML from validated blocks: correct by construction, not "probably right".

Turn-by-turn conversation

Refine the flow in the same conversation: "add the retry", "also send an e-mail", "move the mapping into a local process". Every turn regenerates the package.

Learns from your iFlows (RAG)

Every export you add, by hand or imported from the tenant, is indexed in the local knowledge base and guides the next generations. The "Good" button also adds the generated packages you approve.

Lint and Security Check

Every package goes through a lint that checks cross-references, sequenceFlows, processRefs and declared {{...}} parameters. The Security Check looks for clear-text passwords and hardcoded PII, always masking the value it finds.

Full cycle on the tenant

Registration in the Design workspace package, deploy, wait for the runtime status and smoke test on the latest Message Processing Logs. Multiple tenant profiles (dev, test, prod) straight from the GUI.

Explorer and BPMN viewer

Browse zips without extracting them, read the XML with highlighting, open the BPMN canvas with hierarchical layout and the properties of every step. On every project: View, Edit, Lint, Repack, Deploy.

Template-first and guiding questions

Classify a KB source as a template (for example SuccessFactors or SFTP): its conventions become explicit constraints. The "guiding questions" collect the missing requirements before generating: mapping, volumes, retry, idempotency, security.

Product profiles and separate customer KBs

Attach product documentation to SuccessFactors, S/4HANA OData, LDAP, Zucchetti or SOAP. For each customer keep mappings, rules and workflows in a separate KB, which the model uses only when you select that customer and unlock it with its password.

Functional and technical documentation

From an iFlow generate documentation in Markdown and HTML printable to PDF: the one to hand to the customer and the one for whoever will maintain it.

How it works

The model only writes the specification. The XML is built by deterministic code, so a model mistake shows up immediately and never reaches the tenant.

  1. 1

    Request

    Describe the flow in natural language, with optional template, product profile and customer KB.

  2. 2

    RAG knowledge base

    SQLite + nomic-embed-text: the most similar fragments of your iFlows enter the context.

  3. 3

    Local Ollama model

    qwen2.5-coder with a CPI system prompt, running on your PC.

  4. 4

    JSON spec

    Steps, adapters, parameters, local processes and error handling in a validated structure.

  5. 5

    Deterministic builder

    Assembles the BPMN2 XML from known blocks: no "invented" XML.

  6. 6

    Lint

    Cross-references, scripts present, parameters declared, XML validity.

  7. 7

    Zip

    Package importable into Integration Suite, viewable in the BPMN canvas.

  8. 8

    Tenant

    Registration, deploy, runtime status and smoke test on the logs.

Install in three steps

All you need is 64-bit Windows 10 or 11 and some disk space for the model.

  1. Install Ollama

    Download it from ollama.com and install it. It is the engine that runs the model locally.

  2. Run IFlowAssistant-Setup.exe

    The installer copies the app into your user folder, no administrator rights needed. Alternatively unpack the portable version wherever you like.

  3. Prepare the model

    In the app: menu Modello (Model) → Prepara o aggiorna il modello Ollama... (prepare or update the Ollama model). It downloads qwen2.5-coder (7B on CPU, about 5 GB; 14B with a 12 GB NVIDIA GPU, about 9 GB) and nomic-embed-text, then indexes the knowledge base.

It updates itself.

The app checks GitHub Releases, downloads the new installer, verifies its SHA-256 and runs it silently. Your data (knowledge base, profiles, generated iFlows) is left untouched.

Portable version: you get a notice with the link to the new package and decide when to replace it.

Your data stays yours

Short answer: on your PC, and nowhere else.

Local model

The model runs in Ollama on your machine. Requests, iFlows and the knowledge base are never sent to any service.

No telemetry

The only outbound connections are to GitHub Releases to check for updates, and to your tenant when you ask for it.

Master password

A master password encrypts local configurations and profiles. Without it the files stay unreadable.

Secrets in the Credential Manager

Tenant client secrets and passwords go into the Windows Credential Manager, never into files.

Separate customer KBs

Each customer's sources are excluded from the general search and passed to the model only when that customer is selected and unlocked with its password. The password enables use of the KB but does not encrypt the files on disk: to protect them, use disk encryption, for example BitLocker.

Known limits

Product honesty: it is a beta and these things are worth knowing before you download.

  • The Spec builder covers the most common constructs

    Timer and HTTPS start, Content Modifier, XSLT, Groovy, Process Call and linear local processes, Request-Reply HTTP/ProcessDirect/SuccessFactors, Send Mail and SFTP, one OK/KO router, Exception Subprocess. Splitter/Gather, Data Store or multiple routers fall back to Markdown mode: the package must be checked in the Web UI before deploying.

  • Tenant client validated only structurally

    It implements the public OData APIs of Integration Suite but has been tried on few tenants. On the first connection use "Test connection" and report any differences.

  • On CPU it takes minutes

    With the 7B model on CPU a generation takes a few minutes. With an NVIDIA GPU and the 14B model it is much faster and of better quality.

  • Windows-first

    On Linux and macOS the app starts from source, but tenant secrets are not saved: deploying requires entering the secret every session. The installer and automatic updates exist only for Windows.

Support the project

IFlow Assistant is free and will stay free. If it saves you an afternoon, a coffee is the simplest way to tell me and to keep the GPU that tries out new models running.

Buy me a coffee on PayPal

A well-written issue on GitHub is worth a lot too.

Frequently asked questions

The ones that come up most often.

Do I need a GPU?

No. With a CPU and at least 16 GB of RAM the 7B model works, but a generation takes minutes. With a 12 GB or larger NVIDIA GPU the 14B model answers in tens of seconds and produces more accurate specs.

Do my iFlows leave the PC?

No. The knowledge base is a local SQLite file, the model runs in Ollama on your machine and there is no telemetry. The app only contacts GitHub Releases for updates and your tenant when you start a registration, deploy or import.

Can I use a different model?

Yes. The cpi-iflow-builder model is built from a Modelfile included in the package: you can change the base model (for example another coder available in Ollama) and rebuild it from the Modello (Model) menu → Ricrea il modello dal Modelfile (ollama create) (recreate the model from the Modelfile). The CPI system prompt stays the same.

How do I add my own templates?

Add the .zip exports to the knowledge base from the Knowledge base tab, or import them directly from the tenant. Then select the source and use "Template" to classify it: from then on it appears in the KB Template menu of the generation and its conventions become explicit constraints.

What exactly does deploy do?

"Register + Deploy" uploads the package into the Design workspace package of the active tenant, starts the deploy, waits for the runtime status (STARTED or ERROR) and then reads the latest Message Processing Logs as a smoke test. It does not touch other artifacts and deletes nothing.

Does it work on Mac or Linux?

Partly. The code is Python and tkinter, so it starts from source with the scripts in install/. What is missing is the installer, automatic updates and saving tenant secrets, which today uses the Windows Credential Manager.

Is it an SAP product?

No. It is an independent open source project (MIT license) born for personal use and it is not affiliated with, sponsored or endorsed by SAP SE. It uses only the documented public APIs of Integration Suite.