AutoNegotiate
An always-on supplier negotiator that stops at limits you set
What it is
AutoNegotiate haggles with suppliers over WhatsApp and Instagram on the buyer's behalf, anchoring, trading and holding a price until every term (price, lead time, incoterm, freight, payment terms, sample, spec) is settled. It never says yes or moves money on its own: it freezes the order, builds a one-page PDF receipt and waits for the human to approve before sending a supply agreement. Whether a deal is acceptable is decided by a pure, unit-tested guardrails function with no model output in it.
The problem
Sourcing from suppliers means hours of repetitive chat negotiation where a tired buyer can overpay or miss a quietly changed term.
How it works
- Messaging sessions run through Unipile, so WhatsApp and Instagram threads need no open browser; a local console on localhost:4317 controls the run.
- src/core/guardrails.ts is a pure function (price ceiling, quantity envelope, plausibility floor, spec integrity, no money up front, exposure cap) and the only thing that can accept a deal; close.ts decides when terms are settled.
- Model calls route through OpenRouter in tiers: cheap models for extraction and a gate on every outbound message, stronger models for drafting, strategy and deep adversary checks on closes.
- A vision model reads the required product mockup to write the spec a factory quotes from; receipts and contracts are drawn directly with pdf-lib.
- Express server, persistent store, supervisor, control UI and dashboard, covered by a Vitest suite.
Stack
Disciplines
For your business
Guardrailed negotiation and procurement agents that work vendor chats around the clock and hand a human a finished, approval-ready deal.