How I use AI to take perfect notes...without typing (Help needed)

Model prop? Sorry I don’t know what that means. Is this it? And yeah, if it makes no difference then I will just leave it alone. But I am willing to test it too.



You can follow this screen recording:

Pipedream Workflows are composed of component steps, which can be sources (triggers) or actions. Components have props, which are configurable values that are passed to the component execution. In this case, the Model prop sends a request to OpenAI with your account’s API_KEY to check which gpt versions you have available for use, then lists these options for you to select.

There are many other apps available in Pipedream, so you can create complex workflows that can be automatically triggered and run. Here’s a link that will help you understand what you can do with Pipedream.

When I go to edit my workflow, it does not show me those options. Does that mean I need to rebuild the entire workflow?

Yes, you can create new workflow just for this test. Afterwards you can delete it

Ok, I will try that later today when I get some time. Thank you again.

You’re welcome. Please share any updates you have

Thank you so much! Will let you know if I test some longer multi-hour audio.

I rebuilt the entire workflow and this option still did not populate for me. Only 3.5. I tried changing the token to 6000 as well from 2000 as you mentioned but did not work, probably because it is on 3.5 still. 3.5 works well so it is not a HUGE deal but just wanted to see the difference with GPT 4.

I have another request if you’re up for it, Andrew. I would love to change the structure of the output to Notion to put the Transcript as the last item. So, Summary, Additional Info, Transcript. I tried some things, but I’m too novice to figure it out on my own. I think this would really optimize the output of the notes for when you go back to read them. Put the highest value content at the top of the Note. The transcript is great to have, but lets be honest, how often is the word-for-word conversation something you fully re-read. Especially with these great structured key points, etc. Thanks again for the amazing help already!

@gabriel.dane.509 here’s the modified code for the Notion update_page step (I asked ChatGPT heh):

import { Client } from "@notionhq/client"
export default defineComponent({
  props: {
    notion: {
      type: "app",
      app: "notion",
    }
  },
  async run({ steps, $ }) {
    const notion = new Client({ auth: this.notion.$auth.oauth_access_token });

    // Set the page ID
    const pageID = steps.notion.$return_value.response.id.replace(/-/g, '')

    /* --- Send the Additional Info to the Notion Page --- */

    // Split the additional info array into blocks of 95 blocks max
    const additionalInfo = steps.notion.$return_value.additional_info
    const infoHolder = []
    const infoBlockMaxLength = 95

    for (let i = 0; i < additionalInfo.length; i += infoBlockMaxLength) {
      const chunk = additionalInfo.slice(i, i + infoBlockMaxLength)
      infoHolder.push(chunk)
    }

    // Now send all the additional info to Notion
    async function sendAdditionalInfotoNotion(info) {

      const data = {
        block_id: pageID,
        children: []
      }

      for (let block of info) {
        data.children.push(block)
      }

      const response = await notion.blocks.children.append(data)
      return response

    }

    const additionalInfoAdditionResponses = []
    for (let addition of infoHolder) {
      const response = await sendAdditionalInfotoNotion(addition)
      additionalInfoAdditionResponses.push(response)
    }

    /* --- Send remaining Transcript blocks to the Notion Page --- */

    // Push the additional transcript groups to the Notion page
    async function sendTranscripttoNotion(transcript) {

      const data = {
        block_id: pageID,
        children: []
      }

      for (let sentence of transcript) {
        const paragraphBlock = {
          "paragraph": {
            "rich_text": [
              {
                "text": {
                  "content": sentence
                }
              }
            ]
          }
        };

        data.children.push(paragraphBlock)
      }

      const response = await notion.blocks.children.append(data)
      return response
    }

    const transcriptArray = steps.notion.$return_value.transcript
    transcriptArray.shift()
    const transcriptAdditionResponses = []
    for (let transcript of transcriptArray) {
      const response = await sendTranscripttoNotion(transcript)
      transcriptAdditionResponses.push(response)
    }

    const allAPIResponses = {
      transcript_responses: transcriptAdditionResponses,
      additional_info_responses: additionalInfoAdditionResponses
    }

    return allAPIResponses
  },
})

Hello,

This is a real good idea @gabriel.dane.509! @andrewcturing I just tried the updated code and it is still putting the transcript first. It actually put the transcript first and then what appears to be the rest of the transcript last.

1 Like

That’s part of how I got stuck, too! I think it’s because something is happening in both of the Notion steps with Pipedream to do something with the transcript.

Anybody have an update to this by chance?

Hi @nelsonspam7, @gabriel.dane.509, I think this request might not in the scope for Pipedream support anymore. If you can, could you send an email to Thomas (who’s the author of the code) so he can help?

Thanks.

Do you know his email?

Let me know if you make progress, @nelsonspam7 :slight_smile:

Re: scope of support, 100% this is above and beyond. Thank you so much to the team for getting us this far. That said, above and beyond is how you differentiate in a hypercompetitive tech world. Not my company or forum to run, but if it was I would consider customer delight a very good use of my time and resources.

Food for thought, and if someone does solve this I will be one delighted pipedream customer. I’m already getting tremendous value from this workflow in it’s current state. This optimization would take it to the next level. Many of us who want to leverage automation are capable of solving technical issues like this one, but it’s a matter of how much time and effort it would take for the payoff. Having help from someone who it’s fast/easy/fun for is awesome!

@gabriel.dane.509 I think this is just a misunderstanding re: how the Pipedream team is involved here. We provide a generic platform for people to build workflows and write code. People like Thomas Frank commonly build workflow templates that you can use and extend, but Pipedream was not involved in the creation of these, and it’s impossible for us to support custom modifications to each and every one. We have to focus on supporting the core product: the Pipedream UI, the runtime, our integrations, etc. But it’s impossible for us to scale support to help users write custom code for every use case.

I hope that context helps. We put in a huge amount of effort delighting our customers when they encounter issues in the above areas.

Luckily, ChatGPT and other tools are able to generate code now and deal with very abstract concepts. I frequently use it for these use cases, e.g. modifying existing code, consulting it on bugs, etc. I’d recommend working there to see if it can help.

I am getting status code 429