Request immediate help - Need to execute playbook on hosts based on the host status from the previous playbooks.

I have 3 playbooks in workflow template and these playbooks would execute on multiple hosts.
If 1st playbook fails on few hosts and the 3rd playbook should get execute only on the failed hosts.
And whatever hosts passed in 1st playbooks and 2nd playbook should get execute only on the passed hosts.
I am able to do this using roles based playbooks.

Please could you let me know how to achieve this using workflow template.

create empty group2

play1 hosts: alltargets
at end of play use group by to separate 'failed hosts' into their own
group2 (filter against ansiible_play_hosts vars)

play2: hosts: alltargets:!group2

play3: hosts: group2

or you can reverse the 1st step and put all successful hosts into
'group2' and reverse the conditions on subsequent plays.