Can Below Use can be implemented using Event Strategy Manager

Our Use Case: For any customer if we do not receive any Event in last 60 mins, then ESM should emit the last received Event.

Below are some example , when we want event to be emitted.

Ex 1. For Customer X we receive first Event at 11:00 AM and so on

Event 1 : 11:00 AM

Event 2 : 11:05 AM

At 12:06 PM – Event 2 should be emitted (As no Event is last 60 mins)

Event 3 : 12 :10 PM

At 01:11 PM – Event 3 should be emitted (As no Event is last 60 mins)

Event 4: 01:50 PM

At 02:51 PM – Event 4 should be emitted (As no Event is last 60 mins)

Ex 2. For Customer X we receive first Event at 11:00 AM and so on

Event 1: 11:00 AM

Event 2: 11:05 AM

Event 3: 12 :04 PM

Event 4: 01:02 PM

At 02:03 Event 4 Should be emitted.

Ex 3. For Customer X we receive first Event at 11:00 AM and so on

Event 1: 11:00 AM

Event 2: 11:05 AM

At 12:06 Event 2 Should be emitted.

Event 3: 12 :10 PM

Event 4: 01:02 PM

At 02:03 Event 4 Should be emitted.

But using ESM none of the scenario is working ,
we are unable to get the expected outcome. We have tried both tumbling and Sliding window option but not working.

Can anybody suggest on how to achieve this using ESM?

This cannot be implemented with Event Strategy Manager alone in the way you described, because ESM evaluates when a new event arrives and windowing works on incoming events, not on the absence of events. Pega training material shows event strategies are used to detect patterns from events that are received and then emit a result, but not to wake up by themselves after inactivity. The clear way to achieve your use case is to send a scheduled heartbeat or timer event for each customer every minute, store the latest real event for that customer, and when the heartbeat sees that no new real event has arrived for 60 minutes, emit that stored last event. This works for all your examples because the timer event gives ESM something to evaluate exactly when inactivity crosses the 60 minute mark.