{
  "name": "Verify every HubSpot contact's email monthly with Evaboot",
  "nodes": [
    {
      "parameters": {
        "content": "## Clean your CRM: verify every HubSpot contact's email\n\nOn the 1st of each month, every HubSpot contact's email is checked by Evaboot. The verdict (`safe`, `riskier`, `suspect` or `invalid`) is saved on the contact so you can exclude bad addresses from sequences.\n\n### Setup\n1. In HubSpot, create a single-line text contact property named `evaboot_email_status`.\n2. Connect HubSpot and add your Evaboot API key.\n\nEach email checked costs 1 credit. Lower the contact limit to test on a small batch first.",
        "height": 460,
        "width": 400
      },
      "id": "4c01a260-9c9a-5ec9-9c55-1aea8df876ba",
      "name": "Setup",
      "type": "n8n-nodes-base.stickyNote",
      "typeVersion": 1,
      "position": [
        -460,
        -200
      ]
    },
    {
      "parameters": {
        "rule": {
          "interval": [
            {
              "field": "months",
              "triggerAtHour": 6
            }
          ]
        }
      },
      "id": "53ee4754-866d-5088-a120-98e7bbec1eef",
      "name": "1st of every month",
      "type": "n8n-nodes-base.scheduleTrigger",
      "typeVersion": 1.2,
      "position": [
        0,
        0
      ]
    },
    {
      "parameters": {
        "authentication": "appToken",
        "operation": "getAll",
        "limit": 100,
        "additionalFields": {
          "propertiesCollection": {
            "propertiesValues": {
              "properties": [
                "email"
              ]
            }
          }
        }
      },
      "id": "b911190e-c730-549a-8324-2a46385b70a4",
      "name": "Get HubSpot contacts",
      "type": "n8n-nodes-base.hubspot",
      "typeVersion": 2.2,
      "position": [
        260,
        0
      ]
    },
    {
      "parameters": {
        "conditions": {
          "options": {
            "caseSensitive": false,
            "leftValue": "",
            "typeValidation": "loose",
            "version": 2
          },
          "conditions": [
            {
              "id": "email",
              "leftValue": "={{ $json.properties.email?.value }}",
              "operator": {
                "type": "string",
                "operation": "exists",
                "singleValue": true
              }
            }
          ],
          "combinator": "and"
        },
        "options": {}
      },
      "id": "46a2f085-e574-5c14-a864-f118fbb6d23b",
      "name": "Has an email",
      "type": "n8n-nodes-base.filter",
      "typeVersion": 2.2,
      "position": [
        520,
        0
      ]
    },
    {
      "parameters": {
        "resource": "emailValidation",
        "operation": "validateSingle",
        "email": "={{ $json.properties.email.value }}"
      },
      "id": "55afbebd-fc51-551c-90f7-756c3dc5cfe7",
      "name": "Verify email",
      "type": "@evaboot-team/n8n-nodes-evaboot.evaboot",
      "typeVersion": 1,
      "position": [
        780,
        0
      ]
    },
    {
      "parameters": {
        "authentication": "appToken",
        "email": "={{ $json.prospect.email }}",
        "additionalFields": {
          "customPropertiesUi": {
            "customPropertiesValues": [
              {
                "property": "evaboot_email_status",
                "value": "={{ $json.prospect.email_validity }}"
              }
            ]
          }
        },
        "options": {}
      },
      "id": "768acae4-bb5a-5873-910d-adda34d8812b",
      "name": "Save verdict on contact",
      "type": "n8n-nodes-base.hubspot",
      "typeVersion": 2.2,
      "position": [
        1040,
        0
      ]
    }
  ],
  "connections": {
    "1st of every month": {
      "main": [
        [
          {
            "node": "Get HubSpot contacts",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get HubSpot contacts": {
      "main": [
        [
          {
            "node": "Has an email",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Has an email": {
      "main": [
        [
          {
            "node": "Verify email",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Verify email": {
      "main": [
        [
          {
            "node": "Save verdict on contact",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  },
  "pinData": {},
  "settings": {
    "executionOrder": "v1"
  },
  "meta": {
    "templateCredsSetupCompleted": false
  },
  "tags": []
}