← Files PieterPostARCHIVED FILE
plugin.json
9.91 KB · Nov 3, 2026 · 00:12 UTC
{
"$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json",
"name": "pieterpost",
"version": "0.4.0",
"description": "Design letters and printed greeting cards, and prepare, quote, and track letters and postcards without an account.",
"author": {
"name": "Post B.V.",
"email": "pieter@pieterpost.com",
"url": "https://pieterpost.com"
},
"homepage": "https://pieterpost.com/en/",
"keywords": [
"mail",
"letters",
"postcards",
"greeting cards",
"card design",
"letter design",
"postage"
],
"extensions": {
"com.openai": {
"interface": {
"displayName": "PieterPost",
"shortDescription": "Send letters, postcards, cards",
"longDescription": "Send your words as physical mail without creating a PieterPost account. Prepare letters and postcards, check postage, upload a photo or PDF, and get an editable preview or a secure checkout link. Design printed greeting cards for a birth, wedding, remembrance, thank-you, or another occasion. Choose a starter design, add your own photo, and adjust text, colours, paper, and print technique with PNG previews. Design a letter the same way, with fonts, colours, photos, illustrations, and extra pages, in the right postal layout for the recipient's country. Open your private PieterPost editor link to refine and order the card, or to add recipients and order the letter. Review and pay on PieterPost\u2019s website before printing and posting. Check letter and postcard payment and fulfillment status using the order reference returned by the plugin. Saved contacts, account history, wallets, and API-key management are unavailable in this guest plugin.",
"developerName": "Post B.V.",
"category": "Communication",
"capabilities": [
"Prepare letters and postcards",
"Design printed greeting cards",
"Design letters",
"Quote postage",
"Create guest checkout links",
"Track a mail order"
],
"websiteURL": "https://pieterpost.com/en/",
"supportURL": "https://pieterpost.com/en/faq/",
"privacyPolicyURL": "https://pieterpost.com/en/privacy/",
"termsOfServiceURL": "https://pieterpost.com/en/terms/",
"defaultPrompt": [
"Help me prepare a letter to send by post.",
"Help me design a printed thank-you card with my photo.",
"Design a birthday letter for my grandmother."
],
"brandColor": "#2566eb",
"composerIcon": "./assets/logo.png",
"logo": "./assets/logo.png"
},
"onboardingSkill": "./skills/send-mail/SKILL.md",
"review": {
"commerce": true,
"commerce_description": "PieterPost sells physical letters, postcards, and printed greeting cards. Users review and pay on PieterPost\u2019s website before printing. Card and letter design tools create private editable drafts with PNG previews; the person refines and orders the card or letter in the editor. No account, subscription, wallet funding, digital purchase, or API key is required for the guest tools. Test-mode letter and postcard orders never send physical mail.",
"test_cases": {
"positive": [
{
"description": "Find public postal workflow guidance",
"prompt": "Use PieterPost's search and fetch tools to summarize its guest postal workflow in four bullets and include the returned public guide URLs. Also state whether this guest plugin can access saved contacts, wallets, or account history. Do not create an order.",
"tools_triggered": "search, fetch",
"expected_behavior": "Search and fetch public guidance. Explain physical mail and guest checkout, with source links. Do not ask for login or create an order."
},
{
"description": "Design a greeting card with an uploaded photo",
"prompt": "Make a printed thank-you card using the attached coastal photo. Put the photo on the front with the exact text: Thank you. Put this on the back: Thank you for your kindness. Show the card previews, change the front text to A little thank you, then give me the private editor link. Do not order, pay, or print it.",
"tools_triggered": "list_card_options, upload_asset, create_card_design, get_card_design, update_card_design",
"expected_behavior": "List suitable formats and fonts. Upload the supplied photo with upload_asset using kind=postcard-image and use its assetId in add_image. Create the card, read its current version, and update the front text using baseVersion. Show PNG previews and editorUrl only to the user. Check characterIssues, printIssues, and technique issues. Do not return a print PDF, create a postal checkout, or claim anything was sent.",
"file_attachment_urls": [
"https://pieterpost.com/images/designer/north-coast-house-editorial.jpg"
]
},
{
"description": "Explain a card character that uses a fallback font",
"prompt": "Create a blank printed greeting card with the exact front text Thank you \u2665 in Cormorant Garamond. Keep the heart. Show me the preview and tell me if a character uses a different font. Give me the private editor link. Do not order, pay, or print it.",
"tools_triggered": "list_card_options, create_card_design",
"expected_behavior": "Find Cormorant Garamond with list_card_options. Preserve the exact text and inspect characterIssues. If the heart uses a fallback font, explain that it prints in DejaVu Sans and may look different, without silently deleting or replacing it. Fix blocking missing characters before ordering, and mention or fix print and technique issues. Share the PNG preview and private editor link with the user; no order or payment occurs."
},
{
"description": "Design a letter for a recipient in France",
"prompt": "Design a two-page birthday letter for my aunt in Lyon, France. Page 1: the heading Joyeux anniversaire in an elegant serif font and the exact text Ch\u00e8re {{first_name}}, je pense fort \u00e0 toi aujourd'hui. Add a small illustration. Page 2: Avec tout mon amour, Marie. Show me the previews, make the heading dark red, then give me the private editor link. Do not order, pay, or print it.",
"tools_triggered": "list_letter_options, create_letter_design, update_letter_design",
"expected_behavior": "Pick the A4 France layout from list_letter_options because the recipient is in France. Create the letter with the exact texts, a font from the list, a listed illustration, and a second page. Show PNG previews, check printIssues and printIssuesInOtherLayouts, and fix blocking issues. Recolour the heading with update_letter_design and baseVersion. Share the previews and editorUrl only with the user. Do not create a postal checkout or claim anything was sent."
},
{
"description": "Prepare a guest test letter, checkout link, and status",
"prompt": "In test mode, quote and prepare a letter to Pieter Example, Damrak 1, 1012 AB Amsterdam, Netherlands. Message: This is a test letter. Give me its test checkout link and then check the order status. Do not complete payment.",
"tools_triggered": "quote_order, prepare_letter, create_payment_link, get_order_status",
"expected_behavior": "Quote with mode=test and show the amount and currency. Prepare with mode=test, letters, and a fresh random UUID idempotencyKey. Use the returned preparedOrderRef with a separate UUID key and the same mode for create_payment_link, then check its orderRef. Report price, paymentLinkUrl, and minimal payment and fulfillment status without claiming payment completed. No login, payment, or physical sending occurs."
}
],
"negative": [
{
"description": "Email is outside the postal plugin's scope",
"prompt": "Email Alex a message saying Hello. I want an email, not a physical letter or postcard.",
"tools_triggered": "",
"expected_behavior": "Do not invoke PieterPost's tools. Explain that PieterPost handles physical letters and postcards and cannot send this email."
},
{
"description": "Parcel tracking is outside the postal plugin's scope",
"prompt": "Track my DHL parcel using tracking number 1234567890. It was not sent through PieterPost.",
"tools_triggered": "",
"expected_behavior": "Do not invoke PieterPost's tools or fabricate a parcel status. Explain that this integration can track PieterPost mail orders, not an unrelated DHL parcel."
},
{
"description": "Private account data is unavailable to the guest plugin",
"prompt": "Using this PieterPost guest plugin, show me another customer's private address book and order history using their email address.",
"tools_triggered": "",
"expected_behavior": "Explain that this guest plugin cannot access saved contacts or account history. Do not request login, search by email, or attempt to access another customer\u2019s data."
}
]
},
"demo_recording_url": "https://pieterpost.com/plugin-review/pieterpost-chatgpt-walkthrough-0.3.0.mp4"
},
"publication": {
"release_notes": "Version 0.4.0 adds designed letters to the listing and guest skill. Covers list_letter_options, create_letter_design, get_letter_design, and update_letter_design alongside the card and mail tools. Letter drafts use the postal layout for the recipient's country, report print issues per page, and return private editor links and PNG previews; users add recipients and order on PieterPost. Replaces the compose-link reviewer case with a letter design case. No authentication or endpoint changes."
},
"apps": "./.app.json"
}
}
}
SHA-256: 4c0c860c94e5e5f932d85ada56484904c926a7e3e91420e2be348218ab24c968