Chaser Agent is an automated task management and reminder system designed to ensure timely task completion. It leverages a modern full-stack architecture to schedule and dispatch email reminders, integrating seamlessly with external workflow automation tools.
The system is built as a distributed application with the following components:
- Frontend: A React-based single-page application (SPA) providing a dashboard for task management, creation, and tracking.
- Backend: A Node.js/Express REST API that handles business logic, task scheduling, and integration with the database and external services.
- Database: Supabase (PostgreSQL) for persistent storage of tasks, queues, and logs.
- Scheduler: A background service (cron) that monitors due dates and triggers reminder workflows.
- Notification Service: Integrates with Boltic.io for workflow automation to send emails via Gmail.
- Frontend: React 18, React Router v6, Axios
- Backend: Node.js, Express, node-cron
- Database: PostgreSQL (Supabase)
- Infrastructure: Boltic.io (Workflows/Webhooks)
- Node.js 18+
- npm or yarn
- Supabase project
- Boltic.io account
- Gmail account (for sender identity)
Execute the database/schema.sql script in your Supabase SQL Editor to initialize the database schema. This will create the necessary tables (tasks, chaser_queue, chaser_logs) and indexes.
Navigate to the backend directory and install dependencies:
cd backend
npm installCreate a .env file in the backend directory with the following configuration:
SUPABASE_URL=your_supabase_project_url
SUPABASE_SERVICE_KEY=your_supabase_service_role_key
BOLTIC_WEBHOOK_URL=your_boltic_webhook_url
PORT=3001
FRONTEND_URL=http://localhost:3000Start the backend server:
npm startNavigate to the frontend directory and install dependencies:
cd frontend
npm installStart the development server:
npm startThe application will be available at http://localhost:3000.
- Task Management: Create, view, update, and track tasks with priority levels and due dates.
- Automated Scheduling: Automatically schedules reminders based on task due dates.
- Multi-channel Support:
- Email Integration: Automated reminders via Boltic/Gmail.
- Slack Integration: Metadata support for Slack channels.
- SMS/Phone: Database support for phone call and SMS configs.
- Conflict Detection: Google Calendar integration features for detecting schedule conflicts.
- Operational Logging: Comprehensive logging of all sent chasers and system actions.
GET /api/tasks- Retrieve all tasksPOST /api/tasks- Create a new taskGET /api/tasks/:id- Retrieve task detailsPATCH /api/tasks/:id- Update a task
GET /api/queue/upcoming- Retrieve pending chaser queueGET /api/stats- Retrieve system statistics
POST /api/webhooks/boltic/chaser-sent- Callback for successful dispatchPOST /api/webhooks/boltic/chaser-failed- Callback for failed dispatch
MIT