Menu

n8n

Send events from HTTP Request nodes at the end of success and failure paths.

Use the ingestion URL below, your API key, and either workflow_id or workflow_slug. Optional fields depend on what n8n exposes in your workflow.

Success path

  1. Add an HTTP Request node after the last successful step.
  2. Configure:
    • Method: POST
    • URL: https://app.flowpulse.xyz/api/v1/ingest/run-success
    • Authentication: None (use headers below)
    • Headers: X-API-Key, Content-Type: application/json
    • Body: JSON

Example body using workflow_id:

{
  "workflow_id": "YOUR_FLOWPULSE_WORKFLOW_ID",
  "ended_at": "{{ $now.toISO() }}",
  "external_execution_id": "{{ $execution.id }}",
  "source_platform": "n8n",
  "source_workflow_id": "{{ $workflow.id }}",
  "duration_ms": {{ $execution.duration }},
  "metadata": {
    "trigger": "{{ $execution.mode }}"
  }
}

Example using workflow_slug instead of workflow_id:

{
  "workflow_slug": "lead-enrichment",
  "ended_at": "{{ $now.toISO() }}",
  "external_execution_id": "{{ $execution.id }}",
  "source_platform": "n8n"
}

external_execution_id, source_platform, source_workflow_id, and duration_ms are optional where not supported.

Failure path

  1. Use an Error Trigger or n8n error workflow.
  2. Add an HTTP Request to https://app.flowpulse.xyz/api/v1/ingest/run-failure with the same headers.
{
  "workflow_id": "YOUR_FLOWPULSE_WORKFLOW_ID",
  "error_message": "{{ $json.message || 'Workflow failed' }}",
  "ended_at": "{{ $now.toISO() }}",
  "external_execution_id": "{{ $execution.id }}",
  "source_platform": "n8n"
}

Prerequisites

Create the workflow in FlowPulse first. Resolve workflow_id via the dashboard or GET /api/v1/workflows.