Entry and exit conditions allow you to send users to different blocks before or after they've entered the block the conditions are added to, you can read more about how to create conditions here.
Instead of a user going directly to a block, an entry condition will check a series of conditions first and make sure a user goes to the right place. For example, an entry condition could be added before a block that prompts a user for their email in order to check if you've already collected their email, if you have, the user can be routed to the next question in the flow without being prompted twice for their email.
Exit conditions are used to create contextual responses to user input. For example, after completing a purchase or finishing a flow, a user might reach a block that asks if there's anything else they need help with, if a user says "no" or "no thanks" you probably don't want to send them your standard "no" intent response. In this case you'd most likely send them to a block that say something like "great, if there's anything else we can help you with please let us know". So you'd create an exit condition that would check if the user had triggered the "no" intent on this block in order to send them the correct response.
Exit conditions will only be triggered when a user enters free text. If you have buttons or quick replies set up on a block and a user clicks those, the exit condition will not run.
Creating an entry or exit condition is the same as creating a conditional response with one distinction: they don't require you to set a fallback response. For an entry condition, the block you're using the entry condition on serves as the de facto fallback response. This means that if a user doesn't match any of the conditions created in the entry condition, they'll be sent to that block. Exit conditions are triggered when a user leaves a block via a free text entry, meaning the default intent response, or the catch all block if no intent is triggered, serves as the fallback response.
Entry conditions run before a user gets to the block the entry condition lives on, meaning that if a user matches a rule within the entry condition, they will never go to the block the entry condition is on. Exit conditions will run once a user leave a block by entering free text, so if a user clicks a button or quick reply, they will bypass an exit condition. To learn how to create a condition on a button click, read about conditional responses.
Entry conditions will always appear before any message element in a block. Exit conditions will always appear after all message elements in a block.
Entry and exit conditions can be saved, reused, and created on any block within your experience. They can be accessed from their respective drop downs located above and below the content contained within a block.
1. Saved entry and exit conditions - This dropdown contains all of the entry and exit conditions you've previously created and saved. Select (Disconnect) to remove an entry or exit condition from a block.
2. Create New - Use this button to create a new entry or exit condition.
3. Edit condition - Once a condition has been selected the create new button turns into an edit button, which allows you to modify the selected condition.
Entry and exit conditions use the same components and UI as all other conditions, so the components will be familiar if you've used segmentation, made a reengagement, or created a conditional response before. A series of conditions and responses are created, and if a condition evaluates true for a user, the user is sent to that block. Conditions are evaluated in order, so if a user matches condition 1, Snaps won't check if they match condition 2 as well. For this reason it's important to place your conditions in the order you'd like them to be evaluated in.
'currentIntent' not 'the intent'
In your exit condition, use the user property named "currentIntent" and select the intent you'd like to create the exit condition for - this way you ensure your exit condition is only triggered when users enter text on that block.