Build AI workflows that can act — under control.
AgenticCAP adds a reusable control lifecycle around AI systems: capture evidence, evaluate policy, request human approval when needed, execute through your application, and retain a trace of what happened.
AgenticCAP does not replace your agent, solver, ERP, TMS or document pipeline. It controls and records the lifecycle around them.
First controlled workflow
Connect an existing Python workflow to AgenticCAP with a tenant and API key. The SDK can stay the same while policies differ per customer or environment.
Configure credentials
Keep credentials outside source control and scope them to the tenant that owns the workflow.
AGENTICCAP_TENANT_ID=ferri
AGENTICCAP_API_KEY=cap_live_••••••••••••
Create the client
Initialize the SDK once in the service that owns your AI workflow.
from agenticcap import CAPClient
cap = CAPClient(
tenant_id=os.environ["AGENTICCAP_TENANT_ID"],
api_key=os.environ["AGENTICCAP_API_KEY"],
)
Wrap the operation in a trace
Attach evidence before policy evaluation so the decision has the context it needs.
trace = cap.traces.create(
agent_id="operations-copilot",
action="assign_vehicle_and_driver",
)
cap.evidence.submit(
trace_id=trace.id,
payload=context_snapshot,
)
decision = cap.policies.evaluate(
trace_id=trace.id,
action="assign_vehicle_and_driver",
)
if decision.requires_approval:
cap.approvals.request(trace_id=trace.id)
cap.traces.finish(trace.id)
Tenant-scoped credentials
Each integration should identify the tenant whose policies, evidence and audit history apply to the operation. API credentials belong in server-side configuration, never in a browser bundle.
Tenant ID
Selects the isolated policy and audit context for the workflow.
tenant_id="ferri"API key
Authenticates the server-side integration. Rotate it independently from application code.
AGENTICCAP_API_KEYBrowser clients should call your backend. Your backend owns AgenticCAP credentials and the controlled business operation.
Traces
A trace is the envelope for one controlled AI workflow. It ties together the initiating agent, the proposed operation, evidence, policy decisions, approvals and the final outcome.
operations-copilotassign_vehicle_and_driverferri3 itemsREQUIRE_APPROVALUse one trace for one business intent. Related events and evidence should reference the same trace ID so the complete lifecycle can be reconstructed later.
Evidence
Evidence captures the information behind a decision. It can be a structured snapshot, document reference, transcription segment, OCR result, planner output or any application-specific context.
cap.evidence.submit(
trace_id=trace.id,
payload={
"contract_id": 8472,
"vehicle_candidates": candidates,
"planner_result": proposal,
},
)
Policies
Policies decide how a proposed action should proceed. The same application action can be allowed for one tenant, require approval for another, or be denied in a higher-risk context.
assign_vehicleALLOWassign_vehicleREQUIRE_APPROVALcancel_transportDENYChanging approval requirements should not force you to rewrite or redeploy the business workflow.
Approvals
When policy requires a person in the loop, create an approval tied to the trace. Your application should execute the sensitive action only after authorization is resolved.
For mutating operations, pair approval with an idempotency key so repeated confirmation does not create duplicate orders, messages or side effects.
Transcription
Long-running media workflows can keep their processing lifecycle inside the same control model: create the transcription job, poll its state, retrieve segments, then attach the resulting source material to later analysis traces.
trace = cap.traces.create(
agent_id="meeting-intelligence",
action="transcribe_session",
)
job = cap.transcription.create(
trace_id=trace.id,
source=video_source,
)
status = cap.transcription.status(job.id)
segments = cap.transcription.segments(job.id)
cap.traces.finish(trace.id)
The resulting transcript is source evidence for downstream tasks such as speaker context, agenda alignment, voting analysis or question answering.
OCR & contextual analysis
AgenticCAP can be used around pipelines that combine multiple evidence sources. The application performs OCR or contextual analysis; AgenticCAP records which sources were used and which control policy governed release of the result.
For knowledge workflows, the control outcome can depend on whether the answer is linked to sufficient source evidence.
Multi-tenant by design
One AgenticCAP deployment can serve unrelated applications and industries while keeping credentials, policies and audit history isolated per tenant.
ferri
- Own API credentials
- Transport policies
- Approval rules
- Audit history
agoracta
- Own API credentials
- Source policies
- Evidence rules
- Audit history
The domain remains different. The control primitives remain the same.
Controlled transport assignment
Use AgenticCAP around a workflow where an operations copilot proposes a vehicle and driver, policy decides whether human approval is needed, and TransCloud performs the actual write.
Contract snapshot, planner result, vehicle and driver state.
Whether assignment may execute automatically or requires operator approval.
Create or update the transport in TransCloud and continue existing driver communication.
Verifiable council-meeting context
Use the same platform around a workflow that combines transcript, OCR and meeting metadata to answer contextual questions with attributable source evidence.
“What did the mayor say about waste collection, and what did the councillor answer?”
The application can ground the response in speaker-linked transcript segments, documents and timestamps before releasing it.