Open-source Email & SMS marketing
you host yourself
Full control over data, ready-made integrations, AI for content creation, automation and webhooks. Set up in Docker in 5 minutes.

AI Campaign Architect
Strategic Email + SMS campaign planner that creates your plan, logic, and forecasts — before you send your first message.
Business context → Audience → AI Strategy → Forecast & Export
Message timeline, goals (education/sales/reminder) and IF/THEN logic
Industry benchmarks + sliders that calculate ROI in real-time

Why NetSendo?
Built for developers who want control, privacy, and flexibility without sacrificing modern features.
How it works
Deploy in Docker
Run docker compose up. NetSendo starts in seconds with Postgres and Redis included.
Add Mailbox
Connect your SMTP server, Gmail, or API provider like SendGrid/Mailgun.
Plan & Launch
Design campaign strategy in Campaign Architect, export to campaigns and launch.
Let AI write your
campaigns in seconds
Stop staring at a blank screen. Netsendo's AI assistant can generate engaging subject lines, write full email body content, and even take voice dictation to craft your message.
Multi-Model Support
Use OpenAI GPT-4o, Anthropic Claude 3.5, or Google Gemini. Your API key, your rules.
Voice Dictation
Just speak your ideas. The AI will transcribe and format them into a professional newsletter.

┌─────────────────┐ STDIO ┌─────────────────┐
│ Claude/Cursor │ ◄────────────► │ MCP Server │
│ (AI Client) │ │ (Docker/npx) │
└─────────────────┘ └────────┬────────┘
│
HTTP/S
│
┌────────▼────────┐
│ NetSendo │
│ (Your inst.) │
└─────────────────┘Supported AI Clients
Example query
"Show my mailing lists and add a new subscriber jan@example.com to Newsletter"
Manage NetSendo with
natural language
Connect Claude, Cursor, or VS Code to your NetSendo instance. Ask questions, manage subscribers, and send messages — all through conversation with AI.
Natural language
Ask 'How many subscribers do I have?' or 'Send an email to John'.
No code required
No need to know the API — AI handles it for you.
Real-time operations
Direct operations on your NetSendo instance.
Experience NetSendo Live
Don't just take our word for it. Log in to our live demo instance and explore the platform's capabilities firsthand.
This is a public demo instance. Data is reset every 24 hours.
Connect with your tools
NetSendo plays nicely with the tools you already use. Orchestrate workflows with n8n and connect any AI model.
Latest Updates
View all releases- AI Integration:
- Added support for MoonshotAI Kimi K2.5 model via OpenRouter (moonshotai/kimi-k2.5) in all AI assistants.
- Updated AI settings to include the new model in the selection list.
- Improved model fetching to prioritize popular models even if not yet returned by API.
- Added support for Kimi K2.5 model in Ollama (kimi-k2.5:cloud) integration.
- Added Optional API Key support for Ollama provider (allowing connection to secured/proxied Ollama instances).
- Calendly Integration:
- Full OAuth 2.0 Integration: Implemented complete Calendly integration with secure OAuth flow for connecting user accounts.
- Per-User API Credentials: Users can now enter their own Calendly Client ID and Client Secret directly in the UI, eliminating the need for .env configuration.
- Encrypted Credential Storage: API credentials are encrypted at rest using Laravel's Crypt facade for security.
- Webhook Support: Automatic webhook registration for real-time sync of booking events (invitee.created, invitee.canceled, invitee.no_show).
- CRM Integration: Bookings automatically create CRM contacts and tasks based on configurable settings.
- Zoom Integration Enhancements:
- Granted Permissions Display: Added functionality to display actually granted permissions (scopes) in the Zoom settings after authorization.
- Connection Details: Zoom connection information now includes a list of granted scopes with helpful descriptions (e.g., "Create Meetings").
- Database Migration: Added granted_scopes column to user_zoom_connections table to store OAuth scopes.
- Lead Scoring - Default Contact Created Rule:
- Added missing contact_created event to default scoring rules (+5 points).

