OpenSourcePicks

Open source alternatives to popular software, with live GitHub data

GitHub stats refreshed every day

Plunk

Email platform for software products that combines transactional email, campaigns and workflows

Visit PlunkGitHubDocumentation

Main features

  • Campaigns to all contacts, a saved segment or an inline filter, sent now or scheduled
  • Event-driven workflows with waits, branches and webhooks
  • Dynamic and static segments based on contact data and email activity
  • Drag-and-drop or HTML templates with Liquid personalization
  • Transactional email API and SMTP relay
  • Hosted unsubscribe and preference pages
  • Open and click tracking that can be limited to marketing emails or disabled
  • CSV contact import with custom fields
  • Inbound email on verified domains
  • Webhooks and an email verification endpoint

What Plunk does

Plunk is an email platform aimed at software products. It handles three jobs in one place: transactional email sent from your application through an API or SMTP relay, marketing campaigns to your contacts, and workflows triggered by events. Its developers compare it with SendGrid, Resend and Mailgun rather than with newsletter tools, and that is the right way to think about it.

Contacts are usually created by your application through the API, from events it tracks, or by CSV import. Segments can be dynamic or static and use contact fields as well as email activity, such as who opened or clicked. Campaigns go to all subscribed contacts, a saved segment or an inline filter, immediately or at a scheduled time, and report delivered, opened, clicked and bounced counts.

Workflows are graph based. They start from an event your app sends, from a contact entering or leaving a segment, on a schedule or manually, and can wait, branch on conditions and call webhooks, so onboarding sequences and lifecycle emails can be automated.

Tracking and unsubscribes

Open and click tracking has three modes: on for all email, on for marketing email only, or off. Plunk hosts unsubscribe, resubscribe and preference pages with localization, so recipients can manage their subscription without you building those pages. The documentation does not describe a signup form builder or a double opt-in flow; collecting consent is left to your application.

Self-hosting Plunk

The self-hosted version runs with Docker Compose, which brings up the API, the web dashboard and supporting services including PostgreSQL 16, Redis 7 and MinIO for file storage. Sending relies on Amazon SES, so you need an AWS account with an IAM user for SES. The setup also expects a domain with several subdomains for the dashboard, API, documentation, landing page and optional SMTP relay. Services can be split, for example to run a worker-only container. On self-hosted instances, the marketing-only tracking mode needs an SES configuration set without tracking.

Hosted version

The developers run a hosted version at useplunk.com. It has a free tier with a monthly sending allowance and a Plunk-branded footer on marketing emails; beyond that, billing is usage-based per email with no monthly fee.

Limitations

Self-hosted sending depends on Amazon SES. Plunk is built for product email, so it has no signup forms, newsletter archive or publishing features, and writers and publishers will find it the wrong shape. Self-hosting involves several services and subdomains, which is more setup than a single-binary tool such as listmonk.

Who it suits

Plunk suits developers and SaaS teams who want one open source system for password resets, receipts, onboarding sequences and product announcements, with an API at the center. Organizations whose main need is a newsletter with signup forms should look at Keila or listmonk, and those who need marketing automation for leads at Mautic.

Technical details

Self-hosting needs

  • PostgreSQL
  • Redis
  • MinIO
  • Amazon SES

Built with

  • TypeScript
  • Node.js
  • Next.js

Reviewed by the OpenSourcePicks editors from the project's repository and documentation. Something out of date? Tell us.