docs/v3/api-ref/events/deployment-events.mdx
Deployment events track the lifecycle of deployments, including creation, updates, deletion, and status transitions. These events are emitted server-side. For more on deployments, see Deployments.
prefect.deployment.createdEmitted when a new deployment is created.
| Label | Description |
|---|---|
prefect.resource.id | prefect.deployment.{uuid} |
prefect.resource.name | Deployment name |
| Resource ID pattern | Role | When present |
|---|---|---|
prefect.flow.{uuid} | flow | Always |
prefect.work-queue.{uuid} | work-queue | When a work queue is assigned |
prefect.work-pool.{uuid} | work-pool | When a work pool is assigned (includes prefect.work-pool.type label) |
This event has no payload.
prefect.deployment.updatedEmitted when one or more deployment fields are changed.
| Label | Description |
|---|---|
prefect.resource.id | prefect.deployment.{uuid} |
prefect.resource.name | Deployment name |
Same as prefect.deployment.created.
| Field | Type | Description |
|---|---|---|
updated_fields | array of strings | Names of fields that changed |
updates | object | Map of field name to {"from": <old>, "to": <new>} |
{
"occurred": "2026-03-31T18:30:00.000000Z",
"event": "prefect.deployment.updated",
"resource": {
"prefect.resource.id": "prefect.deployment.b2c3d4e5-f6a7-8901-bcde-f12345678901",
"prefect.resource.name": "my-etl-flow/production"
},
"related": [
{
"prefect.resource.id": "prefect.flow.a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"prefect.resource.name": "my-etl-flow",
"prefect.resource.role": "flow"
}
],
"payload": {
"updated_fields": ["is_schedule_active"],
"updates": {
"is_schedule_active": {
"from": true,
"to": false
}
}
},
"id": "c3d4e5f6-a7b8-9012-cdef-123456789012"
}
prefect.deployment.deletedEmitted when a deployment is deleted.
| Label | Description |
|---|---|
prefect.resource.id | prefect.deployment.{uuid} |
prefect.resource.name | Deployment name |
Same as prefect.deployment.created.
This event has no payload.
prefect.deployment.{status}Emitted when a deployment's readiness status changes. The {status} suffix is the
kebab-case status value.
| Event name | Description |
|---|---|
prefect.deployment.ready | Deployment is ready to create runs |
prefect.deployment.not-ready | Deployment is not ready (for example, no active schedule or no available work pool) |
| Label | Description |
|---|---|
prefect.resource.id | prefect.deployment.{uuid} |
prefect.resource.name | Deployment name |
Same as prefect.deployment.created.
This event has no payload.