Settings & Configuration

Settings & Configuration

NORA stores all configuration locally on your machine. Nothing is sent to external servers. This guide covers every setting available in the Settings modal and where configuration files are stored on disk.

Note: The Settings modal is only available in Desktop (Electron) mode. In browser/dev mode, settings are managed via config files directly.


Opening Settings

Click the ⚙ Settings button in the top-right toolbar (available in both Edit and Run modes). The modal opens with tabbed navigation.


External Editors

Configure external editors for opening files. Click file links in workflow nodes to open them with your chosen editor.

When a node’s command references a file path, NORA makes that path clickable. Clicking it opens the file in your configured editor.

Adding an Editor

  1. Click + Add Editor
  2. Enter a name (e.g., “VS Code”, “Notepad++”)
  3. Enter the path to the executable — or click Browse… to locate it via file picker
  4. Repeat for additional editors

Default Editor

Use the Default Editor dropdown to select which editor opens files by default. All configured editors appear in this dropdown.

Example Paths

Editor Typical Path
VS Code C:\Users\{you}\AppData\Local\Programs\Microsoft VS Code\Code.exe
Notepad++ C:\Program Files\Notepad++\notepad++.exe
Sublime Text C:\Program Files\Sublime Text\sublime_text.exe

Workflow Folders

Add custom folders to organize workflows from different locations.

NORA scans specific folders for workflow config files. These folders appear in the config file selector when you load or import workflows.

Built-in Folders

Two folders are always included (cannot be removed):

  • Project Workflows — the import-workflow-config folder inside the app directory
  • Documents/NORA/configs — your Documents folder

Custom Folders

Click + Add Custom Folder to add additional locations. Use this for:
– Shared network drives
– Cloud-synced folders (Dropbox, OneDrive, Google Drive)
– Git repository directories
– Any folder where you store .js workflow config files

Custom folders can be removed by clicking the button next to each entry.


Default Workflow

Set which workflow loads automatically when you start the app.

Setting a Default

  1. Load the workflow you want as your default
  2. Open Settings → Default Workflow tab
  3. Click ⭐ Set as Default Workflow

The currently loaded workflow’s path is shown, along with the current default (if any).

Default Workflow Behavior

  • The default workflow loads automatically on app startup
  • Default workflows open in read-only mode — the save button is disabled to prevent accidental changes
  • To edit a default workflow, use Export Config to save a copy first, then edit the copy
  • Click Clear Default to stop auto-loading a workflow on startup

Background Jobs

View and manage workflows running in the background.

This tab auto-refreshes every 3 seconds. A green badge on the tab shows the count of currently running jobs.

Job Cards

Each background job shows:

Field Description
Workflow name The config file name
Job ID Unique identifier (click to copy)
Status Running (blue), Completed (green), or Failed (red)
Started When the job began
Running for Elapsed time (for active jobs)
Ended When the job finished (for completed jobs)
Error Error details if the job failed

Active Commands

For running jobs, you can see every OS-level process the workflow has spawned:

Detail Description
Node Which workflow node started this process
PID Process ID (click to copy)
Duration How long the process has been running
CPU “Active” (green) if using CPU, “Idle” (gray) otherwise
Command The actual shell command being run

Controls

Button What It Does
🛑 Stop Workflow Stops the workflow and terminates all its processes
⛔ Kill Terminates a single process
⛔ Kill All Commands Terminates all processes for one workflow
📊 View Live Logs Opens the Execution History tab with real-time log streaming

Completed and failed jobs are automatically removed from this list after 5 minutes.


Scheduler

Schedule workflows to run automatically using cron expressions.

A purple badge on the tab shows the count of active schedules.

Creating a Schedule

  1. Click Select Workflow to choose a workflow config file
  2. Pick a schedule preset from the dropdown — or choose Custom to enter your own cron expression
  3. Enter a label describing the schedule (e.g., “Morning data sync”)
  4. Optionally toggle Notify on completion (desktop notification when the run finishes) and Stop on error (halt the workflow when a node fails without an error-handling edge)
  5. Click Add Schedule

Schedule Presets

Preset Cron Expression Runs
Every Hour 0 * * * * On the hour, every hour
Daily at Midnight 0 0 * * * Every day at 12:00 AM
Weekly (Sunday) 0 0 * * 0 Every Sunday at 12:00 AM
Weekdays at 9 AM 0 9 * * 1-5 Mon–Fri at 9:00 AM
Monthly (1st day) 0 0 1 * * First of every month at 12:00 AM
Custom you specify Any valid cron expression

Custom Cron Expressions

Not sure about cron syntax? Use crontab.guru — an online cron expression editor that shows a plain-English description of any expression as you type.

┌───────────── minute (0-59)
 ┌───────────── hour (0-23)
  ┌───────────── day of month (1-31)
   ┌───────────── month (1-12)
    ┌───────────── day of week (0-7, Sun = 0 or 7)
    
* * * * *

NORA displays a human-readable description of your cron expression (e.g., 0 9 * * 1-5 → “At 09:00 AM, Monday through Friday”).

Timezone: All schedules run in Eastern Time (America/New_York).

Managing Schedules

Active schedules are listed with their workflow name, cron expression, human-readable description, and creation date. Each schedule has a row of action buttons:

Button Action
Edit schedule — modify the cron expression, preset, or label (workflow cannot be changed)
Run now — immediately execute this workflow without waiting for the schedule
/ Pause/Resume — temporarily disable the schedule; paused schedules show a PAUSED badge
Remove this schedule

Additional controls in the header:

Control Description
↻ Refresh Reload schedules from disk — useful after external edits (e.g., by an AI agent)

Schedule cards may show badges:
⏸ PAUSED — The schedule is paused and won’t run until resumed
🔕 — Desktop notifications are disabled for this schedule
— Stop on error is enabled for this schedule (workflow halts on unhandled node failures)

Editing a Schedule: Click ✎ to edit. The form switches to edit mode with your existing values pre-filled. Click Save Changes to confirm or Cancel to discard.

Paused Schedules: A paused schedule will not execute at its scheduled time. It remains in the list with a ⏸ PAUSED badge. Click ▶ Resume to reactivate it.

External edits: NORA watches schedules.json for changes. If an AI agent or external tool modifies the file, the changes are automatically merged into the running scheduler within ~500ms.

Schedules persist across app restarts — they are saved to ~/.nora/config/schedules.json.

Schedule Options

When creating or editing a schedule, you can configure:

Field Description
Workflow The workflow config file to run (cannot be changed when editing)
Schedule Choose a preset or enter a custom cron expression
Label A friendly name for this schedule
Notify on completion When checked, a desktop notification appears when the workflow finishes. Uncheck this for frequently-running schedules (e.g., every 2 minutes) to avoid notification spam.

Tip: Email notifications (if configured) are separate from desktop notifications and remain unaffected by this setting.

Workflow Selector

When adding a new schedule, click Select Workflow to open a modal showing all available workflow config files. Folders are collapsed by default — click the ▶ arrow to expand and see files inside. Use the search box to filter by name or path.


Ports

Configure the ports used by the application.

Setting Default Valid Range Description
Backend Server Port 4000 1024–65535 The Express.js API server
Frontend Port 1024–65535 The React development server

Restart required after changing ports. The app must be fully closed and reopened for port changes to take effect.

Only change these if you have a port conflict with another application on your machine.


Execution History

View past workflow executions and their detailed logs.

History List

Every workflow run (foreground and background) is recorded:

Column Description
Workflow Config file name
Started When execution began
Duration Total execution time in seconds
Status Success (green), Failed (red with error count), Cancelled (amber)
Cost Total AI API cost in USD (if AI nodes were used), or

A Grand Total Cost row at the bottom sums all AI costs across all recorded executions.

Execution Details

Click View Details on any execution to see:

  • Summary: job ID, start/end time, duration, final status
  • Node statuses: each node listed with a colored status indicator (green = success, red = error, gray = pending/skipped)
  • Last node executed: where the workflow ended
  • Error reason: if the run failed

Detailed Logs

A scrollable log viewer shows every event during execution:

  • Timestamps and log levels (INFO, ERROR, WARN, SUCCESS)
  • Node identification — which node generated each log entry
  • Commands and their output (color-coded: output in green, errors in red)
  • Retry information — if nodes retried, each attempt is logged

Live Logs

When viewing a running background job (accessed via Background Jobs → View Live Logs), the log viewer updates every 3 seconds with a green “Live Logs” indicator. Polling stops automatically when the job finishes.

Log Retention

See the System tab section for configuring how long logs are kept.


System

System Tray

Setting Default Description
Minimize to system tray instead of closing Enabled When checked, clicking the window’s ✕ button hides the app to the system tray instead of quitting. Background workflows continue running. Right-click the tray icon and select Quit to fully exit.

Startup

Setting Default Description
Start with Windows Disabled When checked, the app launches automatically when Windows boots. If “Minimize to tray” is also enabled, the app starts hidden in the system tray.

Tip: Enable both Minimize to tray and Start with Windows to run scheduled workflows 24/7 without manual intervention.

Execution History & Log Retention

Setting Options Default
Keep workflow logs for 30 days, 60 days, 90 days, Forever 30 days

Log cleanup runs automatically when the server starts. Changes take effect on the next server restart.


License

View and manage your NORA license activation.

License Information

The License tab displays your activation status:

Field Description
License Key Your license key (partially masked for security)
Machine ID Unique identifier for your computer (hardware-bound)
App Version Currently installed version of NORA
Status Active, Expired, or Pending Validation

Activation Status

  • ✅ Active — License is valid and activated on this machine
  • ⚠️ Pending Validation — Needs online check (connect to internet)
  • ❌ Expired — License is no longer valid

Re-Activation

If you need to re-activate (after hardware changes, reinstall, etc.):
1. Click Re-Activate License
2. Enter your license key
3. Click Activate

For license transfers to a new machine, contact support with your license key and new machine ID.


Updates

Check for and install NORA updates.

NORA includes an auto-update system that checks for new versions and lets you install them with one click.

Checking for Updates

  1. Click Check for Updates in the System tab
  2. NORA contacts the update server to check for newer versions
  3. If an update is available, you’ll see:
  4. Current version
  5. New version available
  6. Download Update button

Installing Updates

  1. Click Download Update
  2. A progress bar shows download status
  3. When complete, click Install and Restart
  4. NORA closes, installs the update, and reopens

Note: Save your work before updating. Open workflows are preserved, but any unsaved changes will be lost.

Update Notifications

When an update is available, NORA shows a notification badge. You can dismiss it to continue working and update later.


Gmail / Email

Get notified via Gmail when workflows complete or fail.

Email notifications are configured in the System tab of Settings. Setup requires a Google Cloud OAuth 2.0 credential.

Prerequisites

Step 1: Create OAuth Credentials

  1. Go to Google Cloud Console → Credentials
  2. Create a new OAuth 2.0 Client ID
  3. Choose application type: Web application
  4. Under Authorized redirect URIs, add:
    http://localhost:4000/gmail/oauth2callback
    (Replace 4000 with your configured backend port if different)
  5. Copy the Client ID and Client Secret

Step 2: Enter Credentials in NORA

  1. Open Settings → System tab → Email Notifications section
  2. Click 🔧 Configure OAuth Credentials
  3. Paste your Client ID and Client Secret
  4. Click 💾 Save Credentials

Step 3: Connect Your Gmail Account

  1. Click 🔗 Connect Gmail Account
  2. Your browser opens Google’s consent page
  3. Sign in and authorize NORA to send emails on your behalf
  4. Google redirects back to NORA — you’ll see “Authorization Successful!”
  5. The page auto-closes after 3 seconds
  6. NORA shows your connected email address with a green ✅ Gmail Connected badge

Notification Preferences

Once connected, configure when to receive emails:

Setting Default Description
Send email when workflows complete successfully Enabled Get notified on successful runs
Send email when workflows fail Enabled Get notified on failures

What Notification Emails Include

Notification emails are formatted HTML containing:
– Per-node execution status (success/error icons)
– Execution timing (total and per-node)
– Retry information (which nodes retried and attempt counts)
– AI cost summary (token usage and estimated cost)
– Detailed execution logs

Testing

Click 📤 Send Test Email to send a test notification to yourself and verify the setup works.

Disconnecting

Click Disconnect to remove the Gmail authorization. Credentials are cleared from ~/.nora/email-credentials.json.


AI Provider Keys

API keys for AI-powered nodes (AI Agent, AI Router, AI Autonomous Agent).

AI keys are configured in the System tab of Settings. Keys are stored locally on your machine — they are never sent anywhere except directly to the AI provider’s API.

🔒 Security: API keys are not included in the NORA installer or application bundle. You must provide your own keys after installation. Keys are stored only on your local machine and transmitted only to the respective AI provider’s API endpoints.

Supported Providers

Provider Key Format Get a Key
OpenAI sk-... OpenAI API Keys
Anthropic sk-ant-... Anthropic Console
Google Gemini AIza... Google AI Studio

Managing Keys

For each provider:

Action How
Add/Update Paste your key into the field and click Save Settings
View Click the 👁 toggle to show/hide the key
Remove Click Clear to delete the key
Status Green “✓ Key saved” or amber “⚠️ Key not set”

You only need keys for providers you plan to use. If you only use Gemini-based AI nodes, you only need a Gemini key.

Key Storage

Keys are stored in ~/.nora/config/settings.json under the aiProviderKeys object:

{
  "aiProviderKeys": {
    "openai": "sk-...",
    "anthropic": "sk-ant-...",
    "gemini": "AIza..."
  }
}

Configuration File Locations

All NORA configuration is stored locally in your home directory:

Data Location
App settings (editors, ports, folders, AI keys, startup, tray) ~/.nora/config/settings.json
Gmail credentials & preferences ~/.nora/email-credentials.json
Scheduled workflows ~/.nora/config/schedules.json
Execution history ~/.nora/logs/execution-{jobId}.json
Agent session logs ~/.nora/agent_logs/{sessionId}/
Example workflows & tools ~/Documents/NORA/ (copied on first install)

Where ~ is your home directory (e.g., C:\Users\{YourName} on Windows).

Backing Up Settings

To back up your NORA configuration, copy the entire ~/.nora/ folder. This preserves all settings, credentials, schedules, and execution history.

Resetting Settings

Delete ~/.nora/config/settings.json to reset all settings to defaults. The file is recreated on next launch. To reset Gmail only, delete email-credentials.json.

Restoring Default Resources (Documents\NORA)

On first install, NORA copies example workflows and tools to Documents\NORA\. If you delete this folder, reinstalling NORA alone won’t recreate it — the app remembers that first-run setup already completed.

To restore the Documents\NORA\ folder:

  1. Open ~/.nora/config/settings.json in a text editor
  2. Find "firstRunComplete": true and change it to "firstRunComplete": false
  3. Save the file and restart NORA
  4. NORA will re-copy the default resources on next launch

Tip: This only copies files that don’t already exist — your customizations are preserved.


Browser vs. Desktop Differences

Some features are only available in the desktop (Electron) version:

Feature Browser/Dev Mode Desktop (Electron)
Settings modal Not available Full access
File browser dialogs Not available Native file picker
Gmail notifications ✅ Works directly ✅ Works via background worker process (googleapis loaded in a forked child process to avoid Electron compatibility issues)
Start with Windows Not applicable Available
System tray minimize Not applicable Available
Config file persistence Manual file editing Automatic via Settings UI

In browser/dev mode, you can still run workflows, use background jobs, and schedule workflows — but configuration must be done by editing the JSON files directly.


What’s Next?

  • AI Features — Deep dive into AI providers, models, and AI-powered nodes
  • Tool Library — Create and manage reusable tool packages
  • Running Workflows — Execution modes, scheduling, and monitoring
  • Reference — Keyboard shortcuts, API endpoints, troubleshooting, and glossary