{
 "flow": [
  {
   "id": 1,
   "mapper": {},
   "module": "google-sheets:watchRows",
   "version": 2,
   "metadata": {
    "designer": {
     "x": 0,
     "y": 0,
     "name": "Get inputs"
    },
    "parameters": [
     {
      "name": "__IMTCONN__",
      "type": "account:google",
      "label": "Connection",
      "required": true
     },
     {
      "name": "mode",
      "type": "select",
      "label": "Search Method",
      "required": true,
      "validate": {
       "enum": [
        "select",
        "fromAll",
        "map"
       ]
      }
     },
     {
      "name": "includesHeaders",
      "type": "select",
      "label": "Table contains headers",
      "required": true,
      "validate": {
       "enum": [
        true,
        false
       ]
      }
     },
     {
      "name": "limit",
      "type": "uinteger",
      "label": "Limit",
      "required": true
     },
     {
      "name": "valueRenderOption",
      "type": "select",
      "label": "Value render option",
      "validate": {
       "enum": [
        "FORMATTED_VALUE",
        "UNFORMATTED_VALUE",
        "FORMULA"
       ]
      }
     },
     {
      "name": "dateTimeRenderOption",
      "type": "select",
      "label": "Date and time render option",
      "validate": {
       "enum": [
        "SERIAL_NUMBER",
        "FORMATTED_STRING"
       ]
      }
     },
     {
      "name": "from",
      "type": "select",
      "label": "Drive",
      "required": true,
      "validate": {
       "enum": [
        "drive",
        "share",
        "team"
       ]
      }
     },
     {
      "name": "spreadsheetId",
      "type": "file",
      "label": "Spreadsheet ID",
      "required": true
     },
     {
      "name": "sheetId",
      "type": "select",
      "label": "Sheet Name",
      "required": true
     },
     {
      "name": "tableFirstRow",
      "type": "text",
      "label": "Row with headers",
      "required": true
     }
    ]
   },
   "parameters": {
    "from": "drive",
    "mode": "select",
    "limit": 1,
    "sheetId": "Sheet1",
    "spreadsheetId": "/1rtbT3Rb0nfIWk24tTqAk2H00CGFaDhrovZm_iM1X808",
    "tableFirstRow": "A1:Z1",
    "includesHeaders": true,
    "valueRenderOption": "FORMATTED_VALUE",
    "dateTimeRenderOption": "FORMATTED_STRING"
   }
  },
  {
   "id": 2,
   "mapper": {
    "model": "gpt-4o-mini",
    "top_p": "1",
    "select": "chat",
    "messages": [
     {
      "role": "user",
      "content": "You are a SEO expert.\n\nWhat are 5 effective SEO keywords that could be used to optimize an article about the {{1.`0`}}?",
      "imageDetail": "auto"
     }
    ],
    "max_tokens": "1000",
    "temperature": "1",
    "n_completions": "1",
    "response_format": "text"
   },
   "module": "openai-gpt-3:CreateCompletion",
   "version": 1,
   "metadata": {
    "expect": [
     {
      "name": "select",
      "type": "select",
      "label": "Select Method",
      "required": true,
      "validate": {
       "enum": [
        "chat",
        "prompt"
       ]
      }
     },
     {
      "name": "temperature",
      "type": "number",
      "label": "Temperature",
      "validate": {
       "max": 2,
       "min": 0
      }
     },
     {
      "name": "top_p",
      "type": "number",
      "label": "Top P",
      "validate": {
       "max": 1,
       "min": 0
      }
     },
     {
      "name": "n_completions",
      "type": "number",
      "label": "Number"
     },
     {
      "name": "frequency_penalty",
      "type": "number",
      "label": "Frequency Penalty",
      "validate": {
       "max": 2,
       "min": -2
      }
     },
     {
      "name": "presence_penalty",
      "type": "number",
      "label": "Presence Penalty",
      "validate": {
       "max": 2,
       "min": -2
      }
     },
     {
      "name": "logit_bias",
      "spec": {
       "name": "value",
       "spec": [
        {
         "name": "token",
         "type": "text",
         "label": "Token ID",
         "required": true
        },
        {
         "name": "probability",
         "type": "number",
         "label": "Probability",
         "required": true,
         "validate": {
          "max": 100,
          "min": -100
         }
        }
       ],
       "type": "collection",
       "label": "Token Probability"
      },
      "type": "array",
      "label": "Token Probability"
     },
     {
      "name": "seed",
      "type": "integer",
      "label": "Seed"
     },
     {
      "name": "stop",
      "spec": {
       "name": "value",
       "type": "text",
       "label": "Stop Sequence"
      },
      "type": "array",
      "label": "Stop Sequences",
      "validate": {
       "maxItems": 4
      }
     },
     {
      "name": "additionalParameters",
      "spec": {
       "name": "value",
       "spec": [
        {
         "name": "key",
         "type": "text",
         "label": "Parameter Name",
         "required": true
        },
        {
         "name": "type",
         "type": "select",
         "label": "Input Type",
         "options": [
          {
           "label": "Text",
           "value": "text",
           "nested": [
            {
             "name": "value",
             "type": "text",
             "label": "Parameter Value"
            }
           ],
           "default": true
          },
          {
           "label": "Number",
           "value": "number",
           "nested": [
            {
             "name": "value",
             "type": "number",
             "label": "Parameter Value"
            }
           ]
          },
          {
           "label": "Boolean",
           "value": "boolean",
           "nested": [
            {
             "name": "value",
             "type": "boolean",
             "label": "Parameter Value"
            }
           ]
          },
          {
           "label": "Date",
           "value": "date",
           "nested": [
            {
             "name": "value",
             "type": "date",
             "label": "Parameter Value"
            }
           ]
          },
          {
           "label": "Any",
           "value": "any",
           "nested": [
            {
             "name": "value",
             "type": "any",
             "label": "Parameter Value"
            }
           ]
          }
         ]
        }
       ],
       "type": "collection",
       "label": "Input Parameter"
      },
      "type": "array",
      "label": "Other Input Parameters"
     },
     {
      "name": "model",
      "type": "select",
      "label": "Model",
      "required": true
     },
     {
      "name": "max_tokens",
      "type": "uinteger",
      "label": "Max Completion Tokens"
     },
     {
      "name": "messages",
      "spec": {
       "name": "value",
       "spec": [
        {
         "name": "role",
         "type": "select",
         "label": "Role",
         "options": {
          "store": [
           {
            "label": "User",
            "value": "user",
            "nested": [
             {
              "help": "Text content of the message on behalf of the selected __Role__.",
              "name": "content",
              "type": "text",
              "label": "Text Content"
             },
             {
              "name": "imageInputType",
              "type": "select",
              "label": "Image Input Type",
              "options": [
               {
                "label": "URL",
                "value": "url",
                "nested": [
                 {
                  "help": "Make sure to use a publicly accessible URL.\nYou can test if your image is publicly accessible by opening the link in an incognito tab.",
                  "name": "imageUrl",
                  "type": "url",
                  "label": "Image URL"
                 }
                ]
               },
               {
                "label": "Image File",
                "value": "file",
                "nested": [
                 {
                  "name": "imageFile",
                  "spec": [
                   {
                    "help": "Accepted extensions: `.jpg`, `.jpeg`, `.png`, `.webp` and `.gif`.",
                    "name": "imageFilename",
                    "type": "filename",
                    "label": "Image Filename",
                    "semantic": "file:name",
                    "extension": [
                     "jpg",
                     "jpeg",
                     "png",
                     "webp",
                     "gif"
                    ]
                   },
                   {
                    "name": "imageData",
                    "type": "buffer",
                    "label": "Image Data",
                    "semantic": "file:data"
                   }
                  ],
                  "type": "collection",
                  "label": "Image"
                 }
                ]
               }
              ],
              "mappable": false
             },
             {
              "name": "imageDetail",
              "type": "select",
              "label": "Image Detail",
              "options": [
               {
                "label": "Auto",
                "value": "auto",
                "default": true
               },
               {
                "label": "High",
                "value": "high"
               },
               {
                "label": "Low",
                "value": "low"
               }
              ],
              "advanced": true
             }
            ]
           },
           {
            "label": "Assistant",
            "value": "assistant",
            "nested": [
             {
              "help": "Text content of the message on behalf of the selected __Role__.",
              "name": "content",
              "type": "text",
              "label": "Text Content"
             }
            ]
           },
           {
            "label": "Developer / System",
            "value": "system",
            "nested": [
             {
              "help": "Text content of the message on behalf of the selected __Role__.",
              "name": "content",
              "type": "text",
              "label": "Text Content"
             }
            ]
           }
          ]
         },
         "required": true
        }
       ],
       "type": "collection",
       "label": "Message"
      },
      "type": "array",
      "label": "Messages",
      "required": true
     },
     {
      "name": "response_format",
      "type": "select",
      "label": "Response Format",
      "validate": {
       "enum": [
        "text",
        "json_object"
       ]
      }
     },
     {
      "name": "prediction",
      "type": "text",
      "label": "Predicted Outputs"
     }
    ],
    "advanced": true,
    "designer": {
     "x": 300,
     "y": 0,
     "name": "Generate ChatGPT completion"
    },
    "interface": [
     {
      "name": "result",
      "type": "any",
      "label": "Result"
     },
     {
      "name": "id",
      "type": "text",
      "label": "ID"
     },
     {
      "name": "object",
      "type": "text",
      "label": "Object"
     },
     {
      "name": "created",
      "type": "date",
      "label": "Created"
     },
     {
      "name": "model",
      "type": "text",
      "label": "Model"
     },
     {
      "name": "choices",
      "spec": {
       "spec": [
        {
         "name": "text",
         "type": "text",
         "label": "Text"
        },
        {
         "name": "index",
         "type": "number",
         "label": "Index"
        },
        {
         "name": "logprobs",
         "type": "text",
         "label": "Log Probs"
        },
        {
         "name": "finish_reason",
         "type": "text",
         "label": "Finish Reason"
        },
        {
         "name": "message",
         "spec": [
          {
           "name": "role",
           "type": "text",
           "label": "Role"
          },
          {
           "name": "content",
           "type": "text",
           "label": "Content"
          },
          {
           "name": "refusal",
           "type": "text",
           "label": "Refusal"
          }
         ],
         "type": "collection",
         "label": "Message"
        }
       ],
       "type": "collection"
      },
      "type": "array",
      "label": "Choices"
     },
     {
      "name": "usage",
      "spec": [
       {
        "name": "prompt_tokens",
        "type": "number",
        "label": "Prompt Tokens"
       },
       {
        "name": "completion_tokens",
        "type": "text",
        "label": "Completion Tokens"
       },
       {
        "name": "total_tokens",
        "type": "number",
        "label": "Total Tokens"
       },
       {
        "name": "prompt_tokens_details",
        "spec": [
         {
          "name": "cached_tokens",
          "type": "uinteger",
          "label": "Cached Tokens"
         },
         {
          "name": "text_tokens",
          "type": "uinteger",
          "label": "Text Tokens"
         },
         {
          "name": "image_tokens",
          "type": "uinteger",
          "label": "Image Tokens"
         },
         {
          "name": "audio_tokens",
          "type": "uinteger",
          "label": "Audio Tokens"
         }
        ],
        "type": "collection",
        "label": "Prompt Tokens Details"
       },
       {
        "name": "completion_tokens_details",
        "spec": [
         {
          "name": "reasoning_tokens",
          "type": "uinteger",
          "label": "Reasoning Tokens"
         },
         {
          "name": "text_tokens",
          "type": "uinteger",
          "label": "Text Tokens"
         },
         {
          "name": "audio_tokens",
          "type": "uinteger",
          "label": "Audio Tokens"
         },
         {
          "name": "accepted_prediction_tokens",
          "type": "uinteger",
          "label": "Accepted Prediction Tokens"
         },
         {
          "name": "rejected_prediction_tokens",
          "type": "uinteger",
          "label": "Rejected Prediction Tokens"
         }
        ],
        "type": "collection",
        "label": "Completion Tokens Details"
       }
      ],
      "type": "collection",
      "label": "Usage"
     },
     {
      "name": "service_tier",
      "type": "text",
      "label": "Service Tier"
     },
     {
      "name": "system_fingerprint",
      "type": "text",
      "label": "System Fingerprint"
     }
    ],
    "parameters": [
     {
      "name": "__IMTCONN__",
      "type": "account:openai-gpt-3",
      "label": "Connection",
      "required": true
     }
    ]
   },
   "parameters": {}
  },
  {
   "id": 3,
   "mapper": {
    "mode": "map",
    "values": {
     "0": "{{2.result}}"
    },
    "sheetId": "{{1.`__SHEET__`}}",
    "rowNumber": "{{1.`__ROW_NUMBER__`}}",
    "spreadsheetId": "{{1.`__SPREADSHEET_ID__`}}",
    "tableFirstRow": "A1:Z1",
    "valueInputOption": "USER_ENTERED"
   },
   "module": "google-sheets:updateRow",
   "version": 2,
   "metadata": {
    "expect": [
     {
      "name": "mode",
      "type": "select",
      "label": "Search Method",
      "required": true,
      "validate": {
       "enum": [
        "select",
        "fromAll",
        "map"
       ]
      }
     },
     {
      "name": "valueInputOption",
      "type": "select",
      "label": "Value input option",
      "validate": {
       "enum": [
        "USER_ENTERED",
        "RAW"
       ]
      }
     },
     {
      "name": "spreadsheetId",
      "type": "text",
      "label": "Spreadsheet ID",
      "required": true
     },
     {
      "name": "sheetId",
      "type": "text",
      "label": "Sheet Name",
      "required": true
     },
     {
      "name": "rowNumber",
      "type": "uinteger",
      "label": "Row number",
      "required": true
     },
     {
      "name": "tableFirstRow",
      "type": "select",
      "label": "Column range",
      "required": true,
      "validate": {
       "enum": [
        "A1:Z1",
        "A1:BZ1",
        "A1:CZ1",
        "A1:DZ1",
        "A1:MZ1",
        "A1:ZZ1"
       ]
      }
     },
     {
      "name": "values",
      "spec": [
       {
        "name": "0",
        "type": "text",
        "label": "A"
       },
       {
        "name": "1",
        "type": "text",
        "label": "B"
       },
       {
        "name": "2",
        "type": "text",
        "label": "C"
       },
       {
        "name": "3",
        "type": "text",
        "label": "D"
       },
       {
        "name": "4",
        "type": "text",
        "label": "E"
       },
       {
        "name": "5",
        "type": "text",
        "label": "F"
       },
       {
        "name": "6",
        "type": "text",
        "label": "G"
       },
       {
        "name": "7",
        "type": "text",
        "label": "H"
       },
       {
        "name": "8",
        "type": "text",
        "label": "I"
       },
       {
        "name": "9",
        "type": "text",
        "label": "J"
       },
       {
        "name": "10",
        "type": "text",
        "label": "K"
       },
       {
        "name": "11",
        "type": "text",
        "label": "L"
       },
       {
        "name": "12",
        "type": "text",
        "label": "M"
       },
       {
        "name": "13",
        "type": "text",
        "label": "N"
       },
       {
        "name": "14",
        "type": "text",
        "label": "O"
       },
       {
        "name": "15",
        "type": "text",
        "label": "P"
       },
       {
        "name": "16",
        "type": "text",
        "label": "Q"
       },
       {
        "name": "17",
        "type": "text",
        "label": "R"
       },
       {
        "name": "18",
        "type": "text",
        "label": "S"
       },
       {
        "name": "19",
        "type": "text",
        "label": "T"
       },
       {
        "name": "20",
        "type": "text",
        "label": "U"
       },
       {
        "name": "21",
        "type": "text",
        "label": "V"
       },
       {
        "name": "22",
        "type": "text",
        "label": "W"
       },
       {
        "name": "23",
        "type": "text",
        "label": "X"
       },
       {
        "name": "24",
        "type": "text",
        "label": "Y"
       },
       {
        "name": "25",
        "type": "text",
        "label": "Z"
       }
      ],
      "type": "collection",
      "label": "Values"
     }
    ],
    "designer": {
     "x": 600,
     "y": 0,
     "name": "Paste completion"
    },
    "parameters": [
     {
      "name": "__IMTCONN__",
      "type": "account:google",
      "label": "Connection",
      "required": true
     }
    ]
   },
   "parameters": {}
  }
 ],
 "name": "Generate ChatGPT Completions from Google Sheets Rows",
 "metadata": {
  "instant": false,
  "version": 1,
  "designer": {
   "orphans": []
  },
  "scenario": {
   "dlq": false,
   "slots": null,
   "dataloss": false,
   "maxErrors": 3,
   "autoCommit": true,
   "roundtrips": 1,
   "sequential": false,
   "confidential": false,
   "freshVariables": false,
   "autoCommitTriggerLast": true
  }
 }
}