When you create a flow with SharePoint trigger like "When an item is created or modified", you want your flow only triggers when the new item is created or modified. However, when you turn off the flow, make modification to the items, then turn on the flow, the flow still triggers for that item's modifications.
This is a known issue of this kindly of trigger.
The trigger "When an item is created or modified" uses the triggerstate property to define when was the last trigger time. This is implemented in the back-end process.
As the trigger tries to check from the triggerstate regardless the flow is turn on or off, when you turn on the flow, the process when scan for all modified items based on the trigger state.
1- You create a flow "When an item is created or modified" => Send me an email.
When the flow is triggered, it stores a triggerstate property in the API call as triggerstate="2020-12-10T12:12:12:000Z"
2- Now you turn off the flow, during one day, you make changes to the items in the list set in the trigger.
3- You turn on the flow at "2020-12-11T12:12:12:000Z"
4- The system check for new data to fire the trigger, but the system scan from the triggerstate="2020-12-10T12:12:12:000Z" to the
timstamp when the checking process starts. ( "2020-12-11T12:12:12:000Z")
At the moment, this is a known issue as the Sharepoint connector use A polling trigger (such as the recurrence trigger) and use the triggerstate as time for starting the scan.
You can learn more about this at:
Troubleshoot common issues with triggers - Power Automate | Microsoft Docs
Schema reference for trigger and action types - Azure Logic Apps | Microsoft Docs
Create web APIs & REST APIs for Azure Logic Apps - Azure Logic Apps | Microsoft Docs
Set the start timestamp for the trigger in the TRIGGER CONDITION:
This syntax will make sure the flow only trigger when the item is modified after '2020-12-15T05:46:12Z ( the time when we will turn on the flow)
Hope this helps you understand about the triggering behavior of Sharepoint connector.