Loading
Loading
  • Home

  • Automation with Zapier

  • Zapier tutorials

Zapier tutorials

8 min read

How to create Todoist tasks from voice memos with OpenAI

By Ben Hummel · August 1, 2023
Screenshot of Todoist and OpenAI logos on a blue background

I think by talking out loud. It doesn't matter if anyone's listening. Often this means while I'm walking my dogs after work, I open the Voice Memo app on my iPhone, pop in my Airpods, and start talking about whatever's on my mind. It helps me process everything that happened during the day and clarify what I need to focus on next. 

But there's a problem: thinking out loud is helpful—but there's still stuff to be done afterwards. If I don't capture next steps in my to-do list (Todoist), or log important key takeaways in my second brain (Obsidian), then my voice notes generally get lost. 

After chatting with a coworker at Zapier, I asked myself: how could I use AI and automation to make sense of my voice memos and organize them efficiently?

Enter the OpenAI integration. I was able to set up a Zap—what we call automated workflows—that takes my audio file, transcribes and summarizes it, then adds any action items to my to-do list for me. 

Zapier is the leader in workflow automation—integrating with 6,000+ apps from partners like Google, Salesforce, and Microsoft. Use interfaces, data tables, and logic to build secure, automated systems for your business-critical workflows across your organization's technology stack. Learn more.

How it works

In total, this Zap has 6 steps:

  • Trigger: A new file (my voice memo) is uploaded to a Dropbox folder

  • Action: Create a transcription with OpenAI

  • Action: Truncate the text with Formatter by Zapier

  • Action: Send a prompt to OpenAI's GPT-3 to summarize the article for us

  • Action:  Upload file in Dropbox

  • Action: Add to-do items to Todoist

You can create your own Zap from scratch without any coding knowledge, but we also offer quick templates to get you started.

If you'd like to start with a template, click on the Zap template below to go to the Zap editor. You'll need to create a Zapier account if you don't already have one. Then, follow the directions below to set up your Zap.

Create Todoist tasks from summarized voice memos with OpenAI

Create Todoist tasks from summarized voice memos with OpenAI
  • Dropbox logo
  • Todoist logo
Dropbox + Formatter by Zapier + OpenAI (GPT-3, DALL-E, Whisper) + 1 more

This workflow requires a multi-step Zap, which is available on a paid Zapier plan or during a free trial. Learn more about multi-step Zaps.

Before you begin

Before we begin developing our Zap, you'll need an OpenAI account if you don't already have one. Go to platform.openai.com to sign up for your account. 

This workflow also works best if you use: 

  • Some kind of audio recording app. For this specific workflow, I use the Voice Memo app on my iPhone.

  • An easy way to save those voice memos to a cloud storage app. I'll be using Dropbox.

Looking for GPT-4 or OpenAI's other latest models? You can access those via our ChatGPT integration now—allowing you to add ChatGPT-powered conversations into apps like Slack. You need $5 or more of credit in your OpenAI account to access GPT-4. Discover popular ways to use the ChatGPT Zapier integration.

Set up your Dropbox trigger

The trigger is the most flexible part of this workflow, and you can adapt it to suit your needs. The trigger is the event that starts your Zap. For our example, I'm going to select Dropbox for the trigger app and New File in Folder for the trigger event.

Screenshot of Dropbox trigger

Click Continue

If you haven't already, you'll be asked to connect your Dropbox account. Click on Choose an account… and either select an account from the dropdown menu (if you've connected Dropbox to Zapier before) or click + Connect a new account.

Then, select the Dropbox folder you'd like to use. In my case, I've set up a Dropbox folder called Audio, so whenever I'm finished with my voice memo, I can save it to that Dropbox folder. You can leave the default setting as Yes to include the file contents. 

Screenshot of Dropbox audio file in Zap editor

Next, click Continue. We'll need an existing folder file to set up the rest of this Zap, so click Test trigger. If your test is successful, you'll see the contents of your folder file. Click Continue. 

Screenshot of Dropbox test in Zap editor

Set up your OpenAI action

Now let's set up the action—the event your Zap will perform once it's triggered. Select OpenAI as your action app and Create Transcription as your action event. Click Continue.

Screenshot of OpenAI action

Then, if you haven't already, you'll be asked to connect your OpenAI account to Zapier. Click on Choose an account… and either select an account from the dropdown menu (if you've connected OpenAI to Zapier before) or click + Connect a new account. Next, you'll be asked to insert your OpenAI API key which you copied earlier, in a pop-up window.

Screenshot of OpenAI authorization

Once you've done that, return to the Zap editor and click Continue.

Now's the time to set up the action. That includes telling your Zap where to grab the voice memo and the instructions you'll give it. Click in the File field and select File from the Insert Data dropdown.

Next up is your prompt. While you don't need to instruct GPT to create a transcript (the Zap action will do that for you), you can use this field to improve the transcription's quality. For example, you can ask GPT to remove time stamps or add in specific keywords or company names so the AI doesn't misspell words. In my case, I told it to remove filler words and any repeated phrases. So if I say the same thing twice, OpenAI will only include it once.

Screenshot of OpenAI prompt in Zap editor

Finally, you can also add in your audio's language under the Language of the Audio field. If you leave this blank it will default to English. Once you've finished setting up these fields, click Continue

Now it's time to test your action. When you click Test & Review or Test & Continue, Zapier will pull in the summary from OpenAI according to how you customized the fields in your Zap.

Screenshot of test in Zap editor

Once you see that your trigger is working correctly, click the + button at the bottom of your screen to add a new step to your Zap.

Set up your Formatter action

The next step is adding a Formatter by Zapier step to truncate the output to 15500 characters. This is in an attempt to avoid hitting the max number of tokens in the next OpenAI step. If your memo is really long, you might lose some context, but for a 5-20 minute voice memo this generally works fine. 

Select Formatter by Zapier for the action app and Text for the event.

Screenshot of formatter step in zap editor

Click Continue

Next, select Truncate as your transform action. Click in the Input field, and select Content from the data dropdown from your OpenAI action—this contains the transcription of your memo. 

In the Max Length field, enter 15500, then select True for the Append Ellipsis option. This is what it will look like: 

Screenshot of formatter step

Next, click Test Action to ensure everything is working properly. Next, we'll set up our prompt to send to OpenAI.

Set up the OpenAI action to summarize the article

Now that we have our raw transcript and we know we won't hit token limits, we can summarize it. Again, we'll use OpenAI for this, but this time we'll be sending a prompt to OpenAI.  

Search for the OpenAI app and choose the Send Prompt event:

Screenshot of OpenAI action

Click Continue and connect your OpenAI account. 

Now it's time to set up the action. As is often the case when working with OpenAI actions, the magic is really in how you phrase your prompt. A vague prompt equals a vague, unhelpful output. Here's the prompt that worked the best for me: 

Screenshot of OpenAI prompt in Zap editor

Once you've written your prompt, make sure to pull in data from your Formatter step by clicking inside the Prompt field and selecting Output from the insert data dropdown. 

This whole prompt tends to return a consistently formatted response that I can then parse later for more detail.

Once you're done, click Continue. Remember to test your action. If you're unhappy with your summary from OpenAI, tweak your prompt until you're happy with your results.

Screenshot of OpenAI test successful

To add another step to your Zap, click the + button at the bottom of your screen.

Set up your Dropbox action

Now let's set up the next step of this workflow, which will upload a new file in Dropbox with the transcription OpenAI created. Select Dropbox for your action app and Upload File for your action event.

Screenshot of Dropbox action in Zap editor

I've used this action (upload file) because it allows me to specify my file format. I'm using markdown so it plays nicely with my Obsidian file repository, but you can also use Create Text File if you don't mind what file format it's uploaded in. 

Click Continue

Now it's time to set up the action. Select which Dropbox folder you want to upload your file to. In my Zap, I'll be sending the file to the same folder where I store my audio files. 

Once you're done selecting your folder location, pull in the OpenAI response by clicking in the File field and selecting Response from the data dropdown. 

Screenshot of Dropbox action

Remember to test your action once you've finished setting up these fields. 

Screenshot of Dropbox test

To add another step to your Zap, click the + button at the bottom of your screen.

Set up your Todoist action

Select Todoist for your action app and Create Task as your action event. 

Screenshot of Todoist action

Click Continue. Now it's time to set up your Todoist action. Depending on your Todoist projects, you can specify which one under Project or leave it blank so it defaults to your Todoist inbox. Then, under Title, you can pull in the previous Dropbox's file by clicking in the Title field and selecting File Text from the data dropdown. 

Screenshot of Todoist set up

Now it's time to test your action. When you click Test action, Zapier will send the file contents to Todoist according to how you set up your action. 

It's a good idea to test your Zap to check if your task looks ok. If it worked correctly, you should see a task inside the Todoist project you set up. Here's what mine looks like: 

Screenshot of Todoist note

When you're happy with how the test looks, you're now ready to turn on your Zap.

Create individual action items in Todoist with a few additional steps

Now the only problem with the above workflow is that it's adding all of my to-do list items as one task (as well as adding the summary and key points from my previous OpenAI step). To add your to-do items to Todoist as separate tasks, there are a few extra steps you can take—after your final Dropbox action.

Screenshot of additional Zap steps

First, I use a Formatter step to parse out the section with my action items. I use a Split Text action that looks for the string Action Items:[:newline:] and grabs Segment Index 1—basically, everything after that string. This should now be just a list of my action items. 

Screenshot of additional formatter step

Now for the magic. At this point in the Zap, I've used Formatter to return a new line-separated list of action items. So for example, I might have:

  • Schedule book club for this weekend

  • Take the car to the shop on Tuesday

  • Ask Jess about Q3 planning

This is a perfect opportunity to use Looping by Zapier. If you haven't used it before, Looping by Zapier lets you iterate through some list of items and perform an action on each one. In this case, I want to loop through this list of action items and add each one to Todoist, my preferred to-do list app (but you can use whichever one you want). 

The looping step looks like this: 

Screenshot of Looping step

By using [:newline:] as the text delimiter, I know that as long as I provide each individual to-do on a new line, the looping step will treat it as a separate action item. 

And finally, after the Looping step, the final action is Create Task in Todoist.  Because I named each loop iteration Todo in the looping step, I made sure to use that in my Title field in this step. 

Screenshot of Todoist task step

If you add those extra steps, each action item within the same summary OpenAI creates will be added to Todoist as a separate task, and it will eliminate the summary and key points. 

Screenshot of Todoist results

And there you have it! It's now a daily ritual for me to take out my phone, babble into it for a while about whatever's on my mind in a completely unstructured way, and then upload the resulting voice memo to Dropbox in a few taps. Within a minute or so, my Todoist is magically populated with my next steps, and I have a transcribed record and summary of the whole thing.

Create Todoist tasks from voice memos with OpenAI

It's the first time that AI has radically changed my workflow. Instead of spending yet more hours in front of my computer screen after work creating tasks and taking notes, I can do it all via speech. Zapier will take my voice memos, no matter how unstructured, and organize them into effective next steps. 

For all the verbal thinkers out there, this one's for you.  

Get productivity tips delivered straight to your inbox

We’ll email you 1-3 times per week—and never share your information.

tags

Related articles

Improve your productivity automatically. Use Zapier to get your apps working together.

Sign up
A Zap with the trigger 'When I get a new lead from Facebook,' and the action 'Notify my team in Slack'