Let’s Get Started Workflow

Let’s Get Started Workflow

This is the interactive onboarding workflow that ships with NORA. If you accidentally deleted it or want a fresh copy, you can download or copy the code below.


Download

Option 1: Right-click and “Save As”: lets-get-started-workflow.js

Option 2: Copy the code below and save it as lets-get-started-workflow.js in your workflow folder.


What’s Included

This workflow walks you through NORA setup in 7 sections:

Row Section Purpose
1 Welcome + Quick Win Run your first node immediately
2 Core Setup External editor, workflow folders, default workflow
3 Try It Yourself Edit Mode practice, keyboard shortcuts
4 Optional Features AI setup, scheduler, Gmail notifications
5 Next Steps Example workflows, documentation links
6 Generation Tools Convert UI, AI Chat CLI, proxy server
7 VS Code Integration Using Copilot with NORA

Full Source Code

// Let's Get Started - Interactive Onboarding
// A hands-on guided setup that gets users productive in 5 minutes.
//
// Design principles:
// 1. Quick win first — run something immediately to feel success
// 2. Clear priority — required steps vs optional enhancements
// 3. Hands-on practice — try Edit Mode, run commands, see results
// 4. Progressive disclosure — don't overwhelm, reveal as needed
//
// Layout:
// - Row 1: Welcome + Quick Win (the hook)
// - Row 2: Core Setup (required)
// - Row 3: Try It Yourself (practice)
// - Row 4: Optional Power Features
// - Row 5: Next Steps

export const workflowBlocks = [
  // ═══════════════════════════════════════════════════════════════
  // ROW 1: WELCOME + QUICK WIN
  // ═══════════════════════════════════════════════════════════════
  {
    "id": "welcome",
    "type": "notepad",
    "title": "👋 Welcome to NORA",
    "notes": "NORA runs workflows — sequences of commands, scripts, and AI agents.\n\nThis IS a workflow! Follow the arrows.\n\n⏱️ Setup takes ~5 minutes.\n\n➡️ Start by clicking the green node to your right.",
    "noteColor": "yellow",
    "width": 320,
    "height": 180,
    "position": { "x": 40, "y": 40 }
  },

  {
    "id": "quick-win",
    "type": "command",
    "title": "🎯 Quick Win — Click Run!",
    "command": "echo Welcome to NORA! && echo. && echo Today is: %DATE% && echo Time is: %TIME% && echo. && echo Your username: %USERNAME% && echo Computer: %COMPUTERNAME%",
    "shell": "cmd",
    "description": "This is a Command Node. Click the ▶ Run button below to execute it. You'll see output appear right here on the node.",
    "position": { "x": 420, "y": 40 }
  },

  {
    "id": "success-note",
    "type": "notepad",
    "title": "✅ You just ran a node!",
    "notes": "That's the core of NORA:\n1. Nodes run commands\n2. Connections define order\n3. Conditions route flow\n\nNow let's set up your environment.",
    "noteColor": "green",
    "width": 260,
    "height": 160,
    "position": { "x": 800, "y": 40 }
  },

  // ═══════════════════════════════════════════════════════════════
  // ROW 2: CORE SETUP (Required)
  // ═══════════════════════════════════════════════════════════════
  {
    "id": "core-setup-header",
    "type": "notepad",
    "title": "⚙️ Core Setup (Required)",
    "notes": "These 3 steps take 2 minutes and unlock most features.\n\nClick ⚙️ Settings in the top-right corner, then follow each step.",
    "noteColor": "blue",
    "width": 320,
    "height": 130,
    "position": { "x": 40, "y": 280 }
  },

  {
    "id": "step1-editor",
    "type": "script",
    "title": "Step 1: Add External Editor",
    "description": "Settings → External Editors → + Add Editor\n\nWhy? So you can click script files in nodes to edit them.\n\nRecommended: VS Code or Notepad++",
    "links": [
      { "label": "Download VS Code", "url": "https://code.visualstudio.com/" },
      { "label": "Download Notepad++", "url": "https://notepad-plus-plus.org/downloads/" }
    ],
    "position": { "x": 420, "y": 260 }
  },

  {
    "id": "step2-folders",
    "type": "script",
    "title": "Step 2: Add Workflow Folder",
    "description": "Settings → Workflow Folders → + Add Custom Folder\n\nWhy? NORA scans these folders for workflow files. Add your Documents folder or create a dedicated 'Workflows' folder.",
    "links": [],
    "position": { "x": 800, "y": 260 }
  },

  {
    "id": "step3-default",
    "type": "script",
    "title": "Step 3: Set Default Workflow",
    "description": "Settings → Default Workflow → ⭐ Set as Default\n\nWhy? Your default workflow loads automatically when NORA starts. Set this one as default for now!",
    "links": [],
    "position": { "x": 1180, "y": 260 }
  },

  // ═══════════════════════════════════════════════════════════════
  // ROW 3: TRY IT YOURSELF (Practice)
  // ═══════════════════════════════════════════════════════════════
  {
    "id": "practice-header",
    "type": "notepad",
    "title": "🛠️ Try Edit Mode",
    "notes": "Click 'Edit Mode' button (top-right).\n\nIn Edit Mode you can:\n• Add new nodes\n• Connect nodes (drag from edges)\n• Edit any node's settings\n• Rearrange the canvas\n\nTry editing the test node →",
    "noteColor": "purple",
    "width": 320,
    "height": 180,
    "position": { "x": 40, "y": 470 }
  },

  {
    "id": "practice-node",
    "type": "command",
    "title": "Practice: Edit This Node",
    "command": "echo Hello from NORA!",
    "shell": "cmd",
    "description": "In Edit Mode: double-click this node (or click Edit Block). Try changing the command to: echo Your Name Here\n\nThen exit Edit Mode and click Run to test your change.",
    "position": { "x": 420, "y": 470 }
  },

  {
    "id": "practice-python",
    "type": "command",
    "title": "Try: Run Python (if installed)",
    "command": "python --version && echo. && python -c \"print('Python works in NORA!')\"",
    "shell": "cmd",
    "description": "If you have Python installed, this shows NORA can run any command-line tool. Red border = Python not found (that's OK, skip this).",
    "position": { "x": 800, "y": 470 }
  },

  {
    "id": "keyboard-shortcuts",
    "type": "notepad",
    "title": "⌨️ Key Shortcuts",
    "notes": "Ctrl+S — Quick Save\nCtrl+Shift+S — Save As\nCtrl+Shift+L — Tool Library\nCtrl+R — Reload workflow\n\nCanvas:\n• Scroll wheel — Zoom\n• Click+drag background — Pan\n• Click node — Select\n• Drag from edge — Connect",
    "noteColor": "gray",
    "width": 280,
    "height": 200,
    "position": { "x": 1180, "y": 450 }
  },

  // ═══════════════════════════════════════════════════════════════
  // ROW 4: OPTIONAL POWER FEATURES
  // ═══════════════════════════════════════════════════════════════
  {
    "id": "optional-header",
    "type": "notepad",
    "title": "🚀 Optional: Power Features",
    "notes": "These are optional. Skip if you just want basic automation.\n\n• AI Features — use AI to classify, route, or automate tasks\n• Scheduler — run workflows on a timer\n• Gmail — send email notifications\n\nYou can set these up later anytime.",
    "noteColor": "blue",
    "width": 320,
    "height": 160,
    "position": { "x": 40, "y": 710 }
  },

  {
    "id": "ai-setup",
    "type": "script",
    "title": "AI Setup (pick one provider)",
    "description": "Settings → AI Provider Keys\n\nPaste an API key from any provider. Gemini is cheapest to start. You only need ONE provider to use AI features.",
    "links": [
      { "label": "Google AI Studio (Gemini) — Free tier", "url": "https://aistudio.google.com/app/apikey" },
      { "label": "OpenAI API Keys", "url": "https://platform.openai.com/api-keys" },
      { "label": "Anthropic Console", "url": "https://console.anthropic.com/" }
    ],
    "position": { "x": 420, "y": 700 }
  },

  {
    "id": "scheduler-setup",
    "type": "script",
    "title": "Scheduler (auto-run workflows)",
    "description": "Settings → Scheduler tab\n\nRun workflows automatically on a schedule. Great for daily reports, backups, or monitoring tasks.\n\nExample: Run daily at 9 AM",
    "links": [
      { "label": "Cron expression builder", "url": "https://crontab.guru/" }
    ],
    "position": { "x": 800, "y": 700 }
  },

  {
    "id": "gmail-setup",
    "type": "script",
    "title": "Gmail Notifications",
    "description": "Settings → System → Email Notifications\n\nGet emailed when workflows complete or fail. Requires Google Cloud OAuth setup (takes ~10 min first time).",
    "links": [
      { "label": "Google Cloud Console", "url": "https://console.cloud.google.com/" },
      { "label": "Setup guide (Gmail API)", "url": "https://developers.google.com/gmail/api/quickstart" }
    ],
    "position": { "x": 1180, "y": 700 }
  },

  // ═══════════════════════════════════════════════════════════════
  // ROW 5: NEXT STEPS
  // ═══════════════════════════════════════════════════════════════
  {
    "id": "next-steps",
    "type": "notepad",
    "title": "🎉 Setup Complete!",
    "notes": "You're ready to build workflows.\n\nNext:\n1. Browse example workflows (Use 'Browse Configs')\n2. Import one and run it\n3. Enter Edit Mode and customize\n4. Save your own version\n\nNeed help? Check the docs or hover over any UI element for tooltips.",
    "noteColor": "green",
    "width": 350,
    "height": 180,
    "position": { "x": 40, "y": 930 }
  },

  {
    "id": "example-workflows",
    "type": "script",
    "title": "📂 Explore Example Workflows",
    "description": "NORA includes example workflows for common tasks:\n\n• File processing pipelines\n• AI classification and routing\n• Scheduled automation\n• Multi-step data workflows\n\nClick 'Browse Configs' to explore.",
    "links": [],
    "position": { "x": 450, "y": 930 }
  },

  {
    "id": "docs-link",
    "type": "script",
    "title": "📖 Documentation",
    "description": "Full guides for every feature:\n\n• Node types and configuration\n• AI agents and tools\n• Scheduling and background jobs\n• Troubleshooting",
    "links": [
      { "label": "NORA Documentation", "url": "https://software.reibuys.com/nora-documentation/" }
    ],
    "position": { "x": 830, "y": 930 }
  },

  {
    "id": "tips",
    "type": "notepad",
    "title": "💡 Pro Tips",
    "notes": "• Right-click nodes for quick actions\n• Use Notepad nodes for documentation\n• Test workflows with 'Run Single Node' first\n• Check Background Jobs tab for running tasks\n• Save often! Use Ctrl+S",
    "noteColor": "pink",
    "width": 300,
    "height": 170,
    "position": { "x": 1180, "y": 920 }
  },

  // ═══════════════════════════════════════════════════════════════
  // ROW 6: WORKFLOW GENERATION TOOLS
  // ═══════════════════════════════════════════════════════════════
  {
    "id": "power-tools-header",
    "type": "notepad",
    "title": "⚡ Workflow Generation Tools",
    "notes": "Don't want to write workflow configs by hand?\n\n• Convert UI — Checklist converter & directory scanner (no AI needed)\n• AI Chat CLI — Terminal chatbot for AI-generated workflows\n• VS Code + Copilot — Use AI in your editor",
    "noteColor": "purple",
    "width": 340,
    "height": 160,
    "position": { "x": 40, "y": 1180 }
  },

  {
    "id": "convert-ui",
    "type": "script",
    "title": "📋 Convert UI (Checklist → Workflow)",
    "description": "Browser-based workflow generator with 3 tools:\n\n1️⃣ Checklist Converter (no AI needed)\nWrite a numbered list, get workflow config:\n  1 Download report\n    a Run fetch script\n    b Save to E:/data\n  2 Process data\n\n2️⃣ Directory Generator\nScan a folder → auto-create nodes for all scripts found\n\n3️⃣ AI Chat (optional)\nConversational workflow generation (needs proxy)\n\nThe converter and directory tools work offline!\n\nLocation: Documents\\NORA\\tools\\text_workflow\\convert-ui.html",
    "links": [],
    "position": { "x": 420, "y": 1160 }
  },

  {
    "id": "ai-chat-cli",
    "type": "script",
    "title": "🖥️ AI Chat CLI (Best for AI Generation)",
    "description": "The most powerful AI workflow generator — runs in terminal.\n\nRun:\n  node ai-chat-cli.js --provider gemini\n\nDescribe your workflow in natural language, get production-ready config code. Uses a comprehensive schema prompt for accurate results.\n\nFeatures:\n• Direct API calls (no proxy needed)\n• Auto-save generated files\n• Conversation history\n• Claude, OpenAI, Gemini support\n\nLocation: Documents\\NORA\\tools\\text_workflow\\ai-chat-cli.js",
    "links": [
      { "label": "Google AI Studio (Free Gemini key)", "url": "https://aistudio.google.com/app/apikey" }
    ],
    "position": { "x": 800, "y": 1160 }
  },

  {
    "id": "ai-proxy-server",
    "type": "script",
    "title": "🔌 AI Proxy Server (for browser AI)",
    "description": "Only needed if you want to use the AI Chat tab in convert-ui.html (browser-based AI).\n\nThe Checklist Converter and Directory Generator do NOT need this.\n\nSetup:\n  cd Documents\\NORA\\tools\\text_workflow\n  node ai-proxy-server.js\n\nThen in convert-ui.html:\n• Set Proxy URL: http://127.0.0.1:8787\n• Add API key, enable AI\n\nNote: ai-chat-cli.js is usually better for AI generation.",
    "links": [],
    "position": { "x": 1180, "y": 1160 }
  },

  // ═══════════════════════════════════════════════════════════════
  // ROW 7: VS CODE INTEGRATION
  // ═══════════════════════════════════════════════════════════════
  {
    "id": "vscode-header",
    "type": "notepad",
    "title": "💻 VS Code Integration",
    "notes": "Already use VS Code? Use AI assistants there to help with NORA workflows.",
    "noteColor": "blue",
    "width": 340,
    "height": 80,
    "position": { "x": 40, "y": 1430 }
  },

  {
    "id": "vscode-copilot",
    "type": "script",
    "title": "🤖 VS Code + GitHub Copilot",
    "description": "Use Copilot (or Claude) in VS Code to work with NORA:\n\n• Generate workflow configs — describe what you want\n• Debug scripts — paste errors, get fixes\n• Explain configs — 'what does this aiAgent do?'\n• Refactor — 'split this into smaller nodes'\n\nTip: Open ai-chat-cli.js in VS Code so Copilot learns the workflow schema, then ask it to generate configs!\n\nTry: 'Create a NORA workflow that monitors a folder and sends Slack notifications'",
    "links": [
      { "label": "VS Code Download", "url": "https://code.visualstudio.com/" },
      { "label": "GitHub Copilot", "url": "https://github.com/features/copilot" }
    ],
    "position": { "x": 420, "y": 1410 }
  },

  {
    "id": "workflow-tips",
    "type": "notepad",
    "title": "💡 Workflow Generation Tips",
    "notes": "Best practices for AI-generated workflows:\n\n• Be specific — include paths, tools, expected outputs\n• Start simple — 3-5 nodes, add complexity later\n• Test nodes individually before running full flow\n• Add notepad nodes to document your workflow\n• Review AI output — it may need path adjustments\n\nExample prompt:\n'Create a workflow that runs a Python script at E:/scripts/report.py, checks if it succeeded, and sends a Gmail notification with the output'",
    "noteColor": "yellow",
    "width": 400,
    "height": 250,
    "position": { "x": 800, "y": 1390 }
  }
];

export const workflowConnections = [
  // Row 1: Welcome flow
  { "id": "e-welcome-quickwin", "source": "welcome", "target": "quick-win", "type": "smoothstep" },
  { "id": "e-quickwin-success", "source": "quick-win", "target": "success-note", "type": "smoothstep" },

  // Row 1 to Row 2
  { "id": "e-success-core", "source": "success-note", "target": "core-setup-header", "type": "smoothstep" },

  // Row 2: Core Setup flow
  { "id": "e-core-step1", "source": "core-setup-header", "target": "step1-editor", "type": "smoothstep" },
  { "id": "e-step1-step2", "source": "step1-editor", "target": "step2-folders", "type": "smoothstep" },
  { "id": "e-step2-step3", "source": "step2-folders", "target": "step3-default", "type": "smoothstep" },

  // Row 2 to Row 3
  { "id": "e-step3-practice", "source": "step3-default", "target": "practice-header", "type": "smoothstep" },

  // Row 3: Practice flow
  { "id": "e-practice-node", "source": "practice-header", "target": "practice-node", "type": "smoothstep" },
  { "id": "e-node-python", "source": "practice-node", "target": "practice-python", "type": "smoothstep" },
  { "id": "e-python-shortcuts", "source": "practice-python", "target": "keyboard-shortcuts", "type": "smoothstep" },

  // Row 3 to Row 4
  { "id": "e-shortcuts-optional", "source": "keyboard-shortcuts", "target": "optional-header", "type": "smoothstep" },

  // Row 4: Optional features (parallel paths from header)
  { "id": "e-optional-ai", "source": "optional-header", "target": "ai-setup", "type": "smoothstep" },
  { "id": "e-ai-scheduler", "source": "ai-setup", "target": "scheduler-setup", "type": "smoothstep" },
  { "id": "e-scheduler-gmail", "source": "scheduler-setup", "target": "gmail-setup", "type": "smoothstep" },

  // Row 4 to Row 5
  { "id": "e-gmail-next", "source": "gmail-setup", "target": "next-steps", "type": "smoothstep" },

  // Row 5: Next steps (parallel endpoints)
  { "id": "e-next-examples", "source": "next-steps", "target": "example-workflows", "type": "smoothstep" },
  { "id": "e-examples-docs", "source": "example-workflows", "target": "docs-link", "type": "smoothstep" },
  { "id": "e-docs-tips", "source": "docs-link", "target": "tips", "type": "smoothstep" },

  // Row 5 to Row 6
  { "id": "e-tips-power", "source": "tips", "target": "power-tools-header", "type": "smoothstep" },

  // Row 6: Workflow Generation Tools
  { "id": "e-power-convert", "source": "power-tools-header", "target": "convert-ui", "type": "smoothstep" },
  { "id": "e-convert-cli", "source": "convert-ui", "target": "ai-chat-cli", "type": "smoothstep" },
  { "id": "e-cli-proxy", "source": "ai-chat-cli", "target": "ai-proxy-server", "type": "smoothstep" },

  // Row 6 to Row 7
  { "id": "e-proxy-vscode-header", "source": "ai-proxy-server", "target": "vscode-header", "type": "smoothstep" },

  // Row 7: VS Code Integration
  { "id": "e-vscode-header-copilot", "source": "vscode-header", "target": "vscode-copilot", "type": "smoothstep" },
  { "id": "e-copilot-tips", "source": "vscode-copilot", "target": "workflow-tips", "type": "smoothstep" }
];

How to Use

  1. Copy the code above
  2. Open a text editor (VS Code, Notepad++, etc.)
  3. Paste the code
  4. Save as lets-get-started-workflow.js
  5. Place in Documents\NORA\example-workflows (or any folder you’ve added in Settings → Workflow Folders)
  6. In NORA, click Browse Configs and select it

Keywords

NORA workflow automation, visual workflow builder, node-based automation, Windows automation tool, script runner, AI workflow generation, task automation software, workflow config example, getting started tutorial