N
n8n Store
Workflow Market
Daily Import New Contacts from NocoDB to Brevo

Daily Import New Contacts from NocoDB to Brevo

by salimi0 views

説明

Categories

🤖 AI & Machine Learning

Nodes Used

n8n-nodes-base.ifn8n-nodes-base.ifn8n-nodes-base.nocoDbn8n-nodes-base.nocoDbn8n-nodes-base.nocoDbn8n-nodes-base.nocoDbn8n-nodes-base.sendInBluen8n-nodes-base.stickyNoten8n-nodes-base.stickyNoten8n-nodes-base.stickyNote
Price無料
Views0
最終更新11/28/2025
workflow.json
{
  "id": "MIAB9TEo4WAoEXhr",
  "meta": {
    "instanceId": "c24388df44432e8ff2c4acecd7ab0dd2faec628bd83c70beb384cea105f7a50a",
    "templateCredsSetupCompleted": true
  },
  "name": "Daily Import New Contacts from NocoDB to Brevo",
  "tags": [],
  "nodes": [
    {
      "id": "b5f8e6d7-960f-45d6-a15d-9161200b3993",
      "name": "Schedule Trigger",
      "type": "n8n-nodes-base.scheduleTrigger",
      "position": [
        -280,
        0
      ],
      "parameters": {
        "rule": {
          "interval": [
            {}
          ]
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "f4f5e8bd-0e28-41c2-b0dd-342f68e4a74c",
      "name": "Check if parameters are not empty",
      "type": "n8n-nodes-base.if",
      "position": [
        340,
        0
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "edcfbe98-bc44-4400-9610-273b4b4ef999",
              "operator": {
                "type": "string",
                "operation": "notEmpty",
                "singleValue": true
              },
              "leftValue": "={{ $json.first_name }}",
              "rightValue": ""
            },
            {
              "id": "1b5b2a35-277c-4970-ab32-a2b89185b2dc",
              "operator": {
                "type": "string",
                "operation": "notEmpty",
                "singleValue": true
              },
              "leftValue": "={{ $json.last_name }}",
              "rightValue": ""
            },
            {
              "id": "58ac466e-4447-4a4b-8564-8ef14e388415",
              "operator": {
                "type": "string",
                "operation": "notEmpty",
                "singleValue": true
              },
              "leftValue": "={{ $json.email }}",
              "rightValue": ""
            }
          ]
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "2a684591-5c13-42c2-a826-12c0305d3525",
      "name": "Check if email is Disposal",
      "type": "n8n-nodes-base.if",
      "position": [
        700,
        0
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "4d399880-7a22-4ecd-91f6-2e395de7e375",
              "operator": {
                "type": "string",
                "operation": "notRegex"
              },
              "leftValue": "={{ $json.email }}",
              "rightValue": ".*(temp|abc|1234|yopmail|protonmail|mailinator|\\.cc|bigbester|fake|spam|gdf|sdf|mr123|passinbox|landininbox|@inbox|random|anony|mymail|mail\\.ru|\\.buzz|asdasd|asf|simplelogin|simplelogin\\.com|silomails\\.com|slmails\\.com|simplelogin\\.fr|aleeas\\.com|slmail\\.me|8shield\\.net|dralias\\.com|passinbox\\.com|passfwd\\.com|passmail\\.com|passmail\\.net|simplelogin\\.co|simplelogin\\.io|duck\\.com|mozmail\\.com|anonaddy\\.com|anonaddy\\.me|trash|guerrilla|getnada|owly|mvrht|sharklasers|anonbox).*"
            }
          ]
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "dba5e2e9-17d3-4a3f-b0c2-fc23b68b0fa5",
      "name": "Loop Over Items",
      "type": "n8n-nodes-base.splitInBatches",
      "position": [
        1020,
        -200
      ],
      "parameters": {
        "options": {}
      },
      "typeVersion": 3
    },
    {
      "id": "0f6142d4-8aa1-4e2e-82a5-7adb0a89ba72",
      "name": "Brevo: Create Contact",
      "type": "n8n-nodes-base.sendInBlue",
      "position": [
        1320,
        -200
      ],
      "parameters": {
        "email": "={{ $json.email }}",
        "resource": "contact",
        "requestOptions": {},
        "createContactAttributes": {
          "attributesValues": [
            {
              "fieldName": "FIRSTNAME",
              "fieldValue": "={{ $json.first_name }}"
            },
            {
              "fieldName": "LASTNAME",
              "fieldValue": "={{ $json.last_name }}"
            }
          ]
        }
      },
      "credentials": {
        "sendInBlueApi": {
          "id": "YQK9pEnWrCzPOkw8",
          "name": "Brevo account - U-test"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "0e6921d1-3131-4ae9-ac50-783c57e61582",
      "name": "NocoDB: Get new users list",
      "type": "n8n-nodes-base.nocoDb",
      "position": [
        40,
        0
      ],
      "parameters": {
        "table": "m5mxqjs3ae68oyc",
        "options": {
          "where": "(status,eq,0-not-imported)"
        },
        "operation": "getAll",
        "projectId": "p4lnw5vwzf2yy3i",
        "authentication": "nocoDbApiToken"
      },
      "credentials": {
        "nocoDbApiToken": {
          "id": "OmiCzu1TOrJhZRIa",
          "name": "NocoDB Token account"
        }
      },
      "typeVersion": 3
    },
    {
      "id": "ec5753b4-d6fb-4444-b53d-1e6506c875bd",
      "name": "NocoDB: change status to 1-empty-fields",
      "type": "n8n-nodes-base.nocoDb",
      "position": [
        340,
        260
      ],
      "parameters": {
        "table": "m5mxqjs3ae68oyc",
        "fieldsUi": {
          "fieldValues": [
            {
              "fieldName": "id",
              "fieldValue": "={{ $json.Id }}"
            },
            {
              "fieldName": "status",
              "fieldValue": "1-empty-fields"
            }
          ]
        },
        "operation": "update",
        "projectId": "p4lnw5vwzf2yy3i",
        "authentication": "nocoDbApiToken"
      },
      "credentials": {
        "nocoDbApiToken": {
          "id": "OmiCzu1TOrJhZRIa",
          "name": "NocoDB Token account"
        }
      },
      "typeVersion": 3
    },
    {
      "id": "90227f77-8840-41ae-aaa9-fac355463c1f",
      "name": "NocoDB: change status to 2-disposal-email",
      "type": "n8n-nodes-base.nocoDb",
      "position": [
        700,
        260
      ],
      "parameters": {
        "table": "m5mxqjs3ae68oyc",
        "fieldsUi": {
          "fieldValues": [
            {
              "fieldName": "id",
              "fieldValue": "={{ $json.Id }}"
            },
            {
              "fieldName": "status",
              "fieldValue": "2-disposal-email"
            }
          ]
        },
        "operation": "update",
        "projectId": "p4lnw5vwzf2yy3i",
        "authentication": "nocoDbApiToken"
      },
      "credentials": {
        "nocoDbApiToken": {
          "id": "OmiCzu1TOrJhZRIa",
          "name": "NocoDB Token account"
        }
      },
      "typeVersion": 3
    },
    {
      "id": "3a539eb1-732a-4133-ac57-2760da656b5e",
      "name": "NocoDB: change status to 3-contact-created",
      "type": "n8n-nodes-base.nocoDb",
      "position": [
        1620,
        -200
      ],
      "parameters": {
        "table": "m5mxqjs3ae68oyc",
        "fieldsUi": {
          "fieldValues": [
            {
              "fieldName": "id",
              "fieldValue": "={{ $('Loop Over Items').item.json.Id }}"
            },
            {
              "fieldName": "status",
              "fieldValue": "3-contact-created"
            }
          ]
        },
        "operation": "update",
        "projectId": "p4lnw5vwzf2yy3i",
        "authentication": "nocoDbApiToken"
      },
      "credentials": {
        "nocoDbApiToken": {
          "id": "OmiCzu1TOrJhZRIa",
          "name": "NocoDB Token account"
        }
      },
      "typeVersion": 3
    },
    {
      "id": "de4b9326-03cc-4f33-b244-63de98fbbabc",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -340,
        -160
      ],
      "parameters": {
        "color": 7,
        "height": 340,
        "content": "Runs the workflow automatically once a day at the scheduled time."
      },
      "typeVersion": 1
    },
    {
      "id": "a56f0f46-8c7a-4895-b42f-175636ed7853",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -40,
        -160
      ],
      "parameters": {
        "color": 7,
        "height": 340,
        "content": "Fetches all new user records from the NocoDB table where the status is 0-not-imported.\n\nThis status marks records that have not yet been processed by the flow (new users)."
      },
      "typeVersion": 1
    },
    {
      "id": "11d68333-74ff-4b32-8a1d-ffa918743a4d",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        260,
        -160
      ],
      "parameters": {
        "color": 7,
        "width": 280,
        "height": 740,
        "content": "Verifies that the required fields: first_name, last_name & email are all filled in before continuing.\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nUpdates the record’s status to 1-empty-fields in NocoDB for entries missing any required information."
      },
      "typeVersion": 1
    },
    {
      "id": "2e1d7c71-d8ef-43e0-b601-ce5a5f8d3d60",
      "name": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        600,
        -160
      ],
      "parameters": {
        "color": 7,
        "width": 280,
        "height": 740,
        "content": "Verifies that the email address is not from a known disposable or temporary email provider before continuing.\nWe don't want to send email to disposal email addresses.\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nUpdates the record’s status to 2-disposal-email in NocoDB for entries identified as using disposable or temporary email addresses."
      },
      "typeVersion": 1
    },
    {
      "id": "f818f406-b2c8-487e-8bb2-bf02b57d3c3b",
      "name": "Sticky Note4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        940,
        -340
      ],
      "parameters": {
        "color": 7,
        "height": 360,
        "content": "Runs one record at a time to avoid heavy load from creating contacts in bulk."
      },
      "typeVersion": 1
    },
    {
      "id": "ac098881-8bb3-4214-8502-bba7f92c3bed",
      "name": "Sticky Note5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1240,
        -340
      ],
      "parameters": {
        "color": 7,
        "height": 360,
        "content": "Creates a new contact in Brevo using the provided first_name, last_name, and email."
      },
      "typeVersion": 1
    },
    {
      "id": "ac752d01-6d5c-44e0-abe0-b065a1d4bd40",
      "name": "Sticky Note6",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1540,
        -340
      ],
      "parameters": {
        "color": 7,
        "height": 360,
        "content": "Updates the record’s status to 3-contact-created in NocoDB after the contact is successfully added to Brevo."
      },
      "typeVersion": 1
    }
  ],
  "active": false,
  "pinData": {},
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "74b9415d-63fe-4bb2-b782-beeb6faf0dae",
  "connections": {
    "Loop Over Items": {
      "main": [
        [],
        [
          {
            "node": "Brevo: Create Contact",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Schedule Trigger": {
      "main": [
        [
          {
            "node": "NocoDB: Get new users list",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Brevo: Create Contact": {
      "main": [
        [
          {
            "node": "NocoDB: change status to 3-contact-created",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Check if email is Disposal": {
      "main": [
        [
          {
            "node": "Loop Over Items",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "NocoDB: change status to 2-disposal-email",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "NocoDB: Get new users list": {
      "main": [
        [
          {
            "node": "Check if parameters are not empty",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Check if parameters are not empty": {
      "main": [
        [
          {
            "node": "Check if email is Disposal",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "NocoDB: change status to 1-empty-fields",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "NocoDB: change status to 3-contact-created": {
      "main": [
        [
          {
            "node": "Loop Over Items",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}

相关工作流