Skip to main content
Question

URL formula to Add Current User to Userlist

  • November 5, 2025
  • 0 replies
  • 141 views

Forum|alt.badge.img+3

I have a table with a userlist, I want to have a button that the current user viewing records can click to add themselves to a userlist field.   Having trouble remembering how I have done it before.

Forum|alt.badge.img+11
  • Registered
  • November 5, 2025

Can use this in a formula URL field to add/remove yourself from a userlist, change the [Users List] to name of your field.

//ADD TO LIST
  var text addtolist=ToText([Users List])&";"&UserToEmail(User())&"";

  //REMOVE FROM LIST
  var text removefromlist= List(";",
  If(Trim(Part(UserListToEmails([Users List]),1,";"))!=Trim(UserToEmail(User())),Part(UserListToEmails([Users List]),1,";")),
  If(Trim(Part(UserListToEmails([Users List]),2,";"))!=Trim(UserToEmail(User())),Part(UserListToEmails([Users List]),2,";")),
  If(Trim(Part(UserListToEmails([Users List]),3,";"))!=Trim(UserToEmail(User())),Part(UserListToEmails([Users List]),3,";")),
  If(Trim(Part(UserListToEmails([Users List]),4,";"))!=Trim(UserToEmail(User())),Part(UserListToEmails([Users List]),4,";")),
  If(Trim(Part(UserListToEmails([Users List]),5,";"))!=Trim(UserToEmail(User())),Part(UserListToEmails([Users List]),5,";")),
  If(Trim(Part(UserListToEmails([Users List]),6,";"))!=Trim(UserToEmail(User())),Part(UserListToEmails([Users List]),6,";")),
  If(Trim(Part(UserListToEmails([Users List]),7,";"))!=Trim(UserToEmail(User())),Part(UserListToEmails([Users List]),7,";")),
  If(Trim(Part(UserListToEmails([Users List]),8,";"))!=Trim(UserToEmail(User())),Part(UserListToEmails([Users List]),8,";")),
  If(Trim(Part(UserListToEmails([Users List]),9,";"))!=Trim(UserToEmail(User())),Part(UserListToEmails([Users List]),9,";")),
  If(Trim(Part(UserListToEmails([Users List]),10,";"))!=Trim(UserToEmail(User())),Part(UserListToEmails([Users List]),10,";")),
  If(Trim(Part(UserListToEmails([Users List]),11,";"))!=Trim(UserToEmail(User())),Part(UserListToEmails([Users List]),11,";")),
  If(Trim(Part(UserListToEmails([Users List]),12,";"))!=Trim(UserToEmail(User())),Part(UserListToEmails([Users List]),12,";")),
  If(Trim(Part(UserListToEmails([Users List]),13,";"))!=Trim(UserToEmail(User())),Part(UserListToEmails([Users List]),13,";")),
  If(Trim(Part(UserListToEmails([Users List]),14,";"))!=Trim(UserToEmail(User())),Part(UserListToEmails([Users List]),14,";")),
  If(Trim(Part(UserListToEmails([Users List]),15,";"))!=Trim(UserToEmail(User())),Part(UserListToEmails([Users List]),15,";")),
  If(Trim(Part(UserListToEmails([Users List]),16,";"))!=Trim(UserToEmail(User())),Part(UserListToEmails([Users List]),16,";")),
  If(Trim(Part(UserListToEmails([Users List]),17,";"))!=Trim(UserToEmail(User())),Part(UserListToEmails([Users List]),17,";")),
  If(Trim(Part(UserListToEmails([Users List]),18,";"))!=Trim(UserToEmail(User())),Part(UserListToEmails([Users List]),18,";")),
  If(Trim(Part(UserListToEmails([Users List]),19,";"))!=Trim(UserToEmail(User())),Part(UserListToEmails([Users List]),19,";")),
  If(Trim(Part(UserListToEmails([Users List]),20,";"))!=Trim(UserToEmail(User())),Part(UserListToEmails([Users List]),20,";")));

  var text addurl = URLRoot()&"db/"&Dbid()&"?a=api_editrecord&rid="&[Record ID#]&"&_fid_24="&$addtolist&"&apptoken=c49npyysfqrjruprdmbbj7s2bk";

  var text removeurl = URLRoot()&"db/"&Dbid()&"?a=api_editrecord&rid="&[Record ID#]&"&_fid_24="&$removefromlist&"&apptoken=c49npyysfqrjruprdmbbj7s2bk";

  If(Contains(UserListToEmails([Users List]),UserToEmail(User())),

  $removeurl & "&rdr=" & URLEncode( URLRoot() & "db/" & Dbid() & "?a=doredirect&z=" & Rurl()),
      
  $addurl & "&rdr=" & URLEncode( URLRoot() & "db/" & Dbid() & "?a=doredirect&z=" & Rurl()))

Forum|alt.badge.img+11
  • Registered
  • November 5, 2025

Can use this in a formula URL field to create a button that allows a user to add/remove themselves from a userlist. Change [Users List] to the name of your field, and add an app token where it says "xxxxxxxxxxxxxxxxxx". Also change fid 24 to the ID of your user list field.

//ADD TO LIST
  var text addtolist=ToText([Users List])&";"&UserToEmail(User())&"";

  //REMOVE FROM LIST
  var text removefromlist= List(";",
  If(Trim(Part(UserListToEmails([Users List]),1,";"))!=Trim(UserToEmail(User())),Part(UserListToEmails([Users List]),1,";")),
  If(Trim(Part(UserListToEmails([Users List]),2,";"))!=Trim(UserToEmail(User())),Part(UserListToEmails([Users List]),2,";")),
  If(Trim(Part(UserListToEmails([Users List]),3,";"))!=Trim(UserToEmail(User())),Part(UserListToEmails([Users List]),3,";")),
  If(Trim(Part(UserListToEmails([Users List]),4,";"))!=Trim(UserToEmail(User())),Part(UserListToEmails([Users List]),4,";")),
  If(Trim(Part(UserListToEmails([Users List]),5,";"))!=Trim(UserToEmail(User())),Part(UserListToEmails([Users List]),5,";")),
  If(Trim(Part(UserListToEmails([Users List]),6,";"))!=Trim(UserToEmail(User())),Part(UserListToEmails([Users List]),6,";")),
  If(Trim(Part(UserListToEmails([Users List]),7,";"))!=Trim(UserToEmail(User())),Part(UserListToEmails([Users List]),7,";")),
  If(Trim(Part(UserListToEmails([Users List]),8,";"))!=Trim(UserToEmail(User())),Part(UserListToEmails([Users List]),8,";")),
  If(Trim(Part(UserListToEmails([Users List]),9,";"))!=Trim(UserToEmail(User())),Part(UserListToEmails([Users List]),9,";")),
  If(Trim(Part(UserListToEmails([Users List]),10,";"))!=Trim(UserToEmail(User())),Part(UserListToEmails([Users List]),10,";")),
  If(Trim(Part(UserListToEmails([Users List]),11,";"))!=Trim(UserToEmail(User())),Part(UserListToEmails([Users List]),11,";")),
  If(Trim(Part(UserListToEmails([Users List]),12,";"))!=Trim(UserToEmail(User())),Part(UserListToEmails([Users List]),12,";")),
  If(Trim(Part(UserListToEmails([Users List]),13,";"))!=Trim(UserToEmail(User())),Part(UserListToEmails([Users List]),13,";")),
  If(Trim(Part(UserListToEmails([Users List]),14,";"))!=Trim(UserToEmail(User())),Part(UserListToEmails([Users List]),14,";")),
  If(Trim(Part(UserListToEmails([Users List]),15,";"))!=Trim(UserToEmail(User())),Part(UserListToEmails([Users List]),15,";")),
  If(Trim(Part(UserListToEmails([Users List]),16,";"))!=Trim(UserToEmail(User())),Part(UserListToEmails([Users List]),16,";")),
  If(Trim(Part(UserListToEmails([Users List]),17,";"))!=Trim(UserToEmail(User())),Part(UserListToEmails([Users List]),17,";")),
  If(Trim(Part(UserListToEmails([Users List]),18,";"))!=Trim(UserToEmail(User())),Part(UserListToEmails([Users List]),18,";")),
  If(Trim(Part(UserListToEmails([Users List]),19,";"))!=Trim(UserToEmail(User())),Part(UserListToEmails([Users List]),19,";")),
  If(Trim(Part(UserListToEmails([Users List]),20,";"))!=Trim(UserToEmail(User())),Part(UserListToEmails([Users List]),20,";")));

  var text addurl = URLRoot()&"db/"&Dbid()&"?a=api_editrecord&rid="&[Record ID#]&"&_fid_24="&$addtolist&"&apptoken=xxxxxxxxxxxxxxxxxx";

  var text removeurl = URLRoot()&"db/"&Dbid()&"?a=api_editrecord&rid="&[Record ID#]&"&_fid_24="&$removefromlist&"&apptoken=xxxxxxxxxxxxxxxxxx";

  If(Contains(UserListToEmails([Users List]),UserToEmail(User())),

  $removeurl & "&rdr=" & URLEncode( URLRoot() & "db/" & Dbid() & "?a=doredirect&z=" & Rurl()),
      
  $addurl & "&rdr=" & URLEncode( URLRoot() & "db/" & Dbid() & "?a=doredirect&z=" & Rurl()))

Forum|alt.badge.img+11
  • Registered
  • November 5, 2025

I posted the formula but my reply disappeared. Maybe it's in a mod queue.

Anyway, you can also find the formula on the Exchange if you have access to that:

https://{your-realm}.quickbase.com/nav/main/action/exchange/qb/library/assign-a-record-to-me-button


MarkShnierYou
Forum|alt.badge.img+24

Try this

var text MyUserList  = Totext([userlist2]); // insert your List User field here

var text NewUserList = List(";",$MyUserList, totext(User()));

var text AddCurrentUser = URLRoot() & "db/" & Dbid() & "?act=API_EditRecord&rid=" & [Record ID#] 
& "&_fid_99=" & $NewUserList;   // change 99 to the userlist field.

var text RefreshPage =  URLRoot() & "db/" & Dbid() & "?a=doredirect&z=" & Rurl();

 
$AddCurrentUser
& "&rdr=" & URLEncode($RefreshPage)