Workflow Intent SDK Examples
These examples all do the same thing: declare a workflow, run one governed provider call inside the workflow context, and complete the workflow.
Python
from keel_sdk import Keel
from keel_sdk.providers.openai import OpenAI
keel = Keel()
openai = OpenAI()
workflow = keel.workflows.declare(
workflow_id="invoice-batch-2026-05-13",
intent={
"expected_calls": 10,
"max_calls": 12,
"expected_model": "gpt-5-mini",
},
)
with keel.workflows.workflow(workflow.workflow_id):
response = openai.chat.completions.create(
model="gpt-5-mini",
messages=[
{
"role": "user",
"content": "Summarize invoice INV-1001.",
}
],
max_tokens=80,
)
print(response["choices"][0]["message"]["content"])
keel.workflows.complete(workflow.workflow_id)JavaScript
import { Keel, runInWorkflow } from "keel-sdk";
import { OpenAI } from "keel-sdk/providers/openai";
const keel = new Keel();
const openai = new OpenAI();
const workflow = await keel.workflows.declare({
workflow_id: "invoice-batch-2026-05-13",
intent: {
expected_calls: 10,
max_calls: 12,
expected_model: "gpt-5-mini"
}
});
await runInWorkflow(workflow.workflow_id, async () => {
const response = await openai.chat.completions.create({
model: "gpt-5-mini",
messages: [
{
role: "user",
content: "Summarize invoice INV-1001."
}
],
max_tokens: 80
});
console.log(response.choices[0].message.content);
});
await keel.workflows.complete(workflow.workflow_id);Notes
- SDK workflow context injects
X-Keel-Workflow-Idon governed requests inside the block. - The workflow id still needs to be declared before it is used.
- Go reference-client and direct API users can set the same header manually. See Header Convention.
Last updated on Edit this page on GitHub