Getting Started

Webhooks

How to create and manage webhooks in Plate Multisite

What are Plate Webhooks

Webhooks allow you to receive real-time notifications when specific events occur in your Plate application. This guide explains how to create, configure, and use webhooks to integrate with external systems. They provide a way to receive instant notifications about:

  • Content changes (posts, elements, sections)
  • Form submissions
  • User authentication events
  • Site translations
  • Content object modifications

Available Events

The following event types are available for webhook configuration:

Content Events

  • Posts: Create, Update, Status Change, Destroy
  • Elements: Create, Update, Destroy
  • Sections: Create, Update, Destroy
  • Content Objects: Create, Update, Destroy

Form Events

  • Form Messages: Create

Authentication Events

  • Authentication Objects: Create, Update, Destroy, Confirm Email

Site Events

  • Site Translations: Update

Create a Webhook

Create a new webhook by clicking the API button under the header 'Development' in the sidebar and create a new webhook. You need to configure the following parameters:

  • Name: A name for your webhook
  • Event Class: The specific event type to listen for
  • URL: The endpoint where webhook data will be sent
  • Active Status: Whether the webhook is enabled or disabled

Webhook Payload Structure

When a webhook is triggered, your webhook endpoint will receive a POST request with the following JSON structure:

{
  "event": "post.create",
  "data": {
    "id": "123",
    "type": "post",
    "attributes": {
      "title": "Sample Post",
      "content": "Post content...",
      "status": "published"
    }
  }
}

Payload Fields

FieldDescriptionExample
eventThe event type in resource.action formatpost.create, element.update
dataThe complete data object for the involved content item, formatted as API JSON{"id": "123", "type": "post", "attributes": {...}}

Handling Deleted Content Items

If a content item has been deleted, the payload will contain minimal information:

{
  "event": "post.destroy",
  "data": {
    "id": "123"
  }
}

Event Filtering

You can configure filters to receive webhooks only for specific conditions:

Available Filters

  • Element Type: Filter by specific element types
  • Section Type: Filter by specific section types
  • Post Type: Filter by specific post types
  • Content Type: Filter by content object types
  • Authentication Type: Filter by authentication object types

Filter Configuration

  1. Select an event class that supports filtering
  2. Choose the filter type from the dropdown
  3. Select the specific value to filter on
  4. Add multiple filters as needed

Example: Configure a webhook for "Post Create" events, filtered to only trigger for "Blog Post" type posts.


Testing Webhooks

Send Test Webhook

Test your webhook by clicking the 'test' button in the webhook index page.

This allows you to verify:

  • URL accessibility
  • Request format
  • Response handling

Testing Checklist

  • Webhook URL is accessible
  • Server responds with 2xx status code
  • Request headers are properly set
  • JSON payload is valid
  • Your application processes the data correctly

HTTP Request Details

Headers

Webhook requests include the following headers:

Content-Type: application/json
User-Agent: PlateWebhooks
Accept: */*

Request Method

All webhook requests use the POST method.


Copyright © 2025