Create Workspace Node from Scratch
create_workspace_node_from_scratchCreate a standalone workspace node with no upstream dependencies. Use only for nodes that truly lack predecessors, after discovering the correct node type via plan_pipeline.
Instructions
Create a workspace node from scratch with NO predecessors. Only use this when the node truly has no upstream nodes — for example, a standalone utility node. If the node has ANY upstream/source nodes, use create_workspace_node_from_predecessor instead.
REQUIRED: Before calling this tool, call plan_pipeline with goal + repoPath to discover the correct nodeType. Do not guess or hardcode node types — the planner ranks all available types and returns the best match.
SPECIALIZED TYPES WARNING: Do NOT use Dynamic Tables, Incremental Load, Materialized View, or other specialized types unless the user explicitly requests that pattern (e.g., 'near-real-time refresh', 'incremental processing'). For standard batch ETL, CTE decomposition, and general transforms, use Stage or Work. The response includes nodeTypeValidation.warning if a specialized pattern was detected without matching context.
Defaults to completionLevel='configured', which REQUIRES both name and metadata.columns to be provided. If you don't have column definitions yet, set completionLevel to 'created' or 'named' instead.
AUTOMATIC CONFIG: When repoPath is provided, this tool automatically runs intelligent config completion after creation — reading the node type definition, setting node-level config defaults, and applying column-level attributes. The configCompletion result shows what was applied.
Do not use overrideSQL or override.* fields; SQL override is disallowed in this project.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| goal | No | The goal or intent for this node (e.g., 'deduplicate customer records', 'aggregate daily sales'). Used to validate that the chosen nodeType is appropriate for the task. Same value you would pass to plan_pipeline. | |
| name | No | Optional node name to apply after creation. | |
| config | No | Optional config object to apply after creation. | |
| changes | No | Optional additional partial fields to merge after the node is created and fetched. | |
| metadata | No | Optional metadata object to apply after creation, including metadata.columns. | |
| nodeType | Yes | The type of node to create. IMPORTANT: Call plan_pipeline first to discover and rank available node types — use the nodeType from its result. Format: 'PackageName:::ID' for package types (e.g., 'base-nodes:::Stage') or simple name ('Stage') for built-in types. Always prefer the package-prefixed format returned by plan_pipeline. | |
| repoPath | No | Path to local Coalesce repository for automatic config completion after creation. | |
| description | No | Optional node description to apply after creation. | |
| workspaceID | Yes | The workspace ID | |
| completionLevel | No | How complete the node should be before the tool returns. Defaults to configured. | |
| storageLocations | No | Optional storageLocations array to apply after creation. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| nodeID | No | ||
| created | No | ||
| warning | No | ||
| nextSteps | No | ||
| validation | No | ||
| joinSuggestions | No | ||
| configCompletion | No | ||
| nodeTypeValidation | No | ||
| configCompletionSkipped | No |