Library / Reports, Analytics & Dashboards
Reports, Analytics & Dashboards
Compile n8n Workflow Statistics
When run or called, it queries the n8n API and assembles statistics on nodes, workflows, tags and globals into one JSON object.
What it does
## Create the main JSON object with the workflow statistics * globals - general information (# of workflows, active workflows, total trigger count) * wf_stats - summary per workflow (number or nodes, unique nodes, list of nodes and tags) * nodes-section - summary per node (number of workflows that use a node and their URLs) * tags-section - summary per tag (number of workflows that use a node and their URLs) * webhook-section - lists all webhook endpoints of the instance and shows the workflow URLs ### You can use this JSON in BI tools to create a custom dashboard ## Learn JS tips & tricks ### Instead of just using one Code node, the workflow contains several nodes with useful advanced tricks. ### JMESPath * Make a simple array of strings out of a complex array: $jmespath($json,'nodes[*].type') * Extract values based on condition: $jmespath($input.all(),'[?json.wf_stats.wf_active == true]') ### Map and arrow functions * Perform operation on each array element: .map(item => (item.split('.').pop().toUpperCase() )) * Calculate sum of values from an array: .reduce((accumulator, currentValue) => accumulator + currentValue, 0) ### Create an array with only unique values * [...new Set($json.nodes_array)] ### Date-time conversions with the Luxon library: * DateTime.fromISO($json.createdAt).toFormat('yyyy-MM-dd HH:mm:ss') ### Template literals (Template strings) for creating strings in JS * wf-${$json.id}
The steps
- When clicking "Test workflow"
- nodes-section
- workflows-section
- tags-section
- globals-section
- Execute Workflow Trigger
- Convert to XML
- Create HTML
- Move Binary Data
- Respond to Webhook
- Respond to Webhook2
- Final template
- Template elements
- Sort-workflows
28 steps in total.
Similar automations
Reports, Analytics & DashboardsGenerate n8n Workflow Statistics Report65 stepsWeb Scraping & ResearchExtract YouTube Video Statistics into Google Sheets7 stepsSocial Media PublishingShorten a URL and Get Its Stats with YOURLS4 stepsBuilding Blocks & UtilitiesCreate a Short URL and Get Stats with Yourls3 steps