Connect n8n

Push n8n workflow runs to Obsivara — either via an HTTP Request node in your workflow, or by registering your n8n instance for admin sync.

Approach A — Webhook push (recommended)

Add an HTTP Request node at the end of your n8n workflow. Set the method to POST and point it at the Obsivara n8n ingest endpoint. The /ingest/webhook/n8n path is an alias of the generic webhook — it accepts the same event body.

Example using n8n expressions to fill in the run ID and workflow name automatically:

bash
curl -X POST https://api.obsivara.com/ingest/webhook/n8n \
  -H "Authorization: Bearer obs_live_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "event": "run_finished",
    "run_id": "{{ $execution.id }}",
    "asset_id": "my-n8n-workflow",
    "name": "{{ $workflow.name }}",
    "outcome": "success",
    "duration_ms": {{ $execution.resumeUrl ? 0 : 1000 }}
  }'

Set the Authorization header to Bearer obs_live_YOUR_KEY using n8n's Header Auth credential. Replace my-n8n-workflow with your asset_id — this is the identifier that groups runs on the Obsivara dashboard.

You can send run_started at the top of your workflow and run_finished at the bottom to capture duration. Use the same run_id (e.g. {{ $execution.id }}) in both calls.

Approach B — Admin sync

An Obsivara admin can register an n8n instance so that Obsivara pulls execution history automatically. Send a POST to /v1/n8n-integrations with the instance name, base URL, and an n8n API key:

bash
POST https://api.obsivara.com/v1/n8n-integrations
Authorization: Bearer obs_live_YOUR_ADMIN_KEY
Content-Type: application/json

{
  "name": "My n8n instance",
  "baseUrl": "https://n8n.example.com",
  "apiKey": "n8n_api_YOUR_N8N_KEY"
}
json
{
  "id": "integ_...",
  "name": "My n8n instance",
  "baseUrl": "https://n8n.example.com",
  "createdAt": "2024-01-01T00:00:00.000Z"
}

After registration, Obsivara polls the n8n Executions API and imports run status, duration, and span data for the workflows you select in the dashboard.

n8n sync does NOT capture tokens, model name, or cost.n8n's execution API does not expose LLM usage details. To capture token and cost data, add webhook llm_call events from your workflow nodes (Approach A), or instrument the underlying model calls with the JavaScript SDK.

Asset attribution

Set asset_id in the event body to the logical name of the agent or workflow you want to track (e.g. support-bot). All runs with the same asset_id are grouped under one asset on the Obsivara inventory page. You can also pass it as a query parameter: ?asset_id=support-bot.

Verify it worked

After sending an event, open the Obsivara dashboard and find your asset. Runs typically appear within one minute. See Verify it worked for a step-by-step walkthrough.