Documentation

n8n-nodes-valiqor

npm version
License: MIT
n8n community

Community nodes for n8n that add AI safety checking, failure analysis, and LLM evaluation to your workflows using Valiqor.

n8n is a fair-code licensed workflow automation platform.

Nodes

Node Description
Valiqor Safety Check Check LLM input/output pairs for safety violations across 23 categories (prompt injection, PII, violence, hate speech, and more)
Valiqor Failure Analysis Diagnose why an LLM interaction failed — root cause, severity, evidence, and recommendations
Valiqor Eval Score LLM output quality (hallucination, answer relevance, factual accuracy, coherence, and more)

Installation

Community Nodes (recommended)

  1. Go to Settings → Community Nodes in your n8n instance
  2. Click Install a community node
  3. Enter n8n-nodes-valiqor
  4. Click Install

Manual

npm install n8n-nodes-valiqor

Credentials

You need a Valiqor API key to use these nodes.

  1. Get your API key at app.valiqor.com/api-keys
  2. In n8n, go to Credentials → New Credential → Valiqor API
  3. Paste your API key (starts with vq_)
  4. Leave the Base URL as https://api.valiqor.com (default)

Don't have an account? Sign up free at app.valiqor.com — no credit card required.

Node Details

Valiqor Safety Check

Runs a security audit on LLM input/output pairs. Automatically checks all 23 safety violation categories.

Input: Items with user_input and assistant_response fields (field names configurable)

Output: Each item gets a valiqor_safety object with per-item verdicts and category names:

{
  "valiqor_safety": {
    "is_safe": false,
    "status": "unsafe",
    "input_safety": "safe",
    "top_risk": "Violence",
    "unsafe_output_categories": ["Violence", "Criminal Planning/Confessions"],
    "unsafe_input_categories": [],
    "risk_categories": ["Violence", "Criminal Planning/Confessions"],
    "category_verdicts": {
      "S1 - Violence": "fail",
      "S2 - Sexual": "pass",
      "S3 - Criminal Planning/Confessions": "fail",
      "S4 - Guns and Illegal Weapons": "pass",
      "S5 - Controlled/Regulated Substances": "pass",
      "S6 - Suicide and Self Harm": "pass",
      "S7 - Sexual (minor)": "pass",
      "S8 - Hate/Identity Hate": "pass",
      "S9 - PII/Privacy": "pass",
      "S10 - Harassment": "pass",
      "S11 - Threat": "pass",
      "S12 - Profanity": "pass",
      "S13 - Needs Caution": "pass",
      "S14 - Other": "pass",
      "S15 - Manipulation (Prompt Injection/Jailbreak)": "pass",
      "S16 - Fraud/Deception": "pass",
      "S17 - Malware": "pass",
      "S18 - High Risk Gov Decision Making": "pass",
      "S19 - Political/Misinformation/Conspiracy": "pass",
      "S20 - Copyright/Trademark/Plagiarism": "pass",
      "S21 - Unauthorized Advice": "pass",
      "S22 - Illegal Activity": "pass",
      "S23 - Immoral/Unethical": "pass"
    },
    "batch_id": "uuid",
    "total_items": 1,
    "unsafe_items": 1,
    "unsafe_rate": 100,
    "top_risk_category": "Violence"
  },
  "valiqor_links": {
    "dashboard": "https://app.valiqor.com",
    "api_keys": "https://app.valiqor.com/api-keys",
    "docs": "https://docs.valiqor.com",
    "github": "https://github.com/valiqor",
    "python_sdk": "pip install valiqor"
  }
}

Check individual categories via {{ $json.valiqor_safety.category_verdicts["S9 - PII/Privacy"] }} in n8n expressions.

Parameters:

Parameter Description Default
Project Name Valiqor project (auto-created) n8n-safety-check
User Input Field Field containing user's message user_input
Assistant Response Field Field containing assistant's response assistant_response

Valiqor Failure Analysis

This is the key differentiator. Nobody else has automated root-cause analysis in an n8n node. LangSmith/Langfuse tell you something failed; Valiqor tells you it was a wrong_tool_selected failure (severity: critical) with evidence from the conversation.

Input: Items with user_input and assistant_response fields. Optionally include context (for RAG) or tool_calls (for agents).

Output: Each item gets a valiqor_failure_analysis object with failures, warnings, and passes separated:

{
  "valiqor_failure_analysis": {
    "has_failures": true,
    "failure_count": 2,
    "warning_count": 1,
    "pass_count": 8,
    "max_severity": 4,
    "max_severity_label": "Critical",
    "primary_failure": "wrong_tool_selected",
    "primary_failure_name": "Wrong Tool Selected",
    "should_alert": true,
    "should_gate_ci": true,
    "needs_human_review": true,
    "failures": [
      {
        "subcategory": "wrong_tool_selected",
        "subcategory_name": "Wrong Tool Selected",
        "severity": 4,
        "severity_label": "Critical",
        "confidence": 0.92,
        "decision": "fail",
        "evidence": "Agent called web_search instead of database_query...",
        "bucket": "tool_errors",
        "bucket_name": "Tool Errors",
        "item_index": 0
      }
    ],
    "warnings": [
      {
        "subcategory": "partial_task_completion",
        "subcategory_name": "Partial Task Completion",
        "severity": 2,
        "severity_label": "Medium",
        "confidence": 0.78,
        "decision": "unsure",
        "evidence": "Agent completed 2 of 3 requested tasks...",
        "bucket": "task_quality",
        "bucket_name": "Task Quality",
        "item_index": 0
      }
    ],
    "passes": [],
    "run_id": "uuid",
    "duration_ms": 3200,
    "eval_metrics": { "hallucination": 0.05, "coherence": 0.92 },
    "security_flags": { "S1 - Violence": "pass", "S9 - PII/Privacy": "fail" }
  },
  "valiqor_links": {
    "dashboard": "https://app.valiqor.com",
    "api_keys": "https://app.valiqor.com/api-keys",
    "docs": "https://docs.valiqor.com",
    "github": "https://github.com/valiqor",
    "python_sdk": "pip install valiqor"
  }
}

Parameters:

Parameter Description Default
Project Name Valiqor project (auto-created) n8n-failure-analysis
User Input Field Field containing user's message user_input
Agent Output Field Field containing agent's response assistant_response
Context Field Optional: field containing retrieval context
Tool Calls Field Optional: field containing tool calls array
Feature Kind Type of AI app (generic_llm, rag, agent, agentic_rag) generic_llm
Run Eval Also run eval metrics alongside true
Run Security Also run security audit alongside false

Valiqor Eval

Score LLM output quality using multiple metrics. Returns per-metric scores, an overall grade, and detailed explanations for each metric.

Input: Items with user_input and assistant_response fields.

Output: Each item gets a valiqor_eval object with scores AND explanations:

{
  "valiqor_eval": {
    "scores": {
      "hallucination": 0.05,
      "answerrelevance": 0.91
    },
    "overall_score": 0.85,
    "pass": true,
    "pass_threshold": 0.7,
    "quality_grade": "A",
    "run_id": "uuid",
    "total_items": 1,
    "evaluated_items": 1,
    "duration_ms": 4200,
    "eval_reasoning": "[hallucination] The response is grounded...\n\n[answerrelevance] Directly addresses...",
    "metric_details": {
      "hallucination": {
        "score": 0.05,
        "verdict": "pass",
        "explanation": "The response is factually grounded in the provided context..."
      },
      "answerrelevance": {
        "score": 0.91,
        "verdict": "pass",
        "explanation": "The response directly addresses the user's question..."
      }
    }
  },
  "valiqor_links": {
    "dashboard": "https://app.valiqor.com",
    "api_keys": "https://app.valiqor.com/api-keys",
    "docs": "https://docs.valiqor.com",
    "github": "https://github.com/valiqor",
    "python_sdk": "pip install valiqor"
  }
}

Parameters:

Parameter Description Default
Project Name Valiqor project (auto-created) n8n-eval
User Input Field Field containing user's message user_input
Assistant Response Field Field containing assistant's response assistant_response
Context Field Optional: field for RAG context
Expected Output Field Optional: field for golden/expected response
Metrics Eval metrics to compute hallucination, answerrelevance
Run Name Optional name for the eval run Auto-generated
Pass Threshold Score threshold for pass/fail 0.7

Available Metrics:

Metric Best For
hallucination Detect fabricated facts in LLM responses
answerrelevance Check if the response answers the question
factualaccuracy Verify facts against provided context
coherence Assess logical flow and consistency
fluency Check grammar, readability, and naturalness
completeness Verify all parts of the question are answered
contextprecision RAG: precision of retrieved context
contextrecall RAG: recall of retrieved context
retrieval RAG: overall retrieval quality
intentresolution Did the agent resolve the user's intent?
taskadherence Does the output follow task instructions?
toolcallaccuracy Agents: were the right tools called correctly?
moderation Content safety and appropriateness

Workflow Templates

Template 1: AI Agent Safety Pipeline

Automatically check every LLM response for safety violations and diagnose failures.

[Webhook Trigger] → [OpenAI Agent] → [Valiqor Safety Check] → [IF unsafe → Block + Slack Alert]
                                                              → [IF safe → Valiqor Failure Analysis]
                                                                          → [IF critical → Log + Alert]
                                                                          → [IF passed → Return Response]

Setup:

  1. Add a Webhook trigger node
  2. Connect to your OpenAI/LLM node
  3. Add Valiqor Safety Check → check {{ $json.valiqor_safety.is_safe }}
  4. For safe items, add Valiqor Failure Analysis → check {{ $json.valiqor_failure_analysis.max_severity }}
  5. Route critical failures (severity ≥ 4) to PagerDuty/Slack alerts

Template 2: AI Quality Gate

Run evaluation metrics on a test dataset on a schedule.

[Schedule: daily] → [Fetch test dataset from Sheets] → [Valiqor Eval] → [IF score < threshold → Slack #ai-quality]
                                                                        → [IF passed → Log success]

Setup:

  1. Add a Schedule trigger (e.g., daily at 9am)
  2. Fetch your test dataset from Google Sheets / Airtable / database
  3. Add Valiqor Eval with your quality metrics
  4. Check {{ $json.valiqor_eval.pass }} and alert on regressions

Template 3: LLM Output Monitoring

Continuously monitor LLM outputs in production for safety + quality.

[Webhook: LLM output] → [Valiqor Safety Check] → [Valiqor Eval]
                                                 → [IF unsafe OR low quality → Slack + Google Sheets log]
                                                 → [IF OK → Continue]

API Endpoints Used

These nodes call existing Valiqor API endpoints — no custom backend changes needed:

Node Endpoint
Safety Check POST /v2/security/audit
Failure Analysis POST /v2/failure-analysis/analyze
Eval POST /v2/evaluate/

All endpoints use Authorization: Bearer <api_key> authentication.

Rate Limits & Quotas

Each node handles quota limits automatically. When your free tier limit is reached, you'll see a clear error message with a link to upgrade.

Resource Free Limit
Evaluations 100/month
Security Audits 50 items/month
Failure Analysis 50 items/month

Upgrade at app.valiqor.com for higher limits.

Go Further with Valiqor

These n8n nodes cover the most common workflows. For deeper integration, use the Valiqor Python SDK:

pip install valiqor

The SDK gives you:

  • Tracing — auto-instrument LangChain, OpenAI, and other LLM frameworks
  • Batch evaluation — run evals on thousands of items with parallel processing
  • CI/CD integration — add quality gates to your deployment pipeline
  • Custom metrics — define your own evaluation criteria

Useful Links

Resource URL
Get API Key app.valiqor.com/api-keys
Dashboard app.valiqor.com
Documentation docs.valiqor.com
GitHub github.com/valiqor
Python SDK pip install valiqorPyPI
Website valiqor.com
n8n Community Nodes docs.n8n.io/integrations/community-nodes/

License

MIT

Discussion