Skip to main content
Events are records of significant changes that occur within your Plane workspace. When a worker is created, a payment is updated, or other important actions happen, Plane generates an event that captures what changed. You can retrieve events through the API to build integrations, audit trails, or sync data with external systems. For real-time notifications, you can also receive events via webhooks.

The event object

string
Unique identifier for the event.
string
The type of event that occurred. See supported event types below.
string
The ID of the resource that the event relates to (e.g., a worker ID or payment ID).
string
The ID of the workspace where the event occurred.
object
A snapshot of the resource at the time of the event. The structure varies by event type.
string | null
The ID of the member whose action caused the event, when a member was acting. Null when Plane acted on its own or the actor is not known.
string | null
The surface the action arrived through: api, cli, mcp, or agent. Null when the action was taken in the Plane product or the surface is not known.
string
Time at which the event was created, in ISO 8601 format.
Example event

Event types

A project event’s data is the project as the MCP projects_get tool returns it, without its tasks: subject says what the project is for, and worker names the worker it concerns. subject is a reference that holds the resource’s object type and ID, such as { "object": "worker_onboarding", "id": "won_..." } for an onboarding. A task event’s data is the task as tasks_get returns it. Its subject and assignee are references in the same shape, and its party (company, worker, or plane) says whose action the task waits on. So task.opened with a party of company means a company task has become actionable.

Changeset outcome data

All four changeset outcome events include these fields in data:

Receiving events

There are two ways to receive events from Plane:

Poll the API

Retrieve events on your own schedule by calling the list events endpoint. Useful for batch processing or backfilling data.

Webhooks

Receive events in real-time via HTTP POST to your server. Ideal for building responsive integrations.