Auto Upload Podcast Audio from SFTP to SoundCloud
Are you a podcaster, producer, or musician?
This use case will show you how to overcome a cumbersome part of your job: uploading files to SoundCloud.
The problem
One of my clients is an avid podcaster. This client has a recording studio and works with a producer on the podcasts; once their work is ready, they upload it to SoundCloud.
After the producer finishes a podcast audio episode, there are two manual steps that have to be completed in order to finish the workflow:
Download the audio file from a remote SFTP directory
Upload the audio file to SoundCloud, where the title and description of the episode are added
Unfortunately, due to SFTP download speeds and SoundCloud's uploading shortcomings, this task can take about 15 minutes to complete (most of which is waiting on files to transfer).
The solution
To make podcast downloads and uploads more efficient, I created an “Automation Sandwich”.
An Automation Sandwich starts with an automated process followed by human interaction, which is then followed by another automated process. I employ Automation Sandwiches whenever a human input is required within a process where both the beginning and ending steps can be automated.
In this case, the podcast title and description must be provided by a human. In other words, the title and description are the "fillings". Let's take a look at the whole process.
Step 1 of the SoundCloud automation sandwich
In the scenario above:
First module: the SFTP folder (where the new podcasts are saved) is watched for a new file.
The second module is a combination of functions for formatting the name to requested form:
- Regex - all %xx are retrieved. - Encode URL - all special letters are encoded to %xx strings - Replace - replacing all strings which meet the regex - Lower - lowering all upper letters
Third module saves the audio file (mp3 format) in Dropbox for the second part of our Automation Sandwich
Fourth module sends a Slack message to the podcast team who provides the title and description for the podcast
Fifth module sends a Slack message to the podcast team if there is an error with the SFTP file
The slack message from the 4th module, looks like this:
Step 2 of the SoundCloud automation sandwich
This Slack message contains:
Instructions on what to do next (so that anyone in the team knows what action to take)
A link to a password-protected, pre-filled form (such as a WordPress Ninja Form). This form is where the podcast title and description are added.
This form is the "filling" of our Automation Sandwich. It is where a human provides information to our process.
The form above has 4 fields:
Guest’s Name - This is the name of the guest interviewed on the podcast.
Topic - This is the topic or description of the podcast.
Filename - the final name of the audio file. The user has an opportunity to further clean up the file name if necessary. This value is pre-filled using query parameters.
SFTP File Path - This is the current location of the file that will be uploaded. This value is pre-filled using query parameters.
This form (when submitted) fires a webhook with information that is required by the final step of our Automation Sandwich.
Step 3 of the SoundCloud automation sandwich
The scenario above is the final step to our Automation Sandwich.
First module (Webhooks) receives the information (via webhook) from our form
Second module (Dropbox) retrieves the audio file from Dropbox
Third module (SoundCloud) uploads the audio, title and description (topic) to SoundCloud
Step four (Slack) notifies the podcast team that the new podcast has been uploaded to SoundCloud
Summary
By implementing these templates, the time to upload a SoundCloud podcast episode is 2-3 minutes instead of 15+ minutes. This is a huge time-saver and allows my client to do other tasks, rather than waiting on downloading and uploading audio files.
The benefits
Save Time Waiting on Audio Downloads
Save Time Waiting on Uploading to Soundcloud
Apps used
Templates
Like what you see? Sign up to Make and start automating today!