Create a new virtual dimension draft without publishing. `virtualDimensionId` in inputs equals `id` from list/get/search. Call get_skill with skillId: "virtual-dimensions" first — see skill for allocation shapes, CEL rules, and full workflow. For a `telemetry` allocation, discover the `datasource` id and the metric value names to map via list_metrics (call it with `datasourceId`) first. `bqName` (BigQuery/CEL query field, e.g. Environment → virtual_environment) is set once from `name` at create and is immutable. Ordered `rules` use `conditionCel` + `allocation` — do not send rule `id` (generated on save) or `values` (derived). Do not include catch-all/leftover in `rules` — `leftoverRule` is auto-added. Rejects invalid payloads — nothing persisted unless validation passes. On success: `virtualDimensionId`, `bqName`, `name`, `description`, `tags`, `values`, rules with generated ids, `leftoverRule`, `draftValidation: { ok: true }`, `draftPersisted: true`. Use preview_virtual_dimension_draft next. Use returned `bqName` for groupBy/filterCel in query after publish. Does not publish or refresh BigQuery. Clerk MCP only.
EXAMPLE: "Draft an Environment VDIM with a prod rule" → { name: "Environment", tagNames: ["finops"], rules: [{ name: "Production", conditionCel: "cos_environment in [\"prod\"]", allocation: { allocationType: "dimensionValue", dimensionValue: "prod" } }] }
Connector