Unlock the full potential of AssemblyAI and n8n’s automation platform by connecting AssemblyAI’s speech-to-text and speech understanding capabilities with over 1,000 apps, data sources, services, and n8n’s built-in AI features.
The AssemblyAI n8n integration is built and maintained by AssemblyAI (verified by n8n).
This comprehensive tutorial walks you through building a complete AssemblyAI workflow within n8n Cloud that:
.txt file output to a Google Drive folderThe Google Drive n8n integration is used in this example for file storage and triggering, but you can adapt the workflow to use other services like Dropbox, Amazon S3, FTP/SFTP, or webhooks based on your needs. For all available integrations, see the n8n integrations page.
Before you begin, you’ll need:
/audio_files).txt transcript output (/transcripts)
Before building your workflow, you’ll need to configure credentials for both Google Drive and AssemblyAI in n8n.
Once both credentials are configured, you can use them throughout your workflow.

The first step is to decide how n8n will know when your audio file is ready to transcribe. This is your workflow trigger. For this example, we’ll use Google Drive to automatically trigger the workflow when a new audio file is added to a folder.
On changes involving a specific folderWhen a new audio file is added to the specified Google Drive folder, the workflow will run.
To test the workflow, you can manually trigger it at any time by clicking the orange Execute Workflow button in the n8n editor to populate the nodes with sample data.
For the Google Drive trigger to work as intended, you will need to deploy this workflow (to n8n cloud) and then add a new audio file to the monitored folder in Google Drive (/audio_files). This is handled in a later step.
For more information on supported audio file types, size limits, and using Google Drive with AssemblyAI, see:
For the sake of simplicity, this tutorial uses a public Google Drive link, so you must ensure your file is 100 MB or less and the Google Drive folder settings are set to Public (anyone with the link can view).

If you’d like to transcribe private folders/files greater than 100MB, you’ll need to add a Google Drive “Download file” node to download the binary data first, then upload it to AssemblyAI using the AssemblyAI “Upload a file” node.
After the Google Drive trigger fires, you have the file’s webContentLink available at {{ $json.webContentLink }}.
You can skip this step and use the public Google Drive link directly in Step 3 without uploading. AssemblyAI accepts all Google Drive files below 100MB.
Use the AssemblyAI Upload node:
upload_url to use in the next step
Now submit the transcription request with your desired features enabled.
Using the + sign linked to the Google Drive trigger, add an AssemblyAI Create a transcription node.
{{ $json.webContentLink }}
webContentLink field from the Google Drive Trigger response into this fieldYou can explore all available features, such as sentiment analysis, entity detection, pii redaction, and more in our API Reference.
The response will contain a transcript_id that you’ll use to poll for completion.
Since transcription is asynchronous, the transcription request returns immediately. You need to poll the API until the transcript is ready.
Add a Wait node and configure the wait parameters:
This will wait 3 seconds before checking the transcript’s status.
Add an AssemblyAI Get a transcription node after the Wait node and configure the node parameters:
{{ $json.id }}
id field from the Create a transcription response into this field
Add a Switch node after the Get a transcription node and configure the switch to check the transcript’s status:
Add 4 routing rules, each with:
{{ $json.status }}
status field from the Get a transcription responsequeuedprocessingerrorcompleted
Handle each switch node output based on the transcript status:
By connecting the processing and queued outputs back to the Get a transcription, you create a polling loop that continues checking (every 3 seconds) until the transcript is complete or encounters an error.
When the transcript is complete, the response will contain the full transcript data.
For this tutorial, we are only using the Create a transcription, Get a transcription, and Delete a transcription actions from the AssemblyAI node.
However, n8n’s AssemblyAI integration supports all available endpoints,
including uploading files, retrieving redacted audio, getting sentences and
paragraphs, LLM Gateway, and more.
Once you have the completed transcript, we want to manipulate the data into a more usable format.
To pull out the transcript text with speaker labels:
To save the formatted transcript back to Google Drive:

Add a Convert to File node and configure it:

Add a Google Drive Upload file node and configure it:
{{ $('Get a transcription').item.json.id }} (or drag and drop from input data)The formatted transcript will be saved as a .txt file in your specified Google Drive folder:
Once you’re done processing the transcript, as it is now saved in Google Drive, you can optionally delete it from AssemblyAI’s servers.
Add an AssemblyAI Delete a transcription node at the end of your workflow.
Configure the node parameters:
{{ $('Get a transcription').item.json.id }}
id field from the Get a transcription node response into this fieldThe transcript will be permanently deleted from AssemblyAI’s servers.
Once the transcript has been deleted, the workflow is complete! At this point, it should look like this:
Now you can deploy the workflow to n8n Cloud by navigating back to the n8n Cloud Overview page, locating your workflow, and moving the slider icon to the Active position.
And we’re done! Add a file to /audio_files in Google Drive, and within a few seconds to a few minutes (depending on the Poll Times set for the Google Drive trigger and the duration of the audio file), you should see the transcript appear in the /transcripts Google Drive folder.
In this tutorial, you built a complete AssemblyAI transcription workflow in n8n that automatically processes audio files from Google Drive, submits them to AssemblyAI for transcription, polls for completion, formats the transcript with speaker labels, saves the output back to Google Drive as a .txt file, and finally deletes the transcript from AssemblyAI’s servers.
This is just one simple idea, but the possibilities are endless! You can customize this workflow further by adding additional AssemblyAI features and products like sentiment analysis, entity detection, and LLM Gateway (see the “What can you do with AssemblyAI?” section of this page for all available actions), or by integrating with other services like Slack, OpenAI, Supabase, and the hundreds of other official n8n integrations.
If you get stuck, think something is broken or missing from our n8n integration, or just have some questions, we’d love to help you out! Contact our support team directly via support@assemblyai.com or open a support ticket.