Browse the docs

Webhooks

Webhooks in Allpage: its screens, what you can do there and its operations.

Availability. Every business has it.

What you can do

  • Add a webhook: only you can do it, on its screen
  • Change a webhook: only you can do it, on its screen
  • Remove a webhook: only you can do it, on its screen
  • Change a webhook’s secret: only you can do it, on its screen
  • Send a webhook again: only you can do it, on its screen
  • Send a test webhook: only you can do it, on its screen
  • Subscribe to events: only you can do it, on its screen
  • Unsubscribe from events: only you can do it, on its screen

For apps

Reads

  • webhooks_endpoints (Webhooks)
  • webhooks_deliveries (Webhook deliveries)
  • webhooks_summary (What’s going on)

Only the owner, in Allpage

  • Add a webhook
  • Change a webhook
  • Remove a webhook
  • Change a webhook’s secret
  • Send a webhook again
  • Send a test webhook
  • Subscribe to events
  • Unsubscribe from events

Operations

Each one's input and output, as JSON Schema. Ids are typed (typed ids).

webhooks.subscribe

Subscribe to events

Kind
Change
Tool
webhooks_subscribe
Scope
webhooks:write
Reached by
API

Reaches only what the app can already read: runs right away, unless the owner set this area to Never.

Input
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "url": {
      "label": "Link",
      "control": "url",
      "type": "string",
      "maxLength": 2000
    },
    "events": {
      "maxItems": 50,
      "type": "array",
      "items": {
        "type": "string",
        "maxLength": 80
      }
    }
  },
  "required": [
    "url",
    "events"
  ],
  "additionalProperties": false
}
Output
{
  "oneOf": [
    {
      "type": "object",
      "required": [
        "status",
        "title",
        "change"
      ],
      "properties": {
        "status": {
          "const": "done"
        },
        "title": {
          "type": "string"
        },
        "change": {
          "type": "boolean"
        },
        "result": {},
        "undo": {
          "type": "object",
          "properties": {
            "command": {
              "type": "string"
            },
            "input": {}
          }
        }
      }
    },
    {
      "type": "object",
      "required": [
        "status",
        "proposalId"
      ],
      "properties": {
        "status": {
          "const": "proposed"
        },
        "proposalId": {
          "type": "string"
        },
        "preview": {},
        "approveAt": {
          "type": "string",
          "format": "uri"
        }
      }
    },
    {
      "type": "object",
      "required": [
        "status",
        "check"
      ],
      "properties": {
        "status": {
          "const": "pending"
        },
        "message": {
          "type": "string"
        },
        "check": {
          "type": "string"
        },
        "checkInput": {
          "type": "object"
        }
      }
    },
    {
      "type": "object",
      "required": [
        "status",
        "message"
      ],
      "properties": {
        "status": {
          "const": "refused"
        },
        "message": {
          "type": "string"
        },
        "field": {
          "type": "string"
        }
      }
    },
    {
      "type": "object",
      "required": [
        "status",
        "kind",
        "message"
      ],
      "properties": {
        "status": {
          "const": "needs"
        },
        "kind": {
          "type": "string"
        },
        "message": {
          "type": "string"
        },
        "note": {
          "type": "string"
        }
      }
    }
  ]
}

webhooks.unsubscribe

Unsubscribe from events

Kind
Change
Tool
webhooks_unsubscribe
Scope
webhooks:write
Reached by
API

Reaches only what the app can already read: runs right away, unless the owner set this area to Never.

Input
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "pattern": "^whe_[0-9a-hjkmnp-tv-z]{26}$",
      "description": "A webhook endpoint id: whe_ and 26 letters and digits."
    }
  },
  "required": [
    "id"
  ],
  "additionalProperties": false
}
Output
{
  "oneOf": [
    {
      "type": "object",
      "required": [
        "status",
        "title",
        "change"
      ],
      "properties": {
        "status": {
          "const": "done"
        },
        "title": {
          "type": "string"
        },
        "change": {
          "type": "boolean"
        },
        "result": {},
        "undo": {
          "type": "object",
          "properties": {
            "command": {
              "type": "string"
            },
            "input": {}
          }
        }
      }
    },
    {
      "type": "object",
      "required": [
        "status",
        "proposalId"
      ],
      "properties": {
        "status": {
          "const": "proposed"
        },
        "proposalId": {
          "type": "string"
        },
        "preview": {},
        "approveAt": {
          "type": "string",
          "format": "uri"
        }
      }
    },
    {
      "type": "object",
      "required": [
        "status",
        "check"
      ],
      "properties": {
        "status": {
          "const": "pending"
        },
        "message": {
          "type": "string"
        },
        "check": {
          "type": "string"
        },
        "checkInput": {
          "type": "object"
        }
      }
    },
    {
      "type": "object",
      "required": [
        "status",
        "message"
      ],
      "properties": {
        "status": {
          "const": "refused"
        },
        "message": {
          "type": "string"
        },
        "field": {
          "type": "string"
        }
      }
    },
    {
      "type": "object",
      "required": [
        "status",
        "kind",
        "message"
      ],
      "properties": {
        "status": {
          "const": "needs"
        },
        "kind": {
          "type": "string"
        },
        "message": {
          "type": "string"
        },
        "note": {
          "type": "string"
        }
      }
    }
  ]
}