Skip to content

AbhinavGupta707/RunwayOps

Repository files navigation

RunwayOps

An agentic cash management platform that translates insights into action.

In the UK, late payments cost the economy almost £11 billion a year and are linked to 38 business closures every day. Founders see the red number on a spreadsheet — but a spreadsheet can't tell them what to do next. RunwayOps can.

RunwayOps watches a company's cash position in real time, and when something changes — a late customer, an incoming bank payment, a supplier email — it dispatches a team of specialised agents to decide, draft, and act. The founder approves; RunwayOps executes.


What it does

  • Continuous cash-position awareness. Deterministic calculations assess the company's runway, upcoming payroll, customer receivables, and supplier obligations before the user even opens the app.
  • Event-driven agentic layer. New context (an email, a bank payment, an overdue invoice) becomes a durable event in MongoDB and triggers LangGraph to route work to the right specialised agents.
  • Memory of who pays, who waits, and what worked. Agents pull prior customer and supplier behaviour from MongoDB Vector Search (powered by Fireworks AI embeddings) to ground every decision in history, not guesswork.
  • Action plans, not alerts. Instead of a red warning, the founder sees concrete next steps: follow-ups to send, payments to release, contractual clauses to invoke — each pending one-click approval.
  • Autonomous voice negotiation. When a phone call is the right channel, an ElevenLabs voice agent places the call, negotiates payment terms on the company's behalf, and writes the transcript back into MongoDB.
  • Self-improving. Every interaction — email reply, call transcript, payment outcome — becomes new context. The system gets smarter with every event.

How it works

   ┌──────────────┐    event     ┌────────────────┐   route    ┌─────────────────┐
   │  Inbound     │ ───────────▶ │ MongoDB Atlas  │ ─────────▶ │ LangGraph       │
   │  signal      │              │ (durable event │            │ orchestrator    │
   │  (email,     │              │  store + audit │            │                 │
   │   payment,   │              │  trail)        │            └────────┬────────┘
   │   invoice)   │              └────────────────┘                     │
   └──────────────┘                      ▲                              ▼
                                         │                  ┌──────────────────────┐
                                         │                  │ Specialised agents:  │
                                         │                  │  • Customer agent    │
                                         │                  │  • Forecast agent    │
                                         │                  │  • Supplier agent    │
                                         │                  │  • Auditing agent    │
                                         │                  └──────────┬───────────┘
                                         │                             │
                          ┌──────────────┴──────────────┐               │
                          │ Vector Search over history  │◀──────────────┘
                          │ (Fireworks AI embeddings)   │   retrieve relevant
                          └─────────────────────────────┘   memory + draft action
                                                                       │
                                              ┌────────────────────────┼─────────────────┐
                                              ▼                        ▼                 ▼
                                       Founder approval         Voice call via     Audit trail
                                       (email / payment /       ElevenLabs ──▶ transcript ──▶ MongoDB
                                        action queue)

What this looks like in practice

  • A customer promises payment by Friday. The customer agent retrieves that account's payment-reliability history, decides whether to treat the promise as confirmed cash or as a conditional commitment, and drafts the appropriate follow-up — all pending one-click approval.
  • A bank payment lands unexpectedly. The forecast agent re-runs the runway calculation, the auditing agent records what changed and why, and any open actions that depended on the old position are re-prioritised automatically.
  • A supplier needs to be paid but cash is tight. Agents check contractual terms (grace periods, late fees), surface the supplier's historical flexibility, and recommend whether to pay, defer, or negotiate — with the draft message or call script ready to go.
  • A negotiation belongs on a phone call. When memory shows a counterparty responds better to voice than email, the system queues a call; once approved, an ElevenLabs voice agent dials out, negotiates within the founder's pre-set guardrails, and writes the transcript back to MongoDB.
  • Every outcome feeds the next decision. Replies, payments, and call transcripts all flow back into vector memory, so the system's read on each customer and supplier sharpens with every interaction.

Stack

Layer Technology
Event store, audit trail, vector memory MongoDB Atlas (with Vector Search)
Agent orchestration LangGraph
Embeddings & LLM inference Fireworks AI
Outbound voice agent ElevenLabs (over Twilio)
Web app Next.js, React, TypeScript, Tailwind

Setup

Install dependencies:

npm install

Create a local .env file from .env.example and set your Atlas connection string:

MONGO_DB_CONNECTION="mongodb+srv://..."

Check the Atlas connection:

npm run check:db

Check which local provider keys are configured:

npm run check:env

Check provider authentication:

npm run check:providers

List outbound-capable ElevenLabs phone numbers:

npm run elevenlabs:phones

Import the configured Twilio number into ElevenLabs:

npm run elevenlabs:import-twilio

Assign the imported ElevenLabs phone number to the configured agent:

npm run elevenlabs:assign-agent

Submit a dry-run outbound call request:

npm run call:test -- --to 07490000000 --purpose "Confirm payment timing for INV-1042"

Add --send only when the recipient has consented to receive the test call.

Validate the synthetic data pack:

npm run check:data

Seed or reset the demo database:

npm run seed
npm run reset

About

Agentic cash management platform for SMEs that turns financial signals into action.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors