Here is what I have thus far:
I probably need to parse or extract the email addresses from that output before the join right? I need to figure out what action to use to do that.
When you use select, you're creating an object array. You can use the compose feature inside a Apply to Each loop to do what you're trying to do. When you use a compose inside an Apply to Each control, you're essentially creating an array.
After the Apply to Each, create a Compose action that joins the output of Compose with a semicolon
join(outputs('Compose'),';')