A headless AI-powered intake agent for field service automation that processes unstructured job data from multiple channels and returns enriched JobRecords using OpenAI GPT-4o.
- SMS Processing: Automatic job creation from text messages via Twilio
- Voice Call Handling: Phone call recording and transcription to job records
- Webhook API: Direct API integration for web forms and FSM systems
- Email Processing: Email-to-job conversion (coming soon)
- Manual Upload: Direct data entry through dashboard
- Service Type Classification: AC Repair, Install, Maintenance, Heating, Other
- Urgency Assessment: Low, Medium, High priority classification
- Issue Type Identification: Specific problem categorization
- Parts Prediction: Potential required parts list generation
- Smart Summaries: AI-generated job summaries and customer insights
- Real-time Monitoring: System health, performance metrics, and alerting
- PostgreSQL Database: Secure data persistence with job history
- Twilio Integration: Complete SMS and voice call processing
- Configuration Management: Dynamic system configuration and webhook setup
- Performance Analytics: Processing time, confidence scores, and throughput metrics
- Node.js 20+
- PostgreSQL database
- OpenAI API key
- Twilio account (for SMS/Voice features)
DATABASE_URL=postgresql://...
OPENAI_API_KEY=sk-...
TWILIO_ACCOUNT_SID=AC...
TWILIO_AUTH_TOKEN=...
TWILIO_PHONE_NUMBER=+1...npm install
npm run devPOST /api/intake
Content-Type: application/json
{
"customer_name": "John Smith",
"customer_phone": "+1234567890",
"customer_email": "john@example.com",
"address": "123 Main St, Anytown USA",
"description": "AC unit not cooling properly, making loud noises",
"preferred_time": "Tomorrow morning",
"source": "SMS"
}POST /api/twilio/webhook- SMS message processingPOST /api/twilio/voice- Voice call handlingPOST /api/twilio/transcription- Voice transcription processing
GET /api/system/health- System health checkGET /api/metrics- Performance metricsGET /api/jobs- Job records list
{
"job_id": "job_2025_816523",
"customer": {
"name": "John Smith",
"phone": "+1234567890",
"email": "john@example.com",
"address": "123 Main St, Anytown USA"
},
"service_type": "AC Repair",
"description": "AC unit not cooling properly, making loud noises",
"ai_summary": "Customer's AC unit requires repair due to cooling failure and noise issues",
"issue_type": "HVAC_COOLING_FAILURE",
"urgency": "high",
"potential_parts": ["Compressor", "Condenser Fan Motor", "Refrigerant"],
"preferred_time": "Tomorrow morning",
"source": "SMS",
"submitted_at": "2025-06-11T18:00:19.046Z",
"status": "pending_intake",
"ai_confidence": 85,
"processing_time_ms": 2522
}- Job Management: View and manage all intake requests
- System Monitoring: Real-time health and performance metrics
- Twilio Configuration: SMS and voice service setup
- API Testing: Built-in testing tools for integration validation
The application is designed for Replit deployment with automatic scaling and built-in PostgreSQL database support.
- Set up environment variables in Replit Secrets
- Deploy using Replit's one-click deployment
- Configure Twilio webhooks to point to your deployed endpoints
- Frontend: React + TypeScript + Tailwind CSS
- Backend: Express.js + TypeScript
- Database: PostgreSQL with Drizzle ORM
- AI Processing: OpenAI GPT-4o API (Maya Agent)
- Communication: Twilio SMS and Voice APIs
- Monitoring: Built-in metrics collection and alerting
Maya is Meridian FSM's intelligent intake agent that:
- Analyzes unstructured customer requests
- Classifies service types and urgency levels
- Routes jobs to appropriate workforce systems
- Provides intelligent field service routing decisions
- Fork the repository
- Create a feature branch
- Make your changes
- Test thoroughly
- Submit a pull request
MIT License - see LICENSE file for details
For support and questions, please open an issue in the GitHub repository.