Hermes icon

Hermes

Validate, approve, route, and execute AI-generated actions safely

Action → Validate Action

AI-generated

Summary

Validates a structured Hermes action against local safety rules, then sends it to the Hermes API for validation when it passes and does not require approval.

Inputs

  • Input Source — Choose the incoming item, Manual JSON, or a Specific Field path. For the incoming item, the node can detect an action in output, action, command, hermes_action, or data.
  • Input Field Name — Dot-separated path to the action JSON when Input Source is Specific Field; defaults to output.
  • Manual JSON — Action JSON to validate when Input Source is Manual JSON.
  • Action Name, Target Service, Target Operation — Fallback values used when the selected input does not supply action, target_service, or operation. The action must ultimately provide all three.
  • Payload JSON — Fallback data object when the action input has no data object.
  • Requires Approval, Approval Status, Safety Level, Dry Run — Fallback action fields when the input does not provide them. Validation checks approval status and approval requirements; safety_level and dry_run are included in the action sent to Hermes.
  • Advanced Options — Configure local allowed, blocked, and sensitive action lists; request timeout and retry count; log level; optional correlation and idempotency identifiers; and whether to include the raw API response. Approval behavior also uses the default approval mode from the Hermes credentials.

Output shape

A list of one result item per input item, paired with its source item.

Successful validation returns a normalized object with success, status (valid), action, target_service, operation, result, error, approval_required, correlation_id, idempotency_key, and executed_at; raw_response is included when enabled. If approval is required, returns success false with status approval_required and an approval error. Failed local checks or API errors throw unless the node is set to continue on fail, in which case it returns a normalized failure object. Local checks require non-empty action, target_service, and operation, enforce the configured allowlist and blocklist, and apply the credential approval policy. The API call is POST /v1/actions/validate.

Links

Discussion