← Files OtterFillARCHIVED FILE

plugin.json

6.93 KB · Nov 12, 2026 · 06:09 UTC

↓ Download file

{
  "$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json",
  "name": "otterfill",
  "version": "1.0.3",
  "description": "Fill in any form through conversation, with a live preview of every field.",
  "author": {
    "name": "Yueyang Wang",
    "email": "support@otterfill.com",
    "url": "https://otterfill.com"
  },
  "homepage": "https://otterfill.com",
  "keywords": [
    "forms",
    "pdf",
    "paperwork",
    "translation"
  ],
  "extensions": {
    "com.openai": {
      "interface": {
        "displayName": "OtterFill",
        "shortDescription": "Fill any form with AI",
        "longDescription": "OtterFill keeps the form you are filling in and shows every field live in a preview next to the chat, while ChatGPT reads your file, asks the questions and writes your answers into it.\n\nWhat it does\n- Opens a live preview of your form (PDF, scan, screenshot, Word or Excel) with each field's value and status.\n- ChatGPT asks for your answers in plain language, section by section, and writes them into the preview. You can also edit any field by hand.\n- Marks the answers that still need your confirmation.\n- Shows the form in your own language, with the printed wording kept underneath.\n- Checks the answers for required fields left empty, choices that are not an option, dates in the wrong format and malformed email addresses.\n- Gives you the list of your answers as Markdown and CSV.\n- Deletes the form and your answers whenever you ask.\n\nWho it is for\nAnyone filling in an application, claim, onboarding or registration form, including people working in a language that is not their own.\n\nLimits\n- OtterFill never submits a form for you and is not legal, immigration or tax advice. You check the result and submit it yourself.\n- Do not enter government ID numbers, payment card numbers, passwords or health information. Fill those in on the form yourself.\n- AI can make mistakes, so check every answer before you use the form.\n\nPrivacy\nOtterFill never receives your form file and needs no account. It keeps only the form's fields and your answers, deletes them automatically after 48 hours, and never uses them to train AI models. See the privacy policy for details.",
        "developerName": "Yueyang Wang",
        "category": "Productivity",
        "capabilities": [
          "Show a live form preview",
          "Fill in forms",
          "Export answer lists"
        ],
        "websiteURL": "https://otterfill.com",
        "supportURL": "https://otterfill.com/contact",
        "privacyPolicyURL": "https://otterfill.com/privacy",
        "termsOfServiceURL": "https://otterfill.com/terms",
        "defaultPrompt": [
          "Use OtterFill to help me fill in this form, one section at a time.",
          "Use OtterFill to check my form before I send it.",
          "Use OtterFill to export my answers as a list."
        ],
        "brandColor": "#0A6F7B",
        "brandColorDark": "#14A5AE",
        "composerIcon": "./assets/icon.png",
        "logo": "./assets/logo.png",
        "screenshots": [
          "./assets/screenshot-1.png"
        ]
      },
      "review": {
        "demo_recording_url": "https://youtu.be/2T--qabDQt0",
        "test_cases": {
          "positive": [
            {
              "description": "Open an uploaded form",
              "prompt": "Use OtterFill to help me fill in this form. Please start with the first section.",
              "tools_triggered": "start_form, update_fields",
              "expected_behavior": "ChatGPT reads the attached form itself and opens a live preview titled Employment Application Form with Part 1. Personal Information (surname, given names, date of birth, email, phone, marital status) empty, then asks for the Part 1 answers in plain text.",
              "file_attachment_urls": [
                "https://otterfill.com/review/employment_application.pdf"
              ]
            },
            {
              "description": "Show the form in the user's language",
              "prompt": "Use OtterFill to show this form in Chinese.",
              "tools_triggered": "save_translation",
              "expected_behavior": "ChatGPT translates the form's section titles, labels, help and options and saves them; the preview shows the Chinese wording above the printed English one."
            },
            {
              "description": "Write answers and leave sensitive data out",
              "prompt": "Use OtterFill to write: Surname: Chen. Given names: Mei Ling. Date of birth: 14/03/1990. Email: mei.chen@example.com. Phone: +1 604 555 0142. Marital status: Single. Employer: Maple Leaf Logistics Ltd. Job title: Operations Analyst. Start date: 02/05/2021. Also, my passport number is AB1234567 and my card number is 4111 1111 1111 1111, please put both in the form.",
              "tools_triggered": "get_state, update_fields",
              "expected_behavior": "The preview shows the given answers in Part 1 and Part 2. The passport and card numbers are not written anywhere, and ChatGPT says so."
            },
            {
              "description": "Check the form, then export the answers",
              "prompt": "Use OtterFill to check the whole form, then export my answers.",
              "tools_triggered": "check_form, export_form",
              "expected_behavior": "ChatGPT reports what the check found (or that nothing is wrong), then shows the answer list and offers it as Markdown and CSV files. The preview shows Exported."
            },
            {
              "description": "Delete the form",
              "prompt": "Use OtterFill to delete this form.",
              "tools_triggered": "delete_form",
              "expected_behavior": "ChatGPT asks the user to confirm, then deletes the form; the preview can no longer load it and ChatGPT confirms the deletion."
            }
          ],
          "negative": [
            {
              "description": "Unrelated request: nothing is a form, so OtterFill must not be used",
              "prompt": "Write a short poem about otters."
            },
            {
              "description": "OtterFill never submits a form to an office, so it must say it cannot and point to the official channel",
              "prompt": "Use OtterFill to submit my tax return directly to the Canada Revenue Agency for me."
            },
            {
              "description": "Payment card data is never collected, so the field stays empty and the user is told to fill it in themselves",
              "prompt": "Use OtterFill to put my card number 4111 1111 1111 1111 in the payment section of this form."
            }
          ]
        },
        "commerce": false,
        "commerce_description": "This plugin does not sell products or process payments."
      },
      "publication": {
        "release_notes": "Initial release: ChatGPT reads the form and asks the questions, OtterFill shows the live preview, checks the answers, returns the answer list and deletes the form on request."
      },
      "apps": "./.app.json"
    }
  }
}

SHA-256: eafa50754fe1cdec72b0a498b35c2fff6b9c3fc49ff56ed12d84eb2de0715a68