How To: Create a Music Player in a Tableau Dashboard

Image created by ChatGPT

Recently, I worked on Mike Monsoon's Progress Journal, a project management/album progress tracker dashboard for the musician Mike Monsoon, who releases his music on SoundCloud. Starting this project, I knew I could calculate song and album completion, move songs seamlessly through different stages, and visualize progress in a fun and thematic manner. But I had one stretch goal I wasn't sure if I could achieve--embed a music player in the dashboard itself. With a little bit of help from Google and a little bit of experimentation, I was able to achieve this goal. In fact, I found two methods of creating the embedded music player--song by song and from a playlist/album.

Both methods rely on getting an embed URL for the song or playlist and displaying it in a Tableau web object. Here, I walk through how to do this getting embed codes from SoundCloud, but you can use the same method to embed music from Spotify, videos from YouTube, and any online media with an available embed URL.

Song by Song

This method is best if you want to control the music player from a visualization. On Mike Monsoon's Progress Journal, I used this method because I wanted to show how far towards completion each song was, as many of them were still works in progress, so I created a viz with a progress bars that you can click to change the song in the player.

  • 1. Set up your data
    • Create a spreadsheet with columns for Track Number, Song Name, and SoundCloud Embed URL
    • Fill out Track Number and Song Name
Set up your data in a spreadsheet
  • 2. Get the SoundCloud Embed URL for each song
    • Go to the song on SoundCloud
    • Click Share
Click "Share" on the SoundCloud page for the song
    • Click Embed (red box)
    • Customize the embed code as desired (black boxes)
    • Copy the embed code into a text editor (red box)
Customize the embed options and copy the embed code
    • Copy the embed URL and add it to your spreadsheet--you can find this URL in the embed code after "src="
Find the embed URL in the embed code
    • Repeat for each song
Copy the embed URLs into your spreadsheet for each song
  • 3. Connect Tableau to this data
  • 4. Create a sheet with the songs
    • Put the embed URL on detail
    • Create whatever visualization you'd like for each song
Make sure your Embed URL is on detail
  • 5. Bring that sheet and a web object onto a dashboard
    • To add a web object, drag "Web Page" from "Objects" at the bottom of the Dashboard pane onto the dashboard
    • It doesn't matter what URL you put in to the web object initially
Drag your songs sheet and a web object onto a dashboard
  • 6. Set up a URL action that changes the URL for the web object when you click a song
    • Click "More Option" on the web object and select "Add URL Action..."
Add a URL action to the web object
    • In the pop-up:
      • Give your action a descriptive name
      • Set the "Source Sheets" to have only the song list sheet on the dashboard checked
      • Set action to run on select
      • Make sure URL Target is the Web Page Object
      • Set the URL to be your SoundCloud Embed URL field
    • Hit OK and OK again
  • 7. Test it out by clicking a song on your dashboard
    • Your web page object should change to the embedded player for that song and you shoud be able to play it in the dashboard
Clicking a song updates the web object

Voila! You can now play each song in the embedded music player!

Note: If you are customizing the embed URL, you may want to just use the customized URL as the base and pull out the SoundCloud track ID from the URL for each song, then create a calculated field to switch out the track ID instead of switching the whole URL. This is what I did for Mike Monsoon's Progress Journal, as I wanted to customize the color of the play button.

Playlist

This method is simpler than the song by song method, but doesn't allow you to control the song player from a viz. This method is ideal if you want a simple player for a playlist or album that already exists on Soundcloud.

  • 1. Get the embed URL for the playlist or album from Soundcloud
    • Go to the album or playlist on SoundCloud
    • Click "Share"
Click "Share" on the album or playlist
    • Click "Embed"
    • Make any customizations and copy the embed code into a text editor
Get the embed code for the playlist
    • Copy the embed URL and keep it on your clipboard or paste it somewhere you can find it again--you can find this URL in the embed code after "src="
  • 2. Add a web object to a dashboard in Tableau
    • To add a web object, drag "Web Page" from "Objects" at the bottom of the Dashboard pane onto the dashboard
  • 3. Paste in the embed URL in the window that pops up and click OK
Paste the embed URL for the playlist

Voila! You now have an embedded music player for the specified playlist!

SoundCloud music player embedded on a Tableau dashboard

Check out the dashboard I built for this tutorial on Tableau Public. You can download it to see how all the pieces fit together.

Author:
Cecily Santiago
Powered by The Information Lab
1st Floor, 25 Watling Street, London, EC4M 9BR
Subscribe
to our Newsletter
Get the lastest news about The Data School and application tips
Subscribe now
© 2025 The Information Lab