mAc said:
Awesome!
Hmm, would it be possible to make it work like other API text chat commands, where you send the command in the text chat, and it sends the command to Syrinscape to play? Then, I presume you'd have your songs in Syrinscape, so you'd do something like "!play <song>" and maybe that would play the song or sound you want.
TL;DR: No.
Roll20 will not follow a link to an external site silently. You can display a text that is an anchor for a GET link and the user must click on it (the GM in this case if the players are linked to the GM's Syrinscape thingy). Then Roll20 will display a warning dialog that tells you this link is external and are you sure you want to follow it? Then you confirm that and there you go you made a GET request outside the sandbox. I used this to build integration with an external web site by putting a bunch of info in query strings on a GET request, because POST isn't allowed. But it isn't convenient at all because of the confirmation dialog, which is obviously required for security reasons.
Real integration that doesn't suck :) would require some support from Roll20 to allow the URLs required by Syrinscape. This is a huge can of worms with security implications. Instead, I recommend implementing the required glue in https://ssstormy.github.io/roll20-enhancement-suite/
and not doing ANYTHING on the Roll20 side. Just embed the UI you need into the Roll20 UI on the GM's client side, and there you can open whatever URL you want. Syrinscape (or a motivated third party) could write this without any help from Roll20.