{
    "name": "Freelancer RSS Feed -> Extract Jobs -> Add to a Google Sheet",
    "flow": [
        {
            "id": 11,
            "module": "google-sheets:watchUpdatedCells",
            "version": 2,
            "parameters": {
                "__IMTHOOK__": 1129964
            },
            "mapper": {},
            "metadata": {
                "designer": {
                    "x": 0,
                    "y": 0
                },
                "restore": {
                    "parameters": {
                        "__IMTHOOK__": {
                            "data": {
                                "editable": "false"
                            },
                            "label": "Freelance_Jobs"
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "__IMTHOOK__",
                        "type": "hook:google-sheets2",
                        "label": "Webhook",
                        "required": true
                    }
                ]
            }
        },
        {
            "id": 1,
            "module": "json:CreateJSON",
            "version": 1,
            "parameters": {
                "type": 126471,
                "space": ""
            },
            "filter": {
                "name": "Valid",
                "conditions": [
                    [
                        {
                            "a": "{{11.value}}",
                            "b": "Search",
                            "o": "text:equal"
                        }
                    ]
                ]
            },
            "mapper": {
                "Query": [
                    "{{11.rowValues[].`0`}}"
                ]
            },
            "metadata": {
                "designer": {
                    "x": 300,
                    "y": 0,
                    "name": "Input Role"
                },
                "restore": {
                    "expect": {
                        "Query": {
                            "mode": "chose",
                            "items": [
                                null
                            ]
                        }
                    },
                    "parameters": {
                        "type": {
                            "label": "Jobs"
                        },
                        "space": {
                            "label": "Empty"
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "type",
                        "type": "udt",
                        "label": "Data structure",
                        "required": true
                    },
                    {
                        "name": "space",
                        "type": "select",
                        "label": "Indentation",
                        "validate": {
                            "enum": [
                                "tab",
                                "2",
                                "4"
                            ]
                        }
                    }
                ],
                "expect": [
                    {
                        "name": "Query",
                        "spec": {
                            "name": "value",
                            "type": "text"
                        },
                        "type": "array",
                        "label": null
                    }
                ]
            }
        },
        {
            "id": 2,
            "module": "json:ParseJSON",
            "version": 1,
            "parameters": {
                "type": ""
            },
            "mapper": {
                "json": "{{1.json}}"
            },
            "metadata": {
                "designer": {
                    "x": 600,
                    "y": 0
                },
                "restore": {
                    "parameters": {
                        "type": {
                            "label": "Choose a data structure"
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "type",
                        "type": "udt",
                        "label": "Data structure"
                    }
                ],
                "expect": [
                    {
                        "name": "json",
                        "type": "text",
                        "label": "JSON string",
                        "required": true
                    }
                ]
            }
        },
        {
            "id": 3,
            "module": "builtin:BasicFeeder",
            "version": 1,
            "parameters": {},
            "mapper": {
                "array": "{{2.Query}}"
            },
            "metadata": {
                "designer": {
                    "x": 900,
                    "y": 0
                },
                "restore": {
                    "expect": {
                        "array": {
                            "mode": "edit"
                        }
                    }
                },
                "expect": [
                    {
                        "mode": "edit",
                        "name": "array",
                        "spec": [],
                        "type": "array",
                        "label": "Array"
                    }
                ]
            }
        },
        {
            "id": 4,
            "module": "rss:ActionReadArticles",
            "version": 4,
            "parameters": {
                "include": []
            },
            "mapper": {
                "url": "https://rss-freelancer.vercel.app/jobs/{{replace(3.value; space; \"_\")}}",
                "gzip": true,
                "password": "",
                "username": "",
                "maxResults": "50",
                "filterDateTo": "",
                "filterDateFrom": ""
            },
            "metadata": {
                "designer": {
                    "x": 1200,
                    "y": 0,
                    "name": "Retrieve_Job_Listings"
                },
                "restore": {},
                "parameters": [
                    {
                        "name": "include",
                        "type": "select",
                        "label": "Process RSS fields",
                        "multiple": true,
                        "validate": {
                            "enum": [
                                "google-merchant-center",
                                "itunes"
                            ]
                        }
                    }
                ],
                "expect": [
                    {
                        "name": "url",
                        "type": "url",
                        "label": "URL",
                        "required": true
                    },
                    {
                        "name": "username",
                        "type": "text",
                        "label": "User name"
                    },
                    {
                        "name": "password",
                        "type": "text",
                        "label": "Password"
                    },
                    {
                        "name": "filterDateFrom",
                        "type": "date",
                        "label": "Date from"
                    },
                    {
                        "name": "filterDateTo",
                        "type": "date",
                        "label": "Date to "
                    },
                    {
                        "name": "maxResults",
                        "type": "number",
                        "label": "Maximum number of returned items",
                        "required": true
                    },
                    {
                        "name": "gzip",
                        "type": "boolean",
                        "label": "Request compressed content",
                        "required": true
                    }
                ],
                "interface": [
                    {
                        "name": "title",
                        "type": "text",
                        "label": "Title"
                    },
                    {
                        "name": "description",
                        "type": "text",
                        "label": "Description"
                    },
                    {
                        "name": "summary",
                        "type": "text",
                        "label": "Summary"
                    },
                    {
                        "name": "author",
                        "type": "text",
                        "label": "Author"
                    },
                    {
                        "name": "url",
                        "type": "url",
                        "label": "URL"
                    },
                    {
                        "name": "dateUpdated",
                        "type": "date",
                        "label": "Date updated"
                    },
                    {
                        "name": "dateCreated",
                        "type": "date",
                        "label": "Date created"
                    },
                    {
                        "name": "comments",
                        "type": "url",
                        "label": "Comments"
                    },
                    {
                        "name": "image",
                        "spec": [
                            {
                                "name": "title",
                                "type": "text",
                                "label": "Name"
                            },
                            {
                                "name": "url",
                                "type": "url",
                                "label": "URL"
                            }
                        ],
                        "type": "collection",
                        "label": "Image"
                    },
                    {
                        "name": "categories",
                        "spec": {
                            "type": "text"
                        },
                        "type": "array",
                        "label": "Categories"
                    },
                    {
                        "name": "source",
                        "spec": [
                            {
                                "name": "title",
                                "type": "text",
                                "label": "Name"
                            },
                            {
                                "name": "url",
                                "type": "url",
                                "label": "URL"
                            }
                        ],
                        "type": "collection",
                        "label": "Source"
                    },
                    {
                        "name": "enclosures",
                        "spec": [
                            {
                                "name": "url",
                                "type": "url",
                                "label": "URL"
                            },
                            {
                                "name": "type",
                                "type": "text",
                                "label": "Type"
                            },
                            {
                                "name": "length",
                                "type": "number",
                                "label": "Length"
                            }
                        ],
                        "type": "array",
                        "label": "Enclosures"
                    },
                    {
                        "help": "Other RSS fields. All values are in text format.",
                        "name": "rssFields",
                        "spec": [
                            {
                                "name": "title",
                                "type": "text",
                                "label": "title"
                            },
                            {
                                "name": "link",
                                "type": "text",
                                "label": "link"
                            },
                            {
                                "name": "description",
                                "type": "text",
                                "label": "description"
                            }
                        ],
                        "type": "collection",
                        "label": "RSS fields"
                    }
                ]
            }
        },
        {
            "id": 6,
            "module": "regexp:AdvancedParser",
            "version": 1,
            "parameters": {
                "global": false,
                "multiline": false,
                "sensitive": true,
                "singleline": false,
                "advancedParser": true,
                "continueWhenNoRes": false
            },
            "filter": {
                "name": "Automation?",
                "conditions": [
                    [
                        {
                            "a": "{{4.title}}",
                            "b": "Automated",
                            "o": "text:contain:ci"
                        }
                    ],
                    [
                        {
                            "a": "{{4.title}}",
                            "b": "automation",
                            "o": "text:contain:ci"
                        }
                    ],
                    [
                        {
                            "a": "{{4.title}}",
                            "b": "automate",
                            "o": "text:contain:ci"
                        }
                    ]
                ]
            },
            "mapper": {
                "text": "{{4.description}}",
                "pattern": "\\$(\\d+)\\n"
            },
            "metadata": {
                "designer": {
                    "x": 1500,
                    "y": 0
                },
                "restore": {},
                "parameters": [
                    {
                        "name": "global",
                        "type": "boolean",
                        "label": "Global match",
                        "required": true
                    },
                    {
                        "name": "sensitive",
                        "type": "boolean",
                        "label": "Case sensitive",
                        "required": true
                    },
                    {
                        "name": "multiline",
                        "type": "boolean",
                        "label": "Multiline",
                        "required": true
                    },
                    {
                        "name": "singleline",
                        "type": "boolean",
                        "label": "Singleline",
                        "required": true
                    },
                    {
                        "name": "continueWhenNoRes",
                        "type": "boolean",
                        "label": "Continue the execution of the route even if the module finds no matches",
                        "required": true
                    },
                    {
                        "name": "advancedParser",
                        "type": "hidden"
                    }
                ],
                "expect": [
                    {
                        "name": "pattern",
                        "type": "text",
                        "label": "Pattern",
                        "required": true
                    },
                    {
                        "name": "text",
                        "type": "text",
                        "label": "Text",
                        "required": true
                    }
                ]
            }
        },
        {
            "id": 7,
            "module": "openai-gpt-3:CreateCompletion",
            "version": 1,
            "parameters": {
                "__IMTCONN__": 1943886
            },
            "filter": {
                "name": "Filter",
                "conditions": [
                    [
                        {
                            "a": "{{6.value}}",
                            "b": "400",
                            "o": "number:greaterorequal"
                        }
                    ]
                ]
            },
            "mapper": {
                "model": "gpt-4o",
                "top_p": "1",
                "select": "chat",
                "messages": [
                    {
                        "role": "user",
                        "content": "You're applying on Freelancer.com for this job:\n{{4.title}}.\nI'm an expert in {{3.value}}, and want to apply for this job. Please create a compelling response as to why I would be the best candidate for the role. Here's the job description:\n{{stripHTML(4.description)}}.\n\nMake sure to have a clear intro, provide a link to the portfolio, answer any questions the client has, thank them for their time and then sign off. \n\nOnly answer questions if they are asked. Otherwise don't create questions and answer them."
                    },
                    {
                        "role": "assistant",
                        "content": "Please start by confidently assuring the poster of the job that I can help with the position, while referencing the job title here: {{4.title}}.\n\nPlease provide this portfolio link to view:\nhttps://example.com/portfolio\n\nAnswer any questions the client may have. Here's a basic question bank:\nQ: When can you start?\nA: I can start immediately.\n##\nQ: How many hours per week can you put in?\nA: I can work 40 hours per week.\n##\nQ: Are you looking for short-term or long-term work?\nA: I'm open to both short and long term work, depending on what's available. Usually, most companies like to start on a freelance/part time basis and then monitor performance and take it from there. Let me know what works best for you!\n##\nQ: How do you define success?\nA: Meeting my own expectations. Unfortunately, they're very high (much higher than other people's expectations ony me). As an analogy, I like to get 30 hours of work done in a 24 hour day - always pushing the boundaries of whats possible and delivering excellent in all the little details.\n##\nQ: Why should I hire you over someone else?\nA: I've ran my own business for 10 years, doing exactly what you're looking to do. I've genearte $[x] in that time, and had [y] and [z] achievements.\n##\nQ: Are you working as an individual, team or part of an agency?\nA: I'm working as ana individual freelancer.\n##\nQ: As mentioned previously, please provide some examples of past work you've done, SEO or otherwise.\nA: Here's my portfolio of work!:\nhttps://example.com/work\n##\n\nThank them for their time.\n\nSign off by with: Best,\nMichele"
                    },
                    {
                        "role": "system",
                        "content": "Following these formatting requirements:\n1. Do not use any custom variables such as [Name], or [Client's Name]. \n2.Do not include any HTML or Markdown, make sure it's plain text\n3. Make sure to not include any additional text other than the message. Do not include an intro or conclusion in the response that isn't the Freelancer.com application itself.\n4. Don't try to use markdown language to do things like bolding text such as **changing text**. Make sure it's plain text\n5. For any lists, make sure to structure them as a numbered listed, with a bracket, such as 1) or 2) or 3)\n6. Do not include a subject line"
                    }
                ],
                "max_tokens": "2500",
                "temperature": "1",
                "n_completions": "1",
                "response_format": "text"
            },
            "metadata": {
                "designer": {
                    "x": 1800,
                    "y": 0
                },
                "restore": {
                    "expect": {
                        "stop": {
                            "mode": "chose"
                        },
                        "model": {
                            "mode": "chose",
                            "label": "gpt-4o (system)"
                        },
                        "select": {
                            "label": "Create a Chat Completion (GPT Models)"
                        },
                        "messages": {
                            "mode": "chose",
                            "items": [
                                {
                                    "role": {
                                        "mode": "chose",
                                        "label": "User"
                                    }
                                },
                                {
                                    "role": {
                                        "mode": "chose",
                                        "label": "Assistant"
                                    }
                                },
                                {
                                    "role": {
                                        "mode": "chose",
                                        "label": "System"
                                    }
                                }
                            ]
                        },
                        "logit_bias": {
                            "mode": "chose"
                        },
                        "response_format": {
                            "mode": "chose",
                            "label": "Text"
                        },
                        "additionalParameters": {
                            "mode": "chose"
                        }
                    },
                    "parameters": {
                        "__IMTCONN__": {
                            "data": {
                                "scoped": "true",
                                "connection": "openai-gpt-3"
                            },
                            "label": "Active"
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "__IMTCONN__",
                        "type": "account:openai-gpt-3",
                        "label": "Connection",
                        "required": true
                    }
                ],
                "expect": [
                    {
                        "name": "select",
                        "type": "select",
                        "label": "Select Method",
                        "required": true,
                        "validate": {
                            "enum": [
                                "chat",
                                "prompt"
                            ]
                        }
                    },
                    {
                        "name": "max_tokens",
                        "type": "number",
                        "label": "Max Tokens",
                        "required": true
                    },
                    {
                        "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": "response_format",
                        "type": "select",
                        "label": "Response Format",
                        "validate": {
                            "enum": [
                                "text",
                                "json_object"
                            ]
                        }
                    },
                    {
                        "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": "messages",
                        "spec": {
                            "name": "value",
                            "spec": [
                                {
                                    "name": "role",
                                    "type": "select",
                                    "label": "Role",
                                    "options": [
                                        {
                                            "label": "System",
                                            "value": "system"
                                        },
                                        {
                                            "label": "User",
                                            "value": "user"
                                        },
                                        {
                                            "label": "Assistant",
                                            "value": "assistant"
                                        }
                                    ],
                                    "required": true
                                },
                                {
                                    "name": "content",
                                    "type": "text",
                                    "label": "Message Content"
                                }
                            ],
                            "type": "collection",
                            "label": "Message"
                        },
                        "type": "array",
                        "label": "Messages",
                        "required": true
                    }
                ]
            }
        },
        {
            "id": 8,
            "module": "util:TextAggregator",
            "version": 1,
            "parameters": {
                "feeder": 1,
                "rowSeparator": "other",
                "otherRowSeparator": ","
            },
            "mapper": {
                "value": "[\"{{3.value}}\", \"{{4.title}}\", \"{{4.description}}\", \"{{4.url}}\", \"{{7.result}}\", \"To Do\", \"{{6.value}}\", \"{{formatDate(now; \"MMM DD YYYY\")}}\"]"
            },
            "metadata": {
                "designer": {
                    "x": 2100,
                    "y": 0
                },
                "restore": {
                    "extra": {
                        "feeder": {
                            "label": "Input Role - Create JSON [1]"
                        }
                    },
                    "parameters": {
                        "rowSeparator": {
                            "label": "Other"
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "rowSeparator",
                        "type": "select",
                        "label": "Row separator",
                        "validate": {
                            "enum": [
                                "\n",
                                "\t",
                                "other"
                            ]
                        }
                    },
                    {
                        "name": "otherRowSeparator",
                        "type": "text",
                        "label": "Separator"
                    }
                ],
                "expect": [
                    {
                        "name": "value",
                        "type": "text",
                        "label": "Text"
                    }
                ],
                "advanced": true
            }
        },
        {
            "id": 9,
            "module": "google-sheets:makeAPICall",
            "version": 2,
            "parameters": {
                "__IMTCONN__": 2799878
            },
            "mapper": {
                "qs": [
                    {
                        "key": "valueInputOption",
                        "value": "USER_ENTERED"
                    }
                ],
                "url": "spreadsheets/1X-QOyzZSLCEr1iIZbTmQ5K4n6yt2Itacb9W6Er6MjSs/values/Sheet1!A:Z:append",
                "body": "{\n  \"values\": [\n    {{8.text}}\n  ]\n}",
                "method": "POST",
                "headers": [
                    {
                        "key": "Content-Type",
                        "value": "application/json"
                    }
                ]
            },
            "metadata": {
                "designer": {
                    "x": 2400,
                    "y": 0
                },
                "restore": {
                    "expect": {
                        "qs": {
                            "mode": "chose",
                            "items": [
                                null
                            ]
                        },
                        "method": {
                            "mode": "chose",
                            "label": "POST"
                        },
                        "headers": {
                            "mode": "chose",
                            "items": [
                                null
                            ]
                        }
                    },
                    "parameters": {
                        "__IMTCONN__": {
                            "data": {
                                "scoped": "true",
                                "connection": "google"
                            },
                            "label": "My Google connection (mich.alcalde5@gmail.com)"
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "__IMTCONN__",
                        "type": "account:google",
                        "label": "Connection",
                        "required": true
                    }
                ],
                "expect": [
                    {
                        "name": "url",
                        "type": "text",
                        "label": "URL",
                        "required": true
                    },
                    {
                        "name": "method",
                        "type": "select",
                        "label": "Method",
                        "required": true,
                        "validate": {
                            "enum": [
                                "GET",
                                "POST",
                                "PUT",
                                "PATCH",
                                "DELETE"
                            ]
                        }
                    },
                    {
                        "name": "headers",
                        "spec": {
                            "name": "value",
                            "spec": [
                                {
                                    "name": "key",
                                    "type": "text",
                                    "label": "Key"
                                },
                                {
                                    "name": "value",
                                    "type": "text",
                                    "label": "Value"
                                }
                            ],
                            "type": "collection",
                            "label": "Header"
                        },
                        "type": "array",
                        "label": "Headers"
                    },
                    {
                        "name": "qs",
                        "spec": {
                            "name": "value",
                            "spec": [
                                {
                                    "name": "key",
                                    "type": "text",
                                    "label": "Key"
                                },
                                {
                                    "name": "value",
                                    "type": "text",
                                    "label": "Value"
                                }
                            ],
                            "type": "collection",
                            "label": "Parameter"
                        },
                        "type": "array",
                        "label": "Query String"
                    },
                    {
                        "name": "body",
                        "type": "any",
                        "label": "Body"
                    },
                    {
                        "name": "url",
                        "type": "text",
                        "label": "URL",
                        "required": true
                    },
                    {
                        "name": "method",
                        "type": "select",
                        "label": "Method",
                        "required": true,
                        "validate": {
                            "enum": [
                                "GET",
                                "POST",
                                "PUT",
                                "PATCH",
                                "DELETE"
                            ]
                        }
                    },
                    {
                        "name": "headers",
                        "spec": {
                            "name": "value",
                            "spec": [
                                {
                                    "name": "key",
                                    "type": "text",
                                    "label": "Key"
                                },
                                {
                                    "name": "value",
                                    "type": "text",
                                    "label": "Value"
                                }
                            ],
                            "type": "collection",
                            "label": "Header"
                        },
                        "type": "array",
                        "label": "Headers"
                    },
                    {
                        "name": "qs",
                        "spec": {
                            "name": "value",
                            "spec": [
                                {
                                    "name": "key",
                                    "type": "text",
                                    "label": "Key"
                                },
                                {
                                    "name": "value",
                                    "type": "text",
                                    "label": "Value"
                                }
                            ],
                            "type": "collection",
                            "label": "Parameter"
                        },
                        "type": "array",
                        "label": "Query String"
                    },
                    {
                        "name": "body",
                        "type": "any",
                        "label": "Body"
                    }
                ]
            }
        }
    ],
    "metadata": {
        "instant": true,
        "version": 1,
        "scenario": {
            "roundtrips": 1,
            "maxErrors": 3,
            "autoCommit": true,
            "autoCommitTriggerLast": true,
            "sequential": false,
            "slots": null,
            "confidential": false,
            "dataloss": false,
            "dlq": false,
            "freshVariables": false
        },
        "designer": {
            "orphans": []
        },
        "zone": "eu2.make.com"
    }
}