Overview
When consumers update their contact information (such as phone number, email, or address) in VA 2.0, ACE captures and applies those changes in real time.
This article explains:
What happens to updated contact data
How text messaging preferences are handled
Which workflow triggers may apply
How to automate verification and prioritization of new records
What Happens When a Consumer Updates Their Information
When a consumer enters contact information in VA 2.0:
The data is inserted into the consumer's profile in ACE only if that field is currently blank on the primary account.
Existing contact information is never overwritten, preserving original data integrity while still capturing missing details.
Each new contact detail is recorded in an account note, which:
Is visible to agents for review.
Allows agents to manually apply the update if deemed appropriate.
Balances consumer self-service with agent oversight.
Phone Number & Text Messaging Preferences
When a consumer updates their phone number in VA 2.0:
If “Text me” is set to true, the phone number is automatically opted in for text messaging.
If “Text me” is set to false, an opt-out confirmation message is sent.
This opt-in/opt-out logic honors consumer consent preferences.
Examples of Contact Update Behavior
Example 1: No Existing Phone Number
The ACE record has no phone number listed.
The consumer adds a new phone number in VA 2.0 and enables "Text me."
Result in ACE:
The phone number is inserted into the consumer's profile.
It is verified, marked as priority 1, and opted in for text messaging.
A note is added to the account documenting the update.

Image displays Example 1 — new phone number added, verified, prioritized, and opted in.
Example 2: Existing Phone Number Present
The ACE record already contains a primary phone number.
The consumer enters a different phone number in VA 2.0 and enables "Text me."
Result in ACE:
If the existing primary phone number is Verified:
New number is added, verified, and opted in for text messaging.
New number is set to priority 2 (immediately after the existing Verified number).
If the existing primary phone number is not Verified:
New number is added, verified, and opted in for text messaging.
New number is set to priority 1.
An account note records the consumer’s submission.
Agents may choose to promote the new number or keep the current primary.

Image Displays Example 2 — account notes logging phone updates, consent changes, and trigger initiations from VA 2.0.
Example 3: No Existing Email Address
The ACE record has no email on file.
The consumer adds an email address in VA 2.0.
Result in ACE:
The email is inserted into the account.
It is verified, assigned priority 1, and marked as OPTED_IN.
An account note is created to log the update.
Example 4: Email Update with Existing Email Present
The ACE record already has an email address on file.
The consumer enters a new email address in VA 2.0.
Result in ACE:
The new email is added as an additional primary with a lower priority (e.g., 2).
It is verified and marked as OPTED_IN.
An account note is created documenting the update.
Agents can choose whether to promote the new email.
Example 5: No Existing Mailing Address Present
The ACE record has no mailing address on file.
The consumer provides a new address through VA 2.0.
Result in ACE:
The full address is inserted into the consumer’s profile.
It is marked as active, assigned priority 1, and classified as Demographic Type = Primary.
The source field is blank, and the address is not automatically verified.
A series of account notes are generated, documenting:
Trigger initiations (onAfterVirtualAgentPersonContactUpdate and onAfterVirtualAgentPersonUpdate)
Component-level changes (Address1, Address2, City, State, Zip) from <empty> to the new values
The full address creation event with formatting
Agents can view these notes and optionally verify or adjust the record as needed.

Image displays Example 5 — new address added from VA 2.0 with priority 1.
Example 6: Existing Mailing Address Present
The ACE record an existing Mailing address on file.
The consumer provides a new address through VA 2.0.
Result in ACE:
The full address is inserted into the consumer’s profile.
It is marked as active, assigned priority 2, and classified as Demographic Type = Primary.
The source field is blank, and the address is not automatically verified.
A series of account notes are generated, documenting:
Trigger initiations (onAfterVirtualAgentPersonContactUpdate and onAfterVirtualAgentPersonUpdate)
Component-level changes (Address1, Address2, City, State, Zip) from <empty> to the new values
The full address creation event with formatting
Agents can view these notes and optionally verify or adjust the record as needed.
Workflow Triggers to Consider
Two key triggers are involved when consumers update contact details:
onAfterVirtualAgentPersonContactUpdate: Initiates after a consumer updates address, phone, or email.
onAfterVirtualAgentPersonUpdate: Initiates when a consumer updates name, DOB, SSN, and contact info.
Caution
These two triggers may initiate simultaneously. Carefully configure your workflows to avoid duplication or conflicts.
Optional Automation: Verify and Prioritize New Demographics
You can optionally use the onAfterVirtualAgentPersonUpdate trigger, connected to an Action Path, to run a JavaScript flow action to automatically verify and prioritize new demographic address, phone, and email records submitted by consumers in VA 2.0.
This automation can be added in two ways:
Existing Action Path – Insert the JavaScript flow action into the Action Path already linked to onAfterVirtualAgentPersonUpdate trigger.
New Action Path – Create a new Action Path, add the JavaScript flow action, and link it to onAfterVirtualAgentPersonUpdate trigger.
Important
A trigger can only be connected to one Action Path at a time. If onAfterVirtualAgentPersonUpdate is already linked, you must either add the JavaScript to that existing Action Path or disconnect it before creating a new action path.
Caution
Exercise extreme care when creating Action Paths to be applied to your workflow. Incorrect configuration or execution can cause significant issues, including duplicate updates or unintended data changes.
Review all potentially associated workflows before making new Action Paths active.
For assistance adding or modifying Action Paths, contact Support.
Configure the Action Path

Image Displays onAfterVirtualAgentPersonUpdate Action Path and Flow Action
Navigate to Setup → Workflow → Action Paths and create a new Action Path.
Provide the following details:
Label: onVirtualAgentPersonUpdate
Description: JavaScript flow action to automatically verify and prioritize new consumer demographic records—address, phone, and email
Add Flow Actions:
Label: JavaScript (VA 2.0): Verify Consumer Demographic Updates & Set Priority
Class Name: Javascript
Script: See example below.
Save the Action Path.
var demographicAddress = new DemographicAddress().loadMatch(
debt.getDebtID(),
Demographic.Type.PRIMARY,
vaPerson.getAddress1(),
vaPerson.getCity(),
vaPerson.getState(),
vaPerson.getZip()
);
if (demographicAddress != null && demographicAddress.exists())
{
demographicAddress.setVerified(true);
demographicAddress.setVerifiedDate(DateTime.now());
demographicAddress.save();
demographicAddress.makeFirstPriority();
}
var demographicPhone = new DemographicPhone().load(debt.getDebtID(), vaPerson.getPhoneCall());
if (demographicPhone.exists())
{
demographicPhone.setVerified(true);
demographicPhone.save();
demographicPhone.makeFirstPriority();
}
var demographicEmail = new DemographicEmail().load(debt.getDebtID(), vaPerson.getEmail());
if (demographicEmail.exists())
{
demographicEmail.setVerified(true);
demographicEmail.save();
demographicEmail.makeFirstPriority();
}
Connect the Action Path and Trigger
Go to Setup → Workflow → Trigger, select New.
Event Type: onAfterVirtualAgentPersonUpdate
Active: true
Flow Action ID: Select the onVirtualAgentPersonUpdate action path from the dropdown.
Save.

Image Displays onAfterVirtualAgentPersonUpdate Trigger Connected with the Action Path
SQL Report for Consumer Demographic Updates in VA 2.0
This example SQL report can be used to identify consumer demographic updates made in VA 2.0 for review as needed.
SELECT
debt_note.debt_id,
debt_note.create_date::timestamp,
debt_note.parameters[1] AS "String:Contact Field",
debt_note.parameters[2] AS "String:Previous Contact Detail",
debt_note.parameters[3] AS "String:VA Contact Update"
FROM
debt_note
WHERE
debt_note.create_date >= CURRENT_DATE - INTERVAL '1 day'
AND debt_note.note_type = 'VIRTUAL_AGENT'
AND debt_note.user_id = (
SELECT user_id
FROM auth_user_passwd
WHERE username = 'virtual_agent'
)
AND debt_note.parameters[1] IN (
'Email Address', 'Phone Call', 'Address1', 'Address2',
'City', 'State', 'Zip', 'First Name', 'Last Name'
)
AND debt_note.identifier = 'note.va_person.field.change'
ORDER BY
debt_note.create_date,
debt_note.debt_id,
debt_note.parameters[1]
Please Note:
This report displays all consumer demographic updates submitted through VA 2.0 based on account notes created at the time of submission. It functions independently of the optional JavaScript automation for verifying and prioritizing records, meaning it will return the same update history whether or not that automation is enabled in your workflows.
Example Report Output:

Image Displays Example SQL Report Output for Consumer Demographic Updates from VA
Communication Preferences Are Respected
All contact updates respect the consumer’s Do Not Call, Do Not Email, Do Not Mail, and Do Not Text flags set on the primary account.