npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

n8n-nodes-valiqor

v0.2.0

Published

n8n community nodes for Valiqor — AI safety checking, failure analysis, and evaluation for LLM workflows.

Readme

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