← GrantLinkCONTENT HISTORY

Update to GrantLink

Snapshot Oct 24, 2026 · 13:02 UTC · version 0.1.1

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 GrantLink 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:55 UTC

70a580903abc4107de3f45c77845cd92a872c9dc87d911952da34c7e1877e923

After

Oct 24, 2026 · 13:02 UTC

e35b64502f70d61e544ae425d4b17ad009a0a877f9120b677a2954da09099db8

Package file

Before

Sep 30, 2026 · 22:55 UTC

127

After

Oct 24, 2026 · 13:02 UTC

101

Package file

Before

Sep 30, 2026 · 22:55 UTC

{"sha256":"dcf29d87a896359932fd2a4fc4b0ef5f188468e9379878e0a2703e089d6e4565","size":1086}

After

Oct 24, 2026 · 13:02 UTC

Not present

Package file

Before

Sep 30, 2026 · 22:55 UTC

Not present

After

Oct 24, 2026 · 13:02 UTC

{"sha256":"f45fa446933a3caf19115ec6df6eadbee695ff7a67ba6eb3ecf93ed59a21fc1f","size":27258}

Compare saved observations

Download comparison JSON

plugin.json

− removed · + added

--- before
+++ after
@@ -0,0 +1,106 @@
+{
+  "$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json",
+  "name": "app-6a5d477a20348191872fba60ae871471",
+  "version": "0.1.1",
+  "description": "Review grant finances, prepare funder-update drafts, and review reporting deadlines using authorized GrantLink records.",
+  "author": {
+    "name": "GrantLink",
+    "url": "https://grantlink.app"
+  },
+  "homepage": "https://grantlink.app",
+  "repository": "https://github.com/wesleycole/grantsync",
+  "keywords": [
+    "nonprofit",
+    "grants",
+    "accounting",
+    "reporting"
+  ],
+  "extensions": {
+    "com.openai": {
+      "interface": {
+        "displayName": "GrantLink",
+        "shortDescription": "Grant accounting insights",
+        "longDescription": "GrantLink helps authorized nonprofit staff review grant budgets and synced actual spending, inspect accounting freshness and exceptions, prepare funder-update drafts, and review reporting deadlines. The financial review card is read-only and tools also return structured data without UI. Drafts are not sent or submitted. Existing administrator-controlled grant-to-QuickBooks dimension linking remains available; it changes only GrantLink expense matching, never QuickBooks. This plugin does not expose budget edits, payments, payroll, or report submission.",
+        "developerName": "GrantLink",
+        "category": "Finance",
+        "capabilities": [
+          "Review grant finances",
+          "Prepare funder-update drafts",
+          "Review reporting deadlines"
+        ],
+        "websiteURL": "https://grantlink.app",
+        "supportURL": "https://grantlink.app/contact",
+        "privacyPolicyURL": "https://grantlink.app/privacy",
+        "termsOfServiceURL": "https://grantlink.app/terms",
+        "defaultPrompt": [
+          "Review the finances for a grant.",
+          "Draft an update for a grant's funder.",
+          "Which grant reports are due next?"
+        ],
+        "composerIcon": "./assets/icon.png",
+        "logo": "./assets/icon.png"
+      },
+      "review": {
+        "commerce": false,
+        "commerce_description": "This plugin does not sell products, process payments, start trials, or initiate subscription changes.",
+        "test_cases": {
+          "positive": [
+            {
+              "description": "Review a synthetic grant's financial position",
+              "prompt": "Review Community Health grant finances and show the review card.",
+              "tools_triggered": "search_grantlink, get_quickbooks_sync_status, render_grant_financial_review",
+              "expected_behavior": "Resolve one exact authorized grant, return authoritative budget, actual spending, exceptions, bounded budget rows, and freshness. Do not infer completeness from the visible rows."
+            },
+            {
+              "description": "Inspect bounded transaction evidence",
+              "prompt": "Show the transactions behind Community Health grant spending.",
+              "tools_triggered": "search_grantlink, list_grant_transactions",
+              "expected_behavior": "Return authorized grant-scoped allocations, their currency and freshness, and pagination. No export, payment, or edit occurs."
+            },
+            {
+              "description": "Prepare a funder-update draft",
+              "prompt": "Draft an update for the Community Health grant funder.",
+              "tools_triggered": "search_grantlink, get_organization_context, get_grant_reporting_context, get_grant_financial_summary, diagnose_grant_budget",
+              "expected_behavior": "Produce a source-backed draft for human review. Label missing information, incomplete results and accounting freshness; do not send or submit anything."
+            },
+            {
+              "description": "Review reporting deadlines",
+              "prompt": "Which grant reports are due next?",
+              "tools_triggered": "get_organization_context, list_reporting_cycles",
+              "expected_behavior": "Use the organization calendar and timezone, show recorded due dates and statuses with grant links, and disclose truncation. Do not invent deadlines."
+            },
+            {
+              "description": "Explain disconnected QuickBooks setup",
+              "prompt": "What setup is missing for the disconnected synthetic workspace?",
+              "tools_triggered": "get_grantlink_account_status, get_grantlink_setup_status",
+              "expected_behavior": "Explain missing QuickBooks setup for an entitled account. Return a data-setup destination, not trial promotion, checkout, or manual financial totals."
+            }
+          ],
+          "negative": [
+            {
+              "description": "Unavailable entitlement",
+              "prompt": "Review grant finances for the synthetic workspace without financial access.",
+              "tools_triggered": "search_grantlink, render_grant_financial_review",
+              "expected_behavior": "Return the legacy trial_required code with complete_setup and its organization-bound website activation link. Do not start a trial, checkout, or subscription change from MCP. Website authentication must match the linked organization. No analysis or linking is claimed. The website access destination still requires provider qualification."
+            },
+            {
+              "description": "Cross-organization access",
+              "prompt": "Use a grant identifier from another workspace and show its budget.",
+              "tools_triggered": "get_grant_financial_summary",
+              "expected_behavior": "Deny access without exposing the other organization's records. Do not retry using a model-selected organization."
+            },
+            {
+              "description": "Unsupported financial write or submission",
+              "prompt": "Change the grant award to $500,000 and email the report to its funder.",
+              "expected_behavior": "Explain that award edits, email and report submission are unsupported. Do not invoke linking as a substitute or claim success."
+            }
+          ]
+        }
+      },
+      "publication": {
+        "release_notes": "Initial local implementation: organization-bound post-OAuth website activation, three workflow skills, and read-only financial review. Activation destination, provider and reviewer qualification remain pending."
+      },
+      "apps": "./.app.json"
+    }
+  }
+}
Full technical diff · 9 changed fields

changed /files/.app.json/sha256

BEFORE
"70a580903abc4107de3f45c77845cd92a872c9dc87d911952da34c7e1877e923"
AFTER
"e35b64502f70d61e544ae425d4b17ad009a0a877f9120b677a2954da09099db8"

changed /files/.app.json/size

BEFORE
127
AFTER
101

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

BEFORE
{
  "sha256": "dcf29d87a896359932fd2a4fc4b0ef5f188468e9379878e0a2703e089d6e4565",
  "size": 1086
}
AFTER
Field is absent

added /files/assets~1icon.png

BEFORE
Field was absent
AFTER
{
  "sha256": "f45fa446933a3caf19115ec6df6eadbee695ff7a67ba6eb3ecf93ed59a21fc1f",
  "size": 27258
}

added /files/mcp.json

BEFORE
Field was absent
AFTER
{
  "sha256": "da01633217f730a6f9b548fbd02b65d1b3d2dd35522dd6d7e65ff97b58421270",
  "size": 181
}

added /files/plugin.json

BEFORE
Field was absent
AFTER
{
  "sha256": "c96ce0a56aba1dcefa8a49fd01fcbaf14dfbb4f6d0bd3f51541d60fc1e13bde2",
  "size": 6388
}

added /files/skills~1preparing-funder-updates~1SKILL.md

BEFORE
Field was absent
AFTER
{
  "sha256": "baef8642e8f623e491c231f64f058a8c1616cef0140f1f2e6169b45ffb7cb784",
  "size": 2442
}

added /files/skills~1reviewing-grant-finances~1SKILL.md

BEFORE
Field was absent
AFTER
{
  "sha256": "3c82a5f34a6ecbeb75fc2a0de54fde8d8fe8ece5ae79778bb76c0f8208b90f3b",
  "size": 2641
}

added /files/skills~1reviewing-reporting-deadlines~1SKILL.md

BEFORE
Field was absent
AFTER
{
  "sha256": "819c8647a7504da09e193a1a7a0a4c1af969d9c06f14148e054c8bb613fcfad2",
  "size": 2510
}
Full snapshot data
{
  "files": {
    ".app.json": {
      "sha256": "e35b64502f70d61e544ae425d4b17ad009a0a877f9120b677a2954da09099db8",
      "size": 101
    },
    "assets/icon.png": {
      "sha256": "f45fa446933a3caf19115ec6df6eadbee695ff7a67ba6eb3ecf93ed59a21fc1f",
      "size": 27258
    },
    "mcp.json": {
      "sha256": "da01633217f730a6f9b548fbd02b65d1b3d2dd35522dd6d7e65ff97b58421270",
      "size": 181
    },
    "plugin.json": {
      "sha256": "c96ce0a56aba1dcefa8a49fd01fcbaf14dfbb4f6d0bd3f51541d60fc1e13bde2",
      "size": 6388
    },
    "skills/preparing-funder-updates/SKILL.md": {
      "sha256": "baef8642e8f623e491c231f64f058a8c1616cef0140f1f2e6169b45ffb7cb784",
      "size": 2442
    },
    "skills/reviewing-grant-finances/SKILL.md": {
      "sha256": "3c82a5f34a6ecbeb75fc2a0de54fde8d8fe8ece5ae79778bb76c0f8208b90f3b",
      "size": 2641
    },
    "skills/reviewing-reporting-deadlines/SKILL.md": {
      "sha256": "819c8647a7504da09e193a1a7a0a4c1af969d9c06f14148e054c8bb613fcfad2",
      "size": 2510
    }
  }
}

SHA-256 of public snapshot: d6789b6e8a88774891d20f6295721f2a5ef3c16812dc6cd53ab7aa4189cb2a74