Heym provides a variety of node types for building workflows. Use expressions like $input.text and $nodeLabel.field in node configuration.
Trigger Nodes
| Node | Description | Outputs |
|---|---|---|
| Input | Text entry point for the workflow (HTTP/webhook) | 1 |
| Cron | Trigger on a schedule (cron expression) | 1 |
| Telegram Trigger | Trigger when a Telegram bot webhook update arrives | 1 |
| Slack Trigger | Trigger when Slack sends an Events API webhook | 1 |
| Discord Trigger | Trigger when Discord sends an application interaction webhook | 1 |
| IMAP Trigger | Trigger when a new email arrives in an IMAP mailbox | 1 |
| Heym Trigger | Trigger when Heym publishes a platform event (batched array) | 1 |
| WebSocket Trigger | Trigger from an outbound connection to an external WebSocket server | 1 |
| File Upload Trigger | Mint a single-use upload link and start when a large file is uploaded | 1 |
| RabbitMQ | Trigger when a message is received from a queue | 1 |
| Error Handler | Run when any node errors (no incoming edge) | 1 |
See Triggers for all entry points.
AI Nodes
| Node | Description | Inputs | Outputs |
|---|---|---|---|
| LLM | Process text with a language model | 1 | 1 |
| AI Agent | LLM with tool calling, skills, MCP, optional human review, and optional persistent memory graph. See Agent Architecture. | 1 | 1, plus optional review output |
| Codex | Run the local Codex CLI against a GitHub repository using a ChatGPT/Codex access token | 1 | 1, plus question output |
| OpenCode Go | Run the OpenCode CLI against a GitHub repository in a hardened container using an OpenCode Go gateway API key | 1 | 1 |
| MCP Call | Call a specific MCP tool directly without an LLM selecting it | 1 | 1 |
| RAG / Vector Store | Insert or search in a Qdrant or Postgres (pgvector) vector store for RAG | 1 | 1 |
Logic Nodes
| Node | Description | Inputs | Outputs |
|---|---|---|---|
| Condition | Branch based on if/else | 1 | 2 (true/false) |
| Switch | Route by matching a value to cases | 1 | n |
| Merge | Wait for multiple inputs and merge | n | 1 |
| Loop | Iterate over an array | 1 | 2 (loop/done) |
Data Nodes
| Node | Description | Inputs | Outputs |
|---|---|---|---|
| Set | Transform and map data | 1 | 1 |
| Converter | Convert data between formats (CSV, JSON, XML) and OCR images or PDFs to text | 1 | 1 |
| Variable | Set or get a variable (workflow-local or global) | 1 | 1 |
| Execute | Call another workflow | 1 | 1 |
| Heym | Read Heym workflows and execution history | 1 | 1 |
Integration Nodes
| Node | Description | Inputs | Outputs |
|---|---|---|---|
| HTTP | Make HTTP requests (cURL) | 0 or 1 | 1 |
| WebSocket Send | Connect to an external WebSocket and send one message | 1 | 1 |
| Telegram | Send Telegram bot messages | 1 | 1 |
| Slack | Send Slack messages | 1 | 1 |
| Discord | Send Discord webhook messages | 1 | 1 |
| Send Email | Send emails via SMTP | 1 | 1 |
| Redis | Redis operations (set, get, hasKey, deleteKey) | 1 | 1 |
| Grist | Read/write Grist spreadsheets | 1 | 1 |
| GitHub | Manage repositories, users, issues, pull requests, reviews, releases, Actions workflows, and files through the GitHub REST API | 1 | 1 |
| Jira | Manage Jira projects, issues, comments, attachments, users, notifications, and workflow transitions through the Jira REST API | 1 | 1 |
| Linear | Manage Linear teams, projects, issues, workflow states, and comments through GraphQL | 1 | 1 |
| Google Sheets | Read/write Google Sheets via OAuth2 | 1 | 1 |
| Google Drive | List, download, update, and delete Google Drive files via OAuth2 | 1 | 1 |
| BigQuery | Run SQL queries and insert rows in BigQuery | 1 | 1 |
| Supabase | Query and mutate Supabase tables through PostgREST | 1 | 1 |
| ClickHouse | Run SQL, CRUD, and count operations against ClickHouse | 1 | 1 |
| Notion | Manage Notion databases, data sources, pages, and blocks | 1 | 1 |
| Sentry | Manage Sentry organizations, projects, teams, issues, events, and releases | 1 | 1 |
| Amazon S3 | Manage buckets and folders; list, upload, download, copy, and delete objects | 1 | 1 |
| DataTable | Read/write Heym DataTables (first-party storage) | 1 | 1 |
| Drive | Manage Drive files: delete, set password, TTL, max downloads, team share/unshare | 1 | 1 |
Automation Nodes
| Node | Description | Inputs | Outputs |
|---|---|---|---|
| Crawler | Scrape web pages with FlareSolverr | 1 | 1 |
| Playwright | Browser automation with AI step and Auto Heal | 1 | 1 |
Utility Nodes
| Node | Description | Inputs | Outputs |
|---|---|---|---|
| Wait | Delay execution | 1 | 1 |
| Output | Output endpoint | 1 | 1 |
| JSON output mapper | Map fields to a JSON object; sole terminal = top-level webhook/run body | 1 | 0 |
| Chart Output | Terminal dashboard widget output that maps upstream rows into chart payloads | 1 | 0 |
| Sticky Note | Add markdown notes to the canvas (not executed) | 0 | 0 |
| Console Log | Log to backend console | 1 | 1 |
| Disable Node | Disable another node in the workflow | 1 | 1 |
| Throw Error | Stop workflow with error response | 1 | 0 |
Plugin Nodes
Plugin nodes are provided by plugins installed on the instance. Each installed plugin appears in the palette under Plugins with its own name; under the hood it maps to one of these two node types.
| Node | Description | Inputs | Outputs |
|---|---|---|---|
| Plugin | Custom action provided by an installed plugin | 1 | 1 |
| Plugin Trigger | Custom trigger provided by an installed plugin | 0 | 1 |
Related
- Canvas Features – Data pin, execution logs, enable/disable, extract to sub-workflow
- Agent Node – Detailed reference for the AI Agent node
- Agent Architecture – Sub-agents, orchestrator, skills, MCP, tool calling
- Agent Persistent Memory – Per-node knowledge graph, sharing, and background extraction
- Human-in-the-Loop – Pause agent output for human approval
- Expression DSL – Referencing data in node config
- Expression Evaluation Dialog – Expandable editor with live backend preview
- File Upload Trigger – Accept large multipart uploads through single-use links
- WebSocket Trigger – Realtime outbound socket trigger
- WebSocket Send – Push messages to external sockets
- Workflow Structure – JSON format for nodes and edges
- Triggers – All workflow entry points
- Credentials Tab – Add API keys for LLM, HTTP, and other nodes
- Credentials Sharing – Share credentials with other users
- Portal – Expose workflows as public chat UIs
- Vectorstores Tab – Create vector stores for RAG nodes