← FlodeskCONTENT HISTORY

Update to Flodesk

Snapshot Oct 24, 2026 · 12:52 UTC · version 0.9.0

WHAT CHANGED

Package or technical metadata updated

Package or technical metadata updated

Observed in package metadata. These changes alone do not establish a new customer-facing feature.

Save Flodesk and check future changes in Following.

Up to 3 plugins free · no card required.

All fields and original values.

These are saved file metadata. Open a changed file to read its text edits.

Package file

Before

Sep 30, 2026 · 22:50 UTC

be6e5d0060e3bd6d9364516b4972c5f5a750a03f6a26e997a327a9fba23056da

After

Oct 24, 2026 · 12:52 UTC

14805f1b4285fd629289060a1f29cd920c2ed1010c57770882949d164402d0a9

Package file

Before

Sep 30, 2026 · 22:50 UTC

127

After

Oct 24, 2026 · 12:52 UTC

99

Package file

Before

Sep 30, 2026 · 22:50 UTC

{"sha256":"8fef7fc59a121c1bb4c0147c92a23ce12f01fb735cdc78c0b6fe26bd7e6c969c","size":1308}

After

Oct 24, 2026 · 12:52 UTC

Not present

Package file

Before

Sep 30, 2026 · 22:50 UTC

Not present

After

Oct 24, 2026 · 12:52 UTC

{"sha256":"666dc80f1eff94108a86021d6f1b5ed7308f36eccca60ea1811fd81181b47c91","size":475}

Compare saved observations

Download comparison JSON

Changed files

Choose a file to see its text changes. Binary or large files show metadata only.

.app.json →

.codex-plugin/plugin.json →

assets/composer-icon.png →

assets/logo.png →

mcp.json →

plugin.json →

plugin.json

− removed · + added

--- before
+++ after
@@ -0,0 +1,95 @@
+{
+  "$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json",
+  "name": "app-69fac627e8748191a94900f458bb04b9",
+  "version": "0.9.0",
+  "description": "Flodesk helps users analyze email, subscriber, segment, workflow, form, and checkout performance; inspect and manage subscriber profiles and segment membership; and create reusable audience segments through ChatGPT.",
+  "author": {
+    "name": "Flodesk",
+    "email": "mcp@flodesk.com",
+    "url": "https://flodesk.com"
+  },
+  "homepage": "https://flodesk.com",
+  "extensions": {
+    "com.openai": {
+      "interface": {
+        "displayName": "Flodesk",
+        "shortDescription": "Analyze your email audience",
+        "longDescription": "Flodesk is email marketing and audience management built for creators and small businesses. This plugin lets you ask about your Flodesk account in plain language instead of clicking through reports, and act on your subscriber list without leaving the conversation.\n\nOn the reading side: overall open, click and unsubscribe rates across every campaign you've sent; a ranked view of individual emails by whichever metric you care about; engagement trends bucketed by day, week or month; and the send times your particular audience responds to. The same goes for your audience \u2014 list size and growth over time, how your segments compare, what rule a segment is built on, who received or opened a specific email, and the full profile of any individual subscriber. Signup form performance, automation workflow results and checkout revenue are covered too.\n\nOn the writing side, the plugin can create a subscriber, add or remove someone from a static segment, update a subscriber's profile fields, unsubscribe a person who asked off the list, and save a filtered audience as a new segment, filled once with whoever matches. A whole filtered group can be archived, unarchived, added to or removed from a segment, or exported to a CSV emailed to the account owner, each only after a preview of who matches. Each of those is a separate tool with its own annotations \u2014 nothing is bundled behind a generic \"action\" parameter \u2014 and the ones that change or remove existing data are marked destructive, so the assistant confirms before running them. Creating a subscriber never overwrites an existing record.\n\nConnect with the Flodesk account you already have, over OAuth. The plugin reads and writes only your own Flodesk data, and calls only Flodesk's own APIs. No tool writes, sends or schedules an email campaign.",
+        "developerName": "Flodesk",
+        "category": "Business & Operations",
+        "capabilities": [
+          "Read",
+          "Write"
+        ],
+        "websiteURL": "https://flodesk.com",
+        "supportURL": "https://help.flodesk.com/en/categories/994625-how-to-contact-us",
+        "privacyPolicyURL": "https://flodesk.com/legal/privacy-policy",
+        "termsOfServiceURL": "https://flodesk.com/legal/terms-of-service",
+        "defaultPrompt": [
+          "What are my overall email open and click rates?",
+          "Rank my top 10 email campaigns by click rate this quarter.",
+          "How has my subscriber list grown over the last six months?"
+        ],
+        "logo": "./assets/logo.png",
+        "composerIcon": "./assets/composer-icon.png"
+      },
+      "review": {
+        "test_cases": {
+          "positive": [
+            {
+              "description": "Account-wide email performance summary",
+              "prompt": "What are my overall email open and click rates?",
+              "tools_triggered": "get_email_totals",
+              "expected_behavior": "A single aggregate summary: emails sent, total sends, and delivery, open, click and unsubscribe rates. Rates come back as decimals between 0 and 1 and are rendered as percentages (0.27 \u2192 27%), not as \"0.27%\"."
+            },
+            {
+              "description": "Rank campaigns by a metric within a date window",
+              "prompt": "Show my top 5 emails by open rate over the last 90 days.",
+              "tools_triggered": "rank_emails",
+              "expected_behavior": "Five campaigns in descending open-rate order, each with name, subject, send count, and open and click rates. Campaigns sent outside the window are excluded."
+            },
+            {
+              "description": "Subscriber growth as a monthly series",
+              "prompt": "How many subscribers did I gain each month this year?",
+              "tools_triggered": "get_subscriber_trends",
+              "expected_behavior": "One row per month with that bucket's subscriber count \u2014 a series, not a single total."
+            },
+            {
+              "description": "Look up one subscriber profile",
+              "prompt": "Look up noah.morris@live.com.",
+              "tools_triggered": "get_subscriber",
+              "expected_behavior": "That subscriber's profile: id, email, name, status, and segment memberships. With an address not on the list, a plain \"no subscriber found\" message \u2014 not an error dump and not a fabricated profile."
+            },
+            {
+              "description": "Save a filtered audience as a segment, previewing first",
+              "prompt": "Save everyone who clicked in the last 30 days as a segment called Recent Clickers.",
+              "tools_triggered": "preview_segment_count, create_segment",
+              "expected_behavior": "The matching count first, then a new segment returned with its id, name and matchedCount, which equals the count previewed. Membership is a one-time snapshot filled in the background, so a read moments later can show fewer, and the segment does not update itself as subscribers start or stop matching."
+            }
+          ],
+          "negative": [
+            {
+              "description": "Declines to send an email campaign: no tool sends, schedules, drafts or duplicates one, and it should not substitute an available write tool.",
+              "prompt": "Send my March newsletter out to everyone on my list."
+            },
+            {
+              "description": "Declines to delete subscribers: no tool deletes a subscriber or their data. Archiving is a different, reversible operation; it may be offered, but never run (or previewed) as a substitute.",
+              "prompt": "Delete every subscriber who hasn't opened anything in a year."
+            },
+            {
+              "description": "Declines to read another account: every call is scoped to the OAuth account and no tool takes an account, workspace or owner parameter.",
+              "prompt": "Pull up the subscriber list for my client's Flodesk account instead of mine."
+            }
+          ]
+        },
+        "demo_recording_url": "https://drive.google.com/file/d/1eTVLfXsFTFHfd5mSpKYo3gKFxm6GFX7T/view?usp=drive_link",
+        "commerce": false,
+        "commerce_description": "The plugin reads checkout revenue totals but sells nothing and processes no payments."
+      },
+      "publication": {
+        "release_notes": "Version update: 0.6.1 \u2192 0.9.0.\n\nOne approved tool behaves differently. create_segment used to save a rule-based segment whose membership updated itself. It now creates a segment filled once, as a snapshot of the subscribers matching at that moment, and requires the single-use confirmation token that preview_segment_count returns for the same filter.\n\nEleven tools are new. Five act on a whole filtered group: bulk_archive_subscribers, bulk_unarchive_subscribers, bulk_add_subscribers_to_segment, bulk_remove_subscribers_from_segment and export_subscribers, which emails the account owner a CSV download link. Each runs only with a token from preview_bulk_change, a new dry-run that reports how many subscribers match and who they are. Bulk archive, unarchive and segment removal are annotated destructive. The other five new tools are reads: get_email_content, get_email_stats, get_brand_settings, get_segment_overlap and list_workflow_links. No tool deletes a subscriber, and none writes, sends or schedules an email campaign.\n\nNineteen existing tools have revised descriptions, and twelve of them revised input schemas, mostly snake_case parameter names (per_page, order_by). The previous camelCase names are still accepted. No annotation changed and no tool was removed.\n\nAvailability: the eleven new tools are still rolling out gradually. Accounts outside the rollout get a short notice instead of a result. The reviewer account is enabled for all of them.\n\nListing: the long description now covers the group-wide writes and the snapshot behavior of create_segment, and the test cases are updated to match. The privacy policy and terms URLs are unchanged. The listed documentation URL is unchanged, the help-centre setup guide. The server's discovery documents now also point to a per-tool field reference at https://mcp.flodesk.com/docs.\n"
+      },
+      "apps": "./.app.json"
+    }
+  }
+}
Full technical diff · 7 changed fields

changed /files/.app.json/sha256

BEFORE
"be6e5d0060e3bd6d9364516b4972c5f5a750a03f6a26e997a327a9fba23056da"
AFTER
"14805f1b4285fd629289060a1f29cd920c2ed1010c57770882949d164402d0a9"

changed /files/.app.json/size

BEFORE
127
AFTER
99

removed /files/.codex-plugin~1plugin.json

BEFORE
{
  "sha256": "8fef7fc59a121c1bb4c0147c92a23ce12f01fb735cdc78c0b6fe26bd7e6c969c",
  "size": 1308
}
AFTER
Field is absent

added /files/assets~1composer-icon.png

BEFORE
Field was absent
AFTER
{
  "sha256": "666dc80f1eff94108a86021d6f1b5ed7308f36eccca60ea1811fd81181b47c91",
  "size": 475
}

added /files/assets~1logo.png

BEFORE
Field was absent
AFTER
{
  "sha256": "666dc80f1eff94108a86021d6f1b5ed7308f36eccca60ea1811fd81181b47c91",
  "size": 475
}

added /files/mcp.json

BEFORE
Field was absent
AFTER
{
  "sha256": "c127d4801f77ed3af3c4241a644d04803611ba26990d90fe561f5014f9f3651f",
  "size": 197
}

added /files/plugin.json

BEFORE
Field was absent
AFTER
{
  "sha256": "82599e20e78f5e3fcd59b07c60242a4e348c628abf87711a97390620227e0506",
  "size": 8958
}
Full snapshot data
{
  "files": {
    ".app.json": {
      "sha256": "14805f1b4285fd629289060a1f29cd920c2ed1010c57770882949d164402d0a9",
      "size": 99
    },
    "assets/composer-icon.png": {
      "sha256": "666dc80f1eff94108a86021d6f1b5ed7308f36eccca60ea1811fd81181b47c91",
      "size": 475
    },
    "assets/logo.png": {
      "sha256": "666dc80f1eff94108a86021d6f1b5ed7308f36eccca60ea1811fd81181b47c91",
      "size": 475
    },
    "mcp.json": {
      "sha256": "c127d4801f77ed3af3c4241a644d04803611ba26990d90fe561f5014f9f3651f",
      "size": 197
    },
    "plugin.json": {
      "sha256": "82599e20e78f5e3fcd59b07c60242a4e348c628abf87711a97390620227e0506",
      "size": 8958
    }
  }
}

SHA-256 of public snapshot: 063978ab1930c3254be5e7040ae79d784605c7d44c8ca66dbb9ab5d96113f170