This workflow corresponds to n8n.io template #7216 — we link there as the canonical source.
The workflow JSON
Copy or download the full n8n JSON below. Paste it into a new n8n workflow, add your credentials, activate. Full import guide →
{
"id": "MIAB9TEo4WAoEXhr",
"meta": {
"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": {
"name": "<your credential>"
}
},
"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": {
"name": "<your credential>"
}
},
"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": {
"name": "<your credential>"
}
},
"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": {
"name": "<your credential>"
}
},
"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": {
"name": "<your credential>"
}
},
"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\u2019s 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\u2019s 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\u2019s status to 3-contact-created in NocoDB after the contact is successfully added to Brevo."
},
"typeVersion": 1
}
],
"active": false,
"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
}
]
]
}
}
}
Credentials you'll need
Each integration node will prompt for credentials when you import. We strip credential IDs before publishing — you'll add your own.
nocoDbApiTokensendInBlueApi
For the full experience including quality scoring and batch install features for each workflow upgrade to Pro
About this workflow
Automate your daily contact imports from NocoDB to Brevo.The workflow updates the record status in NocoDB at each step.
Source: https://n8n.io/workflows/7216/ — original creator credit. Request a take-down →
Related workflows
Workflows that share integrations, category, or trigger type with this one. All free to copy and import.
The workflow is triggered automatically every day at 12:00 PM using a Cron node.
This n8n workflow automatically retrieves Brevo contact reports and inserts summarized engagement data into NocoDB. It groups campaign activity by email, creating a clean, unified record that includes
YOUR_ID 4. Uses gmail, googleDrive, googleSheets, httpRequest. Scheduled trigger; 53 nodes.
Development teams using Claude Code who want a chat-ops interface for project management. Instead of SSH-ing into a server to run Claude, your whole team interacts with it through a Matrix chat room —
The FamilyFlow Assistant is your n8n-powered 🚀 companion designed to streamline daily parenting tasks, reduce mental load, and bring a bit more organization and fun into your family life. This versati