Procure-OS is a “Direct-Injection” autonomous voice agent that acts as a digital procurement officer for the construction and manufacturing industries. It solves the “Last Mile” communication gap—where billions are lost to manual follow-ups—by automating high-volume supplier negotiations.
The system replaces manual “chasing” with an AI workforce. Users select high-priority leads on a React command center, which instantly injects specific 3-item order manifests into the agent’s brain. The agent then initiates a context-aware call to the supplier, negotiates delivery timelines in Hinglish (Indian English + Hindi), validates excuses against a logic matrix, and autonomously writes confirmed data back to the company’s central ERP.
- Direct Data Injection: Instantly injects specific order manifests into the agent’s context at the moment of the call.
- Cultural Awareness: Supports "Hinglish" code-switching to improve vendor compliance rates.
- Smart Confirmation: "Transparency Protocol" reads back data before saving to ensure integrity.
- Risk Escalation: Detects critical risks (e.g., "truck breakdown") and triggers immediate escalation workflows via n8n.
- Real-time Status: Visual indicators for call status (Idle, Connecting, Connected, Ended).
- Modern UI: Built with Tailwind CSS for a clean and responsive interface.
- Dual Voice Providers: Seamlessly switch between ElevenLabs and Deepgram agents from the control panel.
- Voice AI: ElevenLabs Conversational AI + Deepgram Voice Agent API.
- Frontend: React (Vite), Tailwind CSS, @elevenlabs/react SDK.
- Orchestration: n8n (Workflow Automation).
- Database: Google Sheets (via n8n integration).
Before you begin, ensure you have the following installed:
- Node.js (v18 or higher recommended)
- npm or yarn
To fully utilize the AI calling features, you need to configure the application with your specific credentials.
-
ElevenLabs Agent ID:
- Log in to ElevenLabs and create/select your agent.
- Copy the
Agent IDand setVITE_ELEVENLABS_AGENT_ID(orVITE_AGENT_IDfor backward compatibility) inside.env.
-
Deepgram Voice Agent:
- Create an API key in the Deepgram Console.
- Set
VITE_DEEPGRAM_API_KEYin.env. Optional overrides:VITE_DEEPGRAM_LISTEN_MODEL,VITE_DEEPGRAM_SPEAK_MODEL,VITE_DEEPGRAM_THINK_MODEL,VITE_DEEPGRAM_THINK_PROVIDERif you need custom models.
-
Default Provider:
- Choose the initial voice agent with
VITE_DEFAULT_PROVIDER=elevenlabsordeepgram. Operators can still switch providers live in the UI.
- Choose the initial voice agent with
-
Webhook URL (Optional/Customizable):
- The app is configured to fetch leads from an n8n webhook.
- Update the
N8N_QUEUE_URLinsrc/App.jsxif you have your own backend or n8n workflow.
-
Clone the repository:
git clone <repository-url> cd procure-os
-
Install dependencies:
npm install
-
Start the development server:
npm run dev
-
Build for production:
npm run build
- Launch React Dashboard (usually
http://localhost:5173). - Select a lead (e.g., “Balaji Steel” - ID 101).
- Click “Start Call” to initiate the session.
- Roleplay delay as the supplier.
- Verify status update on the dashboard and check for email alerts in case of critical updates.
npm run dev: Starts the development server.npm run build: Builds the app for production.npm run lint: Runs ESLint to check for code quality issues.npm run preview: Locally preview the production build.