Web Node Guide
The Web Node is your AI-powered web design studio. Create beautiful, functional web pages from scratch, redesign existing pages, or make quick tweaksβall through natural language prompts. Whether you're prototyping landing pages, building UI components, or iterating on designs, the Web Designer Wizard brings your ideas to life instantly.
Key Features
β¨ AI-Powered Design & Redesign
- Generate from scratch: Describe any web design and watch it materialize
- Redesign existing pages: Load a URL or existing HTML and transform it
- Iterative tweaking: Make incremental changes with natural language
- Style preservation: AI maintains your design language when editing
- Multiple AI models: Choose GPT-4, Claude, or local models
- Instant preview: See changes in real-time as you design
π External URL Loading
- Fetch and display content from any web URL
- Built-in proxy handles CORS restrictions
- URL rewriting for proper iframe display
- Support for images, CSS, and JavaScript resources
π Workflow Integration
- Process URLs with
input.value.url
- Generate HTML with
input.value.prompt
- Output as
output.value.html
for downstream nodes - Template variable support for dynamic content
π Live Preview & Code Editor
- Real-time HTML rendering in iframe
- Monaco code editor for manual editing
- Split view: Web preview and HTML source
- Zoom controls for content and code
Quick Start
Creating HTML with AI
- Add a Web Node to your workflow
- Click the β¨ sparkle button in the node header
- Enter a prompt:
Create a modern pricing table with 3 tiers
- Press Enter or click Generate
- View the result in the Web preview
Loading External URLs
- Enter a URL in the input field at the top of the node:
https://example.com
- Click the Load button
- Content appears in both Web and HTML views
Manual Editing
- Switch to HTML view (tab at top of node)
- Edit the HTML directly in Monaco editor
- Switch to Web view to see changes
- Use zoom controls to adjust display size
Web Designer Wizard
The Web Designer Wizard is your AI assistant for creating and editing HTML.
Opening the Wizard
- Click the β¨ sparkle icon in the node header
- A floating panel appears above the node
Creating New HTML
Example Prompts:
Create a calculator with basic operations
Design a contact form with name, email, and message fields
Build an animated progress bar that fills from 0 to 100%
Make a responsive navigation menu with dropdown
The wizard generates complete, working HTML with:
- Inline CSS for styling
- JavaScript for interactivity
- Modern, clean design
- Fully functional features
Redesigning & Tweaking Existing HTML
When you have HTML in the node, the wizard shows Edit mode. This is perfect for iterative design:
Example Tweaks:
Add a dark mode toggle button
Change the color scheme to green and purple
Make the layout responsive for mobile
Add smooth animations to all buttons
Redesign this to look more modern and minimal
How it works:
- Wizard analyzes your existing HTML structure and style
- Applies changes while preserving your design language
- Maintains functionality - doesn't break existing features
- Updates incrementally - each change builds on the last
Redesign Workflow:
Load existing page β Tweak colors β Adjust spacing β
Add animations β Polish typography β Done!
Wizard Controls
- Enter: Generate HTML
- Escape: Close wizard
- Ctrl+M: Change AI model
- βοΈ Settings icon: Select different AI model
- Edit/Create toggle: Switch between editing and creating
Important: Wizard vs. URL Loading
β οΈ The wizard does NOT fetch from URLs
- Wizard only generates or edits HTML based on prompts
- URL loading happens via the Load button or workflow input
- These are separate, independent operations
Workflow Execution
When the Web node executes in a workflow, it processes inputs in this priority order:
1. URL Fetching (Highest Priority)
Input:
{
"value": {
"url": "https://example.com"
}
}
Action: Fetches HTML from the URL
Output:
{
"value": {
"html": "<html>fetched content...</html>"
}
}
2. AI Generation
Input:
{
"value": {
"prompt": "Create a login form with email and password"
}
}
Action:
- Generates HTML using AI
- Uses existing node HTML as style reference if available
- Applies AI model settings from node config
Output:
{
"value": {
"html": "<html>generated content...</html>"
}
}
3. Pass-Through (Default)
Input:
{
"value": {
"html": "<div>Custom HTML</div>"
}
}
Action: Uses provided HTML or saved HTML from node
Output: Same HTML in output.value.html
Configuration Options
Display Settings
- Width: Preview width in pixels (default: 600)
- Height: Preview height in pixels (default: 400)
- Show Editor: Whether to show HTML editor tab
AI Settings
- Model: AI model for generation (GPT-4, Claude, etc.)
- Temperature: Creativity control (0.0 - 1.0)
- Provider: OpenAI, Anthropic, or local endpoint
Content Storage
- Saved HTML: The HTML content stored in the node
- External URL: Source URL if loaded from external site
- Wizard Prompt: Last prompt used in wizard
Use Cases
1. Design Studio - Iterative Prototyping
Workflow: Web Node β Edit β Tweak β Polish β Export
Scenario: You're designing a landing page and want to iterate quickly
Step 1 - Initial Design:
Create a modern landing page for a SaaS product.
Include hero section with CTA, features grid,
testimonials, and footer with social links.
Use blue gradient and clean typography.
Step 2 - Refine Colors:
Change the blue gradient to purple and teal
Step 3 - Add Animation:
Add subtle fade-in animations as you scroll
Step 4 - Polish:
Make the CTA button more prominent with a glow effect
Result: Professional landing page built through natural conversation, no code written
2. Dynamic Reports
DataGrid β Web Node β Email Node
Flow:
- DataGrid outputs sales data
- Web Node receives data and prompt:
{ "value": { "prompt": "Create a sales report with charts", "data": [...] } }
- AI generates HTML report with data visualized
- Email node sends the report
3. Web Scraping
HTTP Node β Web Node β Code Node
Flow:
- HTTP node outputs:
{ "value": { "url": "https://news.site.com" } }
- Web Node fetches HTML
- Code Node parses and extracts data:
const parser = new DOMParser() const doc = parser.parseFromString(input.value.html, 'text/html') const headlines = [...doc.querySelectorAll('.headline')] .map(h => h.textContent) return { headlines }
4. Form Generation
Agent Node β Web Node β User Input
Flow:
- Agent determines what data to collect
- Outputs prompt:
"Create a form to collect user feedback with rating and comments"
- Web Node generates interactive form
- User interacts with form in workflow
5. Redesigning Existing Pages
Workflow: Load URL β Redesign β Tweak β Export
Scenario: You want to modernize an existing website
Step 1 - Load:
Load: https://your-old-site.com
Step 2 - Major Redesign:
Redesign this with a modern, minimalist aesthetic.
Use card-based layout, larger typography, and lots of whitespace.
Step 3 - Color Update:
Update the color scheme to use navy blue and coral accents
Step 4 - Mobile Optimization:
Make this fully responsive for mobile devices
Result: Completely transformed page while preserving content and structure
6. Quick Tweaks & Adjustments
Workflow: Existing HTML β Small change β Done
Common Tweaks:
Make all buttons rounded
Increase font size throughout by 20%
Add hover effects to all links
Change background from white to light gray
Add subtle box shadows to cards
Perfect for: Last-minute adjustments, A/B testing variations, client feedback implementation
Template Variables
The Web node supports dynamic content via template variables:
<div>
<h1>Welcome, ${{input.value.name}}!</h1>
<p>Your account balance: $${{input.value.balance}}</p>
<p>Last login: ${{input.value.lastLogin}}</p>
</div>
Input:
{
"value": {
"name": "Alice",
"balance": 1250.50,
"lastLogin": "2025-10-01"
}
}
Rendered Output:
<div>
<h1>Welcome, Alice!</h1>
<p>Your account balance: $1250.50</p>
<p>Last login: 2025-10-01</p>
</div>
Output Format
The Web node always outputs in this structure:
{
"value": {
"html": "<html>...</html>"
},
"html": "<html>...</html>",
"config": {
"externalUrl": "https://...",
"width": 600,
"height": 400,
"showEditor": false
}
}
Accessing in downstream nodes:
${{output.value.html}}
(recommended)${{output.html}}
Web Proxy
External URLs are loaded through Circuitry's web proxy (/api/web-proxy
) which:
β Handles CORS: Bypasses browser CORS restrictions β Rewrites URLs: Images, CSS, JS load through proxy β Removes blockers: Strips headers that prevent iframe embedding β Processes resources: CSS url() references updated
How it works:
User enters: https://example.com
β
Proxy fetches: GET https://example.com
β
Rewrites: <img src="/path/img.jpg"> β <img src="/api/web-proxy?url=https://example.com/path/img.jpg">
β
Returns: Modified HTML to iframe
Security
Iframe Sandbox
The Web node uses iframe sandboxing for security:
Allowed:
- β JavaScript execution
- β Form submissions
- β Modal dialogs
- β Popups
Blocked:
- β Top-level navigation (can't redirect parent page)
- β Automatic downloads
External Content
When loading external URLs:
β οΈ Be aware:
- Content is proxied through your server
- Some sites block iframe embedding
- Verify sources are trustworthy
- Consider privacy implications
β Best practices:
- Test URLs in UI before workflow execution
- Use HTTPS URLs when possible
- Avoid loading sensitive content
- Check for broken resources
Tips & Best Practices
1. Write Detailed Prompts
Good:
Create a responsive pricing table with 3 tiers (Basic $9, Pro $29, Enterprise $99).
Show monthly pricing, feature lists with checkmarks, and a gradient CTA button
for each tier. Use modern card design with shadows and blue accent colors.
Less effective:
pricing table
More detail = better results!
2. Iterative Design is Powerful
Design in layers, starting broad and getting specific:
Layer 1 - Structure:
Create a portfolio page with hero, projects grid, and contact section
Layer 2 - Style:
Make this dark mode with neon accents
Layer 3 - Details:
Add smooth scroll animations and gradient backgrounds
Layer 4 - Polish:
Increase spacing between sections and add subtle glow to headings
Each step refines the previous one - the AI maintains context!
3. Use Edit Mode for Redesigns
Perfect for:
- Client feedback: "Make the CTA more prominent"
- A/B testing: "Try this with a red button instead"
- Quick fixes: "Add padding around the header"
- Style updates: "Update colors to match our new branding"
Tip: Be specific about what to change but vague about what to preserve. The AI will maintain everything else.
4. Combine Manual & AI Editing
Workflow:
- Let AI generate initial design
- Switch to HTML editor for precise tweaks
- Use wizard for next major change
- Repeat
Best for: When you want control over specifics but speed for major changes
5. Start Simple, Add Complexity
Don't try to describe everything at once:
Bad:
Create a landing page with hero, features (3 columns with icons),
pricing table (3 tiers with features and CTAs), testimonials carousel,
FAQ accordion, newsletter signup, and footer with social links, all
with animations and dark mode toggle
Good - Step by step:
Step 1: Create a landing page with hero and 3-column features section
Step 2: Add pricing table below with 3 tiers
Step 3: Add testimonials and FAQ sections
Step 4: Add dark mode toggle
Step 5: Add subtle animations throughout
Complex designs emerge from simple iterations!
6. Test External URLs First
Before using URLs in workflows:
- Enter URL in node
- Click Load button
- Check Web preview renders correctly
- Verify resources loaded (images, CSS)
- Then use in automated workflow
5. Combine with Other Nodes
Web nodes shine in workflows:
DataGrid β Web (generate chart) β Email
HTTP β Web (scrape) β Code (parse) β DataGrid
Form β Web (confirmation) β Webhook
Agent β Web (create UI) β Message
Keyboard Shortcuts
When Web Designer Wizard is open:
Enter
: Generate HTMLEscape
: Close wizardCtrl+M
: Toggle model menuShift+Enter
: New line in prompt (don't generate)
In HTML Editor:
- Standard Monaco editor shortcuts apply
Ctrl/Cmd + F
: FindCtrl/Cmd + Z
: UndoCtrl/Cmd + /
: Comment/uncomment
Troubleshooting
HTML Not Displaying
Symptoms: Blank Web view
Check:
- Switch to HTML view - is there content?
- Open browser console - any JavaScript errors?
- Check for syntax errors in HTML
- Try simplifying HTML to isolate issue
Fix:
- Validate HTML syntax
- Check
<script>
tags for errors - Ensure external resources are accessible
- Test in standalone HTML file
URL Loading Failed
Symptoms: Error message when loading URL
Check:
- Does URL work in regular browser?
- Does site allow iframe embedding?
- Is URL correct (https://)?
Fix:
- Verify URL is accessible
- Try different URL
- Check network console for errors
- Some sites block iframe embedding (e.g., google.com)
Wizard Not Generating
Symptoms: Generate button does nothing or shows error
Check:
- Is prompt field empty?
- Is API key configured? (Settings β API Keys)
- Is selected model available?
- Any errors in browser console?
Fix:
- Enter a prompt
- Configure API key for selected model
- Try different AI model
- Check Settings for model configuration
Template Variables Not Working
Symptoms: Variables show as ${{variable}}
in output
Check:
- Are you testing in workflow execution (not just UI preview)?
- Does input structure match variable path?
- Is variable path correct?
Fix:
- Test in actual workflow execution
- Check input data format matches template
- Use correct path:
${{input.value.field}}
- Review previous node output
Advanced Features
Custom Styling with Existing HTML
When using Edit mode, the wizard analyzes your HTML and:
- Matches color schemes
- Preserves layout structure
- Uses same CSS patterns
- Maintains design language
This lets you build consistent UI families.
Multi-Step Workflows
Agent β Web β Code β Web β Email
β β β β
Decide Create Parse Format Send
Content HTML Data Report
Build sophisticated workflows where Web nodes:
- Generate initial UI from AI decisions
- Transform data into visualizations
- Create final formatted outputs
Dynamic Content Injection
Combine template variables with AI generation:
Prompt:
Create a personalized welcome page
Input:
{
"value": {
"prompt": "Create a personalized welcome page",
"userName": "Alice",
"userRole": "Administrator"
}
}
AI generates HTML using the context and variables!
Examples
Example 1: Animated Dashboard
Wizard Prompt:
Create an analytics dashboard with:
- 4 metric cards showing KPIs with icons
- Line chart for trends (use Chart.js)
- Table showing recent activity
- Dark theme with neon accents
- Animated number counters
Result: Full dashboard with working animations
Example 2: Email Template
Workflow: DataGrid (order data) β Web Node β Email
Web Node Prompt:
Create an order confirmation email template
Input Data:
{
"orderNumber": "12345",
"items": [...],
"total": 129.99
}
Result: Formatted email HTML with order details
Example 3: Interactive Calculator
Wizard Prompt:
Build a mortgage calculator with:
- Input fields for loan amount, interest rate, term
- Calculate button
- Display monthly payment and total interest
- Amortization schedule table
- Modern, professional design
Result: Working calculator with all functionality
Related Documentation
- Code Node - Parse and process HTML
- Agent Node - AI-powered content generation
- DataGrid Node - Tabular data for HTML generation
- Template Variables - Dynamic content replacement
Need help? Check the Troubleshooting section or visit our community forums.