Klaviyo list health and sunset workbench for deliverability

By General Input

Clean your email list from one screen: see every audience, review who is in it, and suppress unengaged people in batches a human approves first.

Integrations

  • Klaviyo
  • Google Sheets

Type

App

Categories

  • Marketing
  • Operations

Build me a list health and sunset workbench for Klaviyo. The person who owns email deliverability should have one screen for list cleaning instead of clicking through profiles and suppression menus. Browsing audiences, reviewing who is in them, and applying suppression or list changes in bulk all happen in the app.

The landing view is an audience table listing every list from Get Lists and every segment from Get Segments together, with a type column so lists and segments sit side by side. Each row shows the audience name, its current profile count, and how that count has moved since the app last looked. Store a snapshot of each audience size whenever the landing view loads or an audit runs, so the movement column has something to compare against, and show the change as a number with a direction. On first load there is no history yet, so show a neutral placeholder rather than a misleading zero.

Clicking any row opens a profile table for that audience. For a segment, pull members with Get Profiles for Segment. For a list, use Get Profiles for List. Each row shows the person's email, when the profile was created and last updated, and their current email marketing subscription state and suppression state as clear labels such as Subscribed, Unsubscribed or Suppressed, including the suppression reason when Klaviyo provides one. Page through large audiences using the cursor Klaviyo returns rather than loading everything at once, and let the viewer filter the table by subscription and suppression state and search by email. Use Get Profiles when the viewer wants to search the whole account instead of a single audience, and Get Segments for Profile on an individual row to show which other segments that person sits in.

Every row has a checkbox, with a select all control for the current page. With rows selected, the viewer can run Suppress Profiles (Bulk), Unsubscribe Profiles (Bulk), Add Profiles to List and Remove Profiles from List. Unsuppress Profiles (Bulk) is there to reverse a mistake, and Subscribe Profiles (Bulk) to put someone back on. A Create List button uses Create List to spin up a fresh sunset audience, so a batch can be parked somewhere before anything is suppressed.

Put a confirmation step in front of every bulk action. Suppression is hard to undo at scale, so before anything runs, show a dialog with the exact count of profiles affected, the action name, the audience they came from, and a sample of the addresses, and require the viewer to confirm. Nothing fires straight from a toolbar button.

Add a "Run a list health audit" button that starts a background agent. The agent walks the account segments with Get Segments and Get Profiles for Segment to size up the engagement cohorts the marketer has already defined, pulls campaign engagement with Query Campaign Values and automation performance with Query Flow Values over a recent window, and works out which cohorts are dragging inbox placement down. It writes a plain language recommendation back into the app covering what it found, which cohorts look unengaged and why, and a specific proposed suppression batch with the profiles named and a reason attached. Important for the build: Klaviyo has no documented per-profile event read operation, so the agent should reason from segment membership plus aggregate campaign and flow analytics rather than trying to reconstruct per-person open and click history.

The agent only ever proposes. Nothing is suppressed automatically. Its recommendation lands in a proposals view where a human reads it, ticks the batch or edits which profiles are included, and confirms through the same count-first dialog before anything is applied. An unreviewed proposal simply sits there until someone acts on it.

Every applied action is written to an in-app log recording the action, the audience, the profile count, the addresses involved, who did it, when, and whether it came from an agent proposal or a manual selection. The log is a view in the app filterable by date and action. Each applied action is also appended to a Google Sheet with Append Values, one row per action carrying the same fields, so there is an audit trail outside the tool. Make the spreadsheet and tab configurable in the app.

Two practical notes. Klaviyo rate limits its reporting endpoints far more tightly than its list and profile endpoints, so the agent should pull campaign and flow analytics sparingly and reuse what it fetched within a run. Bulk profile jobs are processed asynchronously by Klaviyo, so reflect that in the interface: show the action as submitted and let the viewer refresh the audience rather than promising an instant change.

Related prompts

Explore more prompts
Call overdue Xero customers with an AI collections agentLocal listing health board for every location you manageLet support send one-off Loops emails without an engineerStop cold emails to anyone with a live deal in PipedriveiMessage campaign console with pre-flight checks and delivery boardLinkedIn Ads budget pacing dashboard for every client accountFront desk appointment confirmation board for the next 3 daysGive your team Looker numbers without buying more seatsBuild audience segments from product usage and push to LoopsTurn the people who engage with your posts into Pipedrive leads