Custom nodes
Your own decisions, as reusable components.
What a custom node is
You define typed inputs, optional reference context (your policy or rubric), and up to 8 decisions, right inside a workflow in the Studio: choose Add, then New intelligence node. Select the node and choose Edit node to change it later. Each decision is one of:
- Yes / no: outputs
yes,no, oruncertain. - Choose one: outputs one of your options (up to 12) or
uncertain. - Score on a scale: outputs one of your levels (up to 7) or
uncertain.
You set the confidence each decision needs. Below it, the output is uncertain, so your code can route those cases to a person. Kovca doesn't return probabilities.
Deploy it as a workflow
Nodes are components; workflows are what you call. A workflow with just Input → your node → Output accepts exactly the node's input and returns exactly its output, so after you publish the node and the workflow you call it like this:
curl https://kovca.io/api/v1/workflows/wf_.../execute \
-H "Authorization: Bearer $KOVCA_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "input": { "message": "Can I return a used blender?" } }'{
"request_id": "req_...",
"run_id": "run_...",
"workflow": { "id": "wf_...", "version": 1 },
"status": "succeeded",
"output": { "eligible": "no", "reason": "used_item" },
"steps": [ ... ],
"evaluations": 1
}Every output field is one of its declared values. Published nodes also appear under Add in every workflow, so you can reuse them in larger workflows. See the Workflows API.
Versions
- Test drafts from the node editor in the Studio (billed like any evaluation). Published node versions are immutable.
- A published workflow must use a published node version, and stays pinned to it. Publishing a new node version doesn't change deployed workflows until you update and republish them.
- Archiving a node removes it from the Add list; workflows already using its versions keep working.
Billing and limits
- Each successful run of the node is one evaluation, however many decisions it makes.
- Node inputs up to 16 KB. A node times out after 15 seconds.