Flovello AI
Description
Asks Flovello AI to produce a value of a chosen model from the given input. Pick the output model in the inspector, describe the task in the instruction, and wire in the source data — a model, a string, or a stream carrying a PDF, an image or a text file. Branches on solved/not solved, with a Reason output explaining the not-solved case. Consumes AI step coins per run.
When to use
Use the Flovello AI step when a piece of the automation needs judgement rather than a fixed rule — extracting structured fields from messy text, reading a document whose layout you cannot predict, classifying or summarising content, or transforming input into a target shape that would be awkward to express with ordinary nodes. Pick the output model in the inspector so the result is strongly typed, write a clear Instruction, and wire the source data into Input.
The node sits on the execution flow and branches: the solved pin fires with a typed
Result when the AI produced a value that fits the model; the not-solved pin fires
when it could not, and the Reason output says why. Each run consumes AI step coins
from your plan’s monthly allowance — see the Extra and Enterprise tiers on the
pricing page.
Wiring a file in
The Input pin takes an input stream, so an emailed PDF, a downloaded image or a file off an FTP server can go straight in. What happens next depends on what the stream holds:
- PDF — sent as a document. The AI reads both the text layer and a picture of every page, so scattered labels, tables, stamps and scanned pages all work.
- JPEG, PNG, GIF or WebP — sent as an image. A photographed receipt or a screenshot is the same job as a PDF. Animated GIFs are read as their first frame.
- Text of any kind — JSON, XML, CSV, plain text — read as text, exactly as if you had wired the string in yourself.
- Anything else —
.docx,.xlsx, archives — fails the node with a message naming the fix. Spreadsheets belong in a Parse to model node with FormatEXCEL; Word documents should be converted to PDF, which the AI reads properly.
You do not select the type anywhere: it is detected from the stream, and from the file’s own leading bytes when whatever produced it declared no content type, which FTP downloads never do.
What a file costs
Cost scales with pages, not file size. A PDF is billed roughly per page, because each page is read as text and as an image; an image is capped at about 1,500 tokens no matter how large it started, since it is scaled down before it is read. So a photo costs about the same as a short page of text, and a 200-page PDF costs about two hundred times a one-page one.
That is what makes PDF to text worth trying first on documents that have a text layer: it costs no coins at all. Extract, loop the pages, and send only the page you care about here. Files are never stored — an uploaded document is deleted as soon as the step finishes.
Two limits worth knowing: a PDF must be under 32 MB and 600 pages, and email attachments are separately capped at 25 MiB by the email nodes.
When it does not solve
not-solved means the AI was asked and could not answer in the shape you declared —
it said so itself, or its answer failed validation against the model. Reason carries
that explanation.
Running out of AI step coins, and an unreadable file type, are different: they fail
the node outright rather than taking not-solved, because in both cases the AI was
never asked. Those surface as execution errors, not on the Reason pin.
This is the in-pipeline AI node, distinct from the Flovello AI assistant that builds and edits whole pipelines from a description in the editor.
Pins
Input pins
| Pin | Type | Default | Notes |
|---|---|---|---|
| Instruction | string | — | A natural-language description of what to produce from the input — for example "extract the shipping address" or "classify the sentiment". This carries real weight when the input is a file: it is the only thing telling the AI what to look for in a document it can see but you cannot describe by wiring. |
| Input | generic | — | The source data the AI reads. Accepts anything: a model, a plain string, or an input stream holding a PDF, a JPEG/PNG/GIF/WebP image, or a text file. Models and other values are rendered to text as before; PDFs and images are sent to the AI as the document itself. |
Output pins
| Pin | Type | Notes |
|---|---|---|
| Result | model | The produced value, typed to the model selected in the inspector. Available on the `solved` branch. Wire into a Break node to read its fields. |
| Reason | string | Why the step did not solve — the AI's own explanation when it declined, or the validation failure when its answer did not fit the model. Null on the `solved` branch. Wire it into Send email, Send Slack message or Log message so a failure explains itself instead of living only in the execution log. |
Execution pins
| Pin | Direction |
|---|---|
| In | Input |
| Solved | Output |
| Not solved | Output |
Example
Extract a structured contact from a free-text enquiry. Wire the parsed request body into
the Input of the Flovello AI step, set the Instruction to “extract the sender’s name and
email”, and select a Contact model in the inspector. On the Solved execution output, wire
the Result into a Break node to read the name and email fields; on the Not solved
output, wire Reason into the body of a Send email node so someone sees what went wrong.
Read an emailed invoice end to end. After Find emails and For each, Break the email and
loop its Attachments; Break each one, Branch on contentType equals application/pdf,
and wire the attachment into Open email attachment. Feed its Content straight into the
Flovello AI step’s Input, set the Instruction to “extract the invoice number, the total
including VAT, and the due date”, and pick an Invoice model. The AI reads the rendered
pages, so it works the same whether the supplier sent a generated PDF or a scan of a
printed one.