Outreach Pro is a sophisticated Gmail automation and lead management platform designed for high-performance outreach campaigns. It combines powerful Gmail API integration with advanced lead tracking, automated follow-ups, and a robust security architecture.
- Campaign Management: Create and manage multiple outreach campaigns with custom subjects, bodies, and signatures.
- Automated Follow-ups: Schedule multi-step follow-ups with customizable delays.
- Intelligent Reply Detection: Automatically identifies replies from Gmail threads and updates lead status accordingly.
- Bounce Tracking: Seamlessly detects bounced emails to maintain sender reputation.
- Lead Recycling System: Re-engage cold leads by recycling them into new campaigns while preserving historical outreach data.
- Bulk Operations: efficiently manage hundreds of leads with bulk send, schedule, and delete actions.
- Security & Access Control:
- Combined Environment and Database-managed IP whitelisting.
- Graceful fail-open mechanisms to prevent administrative lockout.
- Audit Logs & History: Track every interaction and state change for every lead.
- Frontend: Next.js 14 (App Router), React, Tailwind CSS, Lucide React, Radix UI.
- Backend: Next.js Server Actions, BullMQ (Queue management).
- Database: PostgreSQL with Prisma ORM.
- APIs: Google Gmail API, OAuth2.
- Styling: Modern premium design with Glassmorphism and vibrant HSL palettes.
- Node.js 18+
- PostgreSQL database
- Redis (for BullMQ queues)
- Google Cloud Console project with Gmail API enabled
-
Clone the repository:
git clone https://github.com/yourusername/Outreach-Pro.git cd Outreach-Pro -
Install dependencies:
npm install
-
Environment Setup: Create a
.envfile in the root directory and add the following:DATABASE_URL="postgresql://user:password@localhost:5432/outreach_pro" REDIS_URL="redis://localhost:6379" # Gmail API Credentials GMAIL_CLIENT_ID="your_client_id" GMAIL_CLIENT_SECRET="your_client_secret" GMAIL_REFRESH_TOKEN="your_default_refresh_token" NEXT_PUBLIC_APP_URL="http://localhost:5000" # Security ALLOWED_IPS="127.0.0.1, your_static_ip"
-
Database Migration:
npm run db:migrate npm run db:generate
-
Run the application:
npm run dev
The app will be available at
http://localhost:5000.
app/dashboard/: Main dashboard UI and server actions.lib/: Core logic modules (Gmail API, Automation engine, Queue workers).prisma/: Database schema and migration files.middleware.ts: Security middleware for IP whitelisting.components/ui/: Reusable UI components.
Outreach Pro implements a dual-layer IP Whitelisting system:
- Static: Defined via the
ALLOWED_IPSenvironment variable. - Dynamic: Managed through the Dashboard Settings UI and stored in the database.
The system automatically handles IPv6-mapped IPv4 addresses and provides a clear "Access Denied" interface for unauthorized users.
This project is licensed under the MIT License - see the LICENSE file for details.
Built with β€οΈ for high-conversion outreach.