Hi @karthi,
The issue here is the condition would always be false once the assigned to field has been updated.
And the trigger works whenever there is a modification occurred in the SharePoint list.
So the No part would be run whenever there is a modification, which then result in multiple emails.
There is an idea submitted to suggest Flow to add trigger which hwn the modification only happens to sepcial field, I think that should be suitable in your scenario:
Trigger a flow when a specif SharePoint list field is updated.
Please consider vote it up, so that this would be considered in next Flow release.
For a workaround, we should create another field to mark the assigned status (AStatus, with initial value set to 0, once assigned, change this field to 1), for example, a number field.
In addition to check the empty status of the AssignTo field, we need to check if the Assigned status equals to 0.
The logic here is: (under first condition, we need to check two fields, one for empty, another for the Assigned status), if they both verified, then under the Yes or no part (depend how you write the condition), send the email, after the Send Email action, add another action, SharePoint->Update item, update the Assigned Status to 1.
For example, if we write the condition in the following way:
@or(and(empty(triggerBody()?['Assigned_x0020_To']?['Email']),
empty(triggerBody()?['AStatus'])
),
and(empty(triggerBody()?['Assigned_x0020_To']?['Email']),
equals(int(triggerBody()?['AStatus']), 0)
)
)
Then under the YES part, we add the Send Email Action, after that, add the Update item action, then update the Astatus value to 1, under the No part, just leave it blank.
The formula checks if the Assigned To is empty, and whether the Astatus is empty or equals to 0, in such situation, we send the email and update the item, otherwise, do nothing.
Regards,
Michael