C

Candis

Candis connector for Ductor — available as both a trigger and a destination.

Accounting
1
Actions
0
Triggers

Example

A complete route that uses Candis — an input is matched, scored by a strategy, assigned, and dispatched to Candis.

type == "order" && status == "paid"key →TriggerNew OrderWebhookAssignleast_loadedStrategyfulfillmentassignedcandisActionDelivered
Show the code
// Fulfill an order the moment payment clears.
engine.Route(ductor.Route{
Match: `routable.type == "order" && attrs.status == "paid"`,
Strategy: "least_loaded",
Pool: "fulfillment",
Then: ductor.Workflow{
Mode: ductor.Async,
Steps: ductor.Steps{
ductor.Connector("candis", "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

OAuth 2.0No auth

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

Actions

No actions on this connector.