> This page is for Developer Documentation.

> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.benchling.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.benchling.com/_mcp/server.

# Canvas initialized

POST 

Sent when a user initializes a canvas via trigger in the Benchling UI. Event type: `v2.canvas.initialized`.

Reference: https://docs.benchling.com/docs/api/v2-webhooks/canvas/initialized

## Request

### Payload

- `app` (CanvasInitializeWebhookV2EnvelopeApp, required)
- `appDefinition` (CanvasInitializeWebhookV2EnvelopeAppDefinition, required)
- `baseURL` (string, required) — Base tenant URL from which the webhook is coming
- `channel` (enum, required) — Channel of the webhook
  - Allowed values: `events`, `app_signals`
- `tenantId` (string, required) — Global tenant id from which the webhook is coming
- `version` (enum, required) — Version of the webhook envelope shape. Always 0.
  - Allowed values: `0`
- `message` (CanvasInitializeWebhookV2, required) — Sent when a user initializes a canvas via trigger in the Benchling UI

## Types

### CanvasInitializeWebhookV2EnvelopeApp

- `id` (string, required) — Destination app's id

### CanvasInitializeWebhookV2EnvelopeAppDefinition

- `id` (string, required) — App definition id
- `versionNumber` (string, required) — App definition version number

### CanvasInitializeWebhookV2

Sent when a user initializes a canvas via trigger in the Benchling UI

- `deprecated` (boolean, required)
- `featureId` (string, required)
- `resourceId` (string, required)
- `userId` (string, required)