diff --git a/get-next-uid-gid.py b/get-next-uid-gid.py
index f2a0b8bf0812e18204cfd59ae14714ee546d6ae0..87a47cc42be32a7055bb5425a53465b495fd051a 100644
--- a/get-next-uid-gid.py
+++ b/get-next-uid-gid.py
@@ -18,6 +18,28 @@ args = rc_util.get_args()
 # Logger
 logger = rc_util.get_logger()
 
+#Account creation 
+def create_account(msg):
+
+    logger.info(f'Account creation request received: {msg}')
+    username = msg['username']
+    uid = msg['uid']
+    email = msg['email']
+    fullname = msg['fullname']
+    success = False
+
+    try:
+        # Bright command to create user
+        cmd = '/cm/local/apps/cmd/bin/cmsh -c '
+        cmd += f'"user; add {username}; set userid {uid}; set email {email}; set commonname \\"{fullname}\\"; '
+        cmd += 'commit;"'
+
+        if not args.dry_run:
+            popen(cmd)
+        logger.info(f'Bright command to create user:{cmd}')
+    except Exception:
+        logger.exception("Fatal cmsh error:")
+
 # Define your callback function
 def get_next_uid_gid(ch, method, properties, body):
 
@@ -47,10 +69,12 @@ def get_next_uid_gid(ch, method, properties, body):
                 awk -F: '($3>10000) && ($3<20000) && ($3>maxgid) { maxgid=$3; } END { print maxgid+1; }'"
             msg['gid'] = popen(cmd_gid).read().rstrip()
             logger.info(f"GID query: {cmd_gid}")
+
+            create_account(msg)
         msg['task'] = task
         msg['success'] = True
     except Exception:
-        logger.exception("Fatal error:")
+        logger.exception("Fatal UID resolution error:")
 
     # Acknowledge message
     ch.basic_ack(delivery_tag=method.delivery_tag)