Use ‘Wait till event to occur' as a delay to make the contact wait in the journey till they perform an event before going to the next step. 

Send a custom event via addEvent API or capturing this action and setup delay using the event

For example - Use this as a delay when you want to send an abandon cart email when the users abandon their carts by sending an abandoned cart event to Mailmodo

Step 1: Drag and drop ‘Wait till event to occur’ block from the left panel

Step 2: Connect it to the relevant card in the journey

Step 3: Click on the ‘Wait till event to occur’ block to open the right panel

Step 4: Select the event which the contact has to perform to go to the next step in the journey. You can also optionally filter the event further using event properties that you may have sent with the event

Step 5: Add maximum wait time until which contact has to wait in this step of the journey and click on Save

Whenever the contact reaches the ‘Wait till event to occur’ step in the journey, the journey would wait till the contact performs the event or the maximum time added and then moves to the next step.