Canvas Node Reference
Canvas includes 148 step types (called nodes) organized into 10 categories. This page gives you a quick reference for every node so you can find the right one for your workflow.
Design Nodes (36)
Design nodes create visual elements for page layouts and templates.
| Node | What It Does |
|---|---|
| Container | A flexible box that holds other elements. Set width, height, padding, and background. |
| Column | A vertical stack of elements inside a container. |
| Row | A horizontal row of elements. |
| Text | A block of text with font, size, color, and alignment options. |
| Heading | A heading element (H1 through H6). |
| Image | Displays an image from a URL or uploaded file. |
| Button | A clickable button with label, color, and link. |
| Link | A hyperlink element. |
| Icon | Displays an icon from the built-in library. |
| Divider | A horizontal line to separate sections. |
| Spacer | Empty space of configurable height. |
| Card | A bordered container with optional header, body, and footer sections. |
| Badge | A small label for statuses, tags, or counts. |
| Avatar | A circular image for user photos or initials. |
| List | An ordered or unordered list of items. |
| Table | A data table with columns and rows. |
| Form | A form container with inputs, labels, and submit button. |
| Input | A text input field. |
| TextArea | A multi-line text input. |
| Select | A dropdown selection input. |
| Checkbox | A checkbox input. |
| Radio | A radio button group. |
| Toggle | An on/off switch. |
| Slider | A range slider input. |
| DatePicker | A calendar date selection input. |
| TimePicker | A time selection input. |
| FileUpload | A file upload input. |
| Modal | A popup overlay container. |
| Accordion | A collapsible section. |
| Tabs | A tabbed content container. |
| Alert | A styled notification banner (info, warning, error, success). |
| Progress | A progress bar or ring. |
| Skeleton | A loading placeholder shape. |
| Video | An embedded video player. |
| Map | A map display powered by Mapbox. |
| Chart | A data visualization (bar, line, pie, etc.). |
Logic Nodes (33)
Logic nodes control the flow of your workflow with conditions, loops, and branching.
| Node | What It Does |
|---|---|
| If/Else | Branches the flow based on a condition. True goes one way, false goes another. |
| Switch | Multi-branch routing based on a value matching cases. |
| Loop | Repeats a sequence of steps a set number of times. |
| While | Repeats while a condition is true. |
| Delay | Pauses the workflow for a specified duration. |
| Schedule | Triggers at a specific time or on a cron schedule. |
| Webhook Trigger | Starts the workflow when an external HTTP request arrives. |
| Event Trigger | Starts the workflow when a specific platform event occurs (booking created, invoice paid, etc.). |
| Manual Trigger | Starts the workflow when you click Run. |
| Scope | Groups steps into a conditional block that runs only if its condition is met. |
| Converge | Rejoins branches that were split by If/Else or Switch. |
| AND | Outputs true only if all inputs are true. |
| OR | Outputs true if any input is true. |
| NOT | Inverts a boolean value. |
| ForEach | Iterates over an array, running child steps for each item. |
| Assert | Checks that a value meets a condition. Stops the workflow if it fails. |
| Retry | Wraps a step and retries it if it fails, with configurable attempts and delay. |
| Counter | Increments or decrements a running count. |
| Log | Writes a message to the run log for debugging. |
| Map | Transforms each item in an array using an expression. |
| Reduce | Aggregates an array into a single value. |
| GroupBy | Groups array items by a key. |
| Compare | Compares two values and outputs the result. |
| Math | Performs arithmetic operations (add, subtract, multiply, divide, etc.). |
| NullCheck | Tests if a value is null or undefined and routes accordingly. |
| StringOps | String manipulation — concat, split, replace, uppercase, lowercase, trim. |
| DateOps | Date arithmetic — add/subtract days, format, parse, compare. |
| PickOmit | Selects or removes specific fields from an object. |
| Unique | Removes duplicate values from an array. |
| Flatten | Flattens nested arrays into a single level. |
| Variable | Stores a value that can be read by later steps. |
| Expression | Evaluates a custom expression and outputs the result. |
| Error Handler | Catches errors from upstream steps and routes to an error-handling branch. |
Data Operations Nodes (24)
Data ops nodes read, write, filter, and transform your business data.
| Node | What It Does |
|---|---|
| Query | Reads records from a Convex table with optional filters. |
| Mutation | Writes, updates, or deletes records in a Convex table. |
| Filter | Filters an array of records based on conditions. |
| Sort | Sorts records by one or more fields. |
| Aggregate | Calculates sum, average, min, max, or count across records. |
| Join | Combines two datasets by matching a common field. |
| Transform | Reshapes data — rename fields, compute values, restructure objects. |
| Merge | Combines multiple datasets into one. |
| Split | Divides a dataset into multiple outputs based on conditions. |
| Paginate | Breaks a large dataset into pages of a specified size. |
| Search | Full-text search across records. |
| Deduplicate | Removes duplicate records based on a key field. |
| Validate | Checks records against a schema and outputs valid/invalid sets. |
| Enrich | Adds data from an external source to existing records. |
| Cache | Stores query results for faster retrieval on subsequent runs. |
| Batch | Groups operations to run as a single batch for efficiency. |
| Import | Imports data from a CSV, JSON, or external source. |
| Export | Exports data to CSV, JSON, or an external destination. |
| Snapshot | Creates a point-in-time copy of a dataset. |
| Diff | Compares two datasets and outputs additions, removals, and changes. |
| Pivot | Reshapes data from rows to columns or vice versa. |
| Lookup | Finds a single record by ID or unique key. |
| Count | Returns the number of records in a dataset. |
| Exists | Returns true or false based on whether matching records exist. |
Template Nodes (12)
Template nodes generate formatted content from your data.
| Node | What It Does |
|---|---|
| Email Template | Composes a styled HTML email with merge fields. |
| SMS Template | Composes a text message with merge fields. |
| PDF Template | Generates a PDF document from a template. |
| Invoice Template | Generates a formatted invoice. |
| Receipt Template | Generates a payment receipt. |
| Report Template | Generates a formatted report with charts and tables. |
| Notification Template | Composes an in-app notification. |
| Markdown Template | Generates markdown content from data. |
| HTML Template | Generates custom HTML from a template string. |
| JSON Template | Constructs a JSON object from a template. |
| CSV Template | Generates CSV output from records. |
| Label Template | Generates a printable label (for equipment, addresses, etc.). |
Integration Nodes (12)
Integration nodes connect your workflow to external services.
| Node | What It Does |
|---|---|
| HTTP Request | Makes an HTTP call to any external API. |
| Send Email | Sends an email via Postmark. |
| Send SMS | Sends a text message via the configured SMS provider. |
| Stripe Charge | Creates a Stripe charge or payment intent. |
| Stripe Refund | Issues a refund through Stripe. |
| Mapbox Geocode | Converts an address to coordinates (or vice versa). |
| Mapbox Route | Calculates driving distance and time between two points. |
| Google Sheets | Reads from or writes to a Google Sheets spreadsheet. |
| Slack Notify | Sends a message to a Slack channel. |
| Calendar Sync | Syncs events with Google Calendar or Outlook. |
| File Upload | Uploads a file to Convex storage. |
| Webhook Send | Sends an outbound webhook to an external URL. |
Entity Nodes (11)
Entity nodes represent your core business objects and provide easy access to their data.
| Node | What It Does |
|---|---|
| Customer | References a customer record with all their details. |
| Booking | References a booking with service details, schedule, and status. |
| Invoice | References an invoice with line items and payment status. |
| Staff | References a staff member with profile and schedule. |
| Zone | References a zone with boundaries and pricing rules. |
| Service Type | References a service type with configuration options. |
| Subscription | References a subscription with billing cycle details. |
| Payment | References a payment transaction. |
| Product | References a product or service offering. |
| Contractor | References a contractor profile. |
| Review | References a customer review with rating and comments. |
AI Nodes (9)
AI nodes use large language models to generate content, analyze data, and make recommendations.
| Node | What It Does |
|---|---|
| Generate Text | Produces text content based on a prompt and context. |
| Summarize | Condenses long text into a shorter summary. |
| Classify | Categorizes input into predefined labels. |
| Extract | Pulls structured data from unstructured text. |
| Translate | Translates text between languages. |
| Sentiment | Analyzes the emotional tone of text. |
| Suggest | Generates recommendations based on input data. |
| Rewrite | Rewrites text in a different tone, style, or reading level. |
| Image Generate | Creates an image from a text description. |
Chatbot Nodes (7)
Chatbot nodes build conversational interfaces that can be embedded in your apps.
| Node | What It Does |
|---|---|
| Chat Trigger | Starts a chatbot flow when a user sends a message. |
| Response | Sends a message back to the user. |
| Router | Routes the conversation based on user intent or keywords. |
| Memory | Stores and retrieves conversation history for context. |
| Data Scope | Defines what business data the chatbot can access during a conversation. |
| Message Format | Formats a chatbot message with rich content (buttons, cards, images). |
| Human Handoff | Escalates the conversation to a human support agent. |
Media Nodes (4)
Media nodes handle images, files, and rich content.
| Node | What It Does |
|---|---|
| Image Resize | Resizes an image to specified dimensions. |
| Image Crop | Crops an image to a specified area. |
| File Convert | Converts files between formats (PDF to image, CSV to JSON, etc.). |
| Watermark | Adds a watermark to an image or document. |
Annotation Nodes (1)
| Node | What It Does |
|---|---|
| Sticky Note | A text note placed on the canvas for documentation. Does not affect workflow execution. |
Business Nodes (6)
Business nodes handle domain-specific operations.
| Node | What It Does |
|---|---|
| Audience Split | Divides a group of contacts into segments based on criteria. |
| Assignment | Assigns a booking or task to a staff member based on rules. |
| Geofence | Checks if a location falls within a geographic boundary. |
| Payout | Calculates and records a payout for a worker or partner. |
| Review Request | Sends a review request to a customer after service completion. |
| Checklist Instance | Creates an instance of a checklist template for a specific job. |
On this page