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.
# 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" }
}'
{
"type": "fetch_customer",
"properties": {
"keys": ["customer_id"],
"values": ["@input.id"]
}
}
/actionsRegister a new action.
/actionsList all registered actions for the organization.
/actions/:idGet details of a specific action.
/actions/:idUpdate 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) |