Every node of a flow has a type. The built-in types are listed below with their parameters. Any parameter can instead come from an environment variable through the node’s credentials.

gwenflow.Agent

Runs an agent on a task and returns its answer. Parents the task does not reference are appended after it as “Context from previous steps”, so every input reaches the agent.

gwenflow.httpRequest

Calls a URL and returns the JSON response, or the text when it is not JSON. An HTTP error status fails the node.

Readers

The PDF and Office readers need pip install "gwenflow[readers]".

gwenflow.textSplitter

Splits text into token-sized chunks: the output of its parent (a string, or a list of items with a content key) or its text parameter. Parameters: chunk_size (500), chunk_overlap (100), encoding_name (cl100k_base). Returns a list of chunk_id, content.

Writers

They write the result of their parent, or of the parent named in source when there are several, create the directory if needed, and return the file path (and the row count for CSV).

Databases

gwenflow.postgresQuery

A SELECT returns a list of rows as dicts; another statement is committed and returns affected_rows. Needs psycopg.

gwenflow.sqliteQuery

Same behaviour on a SQLite file: database (the path), query, params.

gwenflow.opensearchQuery

Queries an OpenSearch index.

gwenflow.Python

Runs a Python script in a subprocess and returns its standard output. The parents’ results are written to the script’s standard input as JSON:
transform.py
A non-zero exit status fails the node.