Spaces:
Runtime error
Runtime error
--- | |
title: "Input Templating" | |
description: The workflow automation system within AgentGPT. | |
icon: "wave-sine" | |
--- | |
Any given workflow node will outfield a set of fields that can be used in the input of descendent nodes. | |
Because these outputs are only generated at runtime, we use a templating system to keep track of what values a node | |
will receive once these values are actually calculated. | |
This document goes over how this process works in both the frontend and backend. | |
## Model | |
All `block` definitions will specify both the inputs it takes in and the output values it provides | |
## Frontend | |
The workflow hierarchy follows a graph-like structure. | |
For a given node, we calculate what output fields are available to it by doing a BFS on its ascendant nodes. | |
Once we have a list of all ascendant nodes, we can generate the available output field values along with its underlying key. | |
When placed inside the input of another node, it will take its template form which has the following shape: | |
``` | |
{{node_id-value}} | |
``` | |
## Backend | |
A workflow task in kafka will keep track of the mapping of template key to value pairs as they are generated. | |
When a new node is being executed, its input fields will first have actual values replace the string templates before type validation is run. |