NetSendo Logo
v1.5.5- Variable Insertion: Fixed [[!fname]] (Vocative Name) variable insertion in Template Builder, which was previously inserting [object Object].

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.

NetSendo Dashboard
NEW • AI Module

AI Campaign Architect

Strategic Email + SMS campaign planner that creates your plan, logic, and forecasts — before you send your first message.

4-Step Wizard

Business context → Audience → AI Strategy → Forecast & Export

Campaign Blueprint

Message timeline, goals (education/sales/reminder) and IF/THEN logic

ROI Forecast

Industry benchmarks + sliders that calculate ROI in real-time

Recommended message count and channels (Email/SMS)
Schedule and timing optimization
Segmentation (leads vs customers, active vs inactive)
Behavior logic (opened / clicked / purchased)
AI Campaign Architect Dashboard
New tables: campaign_plans, campaign_plan_steps
Export: Drafts / Scheduled
12 languages for generation
PL/EN translations

Why NetSendo?

Built for developers who want control, privacy, and flexibility without sacrificing modern features.

Campaign Architect
AI-powered strategic planner. Design campaign flow, segments, IF/THEN logic, and forecast ROI.
Self-hosted / Docker
Keep your data private. Deploy on your own servers with a simple Docker Compose setup.
Email & SMS Marketing
Unified platform for both channels. Send campaigns, newsletters, and transactional messages.
AI Assistant
Generate subject lines and email content with AI. Supports OpenAI, Anthropic, and localized models.
Webhooks & API
Real-time event triggers. Build custom automations with comprehensive API access.
Open Source
Transparent development, source-available. Community-driven features with Silver & Gold plans.

How it works

01

Deploy in Docker

Run docker compose up. NetSendo starts in seconds with Postgres and Redis included.

02

Add Mailbox

Connect your SMTP server, Gmail, or API provider like SendGrid/Mailgun.

03

Plan & Launch

Design campaign strategy in Campaign Architect, export to campaigns and launch.

AI-Powered Content Creation

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.

AI Content Creation
Try it yourself

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.

demo.netsendo.com
demo@netsendo.com
READ ONLY
demo1234
••••••••

Connect with your tools

NetSendo plays nicely with the tools you already use. Orchestrate workflows with n8n and connect any AI model.

Explore n8n Integration
n8n
Workflow automation
Stripe
Payment processing
Polar
Developer-first payments
WooCommerce
E-commerce integration
WordPress
Forms & content gating
Shopify
E-commerce integration
SendGrid
Email API
Twilio
SMS Provider
SMSAPI
SMS Provider
OpenAI
AI generation

Latest Updates

View all releases
v1.5.5Latest
Release Notes
  • Variable Insertion: Fixed [[!fname]] (Vocative Name) variable insertion in Template Builder, which was previously inserting [object Object].
  • System Emails: Added [[!fname]] variable to the list of available placeholders in System Email editor.
  • Campaign Auditor Improvements:
  • Implemented data-driven revenue loss estimation by integrating real transaction data from StripeTransaction, PolarTransaction, StripeProduct, PolarProduct, Funnel, and SalesFunnel.
  • Added calculateRevenueMetrics() method to CampaignAuditorService for fetching and normalizing user revenue data (AOV, monthly revenue, active funnels).
  • Added new revenue loss indicator in the auditor UI, showing whether estimations are based on "Real transaction data" or "Industry benchmarks".
Full changelog
v1.5.4Previous
Release Notes
  • Docker Compose (Development): Added missing scheduler and queue services to docker-compose.dev.yml to enable cron jobs and queue processing in development environment. Previously, scheduled tasks like autoresponders, abandoned cart detection, and other Laravel schedule commands would not run on dev environment.
  • Autoresponder Queue: Fixed a bug where autoresponder messages could lose their scheduled status and be incorrectly marked as sent (a status reserved for broadcast messages), which caused the cron job to ignore them for new subscribers.
  • Subscriber Management: Standardized manual subscriber addition to reliably dispatch the SubscriberSignedUp event, ensuring all automations and initial queue synchronizations are triggered immediately.
  • Autoresponder Delay: Fixed critical bug where autoresponder messages ignored the day offset and sent immediately to all subscribers. Messages now correctly respect the configured delay (day=0 for immediate, day=1 for next day, etc.).
  • Subscriber Reactivation: Fixed issue where manually adding or importing subscribers who were previously unsubscribed would not reactivate them on the list.
  • SMS List Permissions: Fixed an issue where team members with edit permissions were unable to edit shared SMS lists due to direct ownership checks. The SmsListController now correctly uses the canEditList() method to validate permissions.
Full changelog
v1.5.3Previous
Release Notes
  • Vocative Case Support (Polish Names):
  • New vocative column in names table for storing vocative forms.
  • [[!fname]] placeholder now returns the vocative form of subscriber's first name (e.g., "Marzena" → "Marzeno").
  • GenderService.getVocative() method with automatic capitalization matching.
  • Name::findVocative() static method supporting user-defined and system names.
  • Enhanced Polish Names Database with ~480 common, historical, and less common first names with their vocative forms (added popular diminutives like "Kasia", "Tomek", "Antek", "Zuzia", etc., and historical names like "Mieszko", "Dobrawa").
Full changelog

Frequently Asked Questions