The Stream Deck FoundryVTT Macro Runner allows you to execute any macro you define in FoundryVTT using your Stream Deck device. You can configure a button to execute a specific macro that the you as a user has access to or have defined.
With a touch of a button on your Stream Deck, you can execute a named macro you have access to in the FoundryVTT virtual tabletop application. For example, you can write a simple script to do the dice rolls as you want them and then program a button to run that macro whenever you want. Macros in FoundryVTT offer ability to do almost anything with the system and data.
Carl also has other Stream Deck applications available.
Current Versions of Software: Stream Deck Application V1.0.0; Server V1.0; FoundryVTT application V1.0
Installing the Stream Deck software is simple. Simply download the package and double click on it to have it installed in your Stream Deck Software
Get the Stream Deck packageAfter installation you should see a “FoundryVTT Macro Executor” in your actions list on the right hand side or the configuration user interface.
Installing the FoundryVTT module is also simple. Simply copy the manifest URL:
https://wwww.webcommando.com/streamdeck/wsmacro/module.json
Then in the setup screen on FoundryVTT select “Add-on Modules” tab. On this screen, select the button “Install Module”. A pop-up window will appear and you paste the URL into the box at the bottom labeled “Manifest URL” and click on “Install”
You now have the two clients installed and the last thing to do is install the server portion of the application. Unfortunately, that is the most difficult as it uses a cross platform programming language and I do not have an installer for each platform. I’ve separated out the server installation instructions for you to follow.
Instructions to install the server.First, startup the server and keep it running per the instructions on the installation page. The server needs to be running before the clients startup so they have something to connect to. In some cases, they will still connect even if done out of order but not always. If anything odd ever happens, try stopping Stream Deck and FoundryVTT, restart the server and finally restart the other applications.
Restart the Stream Deck software per your platform’s requirements. On a Mac this is by clicking the icon in the menu bar and selecting quit. Next, starting “Elgato Stream Deck” application. This ensures the macro actions will connect with the server correctly. Yes, it is a bit of a pain to do so but I’ve had minimal success reliably having the actions automatically recognize when the server is up.
Now start the FoundryVTT application. Go into your game world and select Manage Modules as you would for any other module. Check the “Macro Executor Stream Deck Connect” module so that it will start when you save the changes. A window will pop-up each time the software launches reminding you to get the server running. (Manage modules screen)
First, create a macro that performs the task you desire. Keep the name of the macro simple because we need to use this name in the Stream Deck button. You might create a macro that makes a specific roll. You might have a macro that interacts with the character sheet data. There are many resources that can help explain how to create macro scripts for FoundryVTT. Actually, ChatGPT can be a valuable resource to show you how to do something in a foundry script macro. I have included some examples HERE that will help you get started.
Now go into the configuration screen for the Stream Deck software. Drag the “macro” action under “FoundryVTT Macro Executor” to the button desired. Enter the name of the macro exactly as you named it in FoundryVTT in the “name” field. You can also select a variety of icons and colors for your macro from the list provided.
Now you are ready to go. Push your macro button on the Stream Deck and the macro should execute on FoundryVTT. If there is an issue check that the name of the macro is correct and that you have permission to run the macro if someone else created it for you. Ensure that the Stream Deck and FoundryVTT were started after the server was up and running. You can see the server’s message by looking into the terminal window used to start it. When you push a button, you should see the server say a message that data was received and printout out some data. You should also see requests from FoundryVTT coming through (you will see message about request of FOUNDRYMACRO and data sent).