{
  "nodes": [
    {
      "id": "db33a572-7e96-4d0f-ad66-e30411319f6c",
      "name": "When clicking \u2018Execute workflow\u2019",
      "type": "n8n-nodes-base.manualTrigger",
      "position": [
        992,
        576
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "f9fc720b-2905-45ed-9d40-fa9bb346a434",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1408,
        240
      ],
      "parameters": {
        "color": 7,
        "width": 1056,
        "height": 672,
        "content": "## 1. ZeroBounce Validation\n**Bulk validate** email addresses with ZeroBounce.\n\nThis uses the [ZeroBounce Bulk Email Validator API](https://www.zerobounce.net/docs/email-validation-api-quickstart/v2-send-file) to validate a bulk file containing email address and optional IP addresses.\n\nThis returns the status of the email addresses along with other useful information about the address and domain.\n\nIn this example, the file is created by the \"Bulk Validation Send File\" node from the input data provided. The node can also be used with an existing file, or used to combine multiple items into a single file.\n\nThe wait node waits up to 5 minutes for the webhook from ZeroBounce. After 5 minutes it checks the file status and either continues, waits longer or exits with a failure."
      },
      "typeVersion": 1
    },
    {
      "id": "d78e56a8-b56f-4ce1-a01b-2584ca34d22d",
      "name": "Low score",
      "type": "n8n-nodes-base.noOp",
      "position": [
        3616,
        1008
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "5f017453-d874-4aa2-96b7-8efcda69eba3",
      "name": "Not valid",
      "type": "n8n-nodes-base.noOp",
      "position": [
        2304,
        1008
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "96f3ca4b-3b94-4ae1-a7b6-da37d20bd60b",
      "name": "Is valid?",
      "type": "n8n-nodes-base.switch",
      "position": [
        2304,
        768
      ],
      "parameters": {
        "rules": {
          "values": [
            {
              "outputKey": "valid",
              "conditions": {
                "options": {
                  "version": 2,
                  "leftValue": "",
                  "caseSensitive": true,
                  "typeValidation": "strict"
                },
                "combinator": "and",
                "conditions": [
                  {
                    "id": "958a508a-4388-42e0-b9a7-f7ed5e974343",
                    "operator": {
                      "type": "string",
                      "operation": "equals"
                    },
                    "leftValue": "={{ $json['ZB Status'] }}",
                    "rightValue": "valid"
                  }
                ]
              },
              "renameOutput": true
            },
            {
              "outputKey": "other",
              "conditions": {
                "options": {
                  "version": 2,
                  "leftValue": "",
                  "caseSensitive": true,
                  "typeValidation": "strict"
                },
                "combinator": "and",
                "conditions": [
                  {
                    "id": "63d83f43-0d54-413c-aa9e-6c4bc920d345",
                    "operator": {
                      "type": "string",
                      "operation": "notEquals"
                    },
                    "leftValue": "={{ $json['ZB Status'] }}",
                    "rightValue": "valid"
                  }
                ]
              },
              "renameOutput": true
            }
          ]
        },
        "options": {}
      },
      "typeVersion": 3.3
    },
    {
      "id": "57277805-a523-480c-97a7-176feeef27f8",
      "name": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1168,
        240
      ],
      "parameters": {
        "color": 7,
        "width": 224,
        "height": 672,
        "content": "## Input data\nHere we are using [Sandbox](https://www.zerobounce.net/docs/email-validation-api-quickstart/v2-sandbox-mode) email addresses which don't use any ZeroBounce credits.\n\nThese can be used for testing and proving your workflows before connecting production data.\n\nIn a real workflow, the input data will usually be provided by the trigger, e.g. new file added."
      },
      "typeVersion": 1
    },
    {
      "id": "5d01a18b-d2ec-4a46-b1b0-7cae00d05726",
      "name": "Sandbox emails",
      "type": "n8n-nodes-base.set",
      "position": [
        1232,
        576
      ],
      "parameters": {
        "mode": "raw",
        "options": {},
        "jsonOutput": "{\n  \"emails\": [\n    \"disposable@example.com\",\n    \"invalid@example.com\",\n    \"valid@example.com\",\n    \"toxic@example.com\",\n    \"donotmail@example.com\",\n    \"spamtrap@example.com\",\n    \"abuse@example.com\",\n    \"unknown@example.com\",\n    \"catch_all@example.com\",\n    \"antispam_system@example.com\",\n    \"does_not_accept_mail@example.com\",\n    \"exception_occurred@example.com\",\n    \"failed_smtp_connection@example.com\",\n    \"failed_syntax_check@example.com\",\n    \"forcible_disconnect@example.com\",\n    \"global_suppression@example.com\",\n    \"leading_period_removed@example.com\",\n    \"mail_server_did_not_respond@example.com\",\n    \"mail_server_temporary_error@example.com\",\n    \"mailbox_quota_exceeded@example.com\",\n    \"mailbox_not_found@example.com\",\n    \"no_dns_entries@example.com\",\n    \"possible_trap@example.com\",\n    \"possible_typo@example.com\",\n    \"role_based@example.com\",\n    \"timeout_exceeded@example.com\",\n    \"unroutable_ip_address@example.com\",\n    \"free_email@example.com\",\n    \"role_based_catch_all@example.com\"\n  ]\n}"
      },
      "typeVersion": 3.4
    },
    {
      "id": "1c9adf28-bc1b-4d24-8aa3-d3625a17be90",
      "name": "Sticky Note5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1168,
        928
      ],
      "parameters": {
        "color": 7,
        "width": 2816,
        "height": 208,
        "content": "## Filtered outputs\nThese are the output branches which have been filtered by their validation status and score.\n\nFurther actions could be taken with these filtered results, e.g. followed up using [Email Finder](https://www.zerobounce.net/docs/email-finder-api) or [Domain Search](https://www.zerobounce.net/docs/domain-search-api) using our n8n node. "
      },
      "typeVersion": 1
    },
    {
      "id": "47d48a63-e2b0-471d-9eb8-de5068608720",
      "name": "Sticky Note6",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        3552,
        240
      ],
      "parameters": {
        "color": 7,
        "width": 432,
        "height": 672,
        "content": "## 3. Split results by score\nHere is your output, this refined list can now be used with a high confidence that it will reach your intended recipient."
      },
      "typeVersion": 1
    },
    {
      "id": "133b0d97-b131-4d39-9646-790cc8b6fa13",
      "name": "Sticky Note7",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2480,
        240
      ],
      "parameters": {
        "color": 7,
        "width": 1056,
        "height": 672,
        "content": "## 2. ZeroBounce A.I. Scoring\n**Bulk A.I. score** email addresses with ZeroBounce.\n\nThis uses the [ZeroBounce Bulk A.I. Scoring API](https://www.zerobounce.net/docs/ai-scoring-api/ai-scoring-api__send-file) to score a a bulk file containing email addresses.\n\nThis returns the scores for the email addresses.\n\nIn this example, a single file is created by the \"Bulk Scoring Send File\" node from the multiple input items provided. The node can also be used with an existing file.\n\nThe wait node waits up to 5 minutes for the webhook from ZeroBounce. After 5 minutes it checks the file status and either continues, waits longer or exits with a failure.\n\nThe merge node is used to merge the scoring results with the validation results."
      },
      "typeVersion": 1
    },
    {
      "id": "fdf0e620-952a-407e-9580-3f94500034b4",
      "name": "Filter by score",
      "type": "n8n-nodes-base.switch",
      "position": [
        3616,
        560
      ],
      "parameters": {
        "rules": {
          "values": [
            {
              "outputKey": "high",
              "conditions": {
                "options": {
                  "version": 2,
                  "leftValue": "",
                  "caseSensitive": true,
                  "typeValidation": "loose"
                },
                "combinator": "and",
                "conditions": [
                  {
                    "id": "47aa6c56-2c5a-41ac-8f5c-5b7f183d898b",
                    "operator": {
                      "type": "number",
                      "operation": "gte"
                    },
                    "leftValue": "={{ $json.ZeroBounceQualityScore }}",
                    "rightValue": 9
                  }
                ]
              },
              "renameOutput": true
            },
            {
              "outputKey": "medium",
              "conditions": {
                "options": {
                  "version": 2,
                  "leftValue": "",
                  "caseSensitive": true,
                  "typeValidation": "loose"
                },
                "combinator": "and",
                "conditions": [
                  {
                    "id": "b1bdb574-a04c-4086-86a3-899e53ccda07",
                    "operator": {
                      "type": "number",
                      "operation": "gte"
                    },
                    "leftValue": "={{ $json.ZeroBounceQualityScore }}",
                    "rightValue": 3
                  }
                ]
              },
              "renameOutput": true
            },
            {
              "outputKey": "low",
              "conditions": {
                "options": {
                  "version": 2,
                  "leftValue": "",
                  "caseSensitive": true,
                  "typeValidation": "loose"
                },
                "combinator": "and",
                "conditions": [
                  {
                    "id": "5c624f71-1acc-4ce8-92d3-821fe2d4f83b",
                    "operator": {
                      "type": "number",
                      "operation": "lt"
                    },
                    "leftValue": "={{ $json.ZeroBounceQualityScore }}",
                    "rightValue": 3
                  }
                ]
              },
              "renameOutput": true
            }
          ]
        },
        "options": {
          "fallbackOutput": 2
        },
        "looseTypeValidation": true
      },
      "typeVersion": 3.3
    },
    {
      "id": "c4f6f886-c6d9-4abc-84f7-3da410835b12",
      "name": "Medium score",
      "type": "n8n-nodes-base.noOp",
      "position": [
        3824,
        640
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "ee0f0b26-7ca7-4d97-b2de-5304c908a5f5",
      "name": "High score",
      "type": "n8n-nodes-base.noOp",
      "position": [
        3824,
        496
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "0a4828de-8290-4ad1-bc19-40abe5527590",
      "name": "Sticky Note9",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        368,
        240
      ],
      "parameters": {
        "color": 7,
        "width": 784,
        "height": 896,
        "content": "## ZeroBounce Email Validation and Scoring\n\nThis template uses the [ZeroBounce](https://www.zerobounce.net) node to validate and score email addresses. It is designed to first check if an email is deliverable and then uses A.I. Scoring to assess the sender's deliverability confidence.\n\nThis is an example template to demonstrate ways to use the ZeroBounce node and how to manipulate the data with core n8n nodes.\n\nA ZeroBounce API key is needed to use this template. Generate one [here](https://www.zerobounce.net/members/API).\n\n\n\n\n![ZeroBounce Logo](https://raw.githubusercontent.com/zerobounce/n8n-nodes-zerobounce/main/icons/zerobounce-logo.svg)\n\n### 1. Email Validation\nThe **`Validate email`** node sends the email address to the ZeroBounce API to determine its status (e.g., **`'valid', 'invalid', 'spam trap'`**).\n* **Function:** Checks the email address against ZeroBounce's Email Validation API\n\n\n### 2. A.I. Scoring\nFor emails confirmed as valid, the workflow proceeds to the **`Score email`** node.\n* **Function:** Applies ZeroBounce's proprietary A.I. model to assess the quality of the email, returning a numerical score (**0 to 10**).\n\n\n### 3. Output\nThe workflow concludes with the **`Filter by score` Switch Node**, which uses the ZeroBounce score to categorize the email into three confidence tiers:\n* **High Score:** Indicates high confidence in deliverability and is ready for immediate campaigns.\n* **Medium Score:** Suggests moderate risk; these might be suitable for re-engagement or specialized campaigns.\n* **Low Score:** Indicates high risk, even if the status was technically `valid`. These should be suppressed to protect sender reputation."
      },
      "typeVersion": 1
    },
    {
      "id": "39cb5eb2-8e42-4cf0-b641-f72b0d73bc6e",
      "name": "Send file for validation",
      "type": "@zerobounce/n8n-nodes-zerobounce.zeroBounce",
      "position": [
        1472,
        576
      ],
      "parameters": {
        "operation": "sendFile",
        "addOptions": {
          "returnUrl": "={{$execution.resumeUrl}}/zb-validation"
        },
        "sendFileInputType": "items",
        "itemInputAssignment": {
          "assignments": [
            {
              "id": "d4331294-dd4c-47d7-aaec-49c40e776805",
              "name": "emails",
              "type": "array",
              "value": "={{ $('Sandbox emails').item.json.emails }}"
            }
          ]
        }
      },
      "credentials": {
        "zeroBounceApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "7edb59fe-bdbf-4a6f-9bec-58442f9b27fa",
      "name": "Wait for validation file to be processed",
      "type": "n8n-nodes-base.wait",
      "position": [
        1680,
        576
      ],
      "parameters": {
        "resume": "webhook",
        "options": {
          "webhookSuffix": "zb-validation"
        },
        "httpMethod": "POST",
        "resumeUnit": "minutes",
        "resumeAmount": 5,
        "limitWaitTime": true
      },
      "typeVersion": 1.1
    },
    {
      "id": "58229cdd-3a9e-4539-9d4e-7e59e70494d0",
      "name": "Get validation results file",
      "type": "@zerobounce/n8n-nodes-zerobounce.zeroBounce",
      "position": [
        2304,
        544
      ],
      "parameters": {
        "fileId": "={{ $json.file_id }}",
        "operation": "getFile",
        "addOptions": {
          "splitItems": true,
          "includeFile": true,
          "activityData": true
        },
        "getFileOutputType": "fields"
      },
      "credentials": {
        "zeroBounceApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "45c798f0-0440-4848-a82f-107c5c119a38",
      "name": "Get validation file status",
      "type": "@zerobounce/n8n-nodes-zerobounce.zeroBounce",
      "position": [
        1888,
        576
      ],
      "parameters": {
        "fileId": "={{ $('Send file for validation').item.json.file_id }}",
        "operation": "fileStatus"
      },
      "credentials": {
        "zeroBounceApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "55de8f1c-66d3-4110-a0ed-10fa924cfda4",
      "name": "Send file for scoring",
      "type": "@zerobounce/n8n-nodes-zerobounce.zeroBounce",
      "position": [
        2544,
        576
      ],
      "parameters": {
        "resource": "scoring",
        "operation": "scoringSendFile",
        "addOptions": {
          "returnUrl": "={{$execution.resumeUrl}}/zb-scoring",
          "includeFile": true,
          "combineItems": true
        },
        "itemInputType": "mapped",
        "itemInputMapped": {
          "mappedValues": [
            {
              "email_address": "={{ $json.email_address }}"
            }
          ]
        },
        "sendFileInputType": "items"
      },
      "credentials": {
        "zeroBounceApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "c3d11e42-950f-4e0a-83f6-074472f61d0c",
      "name": "Get scoring file status",
      "type": "@zerobounce/n8n-nodes-zerobounce.zeroBounce",
      "position": [
        2960,
        576
      ],
      "parameters": {
        "fileId": "={{ $('Send file for scoring').item.json.file_id }}",
        "resource": "scoring",
        "operation": "scoringFileStatus"
      },
      "credentials": {
        "zeroBounceApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "1db0c35d-63a6-4714-bcc0-16dc1c1f1f9c",
      "name": "Get scoring results file",
      "type": "@zerobounce/n8n-nodes-zerobounce.zeroBounce",
      "position": [
        3376,
        544
      ],
      "parameters": {
        "fileId": "={{ $json.file_id }}",
        "resource": "scoring",
        "operation": "scoringGetFile",
        "addOptions": {
          "splitItems": true,
          "includeFile": true
        },
        "getFileOutputType": "fields"
      },
      "credentials": {
        "zeroBounceApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "86fefa03-5bdf-4e65-a8e8-27c9cc3d552b",
      "name": "Wait for scoring file to process",
      "type": "n8n-nodes-base.wait",
      "position": [
        2752,
        576
      ],
      "parameters": {
        "resume": "webhook",
        "options": {
          "webhookSuffix": "zb-scoring"
        },
        "httpMethod": "POST",
        "resumeUnit": "minutes",
        "resumeAmount": 5,
        "limitWaitTime": true
      },
      "typeVersion": 1.1
    },
    {
      "id": "a0d00c33-2154-4d08-8a4e-379895fffa71",
      "name": "Merge validation and scoring results",
      "type": "n8n-nodes-base.merge",
      "position": [
        3376,
        736
      ],
      "parameters": {
        "mode": "combine",
        "options": {},
        "joinMode": "enrichInput2",
        "fieldsToMatchString": "email_address"
      },
      "typeVersion": 3.2
    },
    {
      "id": "afb14d11-3cee-4b92-807c-a45b91f943d7",
      "name": "Scoring file status",
      "type": "n8n-nodes-base.switch",
      "position": [
        3168,
        560
      ],
      "parameters": {
        "rules": {
          "values": [
            {
              "outputKey": "complete",
              "conditions": {
                "options": {
                  "version": 2,
                  "leftValue": "",
                  "caseSensitive": true,
                  "typeValidation": "strict"
                },
                "combinator": "and",
                "conditions": [
                  {
                    "id": "50c6716b-141e-4341-9892-da8c03d9738e",
                    "operator": {
                      "type": "string",
                      "operation": "equals"
                    },
                    "leftValue": "={{ $json.file_status }}",
                    "rightValue": "Complete"
                  }
                ]
              },
              "renameOutput": true
            },
            {
              "outputKey": "processing",
              "conditions": {
                "options": {
                  "version": 2,
                  "leftValue": "",
                  "caseSensitive": true,
                  "typeValidation": "strict"
                },
                "combinator": "and",
                "conditions": [
                  {
                    "id": "8f5dbeb8-f2e0-4fbf-aa53-4112fa603104",
                    "operator": {
                      "name": "filter.operator.equals",
                      "type": "string",
                      "operation": "equals"
                    },
                    "leftValue": "={{ $json.file_status }}",
                    "rightValue": "Processing"
                  }
                ]
              },
              "renameOutput": true
            },
            {
              "outputKey": "failed",
              "conditions": {
                "options": {
                  "version": 2,
                  "leftValue": "",
                  "caseSensitive": true,
                  "typeValidation": "strict"
                },
                "combinator": "and",
                "conditions": [
                  {
                    "id": "09e007ef-85ae-42bb-826e-331acf95c22f",
                    "operator": {
                      "name": "filter.operator.equals",
                      "type": "string",
                      "operation": "equals"
                    },
                    "leftValue": "={{ $json.file_status }}",
                    "rightValue": "Failed"
                  }
                ]
              },
              "renameOutput": true
            }
          ]
        },
        "options": {
          "fallbackOutput": "none"
        }
      },
      "typeVersion": 3.3
    },
    {
      "id": "06c41c16-81d3-417f-af85-00b58e9c6fd2",
      "name": "Validation file status",
      "type": "n8n-nodes-base.switch",
      "position": [
        2096,
        560
      ],
      "parameters": {
        "rules": {
          "values": [
            {
              "outputKey": "complete",
              "conditions": {
                "options": {
                  "version": 2,
                  "leftValue": "",
                  "caseSensitive": true,
                  "typeValidation": "strict"
                },
                "combinator": "and",
                "conditions": [
                  {
                    "id": "50c6716b-141e-4341-9892-da8c03d9738e",
                    "operator": {
                      "type": "string",
                      "operation": "equals"
                    },
                    "leftValue": "={{ $json.file_status }}",
                    "rightValue": "Complete"
                  }
                ]
              },
              "renameOutput": true
            },
            {
              "outputKey": "processing",
              "conditions": {
                "options": {
                  "version": 2,
                  "leftValue": "",
                  "caseSensitive": true,
                  "typeValidation": "strict"
                },
                "combinator": "and",
                "conditions": [
                  {
                    "id": "89743682-0161-44b6-9759-c2d5f50c9c7c",
                    "operator": {
                      "name": "filter.operator.equals",
                      "type": "string",
                      "operation": "equals"
                    },
                    "leftValue": "={{ $json.file_status }}",
                    "rightValue": "Processing"
                  }
                ]
              },
              "renameOutput": true
            },
            {
              "outputKey": "failed",
              "conditions": {
                "options": {
                  "version": 2,
                  "leftValue": "",
                  "caseSensitive": true,
                  "typeValidation": "strict"
                },
                "combinator": "and",
                "conditions": [
                  {
                    "id": "5e9549eb-e6cb-4d03-9d8e-3127ff1aa2e2",
                    "operator": {
                      "name": "filter.operator.equals",
                      "type": "string",
                      "operation": "equals"
                    },
                    "leftValue": "={{ $json.file_status }}",
                    "rightValue": "Failed"
                  }
                ]
              },
              "renameOutput": true
            }
          ]
        },
        "options": {
          "fallbackOutput": 1
        }
      },
      "typeVersion": 3.3
    },
    {
      "id": "20cc577d-a348-4a30-b8e2-46e4cb6498ec",
      "name": "Validation results",
      "type": "n8n-nodes-base.noOp",
      "position": [
        2544,
        752
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "3c43f23f-ef23-4589-bf9b-25337c5c5237",
      "name": "Bulk validation failed",
      "type": "n8n-nodes-base.stopAndError",
      "position": [
        2096,
        944
      ],
      "parameters": {
        "errorMessage": "Bulk validation failed"
      },
      "typeVersion": 1
    },
    {
      "id": "0b027b94-6ea7-4cd0-8748-06505edc1b2e",
      "name": "Bulk scoring failed",
      "type": "n8n-nodes-base.stopAndError",
      "position": [
        3168,
        944
      ],
      "parameters": {
        "errorMessage": "Bulk scoring failed"
      },
      "typeVersion": 1
    }
  ],
  "connections": {
    "Is valid?": {
      "main": [
        [
          {
            "node": "Send file for scoring",
            "type": "main",
            "index": 0
          },
          {
            "node": "Validation results",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Not valid",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Low score": {
      "main": [
        []
      ]
    },
    "Sandbox emails": {
      "main": [
        [
          {
            "node": "Send file for validation",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Filter by score": {
      "main": [
        [
          {
            "node": "High score",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Medium score",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Low score",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Validation results": {
      "main": [
        [
          {
            "node": "Merge validation and scoring results",
            "type": "main",
            "index": 1
          }
        ]
      ]
    },
    "Scoring file status": {
      "main": [
        [
          {
            "node": "Get scoring results file",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Wait for scoring file to process",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Bulk scoring failed",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Send file for scoring": {
      "main": [
        [
          {
            "node": "Wait for scoring file to process",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Validation file status": {
      "main": [
        [
          {
            "node": "Get validation results file",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Wait for validation file to be processed",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Bulk validation failed",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get scoring file status": {
      "main": [
        [
          {
            "node": "Scoring file status",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get scoring results file": {
      "main": [
        [
          {
            "node": "Merge validation and scoring results",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Send file for validation": {
      "main": [
        [
          {
            "node": "Wait for validation file to be processed",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get validation file status": {
      "main": [
        [
          {
            "node": "Validation file status",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get validation results file": {
      "main": [
        [
          {
            "node": "Is valid?",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Wait for scoring file to process": {
      "main": [
        [
          {
            "node": "Get scoring file status",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Merge validation and scoring results": {
      "main": [
        [
          {
            "node": "Filter by score",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "When clicking \u2018Execute workflow\u2019": {
      "main": [
        [
          {
            "node": "Sandbox emails",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Wait for validation file to be processed": {
      "main": [
        [
          {
            "node": "Get validation file status",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}