About Spotify
Spotify is a music and audio streaming platform. Serval connects to a single Spotify account through a Spotify Developer app that you create and own - you supply the app’s Client ID and Client Secret, and Serval handles the sign-in flow with Spotify. Once connected, workflows can search the Spotify catalog, read and edit playlists and the saved library, and control playback on the account’s devices. Serval only ever sends this connection’s token to one host: api.spotify.com. Authentication: OAuth 2.0 authorization code flow using your own Spotify Developer app (bring your own Client ID and Client Secret). Serval refreshes the access token automatically using the stored credentials. Data sync: On demand only. There is no background sync, polling, or webhooks - Serval talks to Spotify only when a workflow step runs.What the Spotify integration enables
Get your credentials
Serval does not ship a built-in Spotify app, so you first create one in the Spotify Developer Dashboard. The app issues the Client ID and Client Secret you will paste into Serval, and it must list Serval’s Redirect URI in its settings.Create the app
Fill in the app details
Check the Redirect URI
Copy your credentials
Connect in Serval
Open the connect dialog
Copy the Redirect URI
Enter your credentials
Approve on Spotify
Verifying the connection
The integration ships three health checks:- Test Spotify Connection - confirms Serval can authenticate with the Spotify API and reports the connected account. Success: “Successfully connected to Spotify as [name]” (“unknown user” if the profile has no display name). Failure: “Unable to connect to Spotify. Please verify your OAuth credentials are valid and have not been revoked.”
- Get Available Devices - lists the account’s Spotify Connect devices. Success: “Found [number] device(s): [names]”. Zero devices still passes, with the message “API access verified but no devices found. Open Spotify on a device and log in to the connected account to see devices here.” Failure: “Unable to list devices. Please verify your credentials have the user-read-playback-state scope.”
- Play Song - picks the active device (or the first one found) and starts real playback of “Never Gonna Give You Up” to prove end-to-end playback control. Success: “Now playing “Never Gonna Give You Up” on [device name]”. If no devices are found: “No active devices found. Open Spotify on a device and log in to the connected account, then try again.” Failure: “Unable to start playback. This requires Spotify Premium and the Spotify app open and logged in to the connected account.”
Gotchas and troubleshooting
The Redirect URI must match exactly
The Redirect URI must match exactly
The connect flow expires after 10 minutes
The connect flow expires after 10 minutes
The Play Song health check actually plays music
The Play Song health check actually plays music
Rotating the Client Secret breaks existing connections
Rotating the Client Secret breaks existing connections
Permissions are fixed - some areas are out of reach
Permissions are fixed - some areas are out of reach
The connection is a single Spotify user account
The connection is a single Spotify user account
Need help? Contact support@serval.com for assistance with your Spotify integration.

