# Agent input_data


> Configure the agent job_type with an exact prompt and registered tool objects, including mandatory input_data tool rules.


Canonical URL: https://www.copyhero.app/help/technical-reference/task-input-data/agent

## Purpose [#purpose]

An Agent is a reusable, prompt-driven workflow step that can inspect, research,
and update product data through allowed tools. Create and edit it on **Agents**,
not **Tasks**, and set `job_type` to `agent`.

## Valid JSON example [#valid-json-example]

```json
{
  "prompt": "Review the product information, assign the most suitable Shopify category, and preserve claims that the source does not support.",
  "tools": [
    { "name": "read_input" },
    { "name": "write_output" },
    { "name": "list_fields" },
    { "name": "search_shopify_taxonomy" }
  ]
}
```

## JSON fields [#json-fields]

| Field    | Type         | Required          | Values and meaning                                                                                              |
| -------- | ------------ | ----------------- | --------------------------------------------------------------------------------------------------------------- |
| `prompt` | string       | Yes               | Non-empty instructions describing the outcome and constraints.                                                  |
| `tools`  | object array | Yes in the editor | Each item has a non-empty registered `name`. Use the current **Tools** tab as the authoritative available list. |

## Mandatory tools [#mandatory-tools]

The Agent editor always enables these tools and does not allow them to be
switched off:

| Tool           | Purpose                                                     |
| -------------- | ----------------------------------------------------------- |
| `read_input`   | Read the product details available to the workflow step.    |
| `write_output` | Write the product result that later workflow steps receive. |
| `list_fields`  | Discover which product fields the agent can read or update. |

The editor also currently offers optional tools:

* `search_shopify_taxonomy` finds a suitable Shopify category.
* `search` searches the web within the per-run limit.
* `scrape` reads a web page within the per-run limit.
* `reverse_image_search` finds sites or similar results for a product image
  within the per-run limit.

New Agents start with taxonomy search, web search, and page reading enabled;
reverse-image search starts disabled. Optional selections can be changed in the
editor. Tool availability can evolve, so never invent a name or copy one from a
job payload without confirming it in **Tools**.

## Validation and run-time behavior [#validation-and-run-time-behavior]

* The prompt must contain non-whitespace text.
* Every `tools` item must be an object with a registered, non-empty `name`.
* The editor re-adds all mandatory tools when it saves, including after a draft
  change made through the Assistant.
* A prompt-only low-level payload may be accepted by some programmatic paths,
  but it is not the supported editor contract. Keep the mandatory tools in
  authored `input_data`.
* Search and page-reading tools bring external information into the run. Tell
  the Agent what evidence to prefer and what it must not infer.
* Never put API keys, store credentials, webhook secrets, or signed URLs in the
  prompt or tool objects.

## UI guide [#ui-guide]

Use [Agents](/help/assistant/agents) and
[Agents in workflows](/help/assistant/agents-in-workflows) for the corresponding
editor and workflow behavior.