Speech to text - Anybody?

Hi there!

I was wondering if somebody try to create a Retool app using the microphone to live transcribe speech to text using a service from openai or assemblyAI.

I tried couple of things some time ago, but wasn't able to allow enough time to the problem.

It would be a nice Show&Tell!


I did through a custom component, maybe I might cleanup and release it publicly.


That would be really appreciated. For my part, it would be for a proof of concept.


Hi @MicExpert

here the plugin, take a look here and let me know what you think!



Hi @abusedmedia ,

That is an awesome plugin! Just tested it and it is working really well in various languages. I forgot about the Webspeech API, which is a much better option that an exteral API.
It coul use some improvement like some options to adjust the look an feel.

How can I reload the component without restarting the app? Would be nice that I could add a dropdown selector to change language.

Keep up the good work!

1 Like

Thanks @mbruijnpff

Yeah, the reload thing should be solved in some way.

What kind of look&feel adjustments you'd like to see?


I'm working on a CRM application and this could be a very efficient way to quickly store notes in a customer record after a phone call or meeting. Most people don't take a lot of notes as it takes too much of their time...

For this use case I would need only a simple small button to start/stop recording.
Or maybe it is possible to hide the component and control it from another component/button?

Hi @mbruijnpff

To solve the language selector, you can tell the selector at on-change event to reload the custom component. This way the SpeechRecognition get re-inited properly.

About making the component hidden, it's not a solution, it'll be detached and it'll stop working.
Also, triggering a function within a custom component from Retool is not really possible, even though some ugly workaround might be possible.

So the only UI thing you'd like to change is, instead of having separated start / stop buttons, you'd prefer having a toggle button that change state by itself?

Yes, I'd prefer the fit it in a single button, so it takes up less space.
I'd add it as an extra button next to a text area so people have a choice of typing or speaking.
But that would fit my use case of course.

Nice job @abusedmedia !
I'm able to make it work in English and French. The performance of the model is good.
A toggle button would be my also recommandation.
The whole component could be resumed to a single toggle button.

It there a way we could use other models from Google, OpenAI, AssemblyAI ?

Good job!

1 Like

I think the toggle button is a good suggestion, thus, the next update will get this feature alongside the options to set the button labels as well.

Thanks for the feedback.

@MicExpert @mbruijnpff

I've updated the component, url is not changed, thus, you should see already the new version.
Now it looks much more like a Retool button.

Let me know what you think!

1 Like

Thank you! It's all good.


Hello MicExpert,

Utilizing a Retool app to live transcribe speech to text via services like OpenAI or AssemblyAI is an interesting concept. It's definitely a great Show & Tell idea. Allocating more time to troubleshoot and experiment further might be worthwhile in achieving this AI Text to Speech integration.