@mibo-ai/n8n-nodes-mibo-testing
v1.0.3
Published
Capture n8n workflow traces and send them to Mibo Testing for AI testing and assertions.
Downloads
301
Maintainers
Readme
n8n-nodes-mibo-testing
n8n community node for Mibo Testing - a platform for semantic and procedural testing of AI workflows.
- Canonical OTEL-shaped trace: emits one span per executed workflow node in the Mibo Custom API shape (
{spans: [...]}), the same shape the dashboard renders. Works on n8n Cloud and self-hosted — no OTel SDK, no exporter, no host-level config. - Automatic workflow capture: discovers every executed node via the n8n API (when credentials carry an n8n API key) or via an upstream
Get Workflownode. Auto-utility nodes (stickyNote,noOp,wait, …) are excluded. - Parent linking:
parent_span_idfollows the n8n connection graph so traces render as the workflow structure. - Request-id correlation: sets
x-request-idfrom the manual override, then from incoming webhook headers, falling back to the n8n execution id. - Passthrough: input items pass through unchanged; only a
_miboTracesummary is appended.
New here? Start with the Quick Start Guide — 30-second setup plus troubleshooting for the most common errors (payload too large, wrong node names, API key issues).
Installation
Community Nodes (Recommended)
- Go to Settings > Community Nodes in your n8n instance
- Search for
@mibo-ai/n8n-nodes-mibo-testing - Click Install
Manual Installation
npm install @mibo-ai/n8n-nodes-mibo-testingThen restart your n8n instance.
Configuration
Credentials
Create a new credential of type Mibo Testing API with the following fields:
| Field | Required | Description |
|-------|----------|-------------|
| API Key | Yes | Your Mibo Testing API key. Find it in your Mibo Testing dashboard under Settings > API Keys. |
| n8n API Key | No | Your n8n instance API key. Enables automatic workflow node detection without needing a separate "Get Workflow" node. To create one: open n8n, go to Settings > API, and click Create an API Key. The key only needs the workflow:read scope. |
| n8n API URL | No | The URL of your n8n instance's REST API. Defaults to http://localhost:5678/api/v1, which works for most setups since the node runs inside n8n itself. Change only for n8n Cloud or custom deployments. |
Node Setup
Add the Mibo Testing node at the end of your workflow (or wherever you want to capture the trace). It always captures every executed node in the workflow — there are no filters or manual node lists to maintain.
The node needs to know which nodes the workflow contains. It supports two sources, tried in this order:
- n8n REST API (recommended) — set n8n API Key in the credentials. Works out of the box on both n8n Cloud and self-hosted.
- Upstream
Get Workflownode — connect an n8nGet Workflownode before the Mibo Testing node; itsnodesandconnectionsoutput are used as the fallback source.
With n8n API credentials:
[Trigger] --> [Your Nodes] --> [Mibo Testing]
Without n8n API credentials:
[Trigger] --> [Your Nodes] --> [Get Workflow] --> [Mibo Testing]If neither source is available, the node errors with a link to https://docs.mibo-ai.com/n8n-node/setup/.
Node Parameters
| Parameter | Description |
|-----------|-------------|
| Agent ID | Your agent UUID in Mibo Testing. Leave empty if the API key is already scoped to a single agent. |
| Request ID | Override the x-request-id used to correlate this trace. Defaults to the incoming webhook header, falling back to the n8n execution id. |
| Include Metadata | Add environment, version, and custom fields to the trace metadata. |
Advanced Options
| Option | Default | Description | |--------|---------|-------------| | Timeout (Seconds) | 30 | Maximum time to wait for the Mibo Testing server to respond. |
Output
The node passes through all input data unchanged, adding a _miboTrace object to each item:
{
"original_field": "preserved",
"_miboTrace": {
"sent": true,
"traceId": "abc-123",
"platformId": "550e8400-...",
"requestId": "req-456",
"timestamp": "2026-03-08T10:30:00.000Z",
"spansSent": 3,
"payloadSize": "12.5 KB"
}
}Trace shape
The node POSTs to POST /public/traces using the Mibo Custom API shape:
{
"spans": [
{
"span_id": "<uuid>",
"parent_span_id": null,
"name": "Webhook",
"attributes": {
"n8n.node.type": "n8n-nodes-base.webhook",
"n8n.node.status": "success",
"n8n.node.output": "{\"body\":\"hi\"}"
}
},
{
"span_id": "<uuid>",
"parent_span_id": "<webhook-span-id>",
"name": "AI Agent",
"attributes": {
"n8n.node.type": "@n8n/n8n-nodes-langchain.agent",
"n8n.node.status": "success",
"n8n.node.output": "{\"output\":\"reply\"}"
}
}
],
"externalMetadata": { "workflowId": "..." },
"metadata": { "workflowId": "...", "workflowName": "...", "timestamp": "..." },
"platformId": "<optional>"
}span.name is the n8n display name of the node — the same string you see in the n8n editor and the same string Mibo node_call assertions match against. Identity (the externalId Mibo uses for create-or-replace correlation) is sent via the x-request-id HTTP header, not in the body. See https://docs.mibo-ai.com/n8n-node/setup/ for the full reference.
Development
Prerequisites
- Node.js >= 20
- pnpm >= 10
- Docker (for the default dev flow)
Setup
git clone https://github.com/mibo-ai/mibo-testing-n8n-node.git
cd mibo-testing-n8n-node
pnpm installDevelopment
The default dev flow runs n8n in Docker — no global installs needed.
pnpm run devBuilds the node, starts n8n in Docker, and watches for source changes. Open http://localhost:5678 — reload the workflow in n8n to pick up rebuilt code.
If you prefer running n8n directly on your machine (requires n8n installed globally):
pnpm run dev:local