Control Credit Application Process from Salesforce
Follow the steps described below to embed a Visualforce page onto a Contact or Lead object in your Salesforce instance that has the ability to:
- Draft a Credit Application using the UGA Finance Program.
- View the current process of the newly created application.
- Send application email link to the consumer.
- Automatically Login to uPortal360 to manage items:
- Resolve pending issue.
- Update email address.
- Update application information.
- View Consumer Account at anytime after Origination
Demonstration
-
Load uPortal360 Account Button
-
Click this button to load this Contact or Lead's Customer Account information. The following steps will show the different scenarios that loading the uPortal360 Account can result in.
-
-
Draft Credit Application Button
-
After clicking "Load uPortal360 Account", no information will be displayed as the Credit Application does not exist yet.
-
"Draft Credit Application" will use information from the Contact or Lead record and pass to uPortal360 to create a new Credit Application.
-
Once the draft Credit Application is created, an application email will automatically send to the consumer.
-
-
View Record Summary
-
You can view the record summary after the Credit Application created.
-
You can resend email when the application is not submitted.
ImportantThe "Send application email" button will not available once the application is submitted.
-
The button "Login and view in uPortal360" will launch you into uPortal360 and allow you make modification to the draft credit application.
ImportantYour browser may have Pop-Up Blocking, you'll have to allow the Pop-Up for this to work correctly.
-
-
Refresh Record Summary
- You can manually refresh to get the latest record summary.
- You can manually refresh to get the latest record summary.
Implementation Steps
-
To implement the embedded Visualforce page in your instance of Salesforce, you must be a Salesforce Administrator. The guide below assumes some familiarity with Salesforce and creating fields and deploying code.
NoteImplementation should be in Lightning Experience.
ImportantRequired to enable or activate the 'State and Country/Territory Picklists'. Setup > State and Country/Territory Picklists
Create Custom Fields
-
Create a custom Contact and Lead Field
-
Setup > Object Manager
-
Find "Contacts" and "Leads" object.
-
Select "Fields & Relationships"
-
Create new custom fields below:
Data Type Field Label Length Field Name Options Description/Help Text UAS Contract Number 12 UAS_Contract_Number
Contract number with Universal Account Servicing (UAS) uPortal360 Platform Text UAS Credit Application Id 20 UAS_Credit_Application_Id
Unique Case Insensitive Credit application record number with Universal Account Servicing (UAS) uPortal360 Platform Deprecation and MigrationUAS_Account_Number
are deprecated and replaced byUAS_Contract_Number
. Please appendLOA01
to the old data fromUAS_Account_Number
and data migrate intoUAS_Contract_Number
.
-
Create Custom Setting
-
Create a Custom Setting
-
Setup > Custom Setting
-
Create new custom fields below:
Field Label Field - Object Name Setting Type Visibility Description/Help UAS uPortal360 Settings UAS_uPortal360_Settings
List Protected Settings used to control uPortal360 integration behavior ImportantList custom settings is disabled by default. You can enabled list custom settings on the Schema Settings page in Setup.
Deprecation and MigrationuPortal360_Credentials
are deprecated and replaced by your Salesforce user email address. Please contact UAS to make sure the email address of your user is up to date with our system.
-
-
In the newly created "UAS uPortal360 Settings" custom setting
-
Select the custom setting you created.
-
Create new custom field(s) below:
Data Type Field Label Length Field Name Description/Help Text UAS Program Number 5 UAS_Program_Number
Unique alphanumeric character provided by UAS Text UAS Location Number 9 UAS_Location_Number
Unique alphanumeric character provided by UAS -
Once new field(s) created, click on "Manage" button.
-
Click on "New" button.
-
Create new uPortal360 settings below:
Name UAS Program Number UAS Location Number Main Contact UAS to receive the program number Contact UAS to receive the location number ImportantName are case sensitive.
-
Add Remote Site Access
-
Setup > Remote Site Settings
-
Click on "New Remote Site" button.
-
Create new remote sites below:
Remote Site Name Remote Site URL Description Active UAS_uPortal360_Domain
(If Sandbox) https://staging.uportal360.com Callout to uPortal360 true/checked (If Production) https://uportal360.com UAS_uPortal360_API_Domain
(If Sandbox) https://test-api.uportal360.com Callout to uPortal360 API true/checked (If Production) https://api.uportal360.com ImportantRemote Site URL is case sensitive. Please ensure you are using uportal360 where the
p
is in lower case.Deprecation and MigrationPrevious remote sites are deprecated and should be replaced with the new remote sites above.
Add Auth Provider
-
Setup > Auth Provider
-
Click on "New" button.
-
Create new auth providers below:
- Provider Type: Open ID Connect
- Name: Keycloak
- URL Suffix: Keycloak
- Consumer Key: Contact UAS to receive a consumer key.
- Consumer Secret: Contact UAS to receive a consumer key.
- Authorize Endpoint URL:
- (If Sandbox) https://auth.uportal360.com/realms/uportal360-api-dev/protocol/openid-connect/auth
- (If Production) https://auth.uportal360.com/realms/uportal360-api/protocol/openid-connect/auth
- Token Endpoint URL:
- (If Sandbox) https://auth.uportal360.com/realms/uportal360-api-dev/protocol/openid-connect/token
- (If Production) https://auth.uportal360.com/realms/uportal360-api/protocol/openid-connect/token
- User Info Endpoint URL:
- (If Sandbox) https://auth.uportal360.com/realms/uportal360-api-dev/protocol/openid-connect/userinfo
- (If Production) https://auth.uportal360.com/realms/uportal360-api/protocol/openid-connect/userinfo
- Default Scopes:
openid offline_access
- Send access token in header: true/checked
- Include Consumer Secret in SOAP API Responses: true/checked
Configure Permission Set for External Credential
-
Setup > Permission Sets
-
Create a new permission set or select an existing permission set to have permission to use the integration.
-
Click on "Object Settings".
-
Click on "User External Credentials".
-
Click on "Edit" button and assign the permissions you want.
- Must have "Read" enabled
- Save the settings.
- Setup > Users
- Search for user that you would like to have access to External Credential
- Select the user.
- Scroll down till you reach "Permission Set Assignments" and click on "Edit Assignments" button.
- Add the permission set you configured.
Add External Credential and Named Credential
-
Setup > Named Credential
-
Select "External Credentials" upper tab/menu.
-
Click on "New" button.
-
Create new external credentials below:
Label Name Authentication Protocol Authentication Provider uPortal360 API uPortal360_API
OAuth 2.0 Keycloak (the auth provider you created) -
Select the external credential you created.
-
Click on "New" button under the "Permission Set Mappings".
-
Create new permission set mapping below:
Permission Sequence Number Identity Type Select available permission set with Read - User External Credentials 1 Named Principal -
Once permission set mapping is created, on the "Actions" columns of the permission set mapping, click on "Authenticate".
-
You will redirect to the Auth provider site to authenticate.
NoteContact UAS to receive login credential.
ImportantIf you receive 401 status code when using the integration Visualforce page, you will need to redo this step to re-authenticate.
-
Head back to the main named credential page or Select "Named Credentials" upper tab/menu.
-
Click on "New" button.
-
Create new named credentials below:
Label URL External Credential Generate Authorization Header uPortal360 API (If Sandbox) https://test-api.uportal360.com uPortal360 API (the external credential you created) true/checked (If Production) https://api.uportal360.com
Add Apex Class
-
Setup > Apex Classes
-
Click on "New" button To create a new Class.
-
Copy/Paste Code:
-
Click on "Save" button once done.
ImportantThere are two APEX classes (MAIN class and TEST class) in total that need to be create. You must have unit tests that cover 75% of the total Apex code in your organization for deployment.
-
(Optional) Click on "Run All Tests" button to validate APEX classes.
Add Visualforce Page
-
Setup > Visualforce Pages
-
Click on "New" button To create a new Page.
-
Copy/Paste Code:
Configure Permission Set for Apex Class and Visualforce Page
-
Setup > Permission Sets
-
You may create another new permission set or select the existing permission set that was created earlier.
-
Click on "Apex Class Access".
-
Click on "Edit".
-
Find
CtrlUportal360
on the left column. Select the item and click on the "Add" button. Click on "Save" to finalize the change. -
Navigate back to the permission set overview page and click on "Visualforce Page Access".
-
Click on "Edit".
-
Find
VFUportal360Contact
and/orVFUportal360Lead
on the left column. Select the item and click on the "Add" button. Click on "Save" to finalize the change. -
Setup > Users
-
Search for user that you would like to have access to Apex Class and Visualforce Page
-
Select the user.
-
Scroll down till you reach "Permission Set Assignments" and click on "Edit Assignments" button.
-
Add the permission set you configured.
Embedding Visualforce Page in Page Layouts
- Setup > Object Manager
- Choose Contact or Lead.
- Select "Page Layouts".
- Choose available page layout user has access to.
- Drag a new section into page layout.
- On the layout menu, select "Visualforce Pages".
- Drag the Visualforce Page from the list to new section.
- Click on "Save" button to finalize.
Run a Test
-
Use following testcase information:
Name Birthday Address SSN Credit Score Approved Testcase 18 >= age < 95 Any address in USA 000-000-1001 Approved Pending Testcase 18 >= age < 95 Any address in USA 000-000-1002 Pending Declined Testcase 18 >= age < 95 Any address in USA 000-000-1003 Declined NoHit Testcase 18 >= age < 95 Any address in USA 000-000-1004 No Hit CreditFreeze Testcase 18 >= age < 95 Any address in USA 000-000-1005 Credit Freeze -
Fill out the following fields:
-
Contact
First Name
Last Name
Mailing Street
Mailing City
Mailing State
Mailing Postal Code
Email
- (For testing) Recommended to use an email address that you have access to.
Phone Number
- Any of the following standard phone number fields can be filled out. The first one filled out in the order below will be considered the "primary number".
Mobile Phone
Home Phone
Phone
Other Phone
- Any of the following standard phone number fields can be filled out. The first one filled out in the order below will be considered the "primary number".
-
Lead
First Name
Last Name
Street
City
State
Postal Code
Email
- (For testing) Recommended to use an email address that you have access to.
Phone Number
- Any of the following standard phone number fields can be filled out. The first one filled out in the order below will be considered the "primary number".
Mobile Phone
Phone
- Any of the following standard phone number fields can be filled out. The first one filled out in the order below will be considered the "primary number".
-
-
Click on "Load uPortal360 Account" button.
-
Click on "Draft Credit Application" button.
-
Use the link you receive from the email. The link will redirect you to our Apply Interface portal.
- In production, the consumer will use the email link and continue the application process in the Apply Interface portal.
- You may use the "Send application email" button to send another application email.
-
Once you submit the application in the Apply Interface portal, you may use the "Refresh" button to get the latest data.
Post Migration
This is only applicable if you leveraged an older version of the UGA Finance program with Salesforce. Only perform the actions below once migration step are completed.
- You may delete the
UAS_Account_Number
field once you have data migrate toUAS_Contract_Number
. - You may delete the
uPortal360_Credentials
custom setting once you have migrate to use your Salesforce user email address. - You may delete previous remote site access once the new remote site access are implemented.