Is there a more efficient way to do this?

I’m curious if there is a more efficient way to do this and wondering if I’m better using Make with ChatGPT for long-term costs.

I have a form setup to upload business cards to a field. Once the form is submitted I have a workflow that performs an Image to Text via the AI using 2 Updates. It’s the data from there that starts to add up - 1 update each - causing each card read to cost about 10 updates.

It starts with image to text, extracts that full text to one field, then extracts each individual piece from that field using Text to Texts - Business Name, Address, Business Phone, Contact Name, Contact Title, Mobile, Email, and Notes. I would Ideally, for formatting purposes like that address field to be broken into Street Address, City, State, and Zip, but I’m not willing to add four more steps.

Did I do this correctly or did I miss something that can save me some updates and make this more efficient?

So you want to query out all these fields:

And then add them as different columns in your database?

I would do it like this:

Image to Text: Produce raw info about the image.
Text to JSON: Construct a JSON that mimics an API call body that would set those values to different columns in Glide. To do this, you must feed the sample HTTP body of your table in the “Instructions” part.
Call API: Use the result of Text to JSON as the body of a Glide API call.

Thank you!!!

I can get all the way to the Call API part of your instructions and that’s where I’m getting lost. Do you have any more detailed explanation of that or have any videos you know of you could point me to to make that happen?

Step 1: Go to your data view and check the list of tables on the left.

Step 2: Right click on the table where you want to write the data to, then choose “Show API”.

Step 3: Choose cURL > Edit rows.

This is the syntax you need to edit your row programatically. If you want to add a row instead, use cURL & Add row.

More specifically, you want your Text to JSON to generate this part.

{
  "appID": "baRSwEYHL3spMMHPnS8H",
  "mutations": [
    {
      "kind": "set-columns-in-row",
      "tableName": "tableIDhere",
      "columnValues": {
        "column1": "value1",
        "column2": "value2",
        "column3": "value3"
      },
      "rowID": "ROW-ID"
    }
  ]
}

Try to feed that into your instruction prompt, something like:

I want you to generate a JSON that would serve as the body for my HTTP call, the structure of the JSON looks like this: [insert the structure above]. Please extract info from my input to do so.

Step 4: In your original flow, add a Call API module.

The setup looks like this.

Note: If you use Edit row, make sure you feed the rowID to your flow so Text to JSON can add that to the call body.