Custom Node Types
Coalesce comes with built-in Node types and Packages for data transformations, you can also create your own custom Nodes using YAML, Jinja 2, and SQL.
To make your own Node Type, go to Build Settings>Node Types and select New Node Type to start from scratch or Duplicate on any Node Type to extend existing functionality.
Learn About the Components of a Node
Before building a Node, review our guides on each part of a Node and how they work together.
A Node consists of these components:
- Node Definition - Written in YAML, specifies UI elements and configurations like node color, materialization options, and business keys.
- Create Template - Defines the table's structure (DDL).
- Run Template - Defines how the table will be populated with data (DML).
- Hydrated Metadata - An object that contains all the structured information needed to define a Node in Coalesce.
- Macros - A block of code you can define once to use multiple times. They can be used in the Create or Run template.

What's Next
📄️ Node Definition
Written in YAML, the Node Definition is where you specify the UI elements and other configurations that should be available for Nodes. This includes the node's color, its materialization options (table or view), its business keys, and more.
📄️ Hydrated Metadata
Hydrated Metadata is object that you have access to when creating custom Nodes. It contains information like the available columns, storage location information, and other Node information.
📄️ Create and Run Templates
A Create Template defines the creation of the table's structure, and is equivalent to DDL. A Run Template defines how the table will be populated with data and is equivalent to DML.
📄️ Join Templates
Learn how to customize JOIN string generation in Coalesce using Join Templates and ref macros. Discover stage-based templates for complex SQL executions and best practices for handling dependencies.
📄️ Accessing Hydrated Metadata
Learn how to use dot notation to access Hyrdrated Metadata in Coalesce
📄️ Deployment Strategies for Custom Node Types
Coalesce uses a default deployment strategy by default, which can be changed by adding deployStrategy: transient to a custom Node definition.
📄️ Node Definition Reference
Node configuration options determine the behavior of an individual node.
📄️ Hydrated Metadata Reference
A reference to look up dot notation and the Hydrated Metadata Object.