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 →
{
"nodes": [
{
"id": "d5b5010f-97fb-4f80-871b-e9f04b3977a9",
"name": "Respond to Webhook",
"type": "n8n-nodes-base.respondToWebhook",
"position": [
1220,
-180
],
"parameters": {
"options": {},
"respondWith": "allIncomingItems"
},
"typeVersion": 1.1
},
{
"id": "46711e2f-6cd1-4947-9452-7a1484ae562f",
"name": "Respond to Webhook1",
"type": "n8n-nodes-base.respondToWebhook",
"position": [
1220,
860
],
"parameters": {
"options": {
"responseCode": 201
},
"respondWith": "allIncomingItems"
},
"typeVersion": 1.1
},
{
"id": "20489a88-39a5-4cf7-8c08-826e4e9a7f34",
"name": "Respond to Webhook2",
"type": "n8n-nodes-base.respondToWebhook",
"position": [
1220,
340
],
"parameters": {
"options": {
"responseCode": 200
},
"respondWith": "allIncomingItems"
},
"typeVersion": 1.1
},
{
"id": "04320a5f-29fe-42b0-9e01-31035f23b9dc",
"name": "Respond to Webhook4",
"type": "n8n-nodes-base.respondToWebhook",
"position": [
1220,
600
],
"parameters": {
"options": {},
"respondWith": "allIncomingItems"
},
"typeVersion": 1.1
},
{
"id": "45ef8f08-f765-440d-be85-12096b6b4105",
"name": "Sticky Note",
"type": "n8n-nodes-base.stickyNote",
"position": [
940,
765.3897477624087
],
"parameters": {
"color": 4,
"width": 514,
"height": 255.253864930838,
"content": "#### Creation\nCreates a new record"
},
"typeVersion": 1
},
{
"id": "2e820357-250c-41a7-9daa-4eb77e7eded6",
"name": "Create",
"type": "n8n-nodes-base.airtable",
"position": [
1000,
860
],
"parameters": {
"base": {
"__rl": true,
"mode": "list",
"value": "app662qLY5J8ys4fU",
"cachedResultUrl": "https://airtable.com/app662qLY5J8ys4fU",
"cachedResultName": "customers"
},
"table": {
"__rl": true,
"mode": "list",
"value": "tblwvA7Wrmvmv37rq",
"cachedResultUrl": "https://airtable.com/app662qLY5J8ys4fU/tblwvA7Wrmvmv37rq",
"cachedResultName": "Table 1"
},
"columns": {
"value": {
"email": "={{ $json.query.email }}",
"phone": "={{ $json.query.phone }}",
"address": "={{ $json.query.address }}",
"last_name": "={{ $json.query.last_name }}",
"first_name": "={{ $json.query.first_name }}",
"customer_id": "={{ $json.query.customer_id }}"
},
"schema": [
{
"id": "customer_id",
"type": "number",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "customer_id",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "first_name",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "first_name",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "last_name",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "last_name",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "email",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "email",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "phone",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "phone",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "address",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "address",
"defaultMatch": false,
"canBeUsedToMatch": true
}
],
"mappingMode": "defineBelow",
"matchingColumns": []
},
"options": {},
"operation": "create"
},
"credentials": {
"airtableTokenApi": {
"name": "<your credential>"
}
},
"typeVersion": 2.1
},
{
"id": "dceb7ad3-3c29-4cb9-b097-00c5ae1d2732",
"name": "Get All",
"type": "n8n-nodes-base.airtable",
"position": [
1000,
600
],
"parameters": {
"base": {
"__rl": true,
"mode": "list",
"value": "app662qLY5J8ys4fU",
"cachedResultUrl": "https://airtable.com/app662qLY5J8ys4fU",
"cachedResultName": "customers"
},
"table": {
"__rl": true,
"mode": "list",
"value": "tblwvA7Wrmvmv37rq",
"cachedResultUrl": "https://airtable.com/app662qLY5J8ys4fU/tblwvA7Wrmvmv37rq",
"cachedResultName": "Table 1"
},
"options": {},
"operation": "search"
},
"credentials": {
"airtableTokenApi": {
"name": "<your credential>"
}
},
"typeVersion": 2.1
},
{
"id": "15a418ac-9de1-4c1d-ada7-057c280373df",
"name": "Sticky Note1",
"type": "n8n-nodes-base.stickyNote",
"position": [
940,
522.9617575264442
],
"parameters": {
"color": 4,
"width": 514,
"height": 228.69080553295362,
"content": "#### Get All\nRetrieves all records"
},
"typeVersion": 1
},
{
"id": "9736394d-3298-485c-b907-19804bbd48fb",
"name": "Sticky Note2",
"type": "n8n-nodes-base.stickyNote",
"position": [
940,
-260
],
"parameters": {
"color": 4,
"width": 514,
"height": 228,
"content": "#### Get\nRetrieves a single record"
},
"typeVersion": 1
},
{
"id": "b5544fc2-10cf-47dd-815c-51e8044e073d",
"name": "Get Single",
"type": "n8n-nodes-base.airtable",
"position": [
1000,
-180
],
"parameters": {
"base": {
"__rl": true,
"mode": "list",
"value": "app662qLY5J8ys4fU",
"cachedResultUrl": "https://airtable.com/app662qLY5J8ys4fU",
"cachedResultName": "customers"
},
"limit": 1,
"table": {
"__rl": true,
"mode": "list",
"value": "tblwvA7Wrmvmv37rq",
"cachedResultUrl": "https://airtable.com/app662qLY5J8ys4fU/tblwvA7Wrmvmv37rq",
"cachedResultName": "Table 1"
},
"options": {},
"operation": "search",
"returnAll": false,
"filterByFormula": "=({customer_id} = {{ $json.params.id }})"
},
"credentials": {
"airtableTokenApi": {
"name": "<your credential>"
}
},
"typeVersion": 2.1
},
{
"id": "0f08fcee-b892-47ec-b13c-639f7e5b4b91",
"name": "Sticky Note3",
"type": "n8n-nodes-base.stickyNote",
"position": [
940,
260
],
"parameters": {
"color": 4,
"width": 508.29454841334433,
"height": 248.84784377542707,
"content": "#### Update\nUpdates of an existing record"
},
"typeVersion": 1
},
{
"id": "56ff1769-15fe-475d-96aa-9c0f1a9edf05",
"name": "Airtable",
"type": "n8n-nodes-base.airtable",
"position": [
1000,
340
],
"parameters": {
"base": {
"__rl": true,
"mode": "list",
"value": "app662qLY5J8ys4fU",
"cachedResultUrl": "https://airtable.com/app662qLY5J8ys4fU",
"cachedResultName": "customers"
},
"table": {
"__rl": true,
"mode": "list",
"value": "tblwvA7Wrmvmv37rq",
"cachedResultUrl": "https://airtable.com/app662qLY5J8ys4fU/tblwvA7Wrmvmv37rq",
"cachedResultName": "Table 1"
},
"columns": {
"value": {
"email": "={{ $json.query.email }}",
"phone": "={{ $json.query.phone }}",
"address": "={{ $json.query.address }}",
"last_name": "={{ $json.query.last_name }}",
"first_name": "={{ $json.query.first_name }}",
"customer_id": "={{ $json.query.customer_id }}"
},
"schema": [
{
"id": "id",
"type": "string",
"display": true,
"removed": true,
"readOnly": true,
"required": false,
"displayName": "id",
"defaultMatch": true
},
{
"id": "customer_id",
"type": "number",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "customer_id",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "first_name",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "first_name",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "last_name",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "last_name",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "email",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "email",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "phone",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "phone",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "address",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "address",
"defaultMatch": false,
"canBeUsedToMatch": true
}
],
"mappingMode": "defineBelow",
"matchingColumns": [
"customer_id"
]
},
"options": {},
"operation": "update"
},
"credentials": {
"airtableTokenApi": {
"name": "<your credential>"
}
},
"typeVersion": 2.1
},
{
"id": "e20c0448-9688-47ae-873b-7cc5ac6e826a",
"name": "Respond to Webhook5",
"type": "n8n-nodes-base.respondToWebhook",
"position": [
1420,
80
],
"parameters": {
"options": {
"responseCode": 200
},
"respondWith": "allIncomingItems"
},
"typeVersion": 1.1
},
{
"id": "f13eb006-b576-4e65-9c04-7a8516dccb35",
"name": "Sticky Note4",
"type": "n8n-nodes-base.stickyNote",
"position": [
940,
-20
],
"parameters": {
"color": 4,
"width": 737.8307567127741,
"height": 267.43205858421476,
"content": "#### Delete\nDeletes a record"
},
"typeVersion": 1
},
{
"id": "0f434e52-2fda-41c0-9f40-38bf1977b8a6",
"name": "Airtable1",
"type": "n8n-nodes-base.airtable",
"position": [
1200,
80
],
"parameters": {
"id": "={{ $json.id }}",
"base": {
"__rl": true,
"mode": "list",
"value": "app662qLY5J8ys4fU",
"cachedResultUrl": "https://airtable.com/app662qLY5J8ys4fU",
"cachedResultName": "customers"
},
"table": {
"__rl": true,
"mode": "list",
"value": "tblwvA7Wrmvmv37rq",
"cachedResultUrl": "https://airtable.com/app662qLY5J8ys4fU/tblwvA7Wrmvmv37rq",
"cachedResultName": "Table 1"
},
"operation": "deleteRecord"
},
"credentials": {
"airtableTokenApi": {
"name": "<your credential>"
}
},
"typeVersion": 2.1
},
{
"id": "c58724ab-354b-43af-8a60-495837f8a4a2",
"name": "Get Single1",
"type": "n8n-nodes-base.airtable",
"position": [
1000,
80
],
"parameters": {
"base": {
"__rl": true,
"mode": "list",
"value": "app662qLY5J8ys4fU",
"cachedResultUrl": "https://airtable.com/app662qLY5J8ys4fU",
"cachedResultName": "customers"
},
"limit": 1,
"table": {
"__rl": true,
"mode": "list",
"value": "tblwvA7Wrmvmv37rq",
"cachedResultUrl": "https://airtable.com/app662qLY5J8ys4fU/tblwvA7Wrmvmv37rq",
"cachedResultName": "Table 1"
},
"options": {},
"operation": "search",
"returnAll": false,
"filterByFormula": "=({customer_id} = {{ $json.params.id }})"
},
"credentials": {
"airtableTokenApi": {
"name": "<your credential>"
}
},
"typeVersion": 2.1
},
{
"id": "1b8fc8af-4892-4804-85d0-8e84904a3cf0",
"name": "Webhook",
"type": "n8n-nodes-base.webhook",
"position": [
500,
720
],
"parameters": {
"path": "customers",
"options": {},
"responseMode": "responseNode",
"multipleMethods": true
},
"typeVersion": 2
},
{
"id": "7a8a9006-c2ea-4a87-8a94-fb925ed91abd",
"name": "Webhook (with ID)",
"type": "n8n-nodes-base.webhook",
"position": [
500,
80
],
"parameters": {
"path": "customers/:id",
"options": {},
"httpMethod": [
"GET",
"DELETE",
"PUT"
],
"responseMode": "responseNode",
"multipleMethods": true
},
"typeVersion": 2
}
],
"connections": {
"Create": {
"main": [
[
{
"node": "Respond to Webhook1",
"type": "main",
"index": 0
}
]
]
},
"Get All": {
"main": [
[
{
"node": "Respond to Webhook4",
"type": "main",
"index": 0
}
]
]
},
"Webhook": {
"main": [
[
{
"node": "Get All",
"type": "main",
"index": 0
}
],
[
{
"node": "Create",
"type": "main",
"index": 0
}
]
]
},
"Airtable": {
"main": [
[
{
"node": "Respond to Webhook2",
"type": "main",
"index": 0
}
]
]
},
"Airtable1": {
"main": [
[
{
"node": "Respond to Webhook5",
"type": "main",
"index": 0
}
]
]
},
"Get Single": {
"main": [
[
{
"node": "Respond to Webhook",
"type": "main",
"index": 0
}
]
]
},
"Get Single1": {
"main": [
[
{
"node": "Airtable1",
"type": "main",
"index": 0
}
]
]
},
"Webhook (with ID)": {
"main": [
[
{
"node": "Get Single",
"type": "main",
"index": 0
}
],
[
{
"node": "Get Single1",
"type": "main",
"index": 0
}
],
[
{
"node": "Airtable",
"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.
airtableTokenApi
For the full experience including quality scoring and batch install features for each workflow upgrade to Pro
How this works
This workflow enables you to swiftly create a custom API endpoint in n8n that handles full CRUD operations—create, read, update, and delete—on your Airtable data using various HTTP methods like GET, POST, PUT, and DELETE. It's ideal for developers or non-technical users needing a simple backend interface without building from scratch, saving hours of coding time while integrating seamlessly with Airtable's powerful database features. The key step involves the webhook trigger routing incoming requests to dedicated Airtable nodes for each operation, ensuring efficient data manipulation and immediate responses.
Use this when you require a lightweight, no-code API for basic data management in apps or automations, such as syncing user records or inventory updates. Avoid it for high-traffic scenarios demanding advanced authentication or scalability, where a dedicated server might be better. Common variations include adding validation nodes for input sanitisation or extending to other databases like Google Sheets for diverse storage needs.
About this workflow
Build An Endpoint To Perform Crud Operations With Multiple Http Methods. Uses respondToWebhook, stickyNote, airtable. Webhook trigger; 18 nodes.
Source: https://github.com/Zie619/n8n-workflows — 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.
This template is ideal for small businesses, agencies, and solo professionals who want to automate appointment scheduling and caller follow-up through a voice-based AI receptionist. If you’re using to
This premium n8n workflow harnesses the power of DataForSEO's API combined with Airtable's relational database capabilities to transform your keyword research process, providing deeper insights for co
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
This workflow automates the entire lifecycle of a service-based client, combining four distinct business flows into a single view: Intake Leads: Receives a webhook from your form builder, validates th
It intelligently syncs confirmed sales orders from your Airtable base to QuickBooks, automatically creating new customers if they don't exist before generating a perfectly matched invoice. It then log