← Files dFormsARCHIVED FILE

plugin.json

7.79 KB · Nov 14, 2026 · 01:33 UTC

↓ Download file

{
  "$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json",
  "name": "dforms",
  "version": "1.0.0",
  "description": "Build, publish and analyze forms, quizzes and lead qualifiers from ChatGPT.",
  "author": {
    "name": "Dapta AI",
    "email": "josue@daptatech.com",
    "url": "https://dforms.ai"
  },
  "homepage": "https://dforms.ai",
  "keywords": [
    "dforms",
    "forms",
    "quizzes",
    "surveys",
    "lead qualification"
  ],
  "extensions": {
    "com.openai": {
      "interface": {
        "displayName": "dForms",
        "shortDescription": "Build and analyze forms",
        "longDescription": "dForms is the form builder for AI agents. Connect it to ChatGPT and describe the form you need in plain words: ChatGPT builds it, sets up the logic and the design, publishes it and reads every response.\n\nWhat you can do:\n- Create forms, quizzes and lead qualifiers with skip logic, conditions, scoring and result screens.\n- Edit a form as a draft, review it, then publish it, discard the draft or go back to the previous version.\n- Read responses, search answers, see a summary per question, analytics with the drop-off per step, and export responses to CSV.\n- Apply your workspace brand kit (logo, colors, fonts) to your forms.\n- Manage folders, form links, email notifications and webhooks.\n- Build your workspace public page with links to your forms.\n- Work across several workspaces: ChatGPT asks which one to use.\n\nSign in with your dForms account; there is no API key to create or store. Each call uses your role in that workspace. Actions that delete or overwrite data, or publish something public, are marked so ChatGPT asks you before running them. A dForms account is required; signing in creates one.",
        "developerName": "Dapta AI",
        "category": "Productivity",
        "capabilities": [
          "Build forms and quizzes",
          "Publish and edit forms",
          "Analyze responses"
        ],
        "websiteURL": "https://dforms.ai",
        "supportURL": "https://docs.dapta.ai/dforms/developers/mcp-connector",
        "privacyPolicyURL": "https://docs.dapta.ai/dforms/developers/mcp-privacy",
        "termsOfServiceURL": "https://dforms.ai/en/terms/",
        "defaultPrompt": [
          "List my dForms forms and tell me which one has the most responses.",
          "Create a 3-question lead qualification quiz with scoring.",
          "Summarize the responses of my latest form, question by question."
        ],
        "logo": "./assets/dforms.png",
        "composerIcon": "./assets/dforms.png"
      },
      "review": {
        "demo_recording_url": "https://www.tella.tv/video/josues-video-akh2g3c5",
        "test_cases": {
          "positive": [
            {
              "description": "P1. List the forms of the signed-in account. The reviewer account owns one workspace with three published forms and sample responses. Read-only.",
              "prompt": "List my dForms forms and tell me which one has the most responses.",
              "tools_triggered": "list_forms, get_form_analytics",
              "expected_behavior": "List the forms the workspace returns (Lead qualification quiz, Event RSVP, Customer feedback), each with its public link. Read the response counts from the tools (get_form_analytics or list_responses per form) and name the form with the most, without inventing numbers. Nothing is changed."
            },
            {
              "description": "P2. Create a scored quiz. Self-contained: it does not need any existing form. The new form is live at a public link as soon as it is created.",
              "prompt": "Create a quiz called OpenAI Review Quiz with 3 multiple-choice questions about company size, budget and timeline. Score each answer from 0 to 10 and show a different result screen for scores up to 15 and above 15. Give me the link.",
              "tools_triggered": "get_form_guide, create_form",
              "expected_behavior": "Read the config rules with get_form_guide, then create the form with create_form: three choice questions with scores, and two result screens split at 15. Return the public_url from the tool response, without inventing success. If create_form reports a validation error, fix the config and retry."
            },
            {
              "description": "P3. Edit a form as a draft and publish it. Uses the Event RSVP form that already exists in the reviewer workspace. publish_form is annotated destructive, so ChatGPT may ask the tester to confirm before it runs.",
              "prompt": "In my Event RSVP form, change the title of the first question to \"What is your full name?\" and publish the change.",
              "tools_triggered": "list_forms, get_form, update_form, publish_form",
              "expected_behavior": "Find Event RSVP with list_forms, read it with get_form, save the edited config as a draft with update_form (using expected_updated_at from get_form), then publish with publish_form, asking for confirmation when ChatGPT requires it. Report that the change is live and that revert_form can bring back the previous version."
            },
            {
              "description": "P4. Summarize answers question by question. Uses the Lead qualification quiz that already exists in the reviewer workspace, with sample responses. Read-only.",
              "prompt": "Summarize the responses of my Lead qualification quiz question by question.",
              "tools_triggered": "list_forms, get_form_summary",
              "expected_behavior": "Find the Lead qualification quiz with list_forms and read get_form_summary. Report, per question, the option counts and percentages or the average the tool returns. Do not invent responses or numbers. Nothing is changed."
            },
            {
              "description": "P5. Read one response in full. Uses the Customer feedback form that already exists in the reviewer workspace, with sample responses. Read-only.",
              "prompt": "Show me the most recent response to my Customer feedback form, with every answer.",
              "tools_triggered": "list_forms, list_responses, get_response",
              "expected_behavior": "Find Customer feedback with list_forms, take the newest response from list_responses and read it with get_response. Report its status, submission time and every answer with its question, exactly as returned. Do not invent answers. Nothing is changed."
            }
          ],
          "negative": [
            {
              "description": "N1. Unsupported bulk email. dForms sends its own notification emails when a response arrives, but it cannot send a message to past respondents. ChatGPT may read the form's responses to explain the limit, but it must not claim that any email was sent.",
              "prompt": "Send an email to everyone who answered my Event RSVP form reminding them about the event."
            },
            {
              "description": "N2. Unsupported payments. dForms forms do not collect payments or charge customers. Explain the limit; do not create a form that claims to take payments.",
              "prompt": "Charge 50 dollars to everyone who submits my Lead qualification quiz."
            },
            {
              "description": "N3. Out of scope. A weather question has nothing to do with forms. No dForms tool should be called.",
              "prompt": "What will the weather be in Bogota tomorrow?"
            }
          ]
        }
      },
      "publication": {
        "release_notes": "Initial release. Connect ChatGPT to dForms with your dForms sign-in. Create forms, quizzes and lead qualifiers with logic and scoring, edit them as drafts and publish them, read responses, summaries and analytics, and manage your brand kit, folders, links, notifications and webhooks. Actions that delete, overwrite or publish ask for confirmation first."
      },
      "apps": "./.app.json"
    }
  }
}

SHA-256: 3f4db2fb8e65d916a45a66f1bd5100722cb4aad00b5af846a61c97218a74a214