Approvals are visible for agents in the apps pane of a ticket if one of the following 2 things is true.
1. The Approval template has "manual requests" enabled AND the ticket matches the conditions in the template.
If you have manual requests switched on, then the approval will be shown based on the conditions of the form field on the left of the approval template like this:
Note: Switching to the "advanced condition editor" will allow you to define ANY conditions on a ticket as to when you want the approval to be shown. For example, when a checkbox is ticked, or an item from a dropdown field is selected. Unlike triggers, these conditions are live on the ticket meaning that you don't have to submit the ticket for them to take action. The instant the conditions are true/false, the approval will show/hide.
Also Note: If you're on the Zendesk Enterprise plan, you'll see the "Ticket Form" field, but if you're on a Zendesk plan less that Enterprise, you'll see a "Tag" section like this allowing you to define a single tag that must be added to the ticket before the approval is shown:
These conditions will show or hide an approval on a ticket regardless as to whether it is sent or not. Ie. Point 2 of this article is only relevant if you have "Enable manual requests" switched off (not recommended).
2. The Approval has "automatic requests" ONLY enabled and is pending approval ("Sent mode").
If an approval does not have "manual requests" switched on, once an Approval is sent and is pending approval (let's call this "Sent mode"), it will be visible in the apps pane on the right like this:
This means that you may seemingly see an approval appear 'out of the blue', but in fact, behind the scenes, a trigger would have fired, resulting in an approval being sent, and hey presto! ...it appeared on the ticket.
If at any point the approval is cancelled or restarted like this:
...the approval will cease to be in "sent mode". At this point, the approval will also stop being displayed to agents, UNLESS you also have manual requests enabled as per point 1 of this article.
In light of the above information, it is recommended that if you're sending an approval automatically you should also always check that the approval can be manually sent. This will give you the controls as to when you want to see it on the ticket or not, rather than being restricted simply to if the approval is in "sent mode" or not.