Skip to main content

User data

Input protocol for plugins commonly includes one or more of the following inner KVGroups:

  • "requester" "admin—user" which describes the user whose action caused the plug-on to run.

  • "recipient" "user" which describes the recipient of the action, if there is one. This is a user whose profile is being managed.

  • "viewer" "user" which describes the viewer of the action, if there is one; for example, an authorizer reviewing a request.

  • "model" "user" which describes the model user used in profile comparison, if there is one.

It is possible for the requester, recipient, and viewer to be the same user.

The product administrator KVGroups

Following is the syntax for requester KVGroup input for a product administrator using the Manage the system (PSA) module:

 "requester" "admin" = {
    "ACL" "" = {<rights list>}
   
    "ID" = "<adminID>"
    "MODBY" = "<admin.modby>" # The last user to modify this user
    "NAME" = "<Full name of the user>"
    } 

For example:

"requester" "admin" = {
     "ACL" "" = {
       "superuser" = ""
   
     }
     "ID" = "superuser"
     "MODBY" = ""
     "NAME" = "superuser"
     } 

See Administrative privileges for keywords to include in the ACL rights list.

The regular user KVGroups

Following is the syntax for KVGroup input for a regular user as requester or viewer:

 "<requester|recipient|viewer>" "user" = {
   
    "ID" = "<profile ID>"
   
    "NAME" = "<user alias>"
    } # 1 or more
  } 

"

For example:

"requester" "user" = {
    "ID" = "crysta.soria"
    "NAME" = "Crysta Soria"
    }
} 
Optional user attribute, account and role detail KVGroups

If the PLUGIN DATA USER ATTRIBUTE DETAILS setting is enabled in the Workflow > Options > Plugins menu, regular user KVGroups include a list of all the user’s profile and request attributes and their values. Each attribute key has the corresponding attribute ID as the name.

Each attribute KVGroup contains a "value" KVGroup. The value KVGroup contains zero or more "value" key-value pairs. Each key-value represents a single distinct value of the attribute. Multiple key-values represent multiple values of the attribute.

 "attribute" "<attribute ID>" = {
    "value" "" = {
       "value" = "<value>" # 0 or more
    }
  } 

If the PLUGIN DATA USER ROLE DETAILS setting is enabled in the Workflow > Options > Plugins menu, regular user KVGroups include a key-value pairs list of all the user’s currently assigned roles.

"role" = "<role ID>" # 0 or more

If the PLUGIN DATA USER ACCOUNT DETAILS setting is enabled in the Workflow > Options > Plugins menu, regular user KVGroups include a list of all the user’s accounts.

 "account" "" = {
    "associated" = "<TRUE|FALSE>"
    "helpdesk" = "<TRUE|FALSE>"
    "hostid" = "<target ID>"
    "invalid" = "<TRUE|FALSE>"
    "longid" = "<long ID>"
    "list" = "<TRUE|FALSE>"
    "modby" = ""
    "shortid" = "<short ID>"
    "user" = "<TRUE|FALSE>"
    "userid" = "<profile ID>"
  }  # 1 or more 
Navigation data

Input protocol for plugins commonly includes a "navigation" inner KVGroup that contains details of the end user navigation:

"navigation" "" = {
   "button"          = "<button name>"
   # Button that was pressed prior to plugin being executed
   
   "jump"            = "<link>"
   # Link that was followed prior to the plugin being executed
   "attrgroup"       = "<attribute group id>"
   
   # Passed in when modifying attributes in an attribute on a subsidiary page
   "managedresource" = "<managed resource id>"
   # Set when using Group Manager
   "prequest"        = "<predefined request id>"
   # Set after selecting a pre-defined request
   "roleid"          = "<role id>"
   
   # Set when selecting optional members of a role
   "targetid"        = "<target id>"
   # Set when selecting groups to add to a request for a specific target
   "wfpage"          = "<page>"
   # Set on every page
   # Possible values:
      # - attrs
      # - createaccount
      # - groupselectionchange
      # - groupselectionfull
      # - idpattrsubsid
      # - idprequestlong
      # - idprequestshort
      # - idrattrsubsid
      # - idsattrsubsid
      # - idsrequestlong
      # - idsrequestshort
      # - idvattrsubsid
      # - idvrequestlong
      # - jump
      # - listrolesandtemplates
      # - psaattrsubsid
      # - pswattrsubsid
      # - rbacvariances
      # - requestsubmit
      # - requestsubmitdeleteaccount
      # - requestsubmitdeleterole
      # - requestsubmitdisableaccount
      # - requestsubmitenableaccount
      # - requestsubmitgroupchange
      # - requestsubmitmove
      # - requestsubmitpredefinedrequest
      # - requestsubmitrenameaccount
      # - requestsubmitreplacerole
      # - requestsubmitupdateaccounts
      # - selectmanagedgroup
      # - selectmanagedresource
      # - selectmoveaccounts
      # - selectoptionalrolemembers
      # - selectpredefinedrequest
      # - selectrenameaccounts
      # - selectrole
      # - selecttemplate
      # - sodviolations
      # - userinfo
}