Named Inputs and Outputs

Named Inputs and Named Outputs are the preferred data-passing protocols in GWE. They provide structured, labeled channels for data to flow into and out of agents and workflows.

Named Outputs (AI Employee Outputs)

Named Outputs define the structured results that an AI Employee produces. You configure them at the workflow level and bind specific agent outputs to labeled output slots.

How Named Outputs Work

In the AI Employee Outputs panel (visible in the Workflow Builder), each output has:

  • Output name: A natural language label for the output (e.g., Ticket Response, Category, Abstain Reason).
  • Description: What this output represents.
  • Output type: The data format (String, Boolean, etc.).
  • Output requirement: Whether it is Required or Optional.
  • Append if multiple outputs: Whether to combine multiple values into an array when more than one agent produces this output.

Published vs. Eligible

Each output shows two status indicators:

  • Published: How many agents are currently selected to produce this output.
  • Eligible: How many agents in the workflow can produce this output.

Connecting Outputs

To connect an agent to produce a named output:

  1. Find the output in the AI Employee Outputs panel.
  2. Click on an eligible agent.
  3. Use the Publish button to select that agent as a producer.

Example: Agent Assist AI Employee

The Agent Assist template includes predefined outputs:

OutputDescription
Ticket ResponseThe main response to the user's query
Abstain ReasonExplanation when the AI chooses not to respond
L1 CategoryTop-level categorization
L2 CategorySecond-level categorization
L3 CategoryThird-level categorization
Public ResponseWhether to post publicly or as a private note

Outputs marked as required must be connected to at least one agent. The system validates that all required outputs are produced on every execution path. See Workflow Validation.

Named Inputs

Named Inputs let agents receive multiple, labeled inputs from other agents or sources in the workflow. They consolidate supplementary information beyond the primary query into a structured, key-value format.

Use Cases

Named Inputs serve two primary purposes:

  1. Flexible primary inputs: Generic agents that accept different types of inputs in the same slot. For example, the Categorizer agent accepts texts, search results, or documents through its named inputs. In such cases, at least one input field is typically required.

  2. Supplementary context: Additional information beyond the primary query, such as external tool results, search data, or outputs from previous steps, all consolidated in one place. For example, the "Additional Context" section in the Respond to a Query agent. These are often optional.

Supported Types

  • Integers / Floats
  • Booleans
  • Strings
  • Dictionaries (JSON)
  • Text with sources (citations)
  • Documents
  • Chat conversations
  • Extraction outputs
  • Rulesets
  • Search results

Adding Named Input Fields

  1. Identify an agent that supports named inputs.
  2. Click the + Input Field button on the agent's configuration panel.
  3. Configure the field:
    • Name: A label for this input (used in instructions).
    • Description (optional): What this input represents.
    • Optional: Toggle to make the field non-mandatory.
    • List: Toggle to accept multiple connections to this field.
  4. Connect other agent outputs to the field. If List is enabled, you can connect multiple sources.
  5. Optionally reference named input fields by name in the agent's Instructions field to guide how the LLM uses them.

If named inputs are mandatory for an agent (e.g., the Categorizer agent where they are primary inputs), you will see a validation error until at least one input field is added and connected.

Named Input Rules with Conditionals

Named inputs interact with the conditional system as follows:

  • Each named binding can be independently marked as optional by the workflow builder.
  • If a single named binding is optional and has no value at runtime, it is ignored.
  • If all named bindings in a group are optional and none have values:
    • If the Named Inputs group itself is optional (per the agent definition), all can be ignored.
    • Otherwise, the agent is missing a required input and cannot run.
  • If a Named Inputs group is optional as a whole but contains a non-optional named binding, that binding is still considered required.

See Conditionals for the full skip-propagation rules.


Next: Conditionals

Last updated: Jul 3, 2026