← Files SendLetterARCHIVED FILE

plugin.json

8.23 KB · Nov 6, 2026 · 07:22 UTC

↓ Download file

{
  "$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json",
  "name": "sendletter",
  "version": "3.0.0",
  "description": "Prepare, review and send individual physical letters through your SendLetter account.",
  "author": {
    "name": "Twilper.com",
    "email": "info@sendletter.eu",
    "url": "https://sendletter.eu"
  },
  "homepage": "https://sendletter.eu",
  "keywords": [
    "physical letters",
    "postal mail",
    "letter preview",
    "return address"
  ],
  "extensions": {
    "com.openai": {
      "interface": {
        "displayName": "SendLetter",
        "shortDescription": "Send physical letters",
        "longDescription": "SendLetter helps you prepare and send physical letters from your connected account. Check your sending setup, manage return addresses, validate address formats, calculate a price and preview your letter before deciding to send. You review the recipient, document, mailing options and total before approving a physical mailing. Sending uses your existing account balance; an eligible individual letter can instead be paid for through SendLetter\u2019s website checkout. Follow letter status and cancel only while cancellation is still available. Supported destinations and options depend on the current service. A sandbox account simulates the workflow without charging, printing or posting. SendLetter is operated by Twilper.",
        "developerName": "Sendletter",
        "category": "Productivity",
        "capabilities": [
          "Check sending setup",
          "Manage return addresses",
          "Quote and preview a letter",
          "Confirm physical mailing",
          "Check status and eligible cancellation"
        ],
        "websiteURL": "https://sendletter.eu",
        "supportURL": "https://sendletter.eu/en/support",
        "privacyPolicyURL": "https://sendletter.eu/en/privacy",
        "termsOfServiceURL": "https://sendletter.eu/en/terms",
        "defaultPrompt": [
          "How much would a two-page letter to Germany cost?",
          "Prepare a physical letter and show its preview before sending.",
          "What is the status of my last letter?"
        ],
        "brandColor": "#1F4B3F",
        "brandColorDark": "#C89B3F",
        "composerIcon": "./assets/sendletter-logo-1024.png",
        "logo": "./assets/sendletter-logo-1024.png"
      },
      "review": {
        "test_cases": {
          "positive": [
            {
              "description": "Inspect account and manage an explicitly approved sandbox return address.",
              "prompt": "In the sandbox account, check which account is connected and list its return addresses. Save a return address labelled Review Sender: Test Sender, Teststraat 1, 1234 AB Teststad, NL. I approve making that saved address the default for this sandbox test.",
              "tools_triggered": "get_account_overview, list_sender_addresses, save_sender_address, set_default_sender",
              "expected_behavior": "Show only necessary account/setup information, validate and save the supplied test address, and select that saved sender after the explicit approval. No letter is sent and no charge occurs."
            },
            {
              "description": "Quote and preview a private sandbox letter.",
              "prompt": "In sandbox, calculate a standard one-page black-and-white letter price to Germany. Then prepare a draft to Test Recipient, Musterstra\u00dfe 1, 10115 Berlin, DE, with the text: This is a sandbox review letter. Please do not post it. Show the exact PDF preview and its own server-calculated total; do not send.",
              "tools_triggered": "validate_address, calculate_letter_price, create_letter_draft, preview_letter",
              "expected_behavior": "Validate format without claiming delivery-address existence, show an authoritative quote, create the private draft and return its exact preview. Any draft page count or price difference is shown, without a fixed invented price. No physical mail or payment."
            },
            {
              "description": "Prepare final review without sending.",
              "prompt": "Prepare the final confirmation for that sandbox draft. Show the exact recipient, sender, page count, mailing options, total and test-mode label. Stop before sending.",
              "tools_triggered": "prepare_letter_send",
              "expected_behavior": "Return final server-bound confirmation and review UI for the current draft. No debit or postal submission. Re-preparation is required if the draft or price changed; do not present a stale confirmation as valid."
            },
            {
              "description": "Simulate one explicitly approved letter and handle a retry safely.",
              "prompt": "Using the sandbox account only, I approve simulating that reviewed letter. Use a stable idempotency key for this send, repeat the identical send with the same key, and check the resulting letter status. Do not print, post or charge.",
              "tools_triggered": "prepare_letter_send, send_letter, get_letter_status",
              "expected_behavior": "Re-prepare if necessary, execute only a sandbox send and visibly label the test result. An identical retry reuses the same order rather than creating another. Status may progress asynchronously. The sandbox must never debit a wallet or contact a production postal supplier."
            },
            {
              "description": "List recent sandbox letters and cancel only an eligible one.",
              "prompt": "List recent sandbox letters. If the draft I just prepared can still be cancelled, cancel it; otherwise explain its current state and do not promise a cancellation.",
              "tools_triggered": "list_letters, cancel_letter",
              "expected_behavior": "Return only the connected account\u2019s privacy-minimized results. Cancel only when the server permits it; otherwise explain that production/state prevents cancellation. No unrelated letter is accessed."
            }
          ],
          "negative": [
            {
              "description": "Email is outside the physical-letter service.",
              "prompt": "Send an email reminder to someone@example.com. Do not send physical mail."
            },
            {
              "description": "Unrelated parcel tracking is outside scope.",
              "prompt": "Track a parcel bought from another courier account."
            },
            {
              "description": "Do not sell credits or subscriptions in ChatGPT.",
              "prompt": "Buy account credits or a SendLetter subscription for me inside ChatGPT."
            }
          ]
        },
        "demo_recording_url": "https://sendletter.eu/sendletter-chatgpt-demo.mp4",
        "commerce": true,
        "commerce_description": "The paid purchase is the printing and postal delivery of one physical letter. The user reviews and approves that letter before sending. Existing account balance may fund it, or an eligible personal letter can use merchant-hosted checkout for that specific physical letter. The app does not sell credits, subscriptions or digital goods in ChatGPT. Sandbox review never charges or posts."
      },
      "publication": {
        "release_notes": "Update the public package with the remote MCP endpoint, OAuth registration settings, current SendLetter branding, Dutch listing text and five positive/three negative review cases. Approval and publication remain separate portal steps.",
        "translations": {
          "nl-NL": {
            "subtitle": "Verstuur fysieke brieven",
            "description": "Met SendLetter bereid je fysieke brieven voor en verstuur je ze vanuit je gekoppelde account. Controleer je verzendinstellingen, beheer retouradressen, controleer adresnotaties, bereken een prijs en bekijk je brief voordat je beslist te verzenden. Je controleert ontvanger, document, verzendopties en totaalbedrag en geeft daarna toestemming. Verzending gebruikt je bestaande accountsaldo; een geschikte afzonderlijke brief kun je ook via de SendLetter-website afrekenen. Bekijk de briefstatus en annuleer zolang dat nog mogelijk is. Bestemmingen en opties hangen af van de actuele dienstverlening. Een sandboxaccount simuleert de stappen zonder betaling, drukwerk of post. SendLetter is een dienst van Twilper."
          }
        }
      },
      "apps": "./.app.json"
    }
  }
}

SHA-256: 514fbf78203c082fdd74de4a789e25b083ffc8c3c895fb7ceab502b4bb7be7c0