Hermes icon

Hermes

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

Action → Dry Run Action

AI-generated

Summary

Simulate a Hermes action without external side effects, validating and routing the action according to the configured parameters.

Inputs

  • inputSource — Source of the Hermes action JSON (Entire Input Item, Manual JSON, or Specific Field)
  • inputFieldName — Field path where the action JSON is located (e.g., output or data.action)
  • manualJson — Direct JSON input containing the Hermes action when inputSource is Manual JSON
  • actionName — Fallback action name when the selected input source does not provide an action
  • targetService — Fallback target service if not specified in the input (e.g., gmail, google_calendar, webhook, etc.)
  • targetOperation — Fallback operation name if not specified in the input
  • payloadJson — Fallback action data used when the selected input does not contain a data object
  • requiresApproval — Whether the action should trigger an approval request
  • approvalStatus — Desired approval status when creating an approval request (Approved, Pending, Rejected, Not Required)
  • safetyLevel — Configured safety level (Critical, High, Medium, Low) influencing validation strictness
  • dryRun — When true, Hermes simulates the action without external side effects
  • advancedOptions — Additional settings such as allowlists, blocklists, timeout, idempotency key, correlation ID, retry count, and log level

Output shape

A normalized success envelope containing success, status, action, target_service, operation, result, error, approval_required, correlation_id, idempotency_key, executed_at, with optional raw_response when Include Raw Response is enabled.

Returns this envelope on success; on validation failure a failure envelope is returned. The shape is always present; raw_response is optional.

Examples

Example 1: Dry‑run validation of an email draft

operation: Dry Run Action; inputSource: Entire Input Item; targetService: gmail; targetOperation: create_draft; payloadJson with email details; dryRun: true; safetyLevel: low

Example 2: Preview a custom API call without side effects

operation: Dry Run Action; inputSource: Specific Field (field: data.action); targetService: custom_api; targetOperation: post_notification; payloadJson with required fields; Include Raw Response: true

Example 3: Create an approval request for a sensitive action

operation: Create Approval Request; inputSource: Manual JSON; actionName: delete_account; targetService: custom_api; safetyLevel: critical; Requires Approval: true; Approval Status: Pending

Links

Discussion