Wufoo · Capability

Wufoo REST API — Webhooks

Webhooks surface of the Wufoo REST API v3. 2 operations. Lead operation: Add Form Webhook. Self-contained Naftiko capability covering one Wufoo business surface — subscribe/unsubscribe subscriber URLs that receive submission payloads.

Wufoo REST API — Webhooks is a Naftiko capability published by Wufoo, one of 8 capabilities the APIs.io network indexes for this provider. It bundles 2 operations across the PUT and DELETE methods rooted at /v1/webhooks/{…}.

The capability includes 2 state-changing operations. Lead operation: Subscribe a URL to receive form submission webhooks. Can be deployed as a REST endpoint, MCP tool, or Agent Skill via Naftiko.

Tagged areas include Wufoo, Webhooks, and Events.

Run with Naftiko WufooWebhooksEvents

What You Can Do

PUT
Putformwebhook — Subscribe a URL to form submissions.
/v1/webhooks/{identifier}
DELETE
Deleteformwebhook — Unsubscribe a webhook.
/v1/webhooks/{identifier}/{hash}

MCP Tools

subscribe-form-webhook

Subscribe a URL to receive form submission webhooks.

idempotent
delete-form-webhook

Unsubscribe a webhook by hash.

idempotent

Capability Spec

rest-v3-webhooks.yaml Raw ↑
naftiko: "1.0.0-alpha2"

info:
  label: "Wufoo REST API — Webhooks"
  description: >-
    Webhooks surface of the Wufoo REST API v3. 2 operations. Lead operation: Add
    Form Webhook. Self-contained Naftiko capability covering one Wufoo business
    surface — subscribe/unsubscribe subscriber URLs that receive submission
    payloads.
  tags:
    - Wufoo
    - Webhooks
    - Events
  created: "2026-05-23"
  modified: "2026-05-23"

binds:
  - namespace: env
    keys:
      WUFOO_SUBDOMAIN: WUFOO_SUBDOMAIN
      WUFOO_API_KEY: WUFOO_API_KEY

capability:

  consumes:
    - type: http
      namespace: "rest-v3-webhooks"
      baseUri: "https://{{env.WUFOO_SUBDOMAIN}}.wufoo.com/api/v3"
      description: "Wufoo REST API — Webhooks business capability. Self-contained, no shared references."
      authentication:
        type: basic
        username: "{{env.WUFOO_API_KEY}}"
        password: "footastic"
      resources:
        - name: "form-webhook"
          path: "/webhooks/{identifier}.{format}"
          operations:
            - name: "putFormWebhook"
              method: PUT
              description: "Subscribe a URL to webhook POSTs for the form."
              inputParameters:
                - { name: identifier, in: path, type: string, required: true, description: "Form hash or title." }
                - { name: format, in: path, type: string, required: true, description: "json or xml" }
                - { name: body, in: body, type: object, required: true, description: "url + optional handshakeKey + optional metadata flag." }
              outputRawFormat: json
              outputParameters: [{ name: result, type: object, value: "$." }]
        - name: "form-webhook-instance"
          path: "/webhooks/{identifier}/{hash}.{format}"
          operations:
            - name: "deleteFormWebhook"
              method: DELETE
              description: "Unsubscribe a webhook by hash."
              inputParameters:
                - { name: identifier, in: path, type: string, required: true, description: "Form hash or title." }
                - { name: hash, in: path, type: string, required: true, description: "Webhook hash returned at PUT time." }
                - { name: format, in: path, type: string, required: true, description: "json or xml" }
              outputRawFormat: json
              outputParameters: [{ name: result, type: object, value: "$." }]

  exposes:
    - type: rest
      namespace: "rest-v3-webhooks-rest"
      port: 8080
      description: "REST adapter for Wufoo REST API — Webhooks."
      resources:
        - path: "/v1/webhooks/{identifier}"
          name: "form-webhook"
          description: "Webhook subscription for a form."
          operations:
            - method: PUT
              name: "putFormWebhook"
              description: "Subscribe a URL to form submissions."
              call: "rest-v3-webhooks.putFormWebhook"
              with:
                identifier: "rest.identifier"
                format: "rest.format"
                body: "rest.body"
              outputParameters: [{ type: object, mapping: "$." }]
        - path: "/v1/webhooks/{identifier}/{hash}"
          name: "form-webhook-instance"
          description: "A specific webhook subscription."
          operations:
            - method: DELETE
              name: "deleteFormWebhook"
              description: "Unsubscribe a webhook."
              call: "rest-v3-webhooks.deleteFormWebhook"
              with:
                identifier: "rest.identifier"
                hash: "rest.hash"
                format: "rest.format"
              outputParameters: [{ type: object, mapping: "$." }]

    - type: mcp
      namespace: "rest-v3-webhooks-mcp"
      port: 9090
      transport: http
      description: "MCP adapter for Wufoo REST API — Webhooks."
      tools:
        - name: "subscribe-form-webhook"
          description: "Subscribe a URL to receive form submission webhooks."
          hints: { readOnly: false, destructive: false, idempotent: true }
          call: "rest-v3-webhooks.putFormWebhook"
          with:
            identifier: "tools.identifier"
            format: "tools.format"
            body: "tools.body"
          outputParameters: [{ type: object, mapping: "$." }]
        - name: "delete-form-webhook"
          description: "Unsubscribe a webhook by hash."
          hints: { readOnly: false, destructive: true, idempotent: true }
          call: "rest-v3-webhooks.deleteFormWebhook"
          with:
            identifier: "tools.identifier"
            hash: "tools.hash"
            format: "tools.format"
          outputParameters: [{ type: object, mapping: "$." }]