Plugins
Plugins are the building blocks you assemble on the canvas to create a workflow. Each plugin is a node type with defined inputs, outputs, and settings.
Trigger plugins start a workflow. Every workflow must have exactly one trigger.
| Plugin | Description |
|---|---|
| Manual Trigger | Run from the canvas, CLI, or as a callable subworkflow |
| Webhook | Receive events from external systems (Stripe, GitHub, etc.) |
| API Endpoint | Expose a programmable HTTP endpoint backed by a workflow |
| MCP Trigger | Expose workflow as a callable MCP tool for AI agents |
| Slack Trigger | React to Slack events (messages, mentions, reactions) |
| Discord Trigger | React to Discord events (messages, reactions) |
| Telegram Trigger | React to Telegram messages and commands |
Action plugins do work — call APIs, run code, transform data, send messages.
| Plugin | Description |
|---|---|
| HTTP Request | Make HTTP requests to any external API |
| Transform | Reshape data declaratively without writing code |
| Code | Run custom Python logic against an input value |
| Subworkflow | Call another workflow and use its return value |
| Resend Email | Send transactional email via Resend |
| Slack Send | Send messages to Slack channels or threads |
| Discord Send | Send messages to Discord channels |
| Telegram Send | Send messages to Telegram chats |
| GitHub | GitHub API operations (issues, PRs, repos, labels) |
| Notion | Notion API operations (pages, databases, properties) |
| Stripe | Stripe API operations (payments, customers, subscriptions) |
| PostgreSQL | Execute SQL queries against PostgreSQL databases |
| S3 | Object storage (upload, download, list, delete) — AWS S3, MinIO, R2 |
| Twilio SMS | Send SMS messages via Twilio |
| Web Search | Search the web using Tavily API |
| File Ops | Local filesystem operations (read, write, list, find-and-replace) |
| Shell | Execute shell commands with process management |
| System Info | Get machine/OS information (CPU, memory, disk, platform) |
Logic plugins route execution. Control plugins terminate or return from a path.
| Plugin | Description |
|---|---|
| If | Branch on a boolean condition — true or false |
| Switch | Route across multiple named cases |
| Stop | Explicitly terminate the current execution path |
| Return | Return a value from a subworkflow or synchronous API workflow |
Build autonomous AI-powered workflows with LLM reasoning, tool calling, and conversation memory.
| Plugin | Description |
|---|---|
| AI Agent | Autonomous agent with ReAct loop — connects to tools, memory, and any LLM provider |
| Window Memory | Sliding window conversation history with optional persistence |
| Qdrant Memory | Vector store memory with semantic search for long-term recall |
| MCP Server | Connect external MCP-compatible tool servers to an agent |
Every plugin is defined by a manifest that specifies:
- What input handles it accepts and what types they expect
- What output handles it produces and what shape the data has
- What settings fields appear in the node's configuration panel
- What Python packages it requires at runtime
When you connect an output handle to an input handle, Tensorify validates that the types are compatible and generates the Python data-passing code automatically.
- Open the node palette in the canvas editor
- Browse or search for a plugin by name
- Drag it onto the canvas
- Click the node to open its settings panel and configure it
- Connect edges from upstream nodes to its input handles
Public plugin publishing is not yet available. The plugins listed above are the current built-in set. More plugins are added with each release.
