{
    "name": "AlgorithmicFIRE Portfolio Alerts",
    "flow": [
        {
            "id": 1,
            "module": "util:SetVariables",
            "version": 1,
            "parameters": {},
            "mapper": {
                "scope": "roundtrip",
                "variables": [
                    {
                        "name": "notification_email",
                        "value": "[EMAIL_ADDRESS]"
                    },
                    {
                        "name": "api_key",
                        "value": "[YOUR_API_KEY]"
                    }
                ]
            },
            "metadata": {
                "designer": {
                    "x": -205,
                    "y": -5
                },
                "restore": {
                    "expect": {
                        "scope": {
                            "label": "One cycle"
                        },
                        "variables": {
                            "items": [
                                null,
                                null
                            ]
                        }
                    }
                },
                "expect": [
                    {
                        "name": "variables",
                        "spec": [
                            {
                                "name": "name",
                                "type": "text",
                                "label": "Variable name",
                                "required": true
                            },
                            {
                                "name": "value",
                                "type": "any",
                                "label": "Variable value"
                            }
                        ],
                        "type": "array",
                        "label": "Variables"
                    },
                    {
                        "name": "scope",
                        "type": "select",
                        "label": "Variable lifetime",
                        "required": true,
                        "validate": {
                            "enum": [
                                "roundtrip",
                                "execution"
                            ]
                        }
                    }
                ],
                "interface": [
                    {
                        "name": "notification_email",
                        "type": "any",
                        "label": "notification_email"
                    },
                    {
                        "name": "api_key",
                        "type": "any",
                        "label": "api_key"
                    }
                ]
            }
        },
        {
            "id": 2,
            "module": "http:MakeRequest",
            "version": 4,
            "parameters": {
                "authenticationType": "noAuth",
                "tlsType": ""
            },
            "mapper": {
                "url": "https://algorithmicfire.com/custom-portfolio/status",
                "method": "get",
                "queryParameters": [
                    {
                        "name": "key",
                        "value": "{{1.api_key}}"
                    }
                ],
                "parseResponse": true,
                "stopOnHttpError": true,
                "allowRedirects": true,
                "shareCookies": false,
                "requestCompressedContent": true
            },
            "metadata": {
                "designer": {
                    "x": 148,
                    "y": -6
                },
                "restore": {
                    "parameters": {
                        "authenticationType": {
                            "label": "No authenticationUse when no credentials are required for the request."
                        },
                        "tlsType": {
                            "label": "Empty"
                        }
                    },
                    "expect": {
                        "method": {
                            "mode": "chose",
                            "label": "GET"
                        },
                        "headers": {
                            "mode": "chose"
                        },
                        "queryParameters": {
                            "mode": "chose",
                            "items": [
                                null
                            ]
                        },
                        "contentType": {
                            "label": "Empty"
                        },
                        "parseResponse": {
                            "mode": "chose"
                        },
                        "stopOnHttpError": {
                            "mode": "chose"
                        },
                        "allowRedirects": {
                            "mode": "chose"
                        },
                        "shareCookies": {
                            "mode": "chose"
                        },
                        "requestCompressedContent": {
                            "mode": "chose"
                        },
                        "paginationType": {
                            "label": "Empty"
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "authenticationType",
                        "type": "select",
                        "label": "Authentication type",
                        "required": true,
                        "validate": {
                            "enum": [
                                "noAuth",
                                "apiKey",
                                "basicAuth",
                                "oAuth"
                            ]
                        }
                    },
                    {
                        "name": "tlsType",
                        "type": "select",
                        "label": "Transport layer security (TLS)",
                        "validate": {
                            "enum": [
                                "mTls",
                                "tls"
                            ]
                        }
                    },
                    {
                        "name": "proxyKeychain",
                        "type": "keychain:proxy",
                        "label": "Proxy"
                    }
                ],
                "expect": [
                    {
                        "name": "url",
                        "type": "url",
                        "label": "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": "value",
                            "label": "Header",
                            "type": "collection",
                            "spec": [
                                {
                                    "name": "name",
                                    "label": "Name",
                                    "type": "text",
                                    "required": true,
                                    "validate": {
                                        "pattern": "^[-!#$%&'*+.^_`|~0-9A-Za-z]+$"
                                    }
                                },
                                {
                                    "name": "value",
                                    "label": "Value",
                                    "type": "text"
                                }
                            ]
                        }
                    },
                    {
                        "name": "queryParameters",
                        "type": "array",
                        "label": "Query parameters",
                        "spec": {
                            "name": "value",
                            "label": "Parameter",
                            "type": "collection",
                            "spec": [
                                {
                                    "name": "name",
                                    "label": "Name",
                                    "type": "text",
                                    "required": true
                                },
                                {
                                    "name": "value",
                                    "label": "Value",
                                    "type": "text"
                                }
                            ]
                        }
                    },
                    {
                        "name": "contentType",
                        "type": "select",
                        "label": "Body content type",
                        "validate": {
                            "enum": [
                                "json",
                                "multipart",
                                "urlEncoded",
                                "custom"
                            ]
                        }
                    },
                    {
                        "name": "parseResponse",
                        "type": "boolean",
                        "label": "Parse response",
                        "required": true
                    },
                    {
                        "name": "stopOnHttpError",
                        "type": "boolean",
                        "label": "Return error if HTTP request fails",
                        "required": true
                    },
                    {
                        "name": "timeout",
                        "type": "uinteger",
                        "label": "Timeout",
                        "validate": {
                            "min": 1,
                            "max": 300
                        }
                    },
                    {
                        "name": "allowRedirects",
                        "type": "boolean",
                        "label": "Allow redirects",
                        "required": true
                    },
                    {
                        "name": "shareCookies",
                        "type": "boolean",
                        "label": "Share cookies with other HTTP modules",
                        "required": true
                    },
                    {
                        "name": "requestCompressedContent",
                        "type": "boolean",
                        "label": "Request compressed content",
                        "required": true
                    },
                    {
                        "name": "paginationType",
                        "type": "select",
                        "label": "Pagination type",
                        "validate": {
                            "enum": [
                                "offsetBased",
                                "pageBased",
                                "urlBased",
                                "tokenBased"
                            ]
                        }
                    }
                ],
                "interface": [
                    {
                        "name": "data",
                        "label": "Data",
                        "type": "any"
                    },
                    {
                        "name": "statusCode",
                        "label": "Status Code",
                        "type": "number"
                    },
                    {
                        "name": "headers",
                        "label": "Headers",
                        "type": "collection",
                        "spec": [
                            {
                                "name": "content-length",
                                "label": "Content-Length",
                                "type": "text"
                            },
                            {
                                "name": "content-encoding",
                                "label": "Content-Encoding",
                                "type": "text"
                            },
                            {
                                "name": "content-type",
                                "label": "Content-Type",
                                "type": "text"
                            },
                            {
                                "name": "server",
                                "label": "Server",
                                "type": "text"
                            },
                            {
                                "name": "cache-control",
                                "label": "Cache-Control",
                                "type": "text"
                            },
                            {
                                "name": "set-cookie",
                                "label": "Set-Cookie",
                                "type": "array",
                                "spec": {
                                    "type": "text"
                                }
                            }
                        ]
                    }
                ]
            }
        },
        {
            "id": 3,
            "module": "builtin:BasicRouter",
            "version": 1,
            "parameters": {
                "else": 1
            },
            "mapper": null,
            "metadata": {
                "designer": {
                    "x": 519,
                    "y": -1
                }
            },
            "routes": [
                {
                    "flow": [
                        {
                            "id": 4,
                            "module": "google-email:sendAnEmail",
                            "version": 4,
                            "parameters": {
                                "__IMTCONN__": 9245294
                            },
                            "filter": {
                                "name": "daily_update_complete_today",
                                "conditions": [
                                    [
                                        {
                                            "a": "{{2.data.daily_update_complete_today}}",
                                            "b": "true",
                                            "o": "boolean:equal"
                                        },
                                        {
                                            "a": "{{2.data.any_portfolio_changed}}",
                                            "b": "true",
                                            "o": "boolean:equal"
                                        }
                                    ]
                                ]
                            },
                            "mapper": {
                                "to": [
                                    "{{1.notification_email}}"
                                ],
                                "content": "{{2.data.email_body_html}}",
                                "subject": "AlgorithmicFIRE Signal Update Detected - {{2.data.changed_portfolio_names}}",
                                "bodyType": "rawHtml"
                            },
                            "metadata": {
                                "designer": {
                                    "x": 800,
                                    "y": -300
                                },
                                "restore": {
                                    "expect": {
                                        "cc": {
                                            "mode": "chose"
                                        },
                                        "to": {
                                            "mode": "chose",
                                            "items": [
                                                null
                                            ]
                                        },
                                        "bcc": {
                                            "mode": "chose"
                                        },
                                        "from": {
                                            "mode": "chose"
                                        },
                                        "bodyType": {
                                            "label": "Raw HTML"
                                        },
                                        "attachments": {
                                            "mode": "chose"
                                        },
                                        "emailHeaders": {
                                            "mode": "chose"
                                        }
                                    },
                                    "parameters": {
                                        "__IMTCONN__": {
                                            "data": {
                                                "scoped": "true",
                                                "connection": "google-email"
                                            },
                                            "label": "My Gmail connection (algorithmicfire@gmail.com)"
                                        }
                                    }
                                },
                                "parameters": [
                                    {
                                        "name": "__IMTCONN__",
                                        "type": "account:google-email",
                                        "label": "Connection",
                                        "required": true
                                    }
                                ],
                                "expect": [
                                    {
                                        "name": "to",
                                        "spec": {
                                            "name": "value",
                                            "type": "email",
                                            "label": "Recipient email address",
                                            "required": true,
                                            "validate": true
                                        },
                                        "type": "array",
                                        "label": "To",
                                        "required": true
                                    },
                                    {
                                        "name": "subject",
                                        "type": "text",
                                        "label": "Subject"
                                    },
                                    {
                                        "name": "bodyType",
                                        "type": "select",
                                        "label": "Body type",
                                        "required": true,
                                        "validate": {
                                            "enum": [
                                                "rawHtml",
                                                "collection"
                                            ]
                                        }
                                    },
                                    {
                                        "name": "attachments",
                                        "spec": {
                                            "name": "value",
                                            "spec": [
                                                {
                                                    "name": "filename",
                                                    "type": "filename",
                                                    "label": "File name",
                                                    "required": true,
                                                    "semantic": "file:name"
                                                },
                                                {
                                                    "name": "data",
                                                    "type": "buffer",
                                                    "label": "Data",
                                                    "required": true,
                                                    "semantic": "file:data"
                                                }
                                            ],
                                            "type": "collection",
                                            "label": "Attachment"
                                        },
                                        "type": "array",
                                        "label": "Attachments"
                                    },
                                    {
                                        "name": "from",
                                        "type": "select",
                                        "label": "From"
                                    },
                                    {
                                        "name": "cc",
                                        "spec": {
                                            "name": "value",
                                            "type": "email",
                                            "label": "Recipient email address"
                                        },
                                        "type": "array",
                                        "label": "CC recipients"
                                    },
                                    {
                                        "name": "bcc",
                                        "spec": {
                                            "name": "value",
                                            "type": "email",
                                            "label": "Recipient email address"
                                        },
                                        "type": "array",
                                        "label": "BCC recipients"
                                    },
                                    {
                                        "name": "emailHeaders",
                                        "spec": {
                                            "name": "value",
                                            "spec": [
                                                {
                                                    "name": "key",
                                                    "type": "text",
                                                    "label": "Key",
                                                    "required": true
                                                },
                                                {
                                                    "name": "value",
                                                    "type": "text",
                                                    "label": "Value"
                                                }
                                            ],
                                            "type": "collection",
                                            "label": "Email header"
                                        },
                                        "type": "array",
                                        "label": "Additional email headers"
                                    },
                                    {
                                        "name": "content",
                                        "type": "text",
                                        "label": "Content"
                                    }
                                ]
                            }
                        }
                    ]
                },
                {
                    "flow": [
                        {
                            "id": 6,
                            "module": "google-email:sendAnEmail",
                            "version": 4,
                            "parameters": {
                                "__IMTCONN__": 9245294
                            },
                            "mapper": {
                                "to": [
                                    "{{1.notification_email}}"
                                ],
                                "content": "The daily quantitative trend follow update is currently delayed for your monitored portfolios.<br><br>This can occur due to delayed market data feeds or maintenance. Please check your dashboard directly: https://algorithmicfire.com/user/alerts",
                                "subject": "AlgorithmicFIRE Daily Processing Delayed",
                                "bodyType": "rawHtml"
                            },
                            "metadata": {
                                "designer": {
                                    "x": 763,
                                    "y": 223
                                },
                                "restore": {
                                    "expect": {
                                        "cc": {
                                            "mode": "chose"
                                        },
                                        "to": {
                                            "mode": "chose",
                                            "items": [
                                                null
                                            ]
                                        },
                                        "bcc": {
                                            "mode": "chose"
                                        },
                                        "from": {
                                            "mode": "chose"
                                        },
                                        "bodyType": {
                                            "label": "Raw HTML"
                                        },
                                        "attachments": {
                                            "mode": "chose"
                                        },
                                        "emailHeaders": {
                                            "mode": "chose"
                                        }
                                    },
                                    "parameters": {
                                        "__IMTCONN__": {
                                            "data": {
                                                "scoped": "true",
                                                "connection": "google-email"
                                            },
                                            "label": "My Gmail connection (algorithmicfire@gmail.com)"
                                        }
                                    }
                                },
                                "parameters": [
                                    {
                                        "name": "__IMTCONN__",
                                        "type": "account:google-email",
                                        "label": "Connection",
                                        "required": true
                                    }
                                ],
                                "expect": [
                                    {
                                        "name": "to",
                                        "spec": {
                                            "name": "value",
                                            "type": "email",
                                            "label": "Recipient email address",
                                            "required": true,
                                            "validate": true
                                        },
                                        "type": "array",
                                        "label": "To",
                                        "required": true
                                    },
                                    {
                                        "name": "subject",
                                        "type": "text",
                                        "label": "Subject"
                                    },
                                    {
                                        "name": "bodyType",
                                        "type": "select",
                                        "label": "Body type",
                                        "required": true,
                                        "validate": {
                                            "enum": [
                                                "rawHtml",
                                                "collection"
                                            ]
                                        }
                                    },
                                    {
                                        "name": "attachments",
                                        "spec": {
                                            "name": "value",
                                            "spec": [
                                                {
                                                    "name": "filename",
                                                    "type": "filename",
                                                    "label": "File name",
                                                    "required": true,
                                                    "semantic": "file:name"
                                                },
                                                {
                                                    "name": "data",
                                                    "type": "buffer",
                                                    "label": "Data",
                                                    "required": true,
                                                    "semantic": "file:data"
                                                }
                                            ],
                                            "type": "collection",
                                            "label": "Attachment"
                                        },
                                        "type": "array",
                                        "label": "Attachments"
                                    },
                                    {
                                        "name": "from",
                                        "type": "select",
                                        "label": "From"
                                    },
                                    {
                                        "name": "cc",
                                        "spec": {
                                            "name": "value",
                                            "type": "email",
                                            "label": "Recipient email address"
                                        },
                                        "type": "array",
                                        "label": "CC recipients"
                                    },
                                    {
                                        "name": "bcc",
                                        "spec": {
                                            "name": "value",
                                            "type": "email",
                                            "label": "Recipient email address"
                                        },
                                        "type": "array",
                                        "label": "BCC recipients"
                                    },
                                    {
                                        "name": "emailHeaders",
                                        "spec": {
                                            "name": "value",
                                            "spec": [
                                                {
                                                    "name": "key",
                                                    "type": "text",
                                                    "label": "Key",
                                                    "required": true
                                                },
                                                {
                                                    "name": "value",
                                                    "type": "text",
                                                    "label": "Value"
                                                }
                                            ],
                                            "type": "collection",
                                            "label": "Email header"
                                        },
                                        "type": "array",
                                        "label": "Additional email headers"
                                    },
                                    {
                                        "name": "content",
                                        "type": "text",
                                        "label": "Content"
                                    }
                                ]
                            }
                        }
                    ]
                },
                {
                    "flow": [
                        {
                            "id": 7,
                            "module": "util:SetVariable2",
                            "version": 1,
                            "parameters": {},
                            "filter": {
                                "name": "Not a trading day OR no change",
                                "conditions": [
                                    [
                                        {
                                            "a": "{{2.data.is_trading_day_today}}",
                                            "b": "false",
                                            "o": "boolean:equal"
                                        }
                                    ],
                                    [
                                        {
                                            "a": "{{2.data.any_portfolio_changed}}",
                                            "b": "false",
                                            "o": "boolean:equal"
                                        }
                                    ]
                                ]
                            },
                            "mapper": {
                                "name": "NO-OP",
                                "scope": "roundtrip",
                                "value": ""
                            },
                            "metadata": {
                                "designer": {
                                    "x": 874,
                                    "y": -30
                                },
                                "restore": {
                                    "expect": {
                                        "scope": {
                                            "label": "One cycle"
                                        }
                                    }
                                },
                                "expect": [
                                    {
                                        "name": "name",
                                        "type": "text",
                                        "label": "Variable name",
                                        "required": true
                                    },
                                    {
                                        "name": "scope",
                                        "type": "select",
                                        "label": "Variable lifetime",
                                        "required": true,
                                        "validate": {
                                            "enum": [
                                                "roundtrip",
                                                "execution"
                                            ]
                                        }
                                    },
                                    {
                                        "name": "value",
                                        "type": "any",
                                        "label": "Variable value"
                                    }
                                ],
                                "interface": [
                                    {
                                        "name": "NO-OP",
                                        "type": "any",
                                        "label": "NO-OP"
                                    }
                                ]
                            }
                        }
                    ]
                }
            ]
        }
    ],
    "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": []
        },
        "zone": "us2.make.com",
        "notes": []
    }
}