AI-POWERED CONTRACT INTELLIGENCE

Six AI agents.
One decision engine.

Upload contracts. Get risk analysis, vendor intelligence, and a full renegotiation package — in under 90 seconds.

Powered by
IBM Watsonx
Redis
Tavily
contractiq — live agent feed
WORKFLOW WF-2026-0412
CRITICAL

Recommendation

RENEGOTIATE

91%

confidence

AUTO-RENEWAL ACTIVE34 DAYS LEFTABOVE MARKET

Risk Score

74/100

Flags

4

Artifacts

5

Ingestion complete — 4 docs classified0:08
38 fields extracted, 1 flagged for review0:14
⚠ Notice period: 58% confidence — confirmed0:16
Risk: 2 critical · Research: 3 alternatives0:24

6

Specialized Agents

<90s

End-to-End Pipeline

40+

Extracted Fields

$351K

Annual ROI

The problem

$135 billion lost to contracts nobody reads

Procurement teams manage hundreds of contracts across email, shared drives, and spreadsheets. Auto-renewals fire silently. Renegotiation windows close before anyone finds the date.

14+ hrs/week

spent on manual contract review per manager

67% of companies

miss at least one auto-renewal per quarter

Days to weeks

from upload to actionable recommendation

Core technologies

Three technologies, deeply integrated

Each one is load-bearing — remove it and the system breaks.

IBM Watsonx Orchestrate

Master Orchestrator

Coordinates all six agents in sequence, runs Risk and Research in parallel, routes uncertain fields to human review when confidence drops below 70%, and enforces the approval gate so nothing external fires without consent.

app/orchestrator/orchestrate.pyapp/routers/workflows.py

Redis Stack

State & Communication

The backbone. Contract records in Hashes for O(1) lookups. Inter-agent messages flow through Streams powering the Live Agent Feed. Sorted Sets track renewal deadlines. Vendor research cached with 24h TTL. Append-only audit log for every human action.

app/services/redis_client.pyapp/websocket/agent_feed.py

Tavily

Real-Time Intelligence

Four scoped queries per vendor — company news, security incidents, pricing benchmarks, and competing alternatives. Accessed through the vasco-tavily tool inside Watsonx Orchestrate. Only vendor names are sent — no contract text or PII ever leaves.

app/agents/research.pyapp/services/tavily_client.py

The agent pipeline

Six agents, each with one job

Independently testable, confidence-scored, and visible in the Live Agent Feed.

01

Ingestion & Classification

Classifies uploaded documents (MSA, order form, amendment) and links them to a vendor workspace.

In: Raw uploaded filesOut: Document envelope with metadata
02

Extraction

HUMAN REVIEW

Parses all documents into a structured contract record with 40+ fields. Flags uncertain fields for human confirmation instead of passing bad data forward.

In: Document envelopeOut: Normalized contract record (40+ fields)
PARALLEL
03

Risk & Compliance

Scores risk across financial, operational, legal, and strategic dimensions. Reads directly from Redis.

In: Contract record (Redis)Out: Risk flags, scores, escalation routing
PARALLEL
04

Vendor Research

Calls Tavily for real-time vendor intelligence — news, pricing benchmarks, security incidents, and alternatives. Results cached in Redis for 24 hours.

In: Vendor name + categoryOut: Vendor intelligence object
05

Decision

Synthesizes contract terms, risk flags, and live vendor intel into a single recommendation: RENEW, RENEGOTIATE, or CANCEL — with confidence score and urgency level.

In: Risk report + vendor intelOut: Structured recommendation
06

Action & Generation

Generates 5 stakeholder artifacts: Renewal Brief, Negotiation Prep, Vendor Email, CFO Summary, and Checklist. All marked Draft — nothing fires without approval.

In: Decision packageOut: Draft artifacts (all types)
← Agents 3 & 4 execute simultaneously →

Live pipeline

Renewal Rescue: the 90-second story

Upload 4 Zoom contracts → complete renegotiation package.

Upload 4 Zoom Documents

0:00

MSA, Order Form, Amendment, Pricing Sheet. Watsonx Orchestrate creates the workflow and writes initial state to Redis.

Upload received — 4 documents — Zoom Video Communications

Ingestion Agent Classifies

0:08

All 4 documents classified and linked to the Zoom vendor workspace in under 8 seconds.

Ingestion complete — 4 docs classified → Dispatching Extraction Agent

Extraction Agent Parses

0:14

38 fields extracted. Notice period flagged at 58% confidence — system pauses for human confirmation.

⚠ Notice period: "60 days" — confidence 58% — User confirmed

Risk + Research Fire in Parallel

0:24

Risk Agent reads from Redis → 4 flags, score 74/100. Research Agent calls Tavily → Zoom above-market pricing, 3 alternatives found.

Risk: 2 critical, 2 high · Research: price increase detected, 3 alternatives

Decision: RENEGOTIATE

0:41

All inputs combined → RENEGOTIATE at 91% confidence, CRITICAL urgency, 34 days to act. Orchestrate routes to Action Agent.

RENEGOTIATE — 91% confidence — CRITICAL — 34 days to act

5 Artifacts Generated

0:52

Renewal Brief, Negotiation Prep, Vendor Email, CFO Summary, Checklist. All marked Draft — Pending Approval.

5 artifacts ready for review — all DRAFT_PENDING_APPROVAL

User Approves → Complete

1:15

User reviews, personalizes the email, approves all five. Orchestrate logs to Redis audit stream. Workflow complete.

All approved → Audit logged → Workflow COMPLETE

System architecture

How the pieces connect

User Interface

Next.js 16 · React 19 · Tailwind v4

DashboardUploadLive Agent FeedArtifact Approval
HTTP / WebSocket

FastAPI Backend

18 routes · Port 8000

IBM Watsonx Orchestrate

Dispatch · Confidence routing · Approval gate · Audit trail

Agent Pipeline

1Ingestion
2Extraction
3Risk∥
4Research∥
5Decision
6Generation

Redis Backbone

HashContract records
StreamAgent message bus
VectorSemantic search
SortedSetRenewal deadlines
TTLResearch cache (24h)
StreamAudit log

External Intelligence

Anthropic ClaudeTavily (via Orchestrate)PyMuPDF

Business impact

Measurable outcomes

14 → 2 hrs

Weekly review time

per manager

67% → 0%

Missed auto-renewals

surfaced 30+ days early

Days → 90s

Upload to recommendation

end-to-end pipeline

$351K

Annual value

per 3-person team

ROI breakdown — 3-person team, 300 contracts

Recovered procurement productivity$153,000
Avoided unwanted auto-renewals$72,000
Renegotiation savings via benchmarks$60,000
Legal review efficiency$30,000
Reduced interruption overhead$36,000
Total Annual Value$351,000

Engineering decisions

Why we built it this way

Why six agents instead of one?

Each agent is independently testable, scored, and visible in the Live Feed. A monolithic agent can't parallelize, can't show meaningful progress, and can't tell you which step failed.

Why Redis Streams for messaging?

The UI subscribes to the same stream agents write to — so the Live Agent Feed comes for free. Workflows survive restarts. Every action is auditable.

Why is the approval gate in Orchestrate?

Application-layer guardrails can be bypassed by bugs. The gate is a workflow state in Orchestrate, not a conditional in code — that's what enterprise guardrails means.

Why Tavily over generic search?

Tavily returns clean, structured results built for AI agents. Generic search returns SEO-heavy pages requiring heavy post-processing. For vendor research, it's meaningfully more accurate.