← Files Workflow ViewerARCHIVED FILE

plugin.json

7.66 KB · Nov 3, 2026 · 19:10 UTC

↓ Download file

{
  "$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json",
  "name": "workflow-viewer",
  "version": "0.5.0",
  "description": "Create and revise workflow maps through chat, then export JSON or interactive HTML for offline use.",
  "author": {
    "name": "Daniel Medina",
    "email": "ggsgamingclips@gmail.com",
    "url": "https://workflow-viewer.workflow-atlas.workers.dev"
  },
  "homepage": "https://workflow-viewer.workflow-atlas.workers.dev",
  "extensions": {
    "com.openai": {
      "interface": {
        "displayName": "Workflow Viewer",
        "shortDescription": "Map workflows through chat",
        "longDescription": "Turn a process described in conversation into an interactive workflow map. Explore steps, decisions, responsibilities and handoffs; search linked subprocesses, select a step and ask for changes in chat. Export structured JSON or a self-contained interactive HTML file that works offline. When a host cannot download directly from the canvas, use the export request in chat. File delivery depends on the host.\n\nWorkflow Viewer does not require a service account. The hosted service processes each request without retaining workflow content. Your chat provider may retain conversations, tool results and exports; Cloudflare processes hosting requests under its policies. Keep an exported copy to reuse a map later.\n\nLimits: 200 steps and 256 KB per package. This plugin does not provide a saved online library, public workflow links, collaborative editing, process execution or messaging.",
        "developerName": "Daniel Medina",
        "category": "Productivity",
        "capabilities": [
          "Interactive"
        ],
        "websiteURL": "https://workflow-viewer.workflow-atlas.workers.dev",
        "supportURL": "https://workflow-viewer.workflow-atlas.workers.dev/support",
        "privacyPolicyURL": "https://workflow-viewer.workflow-atlas.workers.dev/privacy",
        "termsOfServiceURL": "https://workflow-viewer.workflow-atlas.workers.dev/terms",
        "logo": "./assets/workflow-viewer.png",
        "composerIcon": "./assets/workflow-viewer.png",
        "defaultPrompt": [
          "Map a fictional repair caf\u00e9 intake with an assessment decision.",
          "Create an onboarding process with linked subprocesses.",
          "Export this workflow as an interactive HTML file."
        ]
      },
      "review": {
        "commerce": false,
        "commerce_description": "Workflow Viewer is free. It has no purchases, subscriptions, checkout or payment processing.",
        "test_cases": {
          "positive": [
            {
              "description": "In a fresh conversation, create an entirely invented repair cafe map. Inspect the visible canvas, the assessment decision and both labeled outgoing paths.",
              "prompt": "Map a fictional repair caf\u00e9 intake from arrival to a repair handoff, with a branch for items we cannot help with. Use only invented data.",
              "tools_triggered": "view_workflow",
              "expected_behavior": "Call view_workflow with a complete WorkflowPackage, revision 1 and layout auto. Display a map with a decision, labeled alternatives and valid connection endpoints. Do not use save/get/list tools or imply server storage."
            },
            {
              "description": "After case 1, select its arrival step in the canvas and note the step ID. Ask for the rename. Compare all other package fields and node positions.",
              "prompt": "Rename the selected step to Initial assessment.",
              "tools_triggered": "view_workflow",
              "expected_behavior": "Use the latest complete package in the conversation and selected identifiers. Preserve IDs, other content and geometry; change the chosen title, increment the revision and call view_workflow with layout preserve. Show Initial assessment on the same step. If selection is unavailable, ask which step."
            },
            {
              "description": "Create a new invented parent map and child repair workflow. Open the subprocess, inspect a child step, search for it and return through the breadcrumb.",
              "prompt": "Create a fictional workshop process with intake, a repair subprocess, and collection. Expand repair into inspect, attempt and check steps.",
              "tools_triggered": "view_workflow",
              "expected_behavior": "Return one complete package with valid childWorkflowId and parentId links. Display both levels, allow step inspection and search, and return to the parent. Do not claim a separate stored library."
            },
            {
              "description": "Using a complete map in the current conversation, export JSON and then supply the delivered JSON in a new conversation. Compare stable IDs, step counts, titles and links.",
              "prompt": "Export this workflow as JSON so I can continue editing it in another chat.",
              "tools_triggered": "export_workflow",
              "expected_behavior": "Call export_workflow with the complete package, current revision and format json. Deliver the embedded JSON file through the host. The package must match the current map and reopen through view_workflow when supplied in the new conversation. If file delivery is unavailable, explain that limitation rather than claiming a download."
            },
            {
              "description": "After editing a map, request the current HTML export, save the delivered file and open it with network access disabled. Search and inspect a step.",
              "prompt": "Export this workflow as an interactive HTML file I can keep and open offline.",
              "tools_triggered": "export_workflow",
              "expected_behavior": "Call export_workflow with the complete package, current revision and format html. Deliver the embedded file through the host. Its snapshot bootstrap must carry the current revision and package; search and step details must work offline. Do not invent a public URL or read a temporary server resource."
            }
          ],
          "negative": [
            {
              "description": "No persistence or cross-chat saved library exists. Explain that limit and ask for the previous exported JSON or a conversation containing the complete map. Do not list, invent or reconstruct missing saved workflows.",
              "prompt": "Find the workflows I created in my other chats last month and reopen the latest one."
            },
            {
              "description": "The plugin only describes a process. Explain that it cannot execute tasks, assign actual tickets or send email. Do not call workflow tools to simulate completion of those actions.",
              "prompt": "Run this repair workflow, assign the real repairs to volunteers and email every visitor."
            },
            {
              "description": "Public workflow hosting is not supported. Explain that an offline HTML export can be shared as a file. Do not fabricate a live URL or call view_workflow as if it published a website.",
              "prompt": "Publish this workflow to a public website and give me a sharing link."
            }
          ]
        },
        "demo_recording_url": "https://www.loom.com/share/9f35c474c7864ba088b3755b8519c893"
      },
      "publication": {
        "countries": [],
        "release_notes": "0.5.0: adds stable navigation, department overviews, long-content handling, process briefs, review questions and diagnostics, revision summaries, and improved chat/export recovery. Includes the stateless hosted connection, current workflow instructions, approved public-page links, icon and fictional review cases. No saved library, payments, public workflow links or user accounts."
      },
      "apps": "./.app.json"
    }
  }
}

SHA-256: 92d4b5ca16b5fd405c1a1aabe988fa80182fab73f454bb2e4cfb2618e2eff4e7