Actions

Actions are reusable operations you define once and reference by name. Every action has a kind that determines how it executes. You can register integration actions through the API and package policy-bound matching tools through Process Studio.

The Six Action Kinds

Kind What It Does Example
HTTP Call external REST APIs POST to Salesforce, GET from Stripe
LLM AI text generation Summarize a document, extract entities
DB Query databases SELECT from your data warehouse
Matcher Pre-configured matching rules Invoice-to-payment matching with saved config
N-Way Match Pre-configured multi-dataset matching Purchase-order, receipt, and invoice matching
Custom Table Table operations Read/write to Hyphen-managed tables

Where Registered Actions Run

Registered actions give agents named tools. Registered HTTP, LLM, and DB actions can also run as workflow steps. Foreach loops are optimized for inline work:

Context Support
Workflow step Use registered HTTP, LLM, or DB actions by name. Use the built-in primitives for Matcher, N-Way Match, and Custom Table steps
Foreach loop Use custom-table steps or registered HTTP actions explicitly marked inline: true inside actions_to_execute
ReAct agent tool All six registered kinds can be listed in tools; the agent decides when to call them

Matcher, N-Way Match, and Custom Table registrations are especially useful as fixed-policy agent tools. Their policy fields stay bound while the agent supplies only the permitted runtime inputs.

API Registration

Register an HTTP, LLM, or DB action via API, then use its action_name as a workflow step type. Custom-table and N-way actions can also be registered for agent use. Matcher policies used as agent tools are packaged through Process Studio.

bash
# Register
curl -X POST https://your-hyphen.example.com/actions \
  -H "X-Org-Id: acme-corp" \
  -H "Content-Type: application/json" \
  -d '{
    "action_name": "fetch_customer",
    "kind": "http",
    "url": "https://api.crm.com/customer-search",
    "http_method": "POST",
    "headers": { "Authorization": "Bearer orgconfig:api:crm_token" }
  }'
json
{
  "type": "fetch_customer",
  "properties": {
    "keys": ["customer_id"],
    "values": ["@input.id"]
  }
}
POST/actions

Register a new action.

GET/actions

List all registered actions for the organization.

GET/actions/:id

Get details of a specific action.

PUT/actions/:id

Update an existing action.

Common Properties

These properties apply to all action kinds:

Property Type Required Description
action_name string Yes Unique name within the organization; declare it by name for an agent, or use HTTP, LLM, and DB actions as workflow step types
kind string Yes "http", "llm", "db", "matcher", "nway_match", or "custom-table"
description string No Human-readable description
passthrough boolean No If true, the raw response is passed through to context (default: false)