{
  "version": 1,
  "availability": "Requires an installed plugin offering the requested action; choose from its Quick Actions list",
  "docsUrl": "https://docs.hypermatic.com/weblify/automation/parameters",
  "inputLimits": {
    "quickActionsPasteMaxCharacters": 149,
    "parserOptionsMaxCharacters": 16384,
    "maxTargetIds": 100,
    "rejectedAmbiguousLength": 150
  },
  "optionDefinitionFormat": "Hypermatic parameter fields v1; not JSON Schema",
  "plugin": "weblify",
  "parameters": [
    "command",
    "parameters"
  ],
  "shortcuts": [
    {
      "command": "open",
      "name": "Open Weblify",
      "action": "open",
      "advanced": false,
      "parameters": [],
      "target": "none"
    },
    {
      "command": "shortcut-page",
      "name": "Create New Page",
      "action": "page",
      "advanced": false,
      "parameters": [
        {
          "name": "Page name",
          "key": "name",
          "allowFreeform": true,
          "optional": false
        }
      ],
      "target": "none"
    },
    {
      "command": "shortcut-export",
      "name": "Export Website",
      "action": "export",
      "advanced": false,
      "parameters": [
        {
          "name": "Export name",
          "key": "name",
          "allowFreeform": true,
          "optional": false
        }
      ],
      "target": "none"
    },
    {
      "command": "shortcut-repair",
      "name": "Repair Selected Layouts",
      "action": "repair",
      "advanced": false,
      "parameters": [],
      "target": "current selection"
    },
    {
      "command": "shortcut-image",
      "name": "Update Selected Image",
      "action": "image",
      "advanced": false,
      "parameters": [
        {
          "name": "URL",
          "key": "url",
          "allowFreeform": true,
          "optional": false
        },
        {
          "name": "Alternative text",
          "key": "alt",
          "allowFreeform": true,
          "optional": true
        }
      ],
      "target": "current selection"
    },
    {
      "command": "advanced-page",
      "name": "Advanced: Create New Page",
      "action": "page",
      "advanced": true,
      "parameters": [
        {
          "name": "Advanced options (JSON)",
          "key": "options",
          "allowFreeform": true,
          "optional": false
        }
      ],
      "target": "none"
    },
    {
      "command": "advanced-export",
      "name": "Advanced: Export Website",
      "action": "export",
      "advanced": true,
      "parameters": [
        {
          "name": "Advanced options (JSON)",
          "key": "options",
          "allowFreeform": true,
          "optional": false
        }
      ],
      "target": "none"
    },
    {
      "command": "advanced-responsive",
      "name": "Advanced: responsive",
      "action": "responsive",
      "advanced": true,
      "parameters": [
        {
          "name": "Target (optional node IDs)",
          "key": "target",
          "allowFreeform": true,
          "optional": true
        },
        {
          "name": "Advanced options (JSON)",
          "key": "options",
          "allowFreeform": true,
          "optional": true
        }
      ],
      "target": "optional node IDs or current selection"
    },
    {
      "command": "advanced-image",
      "name": "Advanced: Update Selected Image",
      "action": "image",
      "advanced": true,
      "parameters": [
        {
          "name": "Advanced options (JSON)",
          "key": "options",
          "allowFreeform": true,
          "optional": false
        },
        {
          "name": "Target (optional node IDs)",
          "key": "target",
          "allowFreeform": true,
          "optional": true
        }
      ],
      "target": "optional node IDs or current selection"
    }
  ],
  "actions": {
    "open": {
      "description": "Open the normal interactive plugin",
      "fields": {},
      "target": "none",
      "execution": "builtin"
    },
    "page": {
      "description": "Create a named Weblify page",
      "fields": {
        "name": {
          "type": "string",
          "min": 1,
          "max": 120,
          "required": true,
          "description": "Name of the new item"
        }
      },
      "target": "none",
      "execution": "worker"
    },
    "export": {
      "description": "Export the current Weblify site as a static ZIP",
      "fields": {
        "name": {
          "type": "string",
          "min": 1,
          "max": 120,
          "required": true,
          "description": "Name of the new item"
        }
      },
      "target": "none",
      "execution": "worker"
    },
    "responsive": {
      "description": "Save tablet or mobile layout policies on selected Weblify layouts",
      "fields": {
        "tablet": {
          "type": "object",
          "description": "Responsive breakpoint policy",
          "fields": {
            "behavior": {
              "type": "string",
              "description": "Layout behavior",
              "required": true,
              "values": [
                "stack",
                "columns",
                "preserve"
              ]
            },
            "columns": {
              "type": "number",
              "description": "Column count for columns behavior",
              "values": [
                1,
                2,
                3,
                4,
                5,
                6,
                7,
                8,
                9,
                10,
                11,
                12
              ]
            }
          }
        },
        "mobile": {
          "type": "object",
          "description": "Responsive breakpoint policy",
          "fields": {
            "behavior": {
              "type": "string",
              "description": "Layout behavior",
              "required": true,
              "values": [
                "stack",
                "columns",
                "preserve"
              ]
            },
            "columns": {
              "type": "number",
              "description": "Column count for columns behavior",
              "values": [
                1,
                2,
                3,
                4,
                5,
                6,
                7,
                8,
                9,
                10,
                11,
                12
              ]
            }
          }
        }
      },
      "target": "many",
      "execution": "worker"
    },
    "repair": {
      "description": "Repair metadata in selected subtrees without falling back to the whole page",
      "fields": {},
      "target": "many",
      "execution": "worker"
    },
    "image": {
      "description": "Update the selected placeholder image URL and alt text using the existing image workflow",
      "fields": {
        "url": {
          "type": "string",
          "description": "Absolute HTTP or HTTPS image URL without embedded credentials",
          "required": true,
          "min": 1,
          "max": 2048
        },
        "alt": {
          "type": "string",
          "description": "Alternative text",
          "max": 2000
        }
      },
      "target": "one",
      "execution": "worker"
    }
  },
  "examples": {
    "page": {
      "name": "Home"
    },
    "export": {
      "name": "My Website"
    },
    "responsive": {
      "mobile": {
        "behavior": "stack"
      }
    },
    "repair": {},
    "image": {
      "url": "https://example.com/image.png",
      "alt": "Product photo"
    }
  },
  "limitsAndBehavior": "Component composition and publishing remain interactive. Responsive accepts tablet and/or mobile policies; columns behavior requires a column count, and other behaviors reject it. Repair is selection-scoped. Use the normal Weblify panel for audit, tokens and placeholder inspection. Export operates on the current Weblify site rather than the selection.",
  "completion": {
    "deadlineMs": 300000,
    "visibleNotifications": true,
    "nativeSaveDialog": true,
    "verifySavedArtifact": true
  },
  "invocation": "Figma Quick Actions or a verified host launcher; no REST/MCP launcher is provided",
  "results": "Normal Figma success/error notifications, document changes, native file downloads and published pages"
}
