Check your assignment logic before the Update Records element. In Flow Builder, open your Assignment element and verify you’re setting the field value on the correct record variable. The pattern should be: {!AccountRecord.Loyalty_Points__c} = {!CalculatedPoints}.
Based on your description about field-level security, variable mapping, and the Update Records element, here’s what’s likely happening:
Field-Level Security Issue: Summer '25 enforced stricter FLS checks. Go to Setup > Security > Field Accessibility > Account > Loyalty_Points__c and verify the ‘Automated Process’ user profile has Edit access. This is critical even for system-context flows.
Variable Mapping Verification: Your flow should follow this sequence:
- Get Records: Query the Account using the Purchase’s Account__c lookup field
- Assignment: Create a new variable {!CalculatedPoints} = {!AccountRecord.Loyalty_Points__c} + ({!PurchaseAmount} * {!TierMultiplier})
- Assignment: Set {!AccountRecord.Loyalty_Points__c} = {!CalculatedPoints}
- Update Records: Update {!AccountRecord}
The key is that you must assign the new value BACK to the record variable’s field before the Update Records element. Don’t just calculate it in a separate variable.
Update Records Element Configuration: Open your Update Records element and ensure:
- How to Find Records: ‘Use the IDs and all field values from a record or record collection’
- Record Collection or Record: {!AccountRecord}
- Do NOT use ‘Specify conditions’ - this creates a fresh query and ignores your variable changes
Common mistake: Using ‘Use separate resources’ mode and trying to specify Account ID + field values separately. This bypasses your variable assignments entirely.
Debug Strategy: Add a Screen element right before your Update Records step (temporary, for testing). Display {!AccountRecord.Id} and {!AccountRecord.Loyalty_Points__c}. Run the flow and verify the screen shows the updated point value. If it does, but the database doesn’t reflect it, you have a validation rule or trigger rolling back the change. If the screen shows the old value, your Assignment element isn’t working correctly.
Test with debug logs enabled at FINEST level for Workflow and Validation. Look for the actual DML statement in the logs - it should show the new Loyalty_Points__c value being sent to the database. If you see the old value in the DML, the Assignment failed. If you see the new value but it doesn’t persist, look for VALIDATION_FORMULA or FIELD_CUSTOM_VALIDATION_EXCEPTION entries immediately after.
This combination of FLS enforcement changes, proper variable assignment patterns, and correct Update Records configuration should resolve your issue. The field-level security angle is particularly important in Summer '25 - verify that specific permission first.
This draft is based on general Salesforce knowledge. It has not been verified against your specific version and environment. Practitioners: verify the steps and share your experience below.