AI Auto-Learning (Smart Autocomplete)
Filling out large forms repeatedly can be a productivity bottleneck. To reduce it, Flowi Agentic learns from your own company's history and suggests field values in Human Tasks (User Tasks).
How it works
Every time someone in your company completes a task, the values chosen in each field are recorded in the process history. Daily, the platform revisits that history and counts, field by field, what was decided in comparable situations — taking into account what was already filled in the rest of the form. For example: when the category is "IT", the chosen vendor was "ACME" in 34 out of 38 cases.
There is no guessing in that count: these are real decisions, made by people in your company, in the same process and at the same step.
The confidence score
The confidence of a suggestion is the fraction of comparable cases in which that value was chosen. If "ACME" was the vendor in 34 out of 38 cases with category "IT", the confidence is 89% — and that is exactly the explanation, "34 out of 38 cases", that comes with the suggestion.
When the pattern only holds for one situation, the explanation says which one, with the field name as it appears on the form and the value as you would pick it from the list: "In 34 of 38 comparable cases when Category is Technology". If the situation depends on who opened the request, the explanation says "the requester is you" or the person's name — never an internal code. A code that is not a person in this environment shows as "an internal value".
Five rules keep that number honest:
- Only decisions made without seeing a suggestion count. When the platform suggests a value and you accept it, that case does not raise the confidence. If it did, the AI would be confirming itself: a wrong guess would look more and more certain just by being accepted. Pressing autofill more than once on the same task does not change that count: every request is recorded, and when the task is completed all of them are compared with what you saved — the task counts as "saw a suggestion" if any of them showed that field.
- A minimum number of cases is required. With fewer than 5 comparable decisions (default value), no pattern is formed and nothing is suggested.
- A field that left the form stops counting. A form changes over time: one field is renamed, another is dropped. Once the published version of the form no longer asks for that field, what was decided in it stops becoming a suggestion and stops being used to narrow the search for comparable cases. The history stays in the process — what changes is that the platform stops comparing by something nobody fills in any more.
- The situation is the one the step found when it opened. "When Category is Travel" means the category was already Travel when the task reached the person. What the task itself filled in is what is learned, never the situation that explains it; and what a later step wrote — the ERP posting date, for example — did not exist when the decision was made, so it does not count either. A value that changed while the task was open is left out of that task's situation, because there is no way to know which of the two the person saw.
- Only processes that ended normally count. A task completed in an instance that is still running, or that was later cancelled, is not counted — a cancelled rehearsal does not teach what the company decides. The task starts counting on the first run after its instance ends. An instance ended by the process design itself (an end event that terminates everything) counts as ended normally; test runs stay out, as always.
This is about form fields, not about everything
Values the process writes outside the screen — whatever an integration or an automated step computes — keep counting as usual. The form has no way to declare that they are gone, so the platform does not assume they are.
Two kinds of suggestion
Suggestions are requested with the Autofill button, which floats in the bottom-right corner of the task while it is assigned to you — so it stays within reach anywhere in the form, with no scrolling back to the top. When you ask for suggestions, two different behaviors can happen, depending on the field:
- Pattern-based fill — when a pattern with at least 80% confidence exists (the default of the Hide below threshold), the still empty field is filled with the pattern's value, along with the confidence score and the count of cases supporting it. You can keep the value or change it: the final decision is always yours. Below that threshold nothing is shown.
- Previous case — in free-text fields (notes, descriptions), counting occurrences makes no sense: an opinion written differently for every document would appear only once, and its confidence would always be too low. For those fields the platform returns the most frequent previous value in that same context, literally, for you to edit. It comes with no confidence score, is not treated as a learned pattern, and is traceable: it can say how many previous cases it came from.
Neither one is AI-generated text. Both are counts over real decisions, so asking for suggestions consumes no AI quota. A genuinely unique text field, with no similar previous case, simply gets no suggestion.
Fields that arrive already filled
By default nothing is filled before you click Autofill. The administrator can turn on, per process or per step, a second threshold — Pre-fill from — and then every field falls into one of three bands:
| Band | When | What you see |
|---|---|---|
| Pre-filled | a counted pattern with confidence at least the pre-fill threshold (0.95 is the suggested starting point), not disagreeing with the screen | the empty field already arrives filled when the task opens — or when you claim it — with no click, tagged Pre-filled |
| Offered | confidence between the two thresholds, and every previous case | the usual behaviour: it enters the form when you click Autofill |
| Hidden | confidence below Hide below | nothing |
A pre-filled field shows the same explanation as autofill on hover ("696 of 698 cases"), has a clear button and loses its tag when you edit it. A banner above the form says how many fields were pre-filled and asks you to check them before completing — Clear all undoes them at once. Completing without touching them asks for no confirmation.
Three guarantees come with pre-fill:
- What you typed wins. If you started typing in a field before the answer arrived, it is not replaced.
- A field that decides the path of the process is not pre-filled. A field used in a gateway condition or a decision table is at most offered — unless the modeler explicitly allows it. Someone who did not look must not send the case down the wrong branch. If the process model or the decision table cannot be read at that moment, the platform takes no chance: no field is pre-filled on that task, except the ones the modeler allowed. A redeployed decision table counts at once, without republishing the process.
- Keeping a pre-filled value teaches nothing. It counts as "saw the suggestion", like any other acceptance, and never raises the pattern's confidence. Changing or clearing the value counts as a rejection.
What you already filled in guides the suggestion
When you ask for suggestions, the platform looks at the form exactly as it stands on screen at that moment — including what you have just typed and not saved yet. Those values are part of the question: they say which situation the task is in, and they are what makes the search for comparable cases more specific. The more you have already filled in, the more targeted the answer.
And what you filled in is not replaced. Only empty fields are filled automatically. When a pattern points to a value different from the one on screen, nothing is overwritten: the divergence shows up in the Suggestions to review list, together with the suggested value and the count of cases supporting it, and it only enters the form if you click to use it.
None of this is recorded on its own. An accepted suggestion goes into the form as if you had typed it, and reaches the process when you save or complete the task — if you leave the screen without saving, it does not stay.
Why the AI sometimes stays silent
Every so often (1 in every 10 tasks, by default), the platform deliberately withholds its suggestions, even when it has a confident pattern for the field.
The reason is simple: to know whether a pattern still holds, the platform needs to observe decisions that were not influenced by any suggestion. If everyone always saw the suggested value, there would be no way left to tell whether it is still what the company would choose on its own — and a pattern that became obsolete would keep looking right forever. That occasional silence is what keeps the confidence score true over time.
If you are testing the feature, test on several tasks
The draw is per case and per step, and deterministic: if that step of that case fell into the silence, it will never suggest anything, however many times you click — neither through Autofill nor through an AI agent that consults patterns before it. And the silence removes every suggestion for that task — counted pattern, past case and AI alike.
The message shown is the same one used for "not enough cases", so the screen cannot tell the two apart. Testing on a single task and concluding the feature does not work is the easiest mistake to make here — open three or four.
Privacy
Two different protections act here, and they do not cover the same things.
By the type declared on the form. Fields declared as CPF, CNPJ, CEP, E-mail, Phone and Password are kept out of learning entirely: they form no patterns, are never suggested, and never enter as context to suggest other fields. An excluded field is removed from what the model sees, not masked.
By the field's name, and only when the form does not declare that field — the case of variables the process creates outside the screen. There the platform looks for terms such as nome, endereco, nascimento, rg, idade, senha, password, token, secret and apiKey in the name.
Name and address are not protected by type
There is no "person name" or "address" type in the form builder, and the name check is not consulted for fields the form declares. A nomeCompleto or enderecoEntrega field declared as text is learned normally.
For those, the administrator has to list them under Fields excluded from learning, on the Auto-Learning tab of the process definition. It is the only protection that works.
What the administrator can tune
The numbers quoted above — 80% confidence, one task in ten kept silent — are the starting point, not a fixed rule. They live on the Auto-Learning tab of the process definition, and every process has its own:
| Setting | Default | What it changes |
|---|---|---|
| Time window (months) | 3 | how many months of history the counting sees — and how many it reads: narrowing it here makes the nightly read cheaper, not just the result shorter |
| Hide below | 0.80 | below this confidence nothing is suggested. Raising it makes the platform quieter and more accurate; lowering it does the opposite. It used to be called "Confidence threshold" and was described as the minimum to pre-fill, which it never was |
| Pre-fill when the task opens / from | off | turns pre-fill on and sets its threshold, which cannot sit below Hide below. 0.95 is the suggested starting point |
| Per-step thresholds | empty | replaces both thresholds on one step; blank means the process value |
| Fields that decide the path | none allowed | lists the fields feeding a gateway or a decision table; only the ticked ones may be pre-filled |
| Minimum sample size | 5 | how many cases decided with no suggestion on screen a pattern must gather before it counts. It guards against concluding from two or three repetitions |
| Conditioning fields | 2 | 1 compares one field at a time; 2 also crosses pairs of fields, which gives more specific patterns and demands more history |
| Holdout (%) | 10 | the share of tasks deliberately left without a suggestion, explained in Why the AI sometimes stays silent |
| Fields excluded from learning | empty | the field names kept out, described under Privacy |
A holdout of 0 freezes the confidence
Setting the holdout to 0 is allowed, and the screen says what it costs: at zero every task gets a suggestion, no uninfluenced decision is ever observed again, and the confidence of the patterns already learned stops being updated — it freezes at the score it has today. A pattern that goes stale will keep looking right.
Where the learning comes from
- Learning is per company: your company's patterns never appear to another.
- What an agent showed or filled counts as suggested. When an AI agent consulted the patterns of a step, or wrote a field of its form, that case leaves the count of decisions made without help. It does not enter the acceptance rate either: accepted and refused measure only what Autofill showed a person, and keeping an agent's value is a different question. Leaving it out of the "without help" count is what keeps learning from confirming its own echo. Where agents fill many fields, the "without help" sample gets smaller, and Learning health shows it.
- Patterns are recomputed daily over a recent window of the history, so changes in how you work show up in the suggestions within a few days.
- History that already exists counts. The counting reads every task completed inside the configured window, with no need for the process to have been prepared for it. A process with history can get suggestions on the very first nightly run; a new process has to accumulate cases.
- Not every setting waits for the night. What only the nightly run rebuilds is the set of patterns: which ones exist, over what context, at what confidence — so the time window, the minimum sample, the conditioning fields and the removal of a field from the form only show up in the result after the next run. Turning learning on or off, changing the thresholds (hide, pre-fill, per step), allowing a field that decides the path, changing the holdout and adding a field to the excluded list all take effect on the very next request for suggestions: they filter what reaches the screen, not what was counted. In practice, taking a field out of learning has immediate effect; loosening the minimum sample does not.