> Source: https://builder.ema.ai/v2/agent-reference/fixed-response
> Title: Fixed Response Agent

# Fixed Response Agent

The Fixed Response Agent returns a single, statically configured string exactly as you supply it — with **no LLM call**. You give it a template string and it echoes that string straight back. It exists so a workflow can inject static content (a canned reply, a block of JSON, a set of expression templates, a constant configuration) into a pipeline without paying for or waiting on a model completion.

It belongs to the **Custom Agents** group: a set of pre-built, externally dispatched agents you select by ID instead of configuring an LLM loop yourself. Like every agent in this group, it runs as a Custom agent (`custom_agent`) — the agent service forwards the node's inputs to the custom-action service, which executes the agent and returns its output. See [Custom Agent](/builder/v2/agent-reference/custom) for how the `custom_agent` dispatch mechanism works.

> [INFO]
> **Availability.** This agent is enabled in all environments (`local`, `development`, `staging`, and `production`).

## When to use it

Use the Fixed Response Agent whenever a node in a workflow needs to emit a constant value:

-   Feed a fixed block of configuration (such as the `expression_templates` consumed by the [Criteria Expression Builder](/builder/v2/agent-reference/criteria-expression-builder)) into a downstream node.
-   Return a canned message or boilerplate response without invoking a model.
-   Stand in as a deterministic placeholder while you build out the rest of a workflow.

Because there is no model call, the agent is instantaneous, deterministic, and reports no token usage.

## Configuration

Add the agent to a workflow as a Custom agent and pin it by ID in `agent_config.type_config`:

```json
{ "custom_agent_id": "fixed_response_agent" }
```

It reads exactly one input key.

Input key

Required

Purpose

`template`

Yes

The static string to return verbatim. May be any text, including a serialized JSON string. When empty or omitted, the agent returns an empty string.

The `template` value is returned byte-for-byte; the agent does not parse, validate, or transform it.

## Output

The agent returns an object with a single key whose value is the template, unchanged:

```json
{ "fixed_response_with_sources": "<your template, verbatim>" }
```

A downstream node reads the value via `{{<node_id>.output.fixed_response_with_sources}}`.

## Example

A node configured as:

```json
{ "custom_agent_id": "fixed_response_agent" }
```

with this input:

```json
{ "template": "Thanks for reaching out. A specialist will follow up within one business day." }
```

returns:

```json
{ "fixed_response_with_sources": "Thanks for reaching out. A specialist will follow up within one business day." }
```

To pass a JSON payload to a later node, set `template` to a serialized JSON string and let the consuming node parse it:

```json
{ "template": "{\"state_id_object\": {\"US-CA\": \"California\"}}" }
```

## What's next

-   [Custom Agent](/builder/v2/agent-reference/custom) — how the `custom_agent` dispatch this agent runs on works.
-   [Criteria Expression Builder](/builder/v2/agent-reference/criteria-expression-builder) — a common consumer of a fixed `expression_templates` block.
-   [Agent Reference overview](/builder/v2/agent-reference) — the agent-type model, catalog, and shared execution engine.
