Product

product.created

A new product was created in the workspace.

When it fires

After CreateProductService succeeds, and after DuplicateProductService succeeds. Fires for dashboard creates, v1 API POST /products and v1 API POST /products/{slug}/duplicate.

A duplicate emits a single product.created for the copy. The projects, environments and variables cloned underneath it do not emit their own *.created events.

Payload

ts
{
    type: 'product.created',
    data: {
        product: {
            id: string         // UUID
            name: string
            slug: string
            icon: string | null
            createdAt: string  // ISO timestamp
        }
    }
}

Example

json
{
    "type": "product.created",
    "data": {
        "product": {
            "id": "0192a1b2-c3d4-7000-8000-000000000005",
            "name": "Acme Platform",
            "slug": "acme-platform",
            "icon": null,
            "createdAt": "2026-05-31T10:30:00.000Z"
        }
    }
}

A copy of a private product stays private. Its product.created is only delivered to endpoints whose creator can access that product.