Using a stored variable to break a loop

I use Marketcircle’s Daylite to manage my calendars, but I also use Google Cal to manage bookings of events by clients.

When a booking is made in GCal, I use Make scenario A to create an appointment in Daylite, and enter various bits of info into Daylite CRM.

Once the booking is in the CRM, I manage it using the calendar inside Daylite. So, if I change the date of this booked event, I use Make scenario B to register that an event has been updated in Daylite, find the corresponding event in GCal, and change that event.

But this change to the GCal event means the as an updated event, the next time scenario A runs, it starts to process the updated event, which leads to an update being made to . This then updates the corresponding DL event. And so on.

What would be helpful is if just before the modules updating the GCal and Daylite events in scenario A and Scenario B, I could set a variable, which could store a value such as ‘MakeChange and a reference number’, so that when Scenario B runs, it reads the variable, realises the event that has been updated is a change made by Make and stops the execution of the scenario.

I know I could use a general catch-all which checks if the modification date for either the GCal or the Daylite events was in the last 15 minutes and thus in the same window, but this would prevent a necessary update that was made within the last 15 minutes.

It strikes me that this ‘how to stop a loop’ is fairly common, but I’ve struggled to find an applicable solution to my circumstances.