{
    "name": "Using regex in Make.com (masterclass)",
    "flow": [
        {
            "id": 13,
            "module": "http:ActionSendData",
            "version": 3,
            "parameters": {
                "handleErrors": true,
                "useNewZLibDeCompress": true
            },
            "mapper": {
                "url": "https://leftclick.ai",
                "serializeUrl": false,
                "method": "get",
                "headers": [],
                "qs": [],
                "bodyType": "raw",
                "parseResponse": true,
                "authUser": "",
                "authPass": "",
                "timeout": "",
                "shareCookies": false,
                "ca": "",
                "rejectUnauthorized": true,
                "followRedirect": true,
                "useQuerystring": false,
                "gzip": true,
                "useMtls": false,
                "contentType": "application/json",
                "data": "",
                "followAllRedirects": false
            },
            "metadata": {
                "designer": {
                    "x": -1113,
                    "y": 735
                },
                "restore": {
                    "expect": {
                        "method": {
                            "mode": "chose",
                            "label": "GET"
                        },
                        "headers": {
                            "mode": "chose"
                        },
                        "qs": {
                            "mode": "chose"
                        },
                        "bodyType": {
                            "label": "Raw"
                        },
                        "contentType": {
                            "label": "JSON (application/json)"
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "handleErrors",
                        "type": "boolean",
                        "label": "Evaluate all states as errors (except for 2xx and 3xx )",
                        "required": true
                    },
                    {
                        "name": "useNewZLibDeCompress",
                        "type": "hidden"
                    }
                ],
                "expect": [
                    {
                        "name": "url",
                        "type": "url",
                        "label": "URL",
                        "required": true
                    },
                    {
                        "name": "serializeUrl",
                        "type": "boolean",
                        "label": "Serialize URL",
                        "required": true
                    },
                    {
                        "name": "method",
                        "type": "select",
                        "label": "Method",
                        "required": true,
                        "validate": {
                            "enum": [
                                "get",
                                "head",
                                "post",
                                "put",
                                "patch",
                                "delete",
                                "options"
                            ]
                        }
                    },
                    {
                        "name": "headers",
                        "type": "array",
                        "label": "Headers",
                        "spec": [
                            {
                                "name": "name",
                                "label": "Name",
                                "type": "text",
                                "required": true
                            },
                            {
                                "name": "value",
                                "label": "Value",
                                "type": "text"
                            }
                        ]
                    },
                    {
                        "name": "qs",
                        "type": "array",
                        "label": "Query String",
                        "spec": [
                            {
                                "name": "name",
                                "label": "Name",
                                "type": "text",
                                "required": true
                            },
                            {
                                "name": "value",
                                "label": "Value",
                                "type": "text"
                            }
                        ]
                    },
                    {
                        "name": "bodyType",
                        "type": "select",
                        "label": "Body type",
                        "validate": {
                            "enum": [
                                "raw",
                                "x_www_form_urlencoded",
                                "multipart_form_data"
                            ]
                        }
                    },
                    {
                        "name": "parseResponse",
                        "type": "boolean",
                        "label": "Parse response",
                        "required": true
                    },
                    {
                        "name": "authUser",
                        "type": "text",
                        "label": "User name"
                    },
                    {
                        "name": "authPass",
                        "type": "password",
                        "label": "Password"
                    },
                    {
                        "name": "timeout",
                        "type": "uinteger",
                        "label": "Timeout",
                        "validate": {
                            "max": 300,
                            "min": 1
                        }
                    },
                    {
                        "name": "shareCookies",
                        "type": "boolean",
                        "label": "Share cookies with other HTTP modules",
                        "required": true
                    },
                    {
                        "name": "ca",
                        "type": "cert",
                        "label": "Self-signed certificate"
                    },
                    {
                        "name": "rejectUnauthorized",
                        "type": "boolean",
                        "label": "Reject connections that are using unverified (self-signed) certificates",
                        "required": true
                    },
                    {
                        "name": "followRedirect",
                        "type": "boolean",
                        "label": "Follow redirect",
                        "required": true
                    },
                    {
                        "name": "useQuerystring",
                        "type": "boolean",
                        "label": "Disable serialization of multiple same query string keys as arrays",
                        "required": true
                    },
                    {
                        "name": "gzip",
                        "type": "boolean",
                        "label": "Request compressed content",
                        "required": true
                    },
                    {
                        "name": "useMtls",
                        "type": "boolean",
                        "label": "Use Mutual TLS",
                        "required": true
                    },
                    {
                        "name": "contentType",
                        "type": "select",
                        "label": "Content type",
                        "validate": {
                            "enum": [
                                "text/plain",
                                "application/json",
                                "application/xml",
                                "text/xml",
                                "text/html",
                                "custom"
                            ]
                        }
                    },
                    {
                        "name": "data",
                        "type": "buffer",
                        "label": "Request content"
                    },
                    {
                        "name": "followAllRedirects",
                        "type": "boolean",
                        "label": "Follow all redirect",
                        "required": true
                    }
                ]
            }
        },
        {
            "id": 14,
            "module": "regexp:HTMLToText",
            "version": 1,
            "parameters": {},
            "mapper": {
                "html": "{{13.data}}",
                "newline": "lf",
                "uppercaseHeadings": true
            },
            "metadata": {
                "designer": {
                    "x": -812,
                    "y": 736
                },
                "restore": {
                    "expect": {
                        "newline": {
                            "label": "LF (\\n) - Unix/Mac OS X"
                        }
                    }
                },
                "expect": [
                    {
                        "name": "html",
                        "type": "text",
                        "label": "HTML"
                    },
                    {
                        "name": "newline",
                        "type": "select",
                        "label": "Line break",
                        "required": true,
                        "validate": {
                            "enum": [
                                "lf",
                                "crlf",
                                "cr"
                            ]
                        }
                    },
                    {
                        "name": "uppercaseHeadings",
                        "type": "boolean",
                        "label": "Uppercase headings",
                        "required": true
                    }
                ]
            }
        },
        {
            "id": 9,
            "module": "regexp:Parser",
            "version": 1,
            "parameters": {
                "pattern": "(?<URL>\\[\\/.*?\\])",
                "global": true,
                "sensitive": true,
                "multiline": false,
                "singleline": false,
                "continueWhenNoRes": false,
                "ignoreInfiniteLoopsWhenGlobal": false
            },
            "mapper": {
                "text": "{{14.text}}"
            },
            "metadata": {
                "designer": {
                    "x": -500,
                    "y": 731,
                    "messages": [
                        {
                            "category": "last",
                            "severity": "warning",
                            "message": "A transformer should not be the last module in the route."
                        }
                    ]
                },
                "restore": {},
                "parameters": [
                    {
                        "name": "pattern",
                        "type": "text",
                        "label": "Pattern",
                        "required": true
                    },
                    {
                        "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": "ignoreInfiniteLoopsWhenGlobal",
                        "type": "boolean",
                        "label": "Ignore errors when there is an infinite search loop",
                        "required": true
                    }
                ],
                "expect": [
                    {
                        "name": "text",
                        "type": "text",
                        "label": "Text"
                    }
                ],
                "interface": [
                    {
                        "type": "text",
                        "name": "URL",
                        "label": "URL"
                    },
                    {
                        "type": "uinteger",
                        "name": "i",
                        "label": "i"
                    },
                    {
                        "type": "any",
                        "name": "__IMTMATCH__",
                        "label": "Fallback Match"
                    }
                ]
            }
        }
    ],
    "metadata": {
        "instant": false,
        "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": [
                [
                    {
                        "id": 2,
                        "module": "util:SetVariables",
                        "version": 1,
                        "parameters": {},
                        "mapper": {
                            "variables": [
                                {
                                    "name": "regexMe",
                                    "value": "The quick brown fox jumps over the lazy cat. A Cat is different from a cat, but a caterpillar is not a cat at all."
                                }
                            ],
                            "scope": "roundtrip"
                        },
                        "metadata": {
                            "designer": {
                                "x": -1102,
                                "y": -69,
                                "name": "1. Basic letters (\"cat\")",
                                "messages": [
                                    {
                                        "category": "link",
                                        "severity": "warning",
                                        "message": "The module is not connected to the data flow."
                                    }
                                ]
                            },
                            "restore": {
                                "expect": {
                                    "variables": {
                                        "items": [
                                            null
                                        ]
                                    },
                                    "scope": {
                                        "label": "One cycle"
                                    }
                                }
                            },
                            "expect": [
                                {
                                    "name": "variables",
                                    "type": "array",
                                    "label": "Variables",
                                    "spec": [
                                        {
                                            "name": "name",
                                            "label": "Variable name",
                                            "type": "text",
                                            "required": true
                                        },
                                        {
                                            "name": "value",
                                            "label": "Variable value",
                                            "type": "any"
                                        }
                                    ]
                                },
                                {
                                    "name": "scope",
                                    "type": "select",
                                    "label": "Variable lifetime",
                                    "required": true,
                                    "validate": {
                                        "enum": [
                                            "roundtrip",
                                            "execution"
                                        ]
                                    }
                                }
                            ],
                            "interface": [
                                {
                                    "name": "regexMe",
                                    "label": "regexMe",
                                    "type": "any"
                                }
                            ]
                        }
                    },
                    {
                        "id": 6,
                        "module": "regexp:Parser",
                        "version": 1,
                        "parameters": {
                            "pattern": "(cat)",
                            "global": false,
                            "sensitive": true,
                            "multiline": false,
                            "singleline": false,
                            "continueWhenNoRes": false
                        },
                        "mapper": {
                            "text": "{{2.regexMe}}"
                        },
                        "metadata": {
                            "designer": {
                                "x": -797,
                                "y": -66,
                                "messages": [
                                    {
                                        "category": "last",
                                        "severity": "warning",
                                        "message": "A transformer should not be the last module in the route."
                                    }
                                ]
                            },
                            "restore": {},
                            "parameters": [
                                {
                                    "name": "pattern",
                                    "type": "text",
                                    "label": "Pattern",
                                    "required": true
                                },
                                {
                                    "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
                                }
                            ],
                            "expect": [
                                {
                                    "name": "text",
                                    "type": "text",
                                    "label": "Text"
                                }
                            ],
                            "interface": [
                                {
                                    "type": "text",
                                    "name": "$1",
                                    "label": "$1"
                                }
                            ]
                        }
                    }
                ],
                [
                    {
                        "id": 3,
                        "module": "util:SetVariables",
                        "version": 1,
                        "parameters": {},
                        "mapper": {
                            "variables": [
                                {
                                    "name": "regexMe",
                                    "value": "f3o98r4f3 09jf34f09jasdfl 2093j0293jf2 fasdofajfo34f as09djf09j34 a1ff340343030495306346 0j0j3f09304f34 a09wf0a943f34 34lk5j3l4k5j3l4 09340943850394 adsjaskdfnaskdf 4309j029 a1ef3049jf034f"
                                }
                            ],
                            "scope": "roundtrip"
                        },
                        "metadata": {
                            "designer": {
                                "x": -1106,
                                "y": 195,
                                "name": "2. Basic combinations (\"a1f\")",
                                "messages": [
                                    {
                                        "category": "link",
                                        "severity": "warning",
                                        "message": "The module is not connected to the data flow."
                                    }
                                ]
                            },
                            "restore": {
                                "expect": {
                                    "variables": {
                                        "items": [
                                            null
                                        ]
                                    },
                                    "scope": {
                                        "label": "One cycle"
                                    }
                                }
                            },
                            "expect": [
                                {
                                    "name": "variables",
                                    "type": "array",
                                    "label": "Variables",
                                    "spec": [
                                        {
                                            "name": "name",
                                            "label": "Variable name",
                                            "type": "text",
                                            "required": true
                                        },
                                        {
                                            "name": "value",
                                            "label": "Variable value",
                                            "type": "any"
                                        }
                                    ]
                                },
                                {
                                    "name": "scope",
                                    "type": "select",
                                    "label": "Variable lifetime",
                                    "required": true,
                                    "validate": {
                                        "enum": [
                                            "roundtrip",
                                            "execution"
                                        ]
                                    }
                                }
                            ],
                            "interface": [
                                {
                                    "name": "regexMe",
                                    "label": "regexMe",
                                    "type": "any"
                                }
                            ]
                        }
                    },
                    {
                        "id": 7,
                        "module": "regexp:Parser",
                        "version": 1,
                        "parameters": {
                            "pattern": "(a1f.*? )",
                            "global": true,
                            "sensitive": true,
                            "multiline": false,
                            "singleline": false,
                            "continueWhenNoRes": false,
                            "ignoreInfiniteLoopsWhenGlobal": false
                        },
                        "mapper": {
                            "text": "f3o98r4f3 09jf34f09jasdfl 2093j0293jf2 fasdofajfo34f as09djf09j34 a1ff340343030495306346 0j0j3f09304f34 a09wf0a943f34 34lk5j3l4k5j3l4 09340943850394 adsjaskdfnaskdf 4309j029 a1ef3049jf034f"
                        },
                        "metadata": {
                            "designer": {
                                "x": -798,
                                "y": 193,
                                "messages": [
                                    {
                                        "category": "last",
                                        "severity": "warning",
                                        "message": "A transformer should not be the last module in the route."
                                    }
                                ]
                            },
                            "restore": {},
                            "parameters": [
                                {
                                    "name": "pattern",
                                    "type": "text",
                                    "label": "Pattern",
                                    "required": true
                                },
                                {
                                    "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": "ignoreInfiniteLoopsWhenGlobal",
                                    "type": "boolean",
                                    "label": "Ignore errors when there is an infinite search loop",
                                    "required": true
                                }
                            ],
                            "expect": [
                                {
                                    "name": "text",
                                    "type": "text",
                                    "label": "Text"
                                }
                            ],
                            "interface": [
                                {
                                    "type": "text",
                                    "name": "$1",
                                    "label": "$1"
                                },
                                {
                                    "type": "uinteger",
                                    "name": "i",
                                    "label": "i"
                                },
                                {
                                    "type": "any",
                                    "name": "__IMTMATCH__",
                                    "label": "Fallback Match"
                                }
                            ]
                        }
                    }
                ],
                [
                    {
                        "id": 4,
                        "module": "util:SetVariables",
                        "version": 1,
                        "parameters": {},
                        "mapper": {
                            "variables": [
                                {
                                    "name": "regexMe",
                                    "value": "Valid emails: john.doe@example.com, jane_smith123@sub.domain.co.uk, user@host.org, basically we're just testing a bunch of text and seeing if we can extract all 'dem sweet, sweet emails"
                                }
                            ],
                            "scope": "roundtrip"
                        },
                        "metadata": {
                            "designer": {
                                "x": -1104,
                                "y": 454,
                                "name": "3. Emails (nick@leftclick.ai)",
                                "messages": [
                                    {
                                        "category": "link",
                                        "severity": "warning",
                                        "message": "The module is not connected to the data flow."
                                    }
                                ]
                            },
                            "restore": {
                                "expect": {
                                    "variables": {
                                        "items": [
                                            null
                                        ]
                                    },
                                    "scope": {
                                        "label": "One cycle"
                                    }
                                }
                            },
                            "expect": [
                                {
                                    "name": "variables",
                                    "type": "array",
                                    "label": "Variables",
                                    "spec": [
                                        {
                                            "name": "name",
                                            "label": "Variable name",
                                            "type": "text",
                                            "required": true
                                        },
                                        {
                                            "name": "value",
                                            "label": "Variable value",
                                            "type": "any"
                                        }
                                    ]
                                },
                                {
                                    "name": "scope",
                                    "type": "select",
                                    "label": "Variable lifetime",
                                    "required": true,
                                    "validate": {
                                        "enum": [
                                            "roundtrip",
                                            "execution"
                                        ]
                                    }
                                }
                            ],
                            "interface": [
                                {
                                    "name": "regexMe",
                                    "label": "regexMe",
                                    "type": "any"
                                }
                            ]
                        }
                    },
                    {
                        "id": 8,
                        "module": "regexp:Parser",
                        "version": 1,
                        "parameters": {
                            "pattern": "(?<email>[a-zA-Z0-9_.]*@[a-zA-Z0-9_.]*\\.[a-zA-Z]*)",
                            "global": true,
                            "sensitive": true,
                            "multiline": false,
                            "singleline": false,
                            "continueWhenNoRes": false,
                            "ignoreInfiniteLoopsWhenGlobal": false
                        },
                        "mapper": {
                            "text": "Valid emails: john.doe@example.com, jane_smith123@sub.domain.co.uk, user@host.org, basically we're just testing a bunch of text and seeing if we can extract all 'dem sweet, sweet emails"
                        },
                        "metadata": {
                            "designer": {
                                "x": -809,
                                "y": 456
                            },
                            "restore": {},
                            "parameters": [
                                {
                                    "name": "pattern",
                                    "type": "text",
                                    "label": "Pattern",
                                    "required": true
                                },
                                {
                                    "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": "ignoreInfiniteLoopsWhenGlobal",
                                    "type": "boolean",
                                    "label": "Ignore errors when there is an infinite search loop",
                                    "required": true
                                }
                            ],
                            "expect": [
                                {
                                    "name": "text",
                                    "type": "text",
                                    "label": "Text"
                                }
                            ],
                            "interface": [
                                {
                                    "type": "text",
                                    "name": "email",
                                    "label": "email"
                                },
                                {
                                    "type": "uinteger",
                                    "name": "i",
                                    "label": "i"
                                },
                                {
                                    "type": "any",
                                    "name": "__IMTMATCH__",
                                    "label": "Fallback Match"
                                }
                            ]
                        }
                    },
                    {
                        "id": 12,
                        "module": "builtin:BasicAggregator",
                        "version": 1,
                        "parameters": {
                            "feeder": 8
                        },
                        "mapper": {
                            "email": "{{8.email}}"
                        },
                        "metadata": {
                            "designer": {
                                "x": -491,
                                "y": 452,
                                "messages": [
                                    {
                                        "category": "last",
                                        "severity": "warning",
                                        "message": "A transformer should not be the last module in the route."
                                    }
                                ]
                            },
                            "restore": {
                                "extra": {
                                    "feeder": {
                                        "label": "Text parser - Match pattern [8]"
                                    },
                                    "target": {
                                        "label": "Custom"
                                    }
                                }
                            }
                        }
                    }
                ]
            ]
        },
        "zone": "us1.make.com"
    }
}