✨ New Plugin Alert ✨ SleekRank is now available with €50 launch discount
✨ New Plugin Alert ✨ SleekRank is now available with €50 launch discount
✨ New Plugin Alert ✨ SleekRank is now available with €50 launch discount
✨ New Plugin Alert ✨ SleekRank is now available with €50 launch discount
✨ New Plugin Alert ✨ SleekRank is now available with €50 launch discount
✨ New Plugin Alert ✨ SleekRank is now available with €50 launch discount
✨ New Plugin Alert ✨ SleekRank is now available with €50 launch discount
✨ New Plugin Alert ✨ SleekRank is now available with €50 launch discount
✨ New Plugin Alert ✨ SleekRank is now available with €50 launch discount
✨ New Plugin Alert ✨ SleekRank is now available with €50 launch discount

SleekView for Sendy WP: subscriber sync, lists & campaigns as tables

Sendy WP bridges WordPress to a self-hosted Sendy install, mirroring list IDs, form-to-list mappings, and recent subscriber sync events into wp_options and wp_postmeta. SleekView reads the mirror so per-form attribution and the sync log become one filterable workspace.

♾️ Lifetime License available

SleekView table view for Sendy WP

Sendy sync audits without a separate log

Sendy WP authenticates against a self-hosted Sendy instance (Sendy itself runs outside WordPress on a separate PHP host backed by Amazon SES). The plugin caches list IDs and the global API key in wp_options under sendy_settings, stores per-form list mappings in wp_postmeta (typically _sendy_list_id), and keeps a lightweight sync log of the last few hundred subscription events.

The default plugin screen shows a settings page and a per-form meta box, nothing more. Auditing which posts capture opt-ins to which Sendy list, or which form submissions never made it upstream after a Sendy outage, needs SQL against wp_postmeta and the plugin's sync log table. Cross-form questions like "which forms point at lists that no longer exist in Sendy" aren't surfaced anywhere in the admin.

SleekView reads the cached list IDs, the per-form _sendy_list_id postmeta, and the sync log together, then joins to wp_posts so every list mapping and every sync event renders as one filterable row. Inline retries route through the plugin's own sync handler so Sendy receives the event exactly as it would on a scheduled cron run.

Workflow

Sendy WP mirror as a workspace

1

Point at the mirror

Tell SleekView about sendy_settings in wp_options, the _sendy_list_id meta key, and the plugin's sync log table. Each becomes a typed source with named columns.
2

Join log to posts

Join the sync log to wp_posts and to the cached list reference so each event row carries the source form, target list name, and error string inline.
3

Save the triage views

Build saved views for the recurring questions: failed today, forms mapped to deleted lists, top forms by 30-day opt-ins, unsubscribes by source form.
4

Retry and re-map inline

Bulk retry failed events through the plugin's sync handler. Re-map a form to a new list inline if a Sendy list was renamed. Writes route through the plugin's own update path so cached state stays consistent.

Sample columns

A typical Sendy WP sync log view

Recent opt-in events with target list, status, and last error.
Source: wp_options (sendy_settings) + wp_postmeta (_sendy_list_id) + plugin sync log table
Email Form List Status Error Synced
alex@studio.co Sidebar opt-in weekly-digest Subscribed May 18
ria@design.io Footer signup weekly-digest Subscribed May 18
tom@hello.dev Pricing page (deleted list 17) Failed No such list May 17
mia@brew.coop Footer signup weekly-digest Retrying Timeout May 18

Comparison

Default Sendy WP admin vs SleekView

Default Sendy WP admin

  • Sync log is a plugin table with no admin UI
  • Form-to-list mappings live in _sendy_list_id meta, never aggregated
  • Deleted Sendy lists silently break opt-ins until someone reports it
  • Bulk retry of failed events requires a custom WP-CLI script
  • No per-list attribution view across posts

SleekView

  • Join the sync log to wp_posts and the cached list table
  • Inline retry of failed events through the plugin's sync handler
  • Filter by list, form, status, and error string together
  • Detect mappings pointing at deleted Sendy lists
  • Save views: "failed today", "forms mapped to deleted lists", "top forms by 30d opt-ins"

Features

What SleekView gives you for Sendy WP

Sync log triage

Failed and retrying events render with the form, list, and error string visible. Filter to today's failures, bulk-retry through the plugin's sync handler, and keep Sendy's subscriber list complete after a transient outage.

List mapping audit

Join the cached sendy_settings list table to _sendy_list_id postmeta and surface forms pointing at lists that no longer exist in the upstream Sendy account. Stop the silent failures before the next campaign.

Per-form attribution

Group opt-in events by form and post category to see which content drives subscriptions to which list. Export the view monthly for the marketing review without writing a single SQL query.

Audience

Who uses SleekView for Sendy WP

WordPress engineers

Own the bridge between WordPress and the self-hosted Sendy server. Triage failed events as a queue, audit list mappings as data, and keep both sides consistent without tailing log files.

Content marketers

Audit which posts and forms drive subscriptions to which list. Reassign a form to a new list inline after a list reorganisation, no need to open every form's meta box one at a time.

Privacy leads

Cross-check that every opt-in event has the consent flag captured in wp_postmeta. Saved views surface any failed events that still need to be reconciled after a deletion request reaches Sendy.

The bigger picture

Why self-hosted bridges need a workspace

Sendy is a self-hosted newsletter service that earns its place on the stack by trading the polish of hosted ESPs for cheap SES delivery at scale. The WordPress bridge is intentionally minimal: it forwards form submissions to Sendy and stores just enough state locally to retry on failure. That works fine until a site grows to dozens of forms and several lists, at which point the operational reality is that some events fail, some lists get renamed, and some mappings silently break.

The plugin's sync log table holds the truth about what happened, but there is no admin UI on top of it, so triage falls to whoever knows how to write SQL against the plugin's tables. SleekView lifts that table into a workspace with the form, list, and error string joined in line, retries that route through the plugin's own handler, and saved views for the questions that recur after every campaign. For teams committed to self-hosted email delivery, that workspace is the difference between an integration that scales operationally and one that quietly degrades.

Questions

Common questions about SleekView for Sendy WP

No. It reads the local mirror the plugin already maintains in wp_options and wp_postmeta, plus the plugin's sync log table. Retries push through the plugin's own sync handler, so the Sendy server sees the same calls it would on a scheduled cron run.

 

Yes. The retry action runs the plugin's sync handler on the selected rows. Bulk retries process through the same handler the plugin's cron uses, so registered hooks fire exactly as they would on a normal run.

 

SleekView compares _sendy_list_id postmeta values against the cached list table in wp_options. Forms pointing at IDs no longer present in the cache surface as a filterable cohort so cleanup is one bulk update away.

 

Custom field mappings stored by the plugin in wp_options render as a reference list. Audit which WordPress form fields write to which Sendy custom field without opening each form's meta box.

 

No. The sync log table is paginated and queries use the plugin's existing indexes. Sites with hundreds of thousands of historical events render quickly because the workspace loads one page at a time.

 

If the plugin caches the per-list count in wp_options (most builds do), SleekView exposes it as a column on the list reference view. Otherwise the counts come from a quick query against the sync log grouped by list.

 

Unsubscribe events written by Sendy's webhook into wp_postmeta render as a cohort. Filter to unsubscribes in the last 30 days, group by source form, and identify which channels deliver the least durable subscribers.

 

Pending double opt-in confirmations stored locally by the plugin filter into their own view. Surface confirmations that have been pending longer than a few days as a re-engagement cohort rather than waiting for them to time out silently.

 

Pricing

More than 1000+
happy customers

Explore our flexible licensing options tailored to your needs. Upgrade your license anytime to access more features, or opt for a lifetime license for ongoing value, including lifetime updates and lifetime support. Our hassle-free upgrade process ensures that our platform can grow with you, starting from whichever plan you choose.

Starter

€79

EUR

per year

  • 3 websites
  • 1 year of updates
  • 1 year of support

Pro

€149

EUR

per year

  • Unlimited websites
  • 1 year of updates
  • 1 year of support

Lifetime ♾️

Most popular

€249

EUR

once

  • Unlimited websites
  • Lifetime updates
  • Lifetime support

...or get the Bundle Deal
and save €250 🎁

The Bundle (unlimited sites)

Pay once, own it forever

Elevate your WordPress site with our exclusive plugin bundle that includes all of our premium plugins in one package. Enjoy lifetime updates and lifetime support. Save significantly compared to buying plugins individually.

What’s included

  • SleekAI

  • SleekByte

  • SleekMotion

  • SleekPixel

  • SleekRank

  • SleekView