Changement de statut de la commande Airtable vers la notification SMS Twilio
Ceci est unSupport Chatbotworkflow d'automatisation du domainecontenant 12 nœuds.Utilise principalement des nœuds comme If, Set, Merge, Twilio, Airtable. Notification par SMS Twilio lors du changement d'état de la commande Airtable
- •Clé API Airtable
Nœuds utilisés (12)
Catégorie
{
"meta": {
"instanceId": "c8c9ba5d3eb26ae47a06d24ff164a01c0d73ed4753a74903c2bb609d434a0f6b",
"templateCredsSetupCompleted": true
},
"nodes": [
{
"id": "0f9a301c-3c4e-4b93-9acb-aaac7dc71767",
"name": "Surveiller les changements de statut de commande",
"type": "n8n-nodes-base.airtableTrigger",
"position": [
560,
240
],
"parameters": {
"baseId": {
"__rl": true,
"mode": "url",
"value": "https://airtable.com/appaeASO1AZV62pLI/tblOkTpwjGgApgnDD/viw5KFPiq3xMvzrrq"
},
"tableId": {
"__rl": true,
"mode": "url",
"value": "https://airtable.com/appaeASO1AZV62pLI/tblOkTpwjGgApgnDD/viw5KFPiq3xMvzrrq?blocks=hide"
},
"pollTimes": {
"item": [
{
"mode": "everyMinute"
}
]
},
"triggerField": "Created",
"authentication": "airtableTokenApi",
"additionalFields": {}
},
"credentials": {
"airtableTokenApi": {
"id": "lkxZWCd27TyEahCT",
"name": "Airtable Personal Access Token account"
}
},
"typeVersion": 1
},
{
"id": "b3fd2c55-69bb-4deb-960b-4fce09c97a6a",
"name": "Config",
"type": "n8n-nodes-base.set",
"position": [
768,
240
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "e60a21c7-574a-4579-9e7f-57cf6b9f50c9",
"name": "orders_table_url",
"type": "string",
"value": "https://airtable.com/appaeASO1AZV62pLI/tblhBgneMJ0mEPHKy/viw2ySMTX32PaQmXn?blocks=hide"
},
{
"id": "d40b4f55-a7e1-4735-9d6f-d5d3f88ba8ec",
"name": "notifications_table_url",
"type": "string",
"value": "https://airtable.com/appaeASO1AZV62pLI/tblOkTpwjGgApgnDD/viw5KFPiq3xMvzrrq?blocks=hide"
},
{
"id": "bad7583e-9699-4fec-a6f9-697f595c093e",
"name": "scripts_table_url",
"type": "string",
"value": "https://airtable.com/appaeASO1AZV62pLI/tbltfdPxUeOVGbb1l/viwFwsRKskE2F5b67?blocks=hide"
},
{
"id": "e39b8ae5-c53a-4186-9ec5-6c352cd1d7e4",
"name": "from_number",
"type": "string",
"value": "+18565883517"
}
]
},
"includeOtherFields": true
},
"typeVersion": 3.4
},
{
"id": "4be3c39c-6be2-49cd-81bc-368a501eb9cd",
"name": "Combiner Config avec les données de commande",
"type": "n8n-nodes-base.merge",
"position": [
1328,
16
],
"parameters": {
"mode": "combine",
"options": {},
"combineBy": "combineByPosition"
},
"typeVersion": 3.2
},
{
"id": "70b22256-8e20-4eb5-99df-eef81da8ef12",
"name": "Préparer le contenu du SMS",
"type": "n8n-nodes-base.set",
"position": [
1520,
16
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "463668f7-11f7-48d2-91c3-635a78637c7f",
"name": "Message",
"type": "string",
"value": "=Hi {{ $json.fields['First Name (from Order)'][0] }}, Your order status changed to: {{ $json.fields['Order Status'] }}. Any questions, call us!"
},
{
"id": "3ddbf667-aa74-4ddb-b12e-6bf1294fdaa3",
"name": "To",
"type": "string",
"value": "={{ $json.fields['Customer Phone Number (from Order)'][0] }}"
},
{
"id": "609250bc-7ae0-4213-9611-a60b3ac63eaa",
"name": "From",
"type": "string",
"value": "={{ $json.from_number }}"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "a4a0103e-9fe8-4076-bee8-6c8c34a3fae6",
"name": "Envoyer le SMS de statut de commande",
"type": "n8n-nodes-base.twilio",
"onError": "continueRegularOutput",
"position": [
1728,
16
],
"parameters": {
"to": "={{ $json.To }}",
"from": "={{ $json.From }}",
"message": "={{ $json.Message }}",
"options": {}
},
"credentials": {
"twilioApi": {
"id": "JgMpoxsNKUfVKqN1",
"name": "Twilio account"
}
},
"typeVersion": 1
},
{
"id": "cd039e97-d4f4-4d67-bc1b-f972d79ba2d5",
"name": "Vérifier la livraison du SMS",
"type": "n8n-nodes-base.if",
"position": [
1936,
16
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "3f814939-8cea-4114-aed8-9f4202c7eb80",
"operator": {
"type": "boolean",
"operation": "true",
"singleValue": true
},
"leftValue": "={{ !$json.error }}",
"rightValue": ""
}
]
}
},
"typeVersion": 2.2
},
{
"id": "d85bf204-a0b4-4f00-aa04-2704ea7787af",
"name": "Filtrer les notifications en attente",
"type": "n8n-nodes-base.if",
"position": [
944,
240
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "223f9988-650a-4fcc-9a65-2f240c4b3dce",
"operator": {
"name": "filter.operator.equals",
"type": "string",
"operation": "equals"
},
"leftValue": "={{ $json.fields['Message Status'] }}",
"rightValue": "To send"
}
]
}
},
"typeVersion": 2.2
},
{
"id": "b079226c-e475-438e-8fa8-46b82d129a21",
"name": "Marquer la notification comme en cours d'envoi",
"type": "n8n-nodes-base.airtable",
"position": [
1184,
192
],
"parameters": {
"base": {
"__rl": true,
"mode": "url",
"value": "={{ $('Config').item.json.notifications_table_url }}"
},
"table": {
"__rl": true,
"mode": "url",
"value": "={{ $('Config').item.json.notifications_table_url }}"
},
"columns": {
"value": {
"id": "={{ $('Config').item.json.id }}",
"Message Status": "Sending..."
},
"schema": [
{
"id": "id",
"type": "string",
"display": true,
"removed": false,
"readOnly": true,
"required": false,
"displayName": "id",
"defaultMatch": true
},
{
"id": "Name",
"type": "string",
"display": true,
"removed": true,
"readOnly": false,
"required": false,
"displayName": "Name",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Order Status",
"type": "options",
"display": true,
"options": [
{
"name": "New",
"value": "New"
},
{
"name": "Confirmed",
"value": "Confirmed"
},
{
"name": "Shipped",
"value": "Shipped"
}
],
"removed": true,
"readOnly": false,
"required": false,
"displayName": "Order Status",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Order",
"type": "array",
"display": true,
"removed": true,
"readOnly": false,
"required": false,
"displayName": "Order",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Message Status",
"type": "options",
"display": true,
"options": [
{
"name": "To send",
"value": "To send"
},
{
"name": "Sending...",
"value": "Sending..."
},
{
"name": "Success",
"value": "Success"
},
{
"name": "Error",
"value": "Error"
}
],
"removed": false,
"readOnly": false,
"required": false,
"displayName": "Message Status",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Created",
"type": "string",
"display": true,
"removed": true,
"readOnly": true,
"required": false,
"displayName": "Created",
"defaultMatch": false,
"canBeUsedToMatch": true
}
],
"mappingMode": "defineBelow",
"matchingColumns": [
"id"
],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"options": {},
"operation": "update"
},
"credentials": {
"airtableTokenApi": {
"id": "lkxZWCd27TyEahCT",
"name": "Airtable Personal Access Token account"
}
},
"typeVersion": 2.1
},
{
"id": "eff63937-f30e-4d03-8c14-07091abb0bbc",
"name": "Marquer la notification comme réussie",
"type": "n8n-nodes-base.airtable",
"position": [
2176,
-80
],
"parameters": {
"base": {
"__rl": true,
"mode": "url",
"value": "={{ $('Config').item.json.notifications_table_url }}"
},
"table": {
"__rl": true,
"mode": "url",
"value": "={{ $('Config').item.json.notifications_table_url }}"
},
"columns": {
"value": {
"id": "={{ $('Config').item.json.id }}",
"Message Status": "Success"
},
"schema": [
{
"id": "id",
"type": "string",
"display": true,
"removed": false,
"readOnly": true,
"required": false,
"displayName": "id",
"defaultMatch": true
},
{
"id": "Name",
"type": "string",
"display": true,
"removed": true,
"readOnly": false,
"required": false,
"displayName": "Name",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Order Status",
"type": "options",
"display": true,
"options": [
{
"name": "New",
"value": "New"
},
{
"name": "Confirmed",
"value": "Confirmed"
},
{
"name": "Shipped",
"value": "Shipped"
}
],
"removed": true,
"readOnly": false,
"required": false,
"displayName": "Order Status",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Order",
"type": "array",
"display": true,
"removed": true,
"readOnly": false,
"required": false,
"displayName": "Order",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Message Status",
"type": "options",
"display": true,
"options": [
{
"name": "To send",
"value": "To send"
},
{
"name": "Sending...",
"value": "Sending..."
},
{
"name": "Success",
"value": "Success"
},
{
"name": "Error",
"value": "Error"
}
],
"removed": false,
"readOnly": false,
"required": false,
"displayName": "Message Status",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Created",
"type": "string",
"display": true,
"removed": true,
"readOnly": true,
"required": false,
"displayName": "Created",
"defaultMatch": false,
"canBeUsedToMatch": true
}
],
"mappingMode": "defineBelow",
"matchingColumns": [
"id"
],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"options": {},
"operation": "update"
},
"credentials": {
"airtableTokenApi": {
"id": "lkxZWCd27TyEahCT",
"name": "Airtable Personal Access Token account"
}
},
"typeVersion": 2.1
},
{
"id": "35bb7ae7-8b76-4eb4-8be3-c9f270887039",
"name": "Marquer la notification comme échouée",
"type": "n8n-nodes-base.airtable",
"position": [
2176,
128
],
"parameters": {
"base": {
"__rl": true,
"mode": "url",
"value": "={{ $('Config').item.json.notifications_table_url }}"
},
"table": {
"__rl": true,
"mode": "url",
"value": "={{ $('Config').item.json.notifications_table_url }}"
},
"columns": {
"value": {
"id": "={{ $('Config').item.json.id }}",
"Message Status": "Error"
},
"schema": [
{
"id": "id",
"type": "string",
"display": true,
"removed": false,
"readOnly": true,
"required": false,
"displayName": "id",
"defaultMatch": true
},
{
"id": "Name",
"type": "string",
"display": true,
"removed": true,
"readOnly": false,
"required": false,
"displayName": "Name",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Order Status",
"type": "options",
"display": true,
"options": [
{
"name": "New",
"value": "New"
},
{
"name": "Confirmed",
"value": "Confirmed"
},
{
"name": "Shipped",
"value": "Shipped"
}
],
"removed": true,
"readOnly": false,
"required": false,
"displayName": "Order Status",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Order",
"type": "array",
"display": true,
"removed": true,
"readOnly": false,
"required": false,
"displayName": "Order",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Message Status",
"type": "options",
"display": true,
"options": [
{
"name": "To send",
"value": "To send"
},
{
"name": "Sending...",
"value": "Sending..."
},
{
"name": "Success",
"value": "Success"
},
{
"name": "Error",
"value": "Error"
}
],
"removed": false,
"readOnly": false,
"required": false,
"displayName": "Message Status",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Created",
"type": "string",
"display": true,
"removed": true,
"readOnly": true,
"required": false,
"displayName": "Created",
"defaultMatch": false,
"canBeUsedToMatch": true
}
],
"mappingMode": "defineBelow",
"matchingColumns": [
"id"
],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"options": {},
"operation": "update"
},
"credentials": {
"airtableTokenApi": {
"id": "lkxZWCd27TyEahCT",
"name": "Airtable Personal Access Token account"
}
},
"typeVersion": 2.1
},
{
"id": "c42f9334-652d-485b-aab2-08380db4af6f",
"name": "Assistant de configuration",
"type": "n8n-nodes-base.stickyNote",
"position": [
688,
64
],
"parameters": {
"width": 272,
"content": "## Configure here 👇👇\nUpdate these URLs to match your Airtable base:\n- orders_table_url\n- notifications_table_url\n- scripts_table_url (optional)\n- from_number (your Twilio number)"
},
"typeVersion": 1
},
{
"id": "doc-note-1759930148724",
"name": "Description du workflow",
"type": "n8n-nodes-base.stickyNote",
"position": [
-140,
-250
],
"parameters": {
"width": 600,
"height": 1100,
"content": "## Workflow Overview\n\nThis workflow automatically sends personalized SMS notifications to customers when their order status changes in Airtable. Perfect for e-commerce businesses, this automation monitors your order management base and instantly notifies customers about status updates like \"Confirmed\" or \"Shipped.\"\n\nWhen an order status changes in your Orders table, a notification record is created in a Status Notifications table. The workflow monitors this table every minute, prepares personalized messages using the customer's name and order status, sends the SMS via Twilio, and updates the delivery status back to Airtable for complete tracking.\n\n### First Setup\n\n1. **Duplicate the Airtable Base**: Copy the [Order Management Base template](https://airtable.com/appaeASO1AZV62pLI/shrBP0lmBNXk0G7Vf) to your Airtable workspace\n2. **Connect Airtable**: Add your Airtable Personal Access Token credentials to the workflow nodes\n3. **Set up Twilio**: Create a [Twilio account](https://www.twilio.com) (free trial available) and obtain your Account SID, Auth Token, and Twilio phone number\n4. **Connect Twilio**: Add your Twilio credentials to the \"Send Order Status SMS\" node\n\n### Configuration\n\nIn the **Config** node, update these values with your own:\n- `notifications_table_url`: URL of your duplicated Status Notifications table\n- `orders_table_url`: URL of your Orders table (optional, for reference)\n- `scripts_table_url`: URL of your scripts table (optional)\n- `from_number`: Your Twilio phone number\n\nCustomize the SMS message template in the \"Prepare SMS Content\" node to match your brand voice and include additional order details as needed."
},
"typeVersion": 1
}
],
"pinData": {
"Monitor Order Status Changes": [
{
"id": "rec5IBu6cQyupk23H",
"fields": {
"Order": [
"recLG83ejiTyKDS33"
],
"Created": "2025-09-17T14:41:08.000Z",
"Order Status": "Shipped",
"Message Status": "To send",
"First Name (from Order)": [
"Maria"
],
"Customer Phone Number (from Order)": [
"+36303679742"
]
},
"createdTime": "2025-09-17T14:41:08.000Z"
}
]
},
"connections": {
"b3fd2c55-69bb-4deb-960b-4fce09c97a6a": {
"main": [
[
{
"node": "d85bf204-a0b4-4f00-aa04-2704ea7787af",
"type": "main",
"index": 0
}
]
]
},
"cd039e97-d4f4-4d67-bc1b-f972d79ba2d5": {
"main": [
[
{
"node": "eff63937-f30e-4d03-8c14-07091abb0bbc",
"type": "main",
"index": 0
}
],
[
{
"node": "35bb7ae7-8b76-4eb4-8be3-c9f270887039",
"type": "main",
"index": 0
}
]
]
},
"70b22256-8e20-4eb5-99df-eef81da8ef12": {
"main": [
[
{
"node": "a4a0103e-9fe8-4076-bee8-6c8c34a3fae6",
"type": "main",
"index": 0
}
]
]
},
"a4a0103e-9fe8-4076-bee8-6c8c34a3fae6": {
"main": [
[
{
"node": "cd039e97-d4f4-4d67-bc1b-f972d79ba2d5",
"type": "main",
"index": 0
}
]
]
},
"d85bf204-a0b4-4f00-aa04-2704ea7787af": {
"main": [
[
{
"node": "4be3c39c-6be2-49cd-81bc-368a501eb9cd",
"type": "main",
"index": 0
},
{
"node": "b079226c-e475-438e-8fa8-46b82d129a21",
"type": "main",
"index": 0
}
]
]
},
"b079226c-e475-438e-8fa8-46b82d129a21": {
"main": [
[
{
"node": "4be3c39c-6be2-49cd-81bc-368a501eb9cd",
"type": "main",
"index": 1
}
]
]
},
"0f9a301c-3c4e-4b93-9acb-aaac7dc71767": {
"main": [
[
{
"node": "b3fd2c55-69bb-4deb-960b-4fce09c97a6a",
"type": "main",
"index": 0
}
]
]
},
"4be3c39c-6be2-49cd-81bc-368a501eb9cd": {
"main": [
[
{
"node": "70b22256-8e20-4eb5-99df-eef81da8ef12",
"type": "main",
"index": 0
}
]
]
}
}
}Comment utiliser ce workflow ?
Copiez le code de configuration JSON ci-dessus, créez un nouveau workflow dans votre instance n8n et sélectionnez "Importer depuis le JSON", collez la configuration et modifiez les paramètres d'authentification selon vos besoins.
Dans quelles scénarios ce workflow est-il adapté ?
Intermédiaire - Chatbot de support
Est-ce payant ?
Ce workflow est entièrement gratuit et peut être utilisé directement. Veuillez noter que les services tiers utilisés dans le workflow (comme l'API OpenAI) peuvent nécessiter un paiement de votre part.
Workflows recommandés
Milan Vasarhelyi - SmoothWork
@vasarmilanWe help you eliminate the busywork by building compact business tools tailored to your processes. 📞: https://smoothwork.ai/book-a-call ▶️: https://www.youtube.com/@vasarmilan
Partager ce workflow