Improving n8n by understanding usage [coming in next version]

(Once you’ve read this post, we’d love your feedback on this idea here)

It may surprise you to learn that self-hosted n8n currently has no telemetry (analytics). This isn’t ideal: if we don’t know how n8n is being used, it’s hard to be sure we’re taking the best actions to improve it.

For example, it would be helpful to know:

  • Which errors are most common (to prioritise fixing them)
  • Which nodes are the most used (so we can improve them, and prioritise building related ones)
  • What people are forced to use the HTTP node for (so we can build a dedicated node for those things)
  • What people search for when looking for nodes (so we can make them easier to find, e.g. type ‘code’ and get the function node)

For these reasons we think everyone would benefit if we introduced very targeted, anonymous telemetry in future versions of n8n. But we also want to respect privacy, and avoid collecting sensitive information. And of course we’d also like to hear how you feel about it.

What we propose to collect

  • The error code and message that failed executions return (but without any payload data, and not for custom nodes)
  • The graph of a workflow (i.e. only the types of the nodes used and which other nodes they are connected to — not their names, for example)
  • From node parameters, only:
    • The resource and operation that a node is set to
    • The domain for HTTP nodes (excluding subdomain, path or any query parameters)
  • How many times a workflow has executed
  • Information on how the UI is used (e.g. nodes panel searches, or how often the expression editor is used)
  • Diagnostic information
    • n8n version
    • Certain settings:
      • DB_TYPE
      • N8N_VERSION_NOTIFICATIONS_ENABLED
      • N8N_DISABLE_PRODUCTION_MAIN_PROCESS
      • Execution variables
      • N8N_BASIC_AUTH_ACTIVE
    • Operating system, RAM and CPUs
  • An anonymous instance ID

What we would NOT collect

  • Any personally identifiable information
  • Credential information
  • Node parameters (apart from those listed above)
  • Execution data
  • Sensitive settings (e.g. endpoints, ports, DB connections, username/password)
  • Error payloads

It also goes without saying that we would only use data this to better understand how n8n is used. We would keep it anonymous, and would never sell any data we collect to anyone.

And of course, you would be able to opt out! You could turn telemetry off completely with an environment variable.

We’ve tried to keep this list down to the core things that would help us make n8n better for everyone, while respecting privacy.

We’d love to get your thoughts on this

If you can spare 2 mins please take this survey!

8 Likes

maybe add a feedback button to send error reports etc

2 Likes

Great idea, @RedPacketSec :+1:

I’ve got no problems with this and think it’s a wise idea. Thanks for clarifying the data you are collecting, that’s reassuring. LGTM.

3 Likes

Many thanks everyone for your responses! Here is a summary of the survey results:

Total responses: 21
OK with introducing analytics: 90% (19)
Would opt out: 38% (8)
Other points:

  • Shouldn’t impact performance
  • Would be nice to see the data collected
  • Would be nice to have a ‘send error report’ feature (as an alternative to analytics)

Overall it’s great to hear your enthusiasm for improving the product! Many thanks for all the messages of support you sent. We’re excited to have your backing to implement this, and look forward to using it to make n8n better in the most relevant ways to you. For those of you who’d like to opt out, don’t worry — we will of course let you know when we introduce this feature.

7 Likes

A quick update here: this feature is now ready and is scheduled to be released with the next version of n8n (0.143 0.145). Thanks again to everyone who provided feedback on its design — we’re sure this will provide insights to help us make n8n better for everyone.

To make sure no-one is taken by surprise by this change, we’ve added a notice when you start n8n with instructions for opting out if you wish to.

More details (including exactly what data we’ll collect and how to opt out) are in the docs.

Thanks for being transparent on this. Will opting out completely disable telemetry (i.e. the same behaviour as versions before 0.143)? Or will some data still be sent?

As another commenter mentioned, I think a feedback button to only send reports when explicitly initiated by the user would be a good middle ground.

fyi it is not part of 0.143.0, rather of 0.144.0

Yes, it will be possible to disable it, so that nothing gets sent as right now. We however would still appreciate it if most people would not do that. After all, do we not collect the data to sell it to evil-corp, we collect it to get a better understanding of what people are doing and how we can improve the product for those users. Right now, we pretty much flying in the dark.

Sure feedback via a button is always nice but does honestly in the best case give us only a very incomplete and random picture.

3 Likes

another fyi. Got pushed out further and got so also not released with 0.144.0