Vellum is coming to the AI Engineering World's Fair in SF. Come visit our booth and get a live demo!

Introducing Custom Docker Images & Custom Nodes

Complete control over the business logic and runtime of your AI workflows in Vellum.

Written by
Reviewed by
No items found.

In most organizations, there is one central AI team that usually ends up being the bottleneck. They know the systems best, so every request goes through them. But that doesn’t scale. The real challenge today is letting other teams build with AI without needing constant help.

In the past, we’ve launched features to help these teams scale: things like Python or TypeScript defined Custom Metrics, and Code Execution Nodes that run single-file logic with public packages. We’ve also enabled logic sharing through SubWorkflows, letting teams expose reusable endpoints to their AI workflows.

But that’s wasn't enough.

Custom Nodes and Custom Docker Images are the next step in the evolution of how Vellum helps these AI teams scale in a much more powerful way. Custom Nodes let you write reusable logic using the SDK and expose it in the UI, while Custom Docker Images give you full control over their runtime, so you can install system-level dependencies, rely on private packages, and reference pre-defined application code.

🔗 Sign up here to start using both today. Keep reading to learn how each one works and the design choices behind them.

Design Principles

The support for Custom Nodes and Custom Docker Images gives engineering teams full control over how they write, share and execute their AI logic. We’ve designed these components with two things in mind:

(i) Maximum flexibility using first-class primitives: Vellum's native nodes and runtimes use the same architecture. All of Vellum's nodes inherit from BaseNode (the same base class you'd inherit from when defining a custom node) and all Vellum workflow runs occur within a docker container whose images serves as the base image for your custom runtimes. This means that whether you use a default Vellum Node (e.g. Prompt Node) or create your own logic, the system will handle both equally. This design choice ensures maximum reliability and flexibility from the ground up.

(ii) Zero trade-offs: We’ve seen first-hand that AI projects only reach production when engineers and subject matter experts work together, and when engineering teams fully own their code so they can test, debug, and improve it like any other critical system. That’s why we made no trade-offs between flexibility and performance, or control and usability. Our platform is built to support every part of the AI engineering workflow: tight SDK integration, a visual UI for collaboration, and full environment-level control over your runtime that’s fast, secure and performant.

Define custom logic with Custom Nodes

Custom Nodes allow you to extend the functionality of your Workflows with specialized logic that isn’t available in the standard Vellum Node Library.

Engineers can extend BaseNode and override its run method to include any logic they'd like. When you push it to Vellum, it becomes a Custom Node tied to that workflow, and anyone from your team can use it directly in the Vellum UI.

Each Custom Node you create is versioned and reusable, with clearly defined inputs and outputs, so other teams can use it confidently without needing to understand its internal logic. It’s a simple way to turn your existing functions or service logic into standard components that non-technical teams can drag into workflows in the UI, or for use as tools by an Agent.

Example Custom Node

In the image below you'll see a preview of the MCPClientNode which is a Custom Node defined using the SDK, which was then pushed up to Vellum. The UI represents it as a Node with clearly defined inputs and outputs, ready to be used by any non-engineer:

A preview of a Custom Node (MCP) in the UI alongside its code definition
Get Started with Custom Nodes

Check this guide to understand how to extend BaseNode to create Custom Nodes in Vellum Workflows.

Control your runtime with Custom Docker Images

Custom Nodes are great when you want to write your own logic for a workflow. If you only ever need to write logic that depends on Python's standard library, or the Vellum SDK, then you're all set. But, it's likely that you want to import existing application code, or maybe even install system-level dependencies. That's where Custom Docker Images come in.

The support here goes way beyond just pip install. There are really two categories where this becomes a big deal:

  1. Pip packages that need more than just pip: like nltk or PDF parsing, image processing or anything that requires running a separate script to actually download the data before it works.
  2. Your own existing codebase: maybe you already have business logic that lives in a monorepo or backend. Instead of spinning up an API just for your Workflow to access it, or copy-pasting it into a one-off script, you can build a custom node that imports it into its run method directly, drop it into a Docker image, and run it in your workflow.

With Customer Docker Images you have full control over your environment and you’re no longer boxed into flattening your code to fit one file. This functionality will open so many use-cases for teams building for production, and we can’t wait to see what you’ll build.

Example Docker Image

For example, the docker file below creates a container that runs a Python server for Vellum workflows, with boto3, mcp, and our own utility code pre-installed and ready to be used inside a custom node:

FROM vellumai/python-workflow-runtime:latest

RUN pip install --upgrade pip \
    && pip install boto3 \
    && pip install mcp

COPY ./utils /custom/utils
ENV PYTHONPATH="${PYTHONPATH}:/custom"

CMD vellum_start_server

In addition to custom code and utilities, you can also include Custom Nodes that will be available in the Workflow UI. To include custom nodes in your Docker Image, you must organize them in a specific directory structure:

FROM vellumai/python-workflow-runtime:latest

COPY /path/to/your/nodes /vellum_custom_nodes

CMD ["vellum_start_server"]

Then in the UI, you just point to the pushed Docker image that contains all your dependencies. On the next run, Vellum will execute the logic inside that image.

Get Started with Custom Docker Images

Check this guide to understand how to configure and run a Custom Docker image.

What’s next

Today, we auto-generate inputs and outputs based on your code.

But long-term, we want to give developers full control over how generic nodes are rendered in the UI. For example, if you're building your own proprietary version of our prompt node, you’ll be able to use our model chip, prompt editor, or document picker components to shape the UI of your custom node.

Think of it like Slack’s Block Kit Builder. Just as you can design buttons, forms, or lists in a Slack integration, you’ll be able to define not only how your node, behaves, but also how it looks and is interacted with in the Vellum UI. The goal is to let engineers build both the logic and the UI, so non-technical teammates and other engineering teams can interact with complex nodes through a clean, intuitive interface.

ABOUT THE AUTHOR
Anita Kirkovska
Founding Growth Lead

An AI expert with a strong ML background, specializing in GenAI and LLM education. A former Fulbright scholar, she leads Growth and Education at Vellum, helping companies build and scale AI products. She conducts LLM evaluations and writes extensively on AI best practices, empowering business leaders to drive effective AI adoption.

ABOUT THE reviewer

No items found.
lAST UPDATED
Jul 15, 2025
share post
Expert verified
Related Posts
Product Updates
January 13, 2026
5 min
Introducing Vellum for Agents
January 10, 2026
8 min
Vellum Product Update | December
All
December 12, 2025
7 min
How we use coding agents to 2x engineering output
LLM basics
December 12, 2025
8 min
GPT-5.2 Benchmarks
LLM basics
December 4, 2025
8 min
Top 12 AI Workflow Platforms
Product Updates
December 3, 2025
12 min
Vellum Product Update | November
The Best AI Tips — Direct To Your Inbox

Latest AI news, tips, and techniques

Specific tips for Your AI use cases

No spam

Oops! Something went wrong while submitting the form.

Each issue is packed with valuable resources, tools, and insights that help us stay ahead in AI development. We've discovered strategies and frameworks that boosted our efficiency by 30%, making it a must-read for anyone in the field.

Marina Trajkovska
Head of Engineering

This is just a great newsletter. The content is so helpful, even when I’m busy I read them.

Jeremy Hicks
Solutions Architect

Experiment, Evaluate, Deploy, Repeat.

AI development doesn’t end once you've defined your system. Learn how Vellum helps you manage the entire AI development lifecycle.

Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.
Build AI agents in minutes with Vellum
Build agents that take on the busywork and free up hundreds of hours. No coding needed, just start creating.

General CTA component, Use {{general-cta}}

Build AI agents in minutes with Vellum
Build agents that take on the busywork and free up hundreds of hours. No coding needed, just start creating.

General CTA component  [For enterprise], Use {{general-cta-enterprise}}

The best AI agent platform for enterprises
Production-grade rigor in one platform: prompt builder, agent sandbox, and built-in evals and monitoring so your whole org can go AI native.

[Dynamic] Ebook CTA component using the Ebook CMS filtered by name of ebook.
Use {{ebook-cta}} and add a Ebook reference in the article

Thank you!
Your submission has been received!
Oops! Something went wrong while submitting the form.
Button Text

LLM leaderboard CTA component. Use {{llm-cta}}

Check our LLM leaderboard
Compare all open-source and proprietary model across different tasks like coding, math, reasoning and others.

Case study CTA component (ROI) = {{roi-cta}}

40% cost reduction on AI investment
Learn how Drata’s team uses Vellum and moves fast with AI initiatives, without sacrificing accuracy and security.

Case study CTA component (cutting eng overhead) = {{coursemojo-cta}}

6+ months on engineering time saved
Learn how CourseMojo uses Vellum to enable their domain experts to collaborate on AI initiatives, reaching 10x of business growth without expanding the engineering team.

Case study CTA component (Time to value) = {{time-cta}}

100x faster time to deployment for AI agents
See how RelyHealth uses Vellum to deliver hundreds of custom healthcare agents with the speed customers expect and the reliability healthcare demands.

[Dynamic] Guide CTA component using Blog Post CMS, filtering on Guides’ names

100x faster time to deployment for AI agents
See how RelyHealth uses Vellum to deliver hundreds of custom healthcare agents with the speed customers expect and the reliability healthcare demands.
New CTA
Sorts the trigger and email categories

Dynamic template box for healthcare, Use {{healthcare}}

Start with some of these healthcare examples

SOAP Note Generation Agent
Extract subjective and objective info, assess and output a treatment plan.
Healthcare explanations of a patient-doctor match
Summarize why a patient was matched with a specific provider.

Dynamic template box for insurance, Use {{insurance}}

Start with some of these insurance examples

Insurance claims automation agent
Collect and analyze claim information, assess risk and verify policy details.
AI agent for claims review
Review healthcare claims, detect anomalies and benchmark pricing.
Agent that summarizes lengthy reports (PDF -> Summary)
Summarize all kinds of PDFs into easily digestible summaries.

Dynamic template box for eCommerce, Use {{ecommerce}}

Start with some of these eCommerce examples

E-commerce shopping agent
Check order status, manage shopping carts and process returns.

Dynamic template box for Marketing, Use {{marketing}}

Start with some of these marketing examples

Competitor research agent
Scrape relevant case studies from competitors and extract ICP details.
Synthetic Dataset Generator
Generate a synthetic dataset for testing your AI engineered logic.

Dynamic template box for Sales, Use {{sales}}

Start with some of these sales examples

Active deals health check agent
Sends a weekly HubSpot deal health update, ranks deals and enables the sales team.
Closed-lost deal review agent
Review all deals marked as "Closed lost" in Hubspot and send summary to the team.

Dynamic template box for Legal, Use {{legal}}

Start with some of these legal examples

AI legal research agent
Comprehensive legal research memo based on research question, jurisdiction and date range.
Contract review agent
Reviews contract text against a checklist, flags deviations, scores risk, and produces a lawyer friendly summary.

Dynamic template box for Supply Chain/Logistics, Use {{supply}}

Start with some of these supply chain examples

Risk assessment agent for supply chain operations
Comprehensive risk assessment for suppliers based on various data inputs.

Dynamic template box for Edtech, Use {{edtech}}

Start with some of these edtech examples

No items found.

Dynamic template box for Compliance, Use {{compliance}}

Start with some of these compliance examples

No items found.

Dynamic template box for Customer Support, Use {{customer}}

Start with some of these customer support examples

Renewal tracker agent
Create an agent that scans HubSpot for deals with upcoming renewal dates in the next 60 days.
Ticket Escalation Bot
Detect escalated support tickets and assigns them in Linear.

Template box, 2 random templates, Use {{templates}}

Start with some of these agents

Retail pricing optimizer agent
Analyze product data and market conditions and recommend pricing strategies.
Compliance review agent
Checks DPAs and privacy policies against your compliance checklist then scores coverage and make a plan.

Template box, 6 random templates, Use {{templates-plus}}

Build AI agents in minutes

Review Comment Generator for GitHub PRs
Use predefined guidelines to write a code review comment for a GitHub PR.
Clinical trial matchmaker
Match patients to relevant clinical trials based on EHR.
Healthcare explanations of a patient-doctor match
Summarize why a patient was matched with a specific provider.
E-commerce shopping agent
Check order status, manage shopping carts and process returns.
Roadmap planner
Agent that reviews your roadmap and suggests changes based on team capacity.
Contract review agent
Reviews contract text against a checklist, flags deviations, scores risk, and produces a lawyer friendly summary.

Build AI agents in minutes for

{{industry_name}}

Roadmap planner
Agent that reviews your roadmap and suggests changes based on team capacity.
Account monitoring agent
Combines product usage data with CRM data from HubSpot or Salesforce to flag accounts with declining usage, especially ahead of renewals.
Cross team status updates
Scans Linear for stale, blocked, or repeatedly reopened issues, flags patterns, and uses Devin to propose cleanup or refactor suggestions.
SEO article generator
Generates SEO optimized articles by researching top results, extracting themes, and writing content ready to publish.
Stripe transaction review agent
Analyzes recent Stripe transactions for suspicious patterns, flags potential fraud, posts a summary in Slack.
KYC compliance agent
Automates KYC checks by reviewing customer documents stored in HubSpot

Case study results overview (usually added at top of case study)

What we did:

1-click

This is some text inside of a div block.

28,000+

Separate vector databases managed per tenant.

100+

Real-world eval tests run before every release.