Skip to content

Butler agents for b2b sales

We're building agents to agents communication for software procurement, outsourcing all teh back and forth, with human figuring in only for the final payment.

Core trick

Two agents negotiate software procurement over email, escalating to a human only for final payment approval.

Tags

Description

We're building agents to agents communication for software procurement, outsourcing all teh back and forth, with human figuring in only for the final payment. Our agent Ava talks to another agent River to hash out the details and then get back to human with the next steps and a demo date with the right software .
ankitmaloo/openaihackathon★ 00 forksTypeScriptCreated Aug 10, 2025 · last push Aug 10, 2025

README excerpt

# Butler: agents for B2B buying & selling

![Butler](assets/butler.png)

![Involve Human](assets/involve_human.png)

Lets your agents talk to other agents selling you software on email, only get involved when it makes sense. 


## Overview 
This folder contains a small mono with:

- `backend/` — FastAPI service orchestrating an agent conversation and persisting state (Firestore)
- `frontend/` — Vite + React UI
- `executor-agent/` — Mastra-based executor that runs a workflow to parse conversations and trigger tool actions (e.g., Slack)

See `AGENTS.MD` for agent conventions and guardrails.

### Prerequisites

- Python 3.12+
- Node.js 18+

### Environment

- Backend: `.env` with `OPENAI_API_KEY=...`; Firebase Admin credentials JSON placed at `backend/creds.json` (path configurable via `backend/constants.py`)
- Executor agent: `OPENAI_API_KEY`, `AMPERSAND_PROJECT_ID`, `AMPERSAND_API_KEY`

### Run

Backend

```bash
cd backend
pip install fastapi uvicorn pydantic python-dotenv firebase-admin agents
uvicorn main:app --reload
```

Frontend

```bash
cd frontend
npm ci
npm run dev
```

Executor Agent

```bash
cd executor-agent
pnpm install
pnpm server  # or: pnpm dev
```

### References

- `AGENTS.MD` in this directory for detailed guidance


Team