Would be nice to have Categories on the Integration page

it would be nice to have category on the integration page
such as CRM, CMS, Database, ERP…
For now I cross reference your 300 nodes with http://alternativeto.net to see if the Apps is Open Source but also I try to categories them.

@JOduMonT agree, that would be nice.

Make sure you upvote the feature request.

Definitely a great idea. For the time being, you can see the nodes divided into broad categories in the actual n8n UI if you’re using a recent version.

1 Like

I don’t know if it trully feasible but I try to build a n8n workflow for it :slight_smile:

@sirdavidoff yes I just saw that now and it is HTML EXTRACTable for each node: [here an example]n8n/ActionNetwork.node.json at master · n8n-io/n8n · GitHub)

Yup, exactly. We’re actually in the early stages of revamping the whole of n8n.io, but it’s a big job and will take some time

1 Like

I started to tag apps supported by n8n.io on AlternativeTo.
I suggest a change on Calendly with this comment
we will see what they answer back :wink:

Hi, it would be nice to being able to filter which apps are supported by n8n.io. I saw something similar with Cloudron.io

@sirdavidoff nice work, may I understand from where you pull the category, because they are quite generic sometimes; for an example: would’nt be better to have CRM and CMS instead of everything under Marketing & Content :wink:

How may I help with that

For now I put everything in a LibreOffceCalc but I could easily make it more collaborative

2 Likes

Hey @JOduMonT, the source of truth for this information are the node codex files that live in the GitHub repository. For example, here’s the node codex file for the Action Network node: n8n/ActionNetwork.node.json at master · n8n-io/n8n · GitHub

This information is updated from there (updated in Strapi), so that we can display it on n8n.io. There’s a GraphQL API that you can use to expose this information: http://api.n8n.io/graphql

This example workflow loads the name, display name, and categories for all the n8n nodes.

{
  "nodes": [
    {
      "parameters": {},
      "name": "Start",
      "type": "n8n-nodes-base.start",
      "typeVersion": 1,
      "position": [
        250,
        300
      ]
    },
    {
      "parameters": {
        "requestMethod": "GET",
        "endpoint": "http://api.n8n.io/graphql",
        "query": "query {\n\tnodes {\n\t\tname\n\t\tdisplayName\n                categories {\n                          name\n        }\n\t}\n}"
      },
      "name": "Nodes in n8n",
      "type": "n8n-nodes-base.graphql",
      "typeVersion": 1,
      "position": [
        450,
        300
      ]
    },
    {
      "parameters": {
        "functionCode": "return items[0].json.data.nodes.map(node => {\n  return { json: node }\n})\n\n"
      },
      "name": "Filter incoming data",
      "type": "n8n-nodes-base.function",
      "typeVersion": 1,
      "position": [
        650,
        300
      ]
    }
  ],
  "connections": {
    "Start": {
      "main": [
        [
          {
            "node": "Nodes in n8n",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Nodes in n8n": {
      "main": [
        [
          {
            "node": "Filter incoming data",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}

@sirdavidoff can probably comment on how the categories are chosen and other segments of your questions that I missed :slight_smile:

Amazing that you’re updating Alternativeto, @JOduMonT — many thanks for that :heart_eyes:. Are you adding the integrations as features?

Regarding categories like ‘CRM’: I can see where you’re coming from. These would be best as sub-categories under the existing ones, to avoid making the top-level list too long