diff --git a/create_account.py b/create_account.py
index d5ae3a2a0e0ddcfef1d30e713fd905cfd486847d..9e834b662384914a4cf47dfc37d5ff5bdde79a30 100755
--- a/create_account.py
+++ b/create_account.py
@@ -25,6 +25,7 @@ args = parser.parse_args()
 timeout = 60
 
 queuename = rc_util.encode_name(args.username)
+updated_by = rc_util.get_caller_info()
 
 if args.email == "":
     args.email = args.username
@@ -58,6 +59,7 @@ rc_util.add_account(
     email=args.email,
     full=args.full_name,
     reason=args.reason,
+    updated_by=updated_by,
 )
 print(f"Account for {args.username} requested.")
 
diff --git a/prod_rmq_agents/task_manager.py b/prod_rmq_agents/task_manager.py
index f843f0cffc8cc319ddbfd983090eda75e7e176c5..57d03058e93510ebce82944d49ff34d890dc1509 100644
--- a/prod_rmq_agents/task_manager.py
+++ b/prod_rmq_agents/task_manager.py
@@ -277,7 +277,7 @@ def task_manager(ch, method, properties, body):
 
         update_db(username, {"reported": True})
 
-        rc_util.update_state(username, "ok")
+        rc_util.update_state(username, "ok", msg.get("updated_by"))
 
         tracking.pop(username)
 
diff --git a/rc_util.py b/rc_util.py
index 271debb37029632bfda9f6e1f786b6b865679697..d2bd46eb69c89d00114974999b7636e9864f5bf0 100644
--- a/rc_util.py
+++ b/rc_util.py
@@ -49,7 +49,9 @@ def timeout(seconds=30, error_message=os.strerror(errno.ETIME)):
     return decorator
 
 
-def add_account(username, queuename, email, full="", reason=""):
+def add_account(
+    username, queuename, email, full="", reason="", updated_by=None
+):
     rc_rmq.publish_msg(
         {
             "routing_key": "request." + queuename,
@@ -59,6 +61,7 @@ def add_account(username, queuename, email, full="", reason=""):
                 "fullname": full,
                 "reason": reason,
                 "queuename": queuename,
+                "updated_by": updated_by,
             },
         }
     )