I feel this post reminisce your previous post "Building single response from several actions
" a bit, so I will try to answer both the posts here. If you feel to add something to your previous post please update it here.
Actions can enable re-usability of subroutines via IDs. At times one can use an Action, instead of a fully implemented adapter, to perform identical tasks.
In many of my projects I've used back-end Action implementations for calling subroutines that I might regularly use throughout development and in other cases to store redundant responses to the newly introduced Trait(s) feature.
My personal recommendation is that back-end implementations of Action(s) shouldn't generate a response. Otherwise, it would simply defeat re-usability in many different scenarios and inject an overhead of dealing with whatever response that gets generated.
So to answer the question in your previous post, Yes your approach is all good as it is conventionally encouraged to create and use an Adapter when a subroutine needs to generate a response.
Actions can also go global within SIML as well. So to address your case, if I've understood it correctly, I might take a slightly different approach as shown below.
<!--Goes within SIML-->
Starting up the Convo.
<!--Goes within a Dialog-->
<Expression Value="someverb @objects" />