CreatePortalAccount

The CreatePortalAccount activity automates the creation of AD and Portal accounts based on the triggering event. For example, a Portal account can be created when a specific status change occurs or when a new applicant/lead completes a form.

The supported authentication methods include STS, AD, and Azure AD.

The StudentEntity Saved Event is the preferred event to call the CreatePortalAccount activity especially for AD and Azure AD authentication.

Use Case

An institution uses Anthology Student and implements a workflow with CreatePortalAccount activity to create a Portal account when a New Lead is created. A common scenario is that the activity is triggered by a StudentEntity Saved Event (web client) or Person Saved Event (desktop client), however, the workflow could also be triggered by a different event.

Properties

CreatePortalAccount Properties
Property Value Required Notes
AddUserToActiveDirectory InArgument<Boolean> Yes if AD or Azure AD is used A Boolean expression that specifies whether the user needs to be added to the Active Directory. The default value is False.

Set this value to True if Active Directory (AD) or Azure AD is used in your Portal.

Prerequisite: If the Portal is deployed in an AD environment, a username and password for a "Student Active Directory User" must be configured in the Portal Admin Console . The CreatePortalAccount activity uses the "Student Active Directory User" account as an impersonation account to call the Create/Update WebPortalAccountService APIs.

AdGuId InArgument<Guid> Yes if AD or Azure AD is used Specify the globally unique identifier (GUID) (stored in wpUser.GUID of the Portal database) using a VB expression or variable.
CampusId InArgument<Int32> Yes Specify the database identifier for the student's Campus using a VB expression or variable.
DisplayName String No Specify a name for the activity or accept the default.
Email InArgument<String> No Specify the student's email address using a VB expression or variable.
FirstName InArgument<String> No Specify the student's first name using a VB expression or variable.
LastName InArgument<String> No Specify the student's last name using a VB expression or variable.
NewId OutArgument<Int32> No Specify the new Id using a VB expression or variable. This value will be used if the activity is used to update a Student Portal account.
Password InArgument<String> Yes Specify a value for the initial password using a VB expression or variable.

Note: The initial password must comply with the given password rules. The CreatePortalAccount activity will fail if the password is not strong enough and doesn’t follow all rules, especially in Azure AD environments. An uppercase letter, lowercase letter, number, and symbol may all have to be used.

StudentId InArgument<Int32> Yes Specify a student identifier (i.e., syStudentId from the syStudent table) using a VB expression or variable.
UserCode InArgument<String> Yes Specify a unique user code (stored in wpUser.UserCode of the Portal database) using a VB expression or variable.

This will be the student's login Id for the Student Portal.

ValidationMessages InOutArgument
<ValidationMessage
Collection>
No Specify a variable that can be used to capture validation messages. For more information, see Capture Validation Errors.

Example: Create Portal Account from a StudentEntity Saved Event in AD Environment

This is an example of Anthology Student eventing workflow for a StudentEntity Saved event in an AD environment. With a few minor changes to the example, a Person Saved Event can be used.

  • If you are using the Web Client for Anthology Student, select the StudentEntity Saved Event when creating the workflow.

  • If you are using the Desktop Client for Anthology Student, select the Person Saved Event when creating the workflow.

The workflow runs when a new lead or new student is added. It creates a username as "first.last" with password "nexus123$".

Note: If you want to create a Portal account based on a Forms Builder sequence being completed, you will need to create the form sequence and supporting workflow that will perform the status change or create the New Lead record. The status change or creation of a New Lead record will be the trigger for a separate workflow that will then create the Portal and/or AD account. For example, if a New Lead Record is created via a Forms Builder sequence, a separate workflow using the StudentEntity Saved Event would then trigger and create the Portal and/or AD account.

CreatePortalAccount Sequence

CreatePortalAccount Sequence

CreatePortalAccount Sequence

Variables:

CreatePortalAccount Sequence

 

  • The workflow is organized in a sequence named "Create Portal Account based on Lead" that contains a Flowchart.

  • The Flowchart has a Start node, Decision node, and sequences named:

    • "Find Lead Status"
    • "Create Portal Account"
    • "End Workflow"
  • "Find Lead Status" contains a LookupListItem activity that checks for the "New Lead" status.

    Find Lead Status

  • The Decision evaluates a condition statement to true/false:

    To check for a new student, specify:

    Entity.EntityState = Cmc.Core.EntityModel.EntityState.Added and Entity.SchoolStatusId = Lead.Id

  • The "False" branch leads to the "End Workflow" sequence with a TerminateWorkflow activity.

Create Portal Account Sequence

  • The "True" branch leads to the "Create Portal Account" sequence with the following activities:

  • ExecuteDataReader

    The ExecuteDataReader named "Find Campus" finds the sycampusid. The Query CommandText in the Query section is as follows:

    "select sycampusid from systudent where systudentid = " & entity.Id

    The Assign activity in the Query section assigns the sycampusid found in the database to the "campus" variable.

    DirectCast(CurrentRow("sycampusid"), int32)

  • Assign

    The Assign activity below ExecuteDataReader assigns the value "new System.Guid" to the "guidPortal" variable.

  • CreatePortalAccount

    CreatePortalAccount Properties

    Note: In an Azure AD environment make sure that the CreatePortalAccount activity in the "StudentEntity Saved" workflow has a fully qualified name in the UserCode property, e.g., first.last@<server>customer.campusnexus.cloud,

Usage in AD and Azure AD Environments with Forms Builder

In addition to specific Properties for the CreatePortalAccount in AD and Azure AD environments, please note the following requirements/limitations:

AD Environments with Forms Builder

In AD environments, the CreatePortalAccount activity within a Forms Builder workflow (i.e., not as directed in the separate StudentEntity Saved Event workflow) will function only if a 2nd Portal connection string is added to the Renderer web.config file.

The original connection string in the Renderer web.config is:

<add name="PortalConnection" providerName="System.Data.SqlClient" connectionString="Data Source=...

The added connection string for the CreatePortalAccount activity is:

<add name="dbConnectionPortal" providerName="System.Data.SqlClient" connectionString="Data Source=...

Connection String

Azure AD Environments

When you use Forms Builder to create a New Lead in Anthology Student and you want to create a Portal account and/or AD account, you must create a separate workflow using the StudentEntity Saved Event.

  1. Forms Builder will create the New Lead.

  2. "StudentEntity Saved" workflow logic will trigger and create the accounts.

It is best practice, if you want to trigger the account creation based on status change, to always have a separate workflow when Forms Builder is involved to avoid duplicates.