A

Approval (built-in)

Human-in-the-loop pause primitive. Suspends a workflow run until an approver decides, the request is cancelled, or it expires.

1
Actions
0
Triggers

Example

A complete route that uses Approval (built-in) — an input is matched, scored by a strategy, assigned, and dispatched to Approval (built-in).

type == "lead"key →TriggerNew LeadWebhookAssignmulti_objective_scoreStrategysales-teamassignedcore_approvalActionDelivered
Show the code
// Route a new lead to the right owner and open the record.
engine.Route(ductor.Route{
Match: `routable.type == "lead"`,
Strategy: "multi_objective_score",
Pool: "sales-team",
Then: ductor.Workflow{
Mode: ductor.Async,
Steps: ductor.Steps{
ductor.Connector("core_approval", "run"),
},
},
})
 
// Durable, observable, exactly-once.
decision, err := engine.Dispatch(ctx, routable)

What you can build

Route by rule

Match any input with CEL and send it to the right pool.

Fan out to many

Scatter to several connectors and gather the results.

Trigger a workflow

Kick off a sync or async workflow on every routed item.

Authentication

No auth

Credentials are stored AEAD-encrypted at rest — usable by the engine, never readable back.

Actions

No actions on this connector.