Step 1 — Spotify Credentials
BeaverCue uses the Spotify API to read your playlists. You need a Client ID and Client Secret from the Spotify Developer Dashboard.
- Go to developer.spotify.com/dashboard and log in
- Click Create App, name it anything (e.g. "BeaverCue")
- Set the Redirect URI to
http://localhost— it's required but not used - Once created, copy your Client ID from the app page
- Click View client secret to reveal and copy your Client Secret
Step 2 — BPM API Key
BPM data is fetched from GetSongBPM. Register for a free API key at getsongbpm.com/api.
- Enter your email and
https://beavertrain.finchlab.orgas the website URL - Copy the API key from the confirmation email
Step 3 — Google Sheet Setup
Create two tabs in your Google Sheet: one named Config and one named Setlist. Leave Setlist blank. Fill in Config as follows:
| Cell | Label (Column A) | Value (Column B) |
|---|---|---|
| Row 1 | Spotify Client ID | Your Client ID |
| Row 2 | Spotify Client Secret | Your Client Secret |
| Row 3 | BPM API Key | Your GetSongBPM key |
| Row 4 | Playlist URL | Your Spotify playlist URL |
The Setlist tab will be created and populated automatically on first sync. Leave it completely blank.
Step 4 — Install the Script
- In your Google Sheet, go to Extensions > Apps Script
- Delete the default
myFunction()code - Paste the entire contents of
SpotifyGSync.jsinto the editor - Hit Ctrl+S to save and name the project (e.g. "BeaverCue")
- Close the Apps Script tab and reload your spreadsheet
Step 5 — Run Your First Sync
- A DJ Tools menu will appear in the top menu bar after reloading
- Click DJ Tools > Sync Playlist
- Google will ask you to authorise the script — click through and allow it (one time only)
- The Setlist tab will populate with your tracks, artists, and BPMs
Using the DJ Tools Menu
| Menu Item | What it does |
|---|---|
| Sync Playlist | Starts a fresh sync from the top of your playlist |
| Resume Sync | Continues a sync that hit the 30-track batch limit |
| Clear Sync State | Resets progress if something goes wrong |
Column Layout
The script only ever writes to Track, Artist, and BPM columns. Mix In, Mix Out, and Notes are yours to edit freely and will never be overwritten.
| Column | Field | Managed by |
|---|---|---|
| A (hidden) | Spotify Track ID | Script |
| B | Track Name | Script |
| C | Artist | Script |
| D | BPM | Script |
| E | Mix In | You |
| F | Mix Out | You |
| G | Notes | You |