Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.


Style
importhttps://docs.empowerid.com/docs.css

The Account Inbox is the process by which EmpowerID determines whether the user accounts discovered during the inventory of an external system are:

  • Ignored
  • Joined to an existing EmpowerID Person
  • Used to provision new EmpowerID Persons


The criteria for this process is defined by four database scalar functions that can be customized as needed. These functions are as followsdescribed below.


Info

You can edit these filters, as well as the default logic for the Join and Provision Rules that uses to determine whether inventoried accounts meet the criteria for being joined to existing EmpowerID Persons or used to provision new EmpowerID Persons directly from the EmpowerID Web application. For the details, see Reviewing Join and Provision Rules.


AccountInboxing_GetJoinFilter

This function specifies which accounts can be joined to People. To be joined, accounts must meet the criteria specified by the function AS WELL AS the filter specified in the AccountInboxing_GetJoinAndProvisionFilter function. The default logic for this function states that all inventoried accounts are eligible for joining. If the value of AllowJoin was set to 0, no accounts would be eligible.

Code Block
languagesql
themeEmacsConfluence
DECLARE @JoinFilter NVARCHAR(MAX) = N'A.AllowJoin = 1'

...

Code Block
languagesql
themeEmacsConfluence
DECLARE @JoinFilter NVARCHAR(MAX) = N'A.AllowJoin = 1' AND A.AccountStoreID = 1002

AccountInboxing_GetProvisionFilter

This function specifies the accounts from which Persons can be provisioned. To be provisioned, accounts must meet the criteria specified the function AS WELL AS the filter specified in the AccountInboxing_GetJoinAndProvisionFilter function. The default logic for this function states that Persons can be provisioned from an accounts store when AllowPersonProvisioning is set to true on the account store from which the account originates.

Code Block
languagesql
themeEmacsConfluence
DECLARE @ProvisionFilter NVARCHAR(MAX) =
    N'A.AllowProvision = 1 AND EXISTS(SELECT 1 FROM AccountStore S WHERE A.AccountStoreID = S.AccountStoreID AND S.AllowPersonProvisioning = 1)'

...

Code Block
languagesql
themeEmacsConfluence
DECLARE @ProvisionFilter NVARCHAR(MAX) =
    N'A.AllowProvision = 1 AND EXISTS(SELECT 1 FROM AccountStore S WHERE A.AccountStoreID = S.AccountStoreID AND S.AllowPersonProvisioning = 1 AND A.Department = N''Sales'')'

AccountInboxing_GetJoinAndProvisionFilter

This function specifies logic that the above two functions, AccountInboxing_GetJoinFilter and AccountInboxing_GetProvisionFilter, could have in common. This prevents duplicating this logic in the other two functions. To be joined or used to provision new Persons, accounts must meet the criteria specified by the function AS WELL AS the filters specified in the AccountInboxing_GetJoinFilter function (for joining) and the AccountInboxing_GetProvisionFilter function (for provisioning). The default logic for this function ensures that for joining or provisioning, an account must meet the following criteria:

...

Code Block
languagesql
themeEmacsConfluence
DECLARE @JoinAndProvisionFilter NVARCHAR(MAX) = N'A.PersonID IS NULL AND A.Disabled = 0 AND A.Deleted = 0 AND A.AccountTypeID <> 2 AND A.AccountUsageTypeID = 1 AND LEN(A.FirstName) > 0 AND LEN(A.LastName) > 0'

...

Code Block
languagesql
themeEmacsConfluence
DECLARE @JoinAndProvisionFilter NVARCHAR(MAX) =
            N'A.PersonID IS NULL AND A.Disabled = 0 AND A.Deleted = 0 AND A.AccountTypeID <> 2 AND A.AccountUsageTypeID = 1
            AND LEN(A.FirstName) > 0 AND LEN(A.LastName) > 0 AND A.EmployeeType = ''Contractor''

AccountInboxing_GetJoinLogic

This function specifies whether an account can be joined to a person based on the presence of certain corresponding fields between the account in question and an EmpowerID Person. By default, the logic looks matches between the FirstName and LastName attributes. If matches are found, the logic looks for any one of the following matches. If a match is found, (and the conditions of the above mentioned join functions are met), EmpowerID will join the account to the Person. This function can be modified to define custom matching logic.

  • EmployeeID
  • DateOfBirth
  • PersonalEmail
  • Email

...



fas fa-
Info

EmpowerID provides several functions that allow you to preview the outcome of the above the Join and Provision functions before enabling those features. To do so, you can run any of the previewing functions in the EmpowerID Identity Warehouse. These functions are as follows.

  • EXEC [dbo].[AccountInboxing_Preview_JoinCandidates] - Allows you to preview which accounts are targets for being joined to Persons
  • EXEC [dbo].[AccountInboxing_Preview_ProvisionCandidates] - Allows you to preview from which accounts new Persons would be provisioned if they are not joined.
  • EXEC [dbo].[AccountInboxing_Preview_Joins] - Allows you to preview the accounts and the Persons to which they would be joined.

...