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": "GWXjIqENWvx6OqvX",
"meta": {
"templateCredsSetupCompleted": true
},
"name": "TEMPLATE - Multi Methods API Endpoint",
"tags": [],
"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
}
],
"active": true,
"settings": {
"executionOrder": "v1"
},
"versionId": "b9009017-c9f6-4f8c-9592-350825e54476",
"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 build a flexible API endpoint that handles multiple HTTP methods like GET, POST, and others through a single webhook trigger, streamlining data interactions without custom coding. It's ideal for developers or teams managing simple backend services, such as querying or updating records in Airtable based on incoming requests. The key step involves routing the webhook input to specific response nodes that process the method and perform actions like creating or retrieving data, delivering quick acknowledgements to keep your application responsive.
Use this when you need a lightweight, n8n-based API for basic CRUD operations on Airtable without spinning up a full server. Avoid it for high-traffic scenarios or complex authentication, where dedicated API tools like Express.js would be more suitable. Common variations include adding email notifications via integrations like SendGrid for post-creation alerts or expanding to support database queries beyond Airtable.
About this workflow
TEMPLATE - Multi Methods API Endpoint. 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.
Webhook Code. Uses itemLists, respondToWebhook, stickyNote, googleCalendar. Webhook trigger; 92 nodes.
Webhook Respondtowebhook. Uses respondToWebhook, executeWorkflow, airtable, crypto. Webhook trigger; 16 nodes.
Amazon keywords. Uses airtable, httpRequest, splitOut, stickyNote. Webhook trigger; 12 nodes.
Use Redis To Rate Limit Your Low Code Api. Uses airtable, redis. Webhook trigger; 11 nodes.
Luma AI - Webhook Response v1 - AK. Uses executionData, stickyNote, airtable. Webhook trigger; 8 nodes.