Cloudron makes it easy to run web apps like WordPress, Nextcloud, GitLab on your server. Find out more or install now.


Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Bookmarks
  • Search
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Brand Logo

Cloudron Forum

Apps | Demo | Docs | Install
  1. Cloudron Forum
  2. N8N
  3. Add users to Cloudron - N8N

Add users to Cloudron - N8N

Scheduled Pinned Locked Moved N8N
12 Posts 5 Posters 1.8k Views 5 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • Sam_ukS Sam_uk

    So I made a N8N flow that takes user-submitted email addresses from a form.io form.

    I can create users and generate the signup emails, however, I'm stuck at adding them to groups

    My flow is below, can anyone shed any light?

    {
      "name": "Add to groups",
      "nodes": [
        {
          "parameters": {},
          "name": "Start",
          "type": "n8n-nodes-base.start",
          "typeVersion": 1,
          "position": [
            250,
            300
          ]
        },
        {
          "parameters": {
            "projectId": "6168084eb35ff178dd907fd7",
            "formId": "61680a64e1092633bce1b86c",
            "events": [
              "create"
            ],
            "simple": false
          },
          "name": "Form.io Trigger",
          "type": "n8n-nodes-base.formIoTrigger",
          "typeVersion": 1,
          "position": [
            450,
            450
          ],
          "webhookId": "c923b1b2-2794-44b3-9dce-a3c3936b06d1",
          "credentials": {
            "formIoApi": {
              "id": "3",
              "name": "Form.io account 2"
            }
          }
        },
        {
          "parameters": {
            "requestMethod": "POST",
            "url": "=https://my.cloudron-url.org/api/v1/users/{{$node[\"create user\"].json[\"email\"][\"id\"]}}/create_invite?access_token=xxxxkeyfromcloudronxxxxxxx&_method=post",
            "options": {}
          },
          "name": "Create invite",
          "type": "n8n-nodes-base.httpRequest",
          "typeVersion": 1,
          "position": [
            870,
            420
          ]
        },
        {
          "parameters": {
            "requestMethod": "POST",
            "url": "=https://my.cloudron-url.org/api/v1/users/{{$node[\"create user\"].json[\"email\"][\"id\"]}}/send_invite?access_token=xxxxkeyfromcloudronxxxxxxx&_method=post",
            "options": {}
          },
          "name": "send invite",
          "type": "n8n-nodes-base.httpRequest",
          "typeVersion": 1,
          "position": [
            1070,
            420
          ]
        },
        {
          "parameters": {
            "requestMethod": "POST",
            "url": "=https://my.cloudron-url.org/api/v1/users/?access_token=xxxxkeyfromcloudronxxxxxxx&_method=post",
            "responseFormat": "string",
            "dataPropertyName": "email",
            "options": {},
            "bodyParametersUi": {
              "parameter": [
                {
                  "name": "=email",
                  "value": "={{$node[\"Form.io Trigger\"].json[\"data\"][\"email\"]}}"
                }
              ]
            }
          },
          "name": "create user",
          "type": "n8n-nodes-base.httpRequest",
          "typeVersion": 1,
          "position": [
            650,
            450
          ]
        },
        {
          "parameters": {
            "requestMethod": "PUT",
            "url": "=https://my.cloudron-url.org/api/v1/users/{{$node[\"create user\"].json[\"email\"][\"id\"]}}/groups?access_token=xxxxkeyfromcloudronxxxxxxx",
            "responseFormat": "string",
            "dataPropertyName": "=groups",
            "jsonParameters": true,
            "options": {},
            "bodyParametersJson": "={\n\"groupIds\": [ ]\n}",
            "queryParametersJson": "=users"
          },
          "name": "add to /users",
          "type": "n8n-nodes-base.httpRequest",
          "typeVersion": 1,
          "position": [
            1250,
            410
          ]
        }
      ],
      "connections": {
        "Form.io Trigger": {
          "main": [
            [
              {
                "node": "create user",
                "type": "main",
                "index": 0
              }
            ]
          ]
        },
        "Create invite": {
          "main": [
            [
              {
                "node": "send invite",
                "type": "main",
                "index": 0
              }
            ]
          ]
        },
        "send invite": {
          "main": [
            [
              {
                "node": "add to /users",
                "type": "main",
                "index": 0
              }
            ]
          ]
        },
        "create user": {
          "main": [
            [
              {
                "node": "Create invite",
                "type": "main",
                "index": 0
              }
            ]
          ]
        }
      },
      "active": true,
      "settings": {},
      "id": 7
    }
    
    Sam_ukS Offline
    Sam_ukS Offline
    Sam_uk
    wrote on last edited by
    #2

    Just making sure groupIds= groupname in Cloudron?

    The default 'user' group ID would be 'user' for example?

    girishG 1 Reply Last reply
    0
    • Sam_ukS Sam_uk

      Just making sure groupIds= groupname in Cloudron?

      The default 'user' group ID would be 'user' for example?

      girishG Offline
      girishG Offline
      girish
      Staff
      wrote on last edited by girish
      #3

      @sam_uk I guess you are looking for the API call to add a user to a group ?

      So, you make a PUT request on /api/v1/users/:userId/groups with groupIds in the body. groupIds is an array of group ids.

      Group ids are not the same as group name. You have to get the ids via the GET /api/v1/groups call. This is because group names can be changed.

      Sam_ukS 1 Reply Last reply
      3
      • girishG girish

        @sam_uk I guess you are looking for the API call to add a user to a group ?

        So, you make a PUT request on /api/v1/users/:userId/groups with groupIds in the body. groupIds is an array of group ids.

        Group ids are not the same as group name. You have to get the ids via the GET /api/v1/groups call. This is because group names can be changed.

        Sam_ukS Offline
        Sam_ukS Offline
        Sam_uk
        wrote on last edited by
        #4

        @girish said in Add users to Cloudron - N8N:

        /api/v1/groups

        Thanks, it hangs with

        {
          "groupIds": [
            "gid-2155eeef-b8bd-45f5-9473-xxx"
          ]
        }
        

        But that's progress! I'll investigate further tomorrow.

        1 Reply Last reply
        1
        • girishG Offline
          girishG Offline
          girish
          Staff
          wrote on last edited by
          #5

          You should get something like this:

          $ curl 'https://my.domain.com/api/v1/groups?access_token=xxx'
          {
            "groups": [
              {
                "id": "gid-02fc23f0-c0df-4276-a54a-e3958b53ffd8",
                "name": "people",
                "source": "",
                "userIds": [
                  "uid-0a7dc777-c010-459e-a8db-ab853ea4f742"
                ]
              }
            ]
          }
          
          1 Reply Last reply
          1
          • Sam_ukS Sam_uk

            So I made a N8N flow that takes user-submitted email addresses from a form.io form.

            I can create users and generate the signup emails, however, I'm stuck at adding them to groups

            My flow is below, can anyone shed any light?

            {
              "name": "Add to groups",
              "nodes": [
                {
                  "parameters": {},
                  "name": "Start",
                  "type": "n8n-nodes-base.start",
                  "typeVersion": 1,
                  "position": [
                    250,
                    300
                  ]
                },
                {
                  "parameters": {
                    "projectId": "6168084eb35ff178dd907fd7",
                    "formId": "61680a64e1092633bce1b86c",
                    "events": [
                      "create"
                    ],
                    "simple": false
                  },
                  "name": "Form.io Trigger",
                  "type": "n8n-nodes-base.formIoTrigger",
                  "typeVersion": 1,
                  "position": [
                    450,
                    450
                  ],
                  "webhookId": "c923b1b2-2794-44b3-9dce-a3c3936b06d1",
                  "credentials": {
                    "formIoApi": {
                      "id": "3",
                      "name": "Form.io account 2"
                    }
                  }
                },
                {
                  "parameters": {
                    "requestMethod": "POST",
                    "url": "=https://my.cloudron-url.org/api/v1/users/{{$node[\"create user\"].json[\"email\"][\"id\"]}}/create_invite?access_token=xxxxkeyfromcloudronxxxxxxx&_method=post",
                    "options": {}
                  },
                  "name": "Create invite",
                  "type": "n8n-nodes-base.httpRequest",
                  "typeVersion": 1,
                  "position": [
                    870,
                    420
                  ]
                },
                {
                  "parameters": {
                    "requestMethod": "POST",
                    "url": "=https://my.cloudron-url.org/api/v1/users/{{$node[\"create user\"].json[\"email\"][\"id\"]}}/send_invite?access_token=xxxxkeyfromcloudronxxxxxxx&_method=post",
                    "options": {}
                  },
                  "name": "send invite",
                  "type": "n8n-nodes-base.httpRequest",
                  "typeVersion": 1,
                  "position": [
                    1070,
                    420
                  ]
                },
                {
                  "parameters": {
                    "requestMethod": "POST",
                    "url": "=https://my.cloudron-url.org/api/v1/users/?access_token=xxxxkeyfromcloudronxxxxxxx&_method=post",
                    "responseFormat": "string",
                    "dataPropertyName": "email",
                    "options": {},
                    "bodyParametersUi": {
                      "parameter": [
                        {
                          "name": "=email",
                          "value": "={{$node[\"Form.io Trigger\"].json[\"data\"][\"email\"]}}"
                        }
                      ]
                    }
                  },
                  "name": "create user",
                  "type": "n8n-nodes-base.httpRequest",
                  "typeVersion": 1,
                  "position": [
                    650,
                    450
                  ]
                },
                {
                  "parameters": {
                    "requestMethod": "PUT",
                    "url": "=https://my.cloudron-url.org/api/v1/users/{{$node[\"create user\"].json[\"email\"][\"id\"]}}/groups?access_token=xxxxkeyfromcloudronxxxxxxx",
                    "responseFormat": "string",
                    "dataPropertyName": "=groups",
                    "jsonParameters": true,
                    "options": {},
                    "bodyParametersJson": "={\n\"groupIds\": [ ]\n}",
                    "queryParametersJson": "=users"
                  },
                  "name": "add to /users",
                  "type": "n8n-nodes-base.httpRequest",
                  "typeVersion": 1,
                  "position": [
                    1250,
                    410
                  ]
                }
              ],
              "connections": {
                "Form.io Trigger": {
                  "main": [
                    [
                      {
                        "node": "create user",
                        "type": "main",
                        "index": 0
                      }
                    ]
                  ]
                },
                "Create invite": {
                  "main": [
                    [
                      {
                        "node": "send invite",
                        "type": "main",
                        "index": 0
                      }
                    ]
                  ]
                },
                "send invite": {
                  "main": [
                    [
                      {
                        "node": "add to /users",
                        "type": "main",
                        "index": 0
                      }
                    ]
                  ]
                },
                "create user": {
                  "main": [
                    [
                      {
                        "node": "Create invite",
                        "type": "main",
                        "index": 0
                      }
                    ]
                  ]
                }
              },
              "active": true,
              "settings": {},
              "id": 7
            }
            
            andreasduerenA Online
            andreasduerenA Online
            andreasdueren
            wrote on last edited by
            #6

            @Sam_uk Hi Sam I would like to build something similar. Did you get it to work properly?

            Sam_ukS P 2 Replies Last reply
            2
            • andreasduerenA andreasdueren

              @Sam_uk Hi Sam I would like to build something similar. Did you get it to work properly?

              Sam_ukS Offline
              Sam_ukS Offline
              Sam_uk
              wrote on last edited by
              #7

              @andreasdueren No sorry we ended up going with Keycloak for user management.

              1 Reply Last reply
              1
              • Sam_ukS Sam_uk

                So I made a N8N flow that takes user-submitted email addresses from a form.io form.

                I can create users and generate the signup emails, however, I'm stuck at adding them to groups

                My flow is below, can anyone shed any light?

                {
                  "name": "Add to groups",
                  "nodes": [
                    {
                      "parameters": {},
                      "name": "Start",
                      "type": "n8n-nodes-base.start",
                      "typeVersion": 1,
                      "position": [
                        250,
                        300
                      ]
                    },
                    {
                      "parameters": {
                        "projectId": "6168084eb35ff178dd907fd7",
                        "formId": "61680a64e1092633bce1b86c",
                        "events": [
                          "create"
                        ],
                        "simple": false
                      },
                      "name": "Form.io Trigger",
                      "type": "n8n-nodes-base.formIoTrigger",
                      "typeVersion": 1,
                      "position": [
                        450,
                        450
                      ],
                      "webhookId": "c923b1b2-2794-44b3-9dce-a3c3936b06d1",
                      "credentials": {
                        "formIoApi": {
                          "id": "3",
                          "name": "Form.io account 2"
                        }
                      }
                    },
                    {
                      "parameters": {
                        "requestMethod": "POST",
                        "url": "=https://my.cloudron-url.org/api/v1/users/{{$node[\"create user\"].json[\"email\"][\"id\"]}}/create_invite?access_token=xxxxkeyfromcloudronxxxxxxx&_method=post",
                        "options": {}
                      },
                      "name": "Create invite",
                      "type": "n8n-nodes-base.httpRequest",
                      "typeVersion": 1,
                      "position": [
                        870,
                        420
                      ]
                    },
                    {
                      "parameters": {
                        "requestMethod": "POST",
                        "url": "=https://my.cloudron-url.org/api/v1/users/{{$node[\"create user\"].json[\"email\"][\"id\"]}}/send_invite?access_token=xxxxkeyfromcloudronxxxxxxx&_method=post",
                        "options": {}
                      },
                      "name": "send invite",
                      "type": "n8n-nodes-base.httpRequest",
                      "typeVersion": 1,
                      "position": [
                        1070,
                        420
                      ]
                    },
                    {
                      "parameters": {
                        "requestMethod": "POST",
                        "url": "=https://my.cloudron-url.org/api/v1/users/?access_token=xxxxkeyfromcloudronxxxxxxx&_method=post",
                        "responseFormat": "string",
                        "dataPropertyName": "email",
                        "options": {},
                        "bodyParametersUi": {
                          "parameter": [
                            {
                              "name": "=email",
                              "value": "={{$node[\"Form.io Trigger\"].json[\"data\"][\"email\"]}}"
                            }
                          ]
                        }
                      },
                      "name": "create user",
                      "type": "n8n-nodes-base.httpRequest",
                      "typeVersion": 1,
                      "position": [
                        650,
                        450
                      ]
                    },
                    {
                      "parameters": {
                        "requestMethod": "PUT",
                        "url": "=https://my.cloudron-url.org/api/v1/users/{{$node[\"create user\"].json[\"email\"][\"id\"]}}/groups?access_token=xxxxkeyfromcloudronxxxxxxx",
                        "responseFormat": "string",
                        "dataPropertyName": "=groups",
                        "jsonParameters": true,
                        "options": {},
                        "bodyParametersJson": "={\n\"groupIds\": [ ]\n}",
                        "queryParametersJson": "=users"
                      },
                      "name": "add to /users",
                      "type": "n8n-nodes-base.httpRequest",
                      "typeVersion": 1,
                      "position": [
                        1250,
                        410
                      ]
                    }
                  ],
                  "connections": {
                    "Form.io Trigger": {
                      "main": [
                        [
                          {
                            "node": "create user",
                            "type": "main",
                            "index": 0
                          }
                        ]
                      ]
                    },
                    "Create invite": {
                      "main": [
                        [
                          {
                            "node": "send invite",
                            "type": "main",
                            "index": 0
                          }
                        ]
                      ]
                    },
                    "send invite": {
                      "main": [
                        [
                          {
                            "node": "add to /users",
                            "type": "main",
                            "index": 0
                          }
                        ]
                      ]
                    },
                    "create user": {
                      "main": [
                        [
                          {
                            "node": "Create invite",
                            "type": "main",
                            "index": 0
                          }
                        ]
                      ]
                    }
                  },
                  "active": true,
                  "settings": {},
                  "id": 7
                }
                
                BrutalBirdieB Offline
                BrutalBirdieB Offline
                BrutalBirdie
                Partner
                wrote on last edited by
                #8

                @luckow take a look at this 🙂

                Like my work? Consider donating a drink. Cheers!

                1 Reply Last reply
                1
                • andreasduerenA andreasdueren

                  @Sam_uk Hi Sam I would like to build something similar. Did you get it to work properly?

                  P Offline
                  P Offline
                  plusone-nick
                  wrote on last edited by
                  #9

                  @andreasdueren I have recently built a reg page with the same features but using Wappler/PHP and the LAMP app in Cloudron
                  Currently cleaning up the project and plan on releasing it for the community =]

                  ✌💙+1

                  andreasduerenA 1 Reply Last reply
                  8
                  • P plusone-nick

                    @andreasdueren I have recently built a reg page with the same features but using Wappler/PHP and the LAMP app in Cloudron
                    Currently cleaning up the project and plan on releasing it for the community =]

                    andreasduerenA Online
                    andreasduerenA Online
                    andreasdueren
                    wrote on last edited by
                    #10

                    @plusone-nick Awesome! Please keep me updated

                    P 1 Reply Last reply
                    2
                    • andreasduerenA andreasdueren

                      @plusone-nick Awesome! Please keep me updated

                      P Offline
                      P Offline
                      plusone-nick
                      wrote on last edited by plusone-nick
                      #11

                      @andreasdueren Quick update! I have completed the port over to PHP along with a new front end design =] Here is a quick demo with +1 theming:

                      Next I will be forking the project to make the Cloudron Community Theme & also scrub any keys/URLs

                      Here is the git repo where I will publish: https://git.plusone.network/nick/cloudron-registration-community
                      Currently there is only the readme notes but you can check them out in the meantime if anyone is interested in how Wappler works or would like more insight into how the app is designed. I have screenshots and code snippets of all of the API's & Variables. There are 5 items that must be changed (2 URL's, 2 ENV Variables & 1 Config Secret Key) and then its as simple as dropping it into a LAMP app! =]

                      EDIT: Forgot to leave the URL: https://join.plusonenetwork.xyz/
                      This is on my test/demo org so feel free to register& try it out yourself! I will be purging this instance eventually or you can message me to remove your user if you'd like

                      I do plan on adding more security/validation features in the near future but this should do for now...

                      Any thoughts or suggestions are more than welcome! =]

                      ✌💙+1

                      P 1 Reply Last reply
                      9
                      • P plusone-nick

                        @andreasdueren Quick update! I have completed the port over to PHP along with a new front end design =] Here is a quick demo with +1 theming:

                        Next I will be forking the project to make the Cloudron Community Theme & also scrub any keys/URLs

                        Here is the git repo where I will publish: https://git.plusone.network/nick/cloudron-registration-community
                        Currently there is only the readme notes but you can check them out in the meantime if anyone is interested in how Wappler works or would like more insight into how the app is designed. I have screenshots and code snippets of all of the API's & Variables. There are 5 items that must be changed (2 URL's, 2 ENV Variables & 1 Config Secret Key) and then its as simple as dropping it into a LAMP app! =]

                        EDIT: Forgot to leave the URL: https://join.plusonenetwork.xyz/
                        This is on my test/demo org so feel free to register& try it out yourself! I will be purging this instance eventually or you can message me to remove your user if you'd like

                        I do plan on adding more security/validation features in the near future but this should do for now...

                        Any thoughts or suggestions are more than welcome! =]

                        P Offline
                        P Offline
                        plusone-nick
                        wrote on last edited by
                        #12

                        here is the first release: https://forum.cloudron.io/topic/7546/open-registration-app-for-cloudron

                        ✌💙+1

                        1 Reply Last reply
                        3
                        Reply
                        • Reply as topic
                        Log in to reply
                        • Oldest to Newest
                        • Newest to Oldest
                        • Most Votes


                        • Login

                        • Don't have an account? Register

                        • Login or register to search.
                        • First post
                          Last post
                        0
                        • Categories
                        • Recent
                        • Tags
                        • Popular
                        • Bookmarks
                        • Search