- Quickstart
- Upload a File
- Transcribe Audio
- Handle the Transcript Ready Webhook
- Poll the Transcript Status
- Connector actions
- Files
- Upload a Media File
- Transcripts
- Transcribe Audio
- Get Transcript
- Get Paragraphs in Transcript
- Get Sentences in Transcript
- Get Subtitles for Transcript
- Get Redacted Audio
- Search Words in Transcript
- List Transcripts
- Delete Transcript
- LeMUR
- Run a Task Using LeMUR
- Retrieve LeMUR Response
- Purge LeMUR Request Data
- Additional resources
Integrate Power Automate with AssemblyAI
Microsoft Power Automate is a low-code workflow automation platform with a rich collection of connectors to Microsoft’s first-party services and third-party services. Azure Logic Apps is the equivalent service built for developers and IT pros.
The AssemblyAI connector makes our API available to both Microsoft Power Automate and Azure Logic Apps. With the connector, you can use AssemblyAI to transcribe audio data with speech recognition models, analyze the data with audio intelligence models, and build generative features on top of it with LLMs. You can supply audio to the AssemblyAI connector and connect the output of our models to other services in your flows.
Quickstart
Create or edit a flow in Power Automate. Add a new action, search for AssemblyAI, and select the action that you want to use.

You will be prompted to create a connection to AssemblyAI. Give your connection a name and enter the API key from your AssemblyAI dashboard, and click Create new.

Upload a File
To transcribe an audio file using AssemblyAI, the file needs to be accessible to AssemblyAI. If your audio file is already accessible via a URL, you can use your existing URL.
Otherwise, you can use the Upload a Media File action to upload a file to AssemblyAI.
You will get back a URL for your file which can only be used to transcribe using your API key.
Once you transcribe the file, the file will be removed from AssemblyAI’s servers.
Transcribe Audio
To transcribe your audio, configure the Audio URL parameter using your audio file URL.
Then, configure the additional parameters to enable more Speech Recognition features and Audio Intelligence models.
The result of the Transcribe Audio action is a queued transcript which will start being processed immediately. To get the completed transcript, you have two options:
Handle the Transcript Ready Webhook
If you don’t want to handle the webhook using Logic Apps or Power Automate, configure the Webhook URL parameter in your Transcribe Audio action, and implement your webhook following AssemblyAI’s webhook documentation.
To handle the webhook using Logic Apps or Power Automate, follow these steps:
Configure When an HTTP request is received as the trigger:
- Set
Who Can Trigger The Flow?toAnyone - Set
Request Body JSON Schemato: - Set
MethodtoPOST
Add an AssemblyAI Get Transcript action, passing in the transcript_id from the trigger to the Transcript ID parameter.
Before doing anything else, you should check whether the Status is completed or error.
Add a Condition action that checks if the Status from the Get Transcript output is error:
- In the
Truebranch, add aTerminateaction- Set the
StatustoFailed - Set the
CodetoTranscript Error - Pass the
Errorfrom theGet Transcriptoutput to theMessageparameter.
- Set the
- You can leave the
Falsebranch empty.
Now you can add any action after the Condition knowing the transcript status is completed,
and you can retrieve any of the output properties of the Get Transcript action.
When the transcript status becomes completed or error, AssemblyAI will send an HTTP POST request to the webhook URL,
which will be handled by your other Logic App or Flow.
As an alternative to using the webhook, you can poll the transcript status as explained in the next section.
Poll the Transcript Status
You can poll the transcript status using the following steps:
Add an Initialize variable action
- Set
Nametotranscript_status - Set
TypetoString - Store the
Statusfrom theTranscribe Audiooutput into theValueparameter
Add a Do until action
- Configure the
Loop Untilparameter with the following Fx code:This code checks whether thetranscript_statusvariable iscompletedorerror. - Configure the
Countparameter to86400 - Configure the
Timeoutparameter toPT24H
Inside the Do until action, add the following actions:
- Add a
Delayaction that waits for one second - Add a
Get Transcriptaction and pass theIDfrom theTranscribe Audiooutput to theTranscript IDparameter - Add a
Set variableaction- Set
Nametotranscript_status - Pass the
Statusof theGet Transcriptoutput to theValueparameter
- Set
The Do until loop will continue until the transcript is completed, or an error occurred.
Add another Get Transcript action, like before, but add it after the Do until loop so its output becomes available outside the scope of the Do until action.
Before doing anything else, you should check whether the transcript Status is completed or error.
Add a Condition action that checks if the transcript_status is error:
- In the
Truebranch, add aTerminateaction- Set
StatustoFailed - Set
CodetoTranscript Error - Pass the
Errorfrom theGet Transcriptoutput to theMessageparameter.
- Set
- You can leave the
Falsebranch empty.
Now you can add any action after the Condition knowing the transcript status is completed,
and you can retrieve any of the output properties of the Get Transcript action.
Connector actions
The AssemblyAI app for Power Automate provides the following actions:
Files
Upload a Media File
Upload a media file to AssemblyAI’s servers.
You can pass the Upload URL output field to the Audio URL input field of Transcribe an Audio File action.
Transcripts
Transcribe Audio
Create a transcript from a media file that is accessible via a URL.
Configure the Audio URL field with the URL of the audio file you want to transcribe.
The Audio URL must be accessible by AssemblyAI’s servers.
If you don’t have a publicly accessible URL, you can use the Upload a File action to upload the audio file to AssemblyAI.
Wait until transcript is ready
The output of this action is a queued transcript. Learn how to wait until the transcript is ready here.
Configure your desired Audio Intelligence models when you create the transcript. The results of the models will be included in the transcript output when the transcript is completed.
Get Transcript
Get the transcript resource. The transcript is ready when the status is completed.
Get Paragraphs in Transcript
Get the transcript split by paragraphs. The API semantically segments your transcript into paragraphs to create more reader-friendly transcripts.
Get Sentences in Transcript
Get the transcript split by sentences. The API semantically segments the transcript into sentences to create more reader-friendly transcripts.
Get Subtitles for Transcript
Get the transcript resource. The transcript is ready when the status is completed.
Get Redacted Audio
First, you need to configure PII audio redaction using these fields when you create the transcript:
Redact PII:YesRedact PII Audio:YesRedact PII Policies: Configure at least one PII policy
Then, you can use this action to retrieve the redacted audio of the transcript.
Search Words in Transcript
Search through the transcript for keywords. You can search for individual words, numbers, or phrases containing up to five words or numbers.
List Transcripts
Get the transcript resource. The transcript is ready when the status is completed.
Delete Transcript
Delete the transcript. Deleting does not delete the resource itself, but removes the data from the resource and marks it as deleted.
You can only invoke this action after the transcript status is completed or
error.
LeMUR
Run a Task Using LeMUR
Use the LeMUR task endpoint to input your own LLM prompt.
You have to configure either the Transcript IDs or Input Text input field.
Retrieve LeMUR Response
Retrieve a LeMUR response that was previously generated.
Purge LeMUR Request Data
Delete the data for a previously submitted LeMUR request. The LLM response data, as well as any context provided in the original request will be removed.
Additional resources
You can learn more about using Power Automate with AssemblyAI in these resources:
