Du får ett WhatsApp-meddelande med en ”snabb förfrågan”, sedan ett till, sedan ett röstmeddelande, sedan en skärmdump. Två timmar senare scrollar du igenom trådar och försöker minnas vad du lovade, till vem och till när. Saker faller mellan stolarna. Det är ett rörigt sätt att driva arbetet.
Det är här WhatsApp Sheets automation gör som mest nytta. Operations managers använder det för att sluta tappa detaljer i inflödet. Team med kundkontakt använder det för att hålla uppföljningar snygga. Och om du är företagare är det ett enkelt sätt att göra chatten till ett pålitligt system utan att behöva leva i kalkylblad.
Det här arbetsflödet fångar inkommande WhatsApp-meddelanden, använder OpenAI för att förstå vad du menade, loggar förfrågan i Google Sheets och skickar ett tydligt svar tillbaka i WhatsApp. Du får se exakt hur det fungerar, vad du behöver och de vanligaste fallgroparna innan du sätter det i drift.
Så fungerar den här automatiseringen
Hela n8n-flödet, från trigger till slutresultat:
n8n Workflow Template: WhatsApp + Google Sheets: fånga förfrågningar direkt
flowchart LR
subgraph sg0["WhatsApp Flow"]
direction LR
n31@{ icon: "mdi:swap-vertical", form: "rounded", label: "Edit Fields3", pos: "b", h: 48 }
n32["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/whatsapp.svg' width='40' height='40' /></div><br/>WhatsApp Business Cloud1"]
n33@{ icon: "mdi:wrench", form: "rounded", label: "Productivity Supervisor", pos: "b", h: 48 }
n34@{ icon: "mdi:wrench", form: "rounded", label: "Communication Supervisor", pos: "b", h: 48 }
n35@{ icon: "mdi:wrench", form: "rounded", label: "Insights Supervisor", pos: "b", h: 48 }
n36@{ icon: "mdi:wrench", form: "rounded", label: "Publishing Supervisor", pos: "b", h: 48 }
n37@{ icon: "mdi:wrench", form: "rounded", label: "Lifestyle Supervisor", pos: "b", h: 48 }
n38["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/whatsapp.svg' width='40' height='40' /></div><br/>WhatsApp Trigger"]
n39@{ icon: "mdi:brain", form: "rounded", label: "OpenAI Chat Model", pos: "b", h: 48 }
n40@{ icon: "mdi:memory", form: "rounded", label: "Simple Memory", pos: "b", h: 48 }
n41@{ icon: "mdi:swap-vertical", form: "rounded", label: "Fields mapper2", pos: "b", h: 48 }
n42@{ icon: "mdi:robot", form: "rounded", label: "OpenAI5", pos: "b", h: 48 }
n43["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/httprequest.dark.svg' width='40' height='40' /></div><br/>HTTP Request9"]
n44@{ icon: "mdi:cog", form: "rounded", label: "Extract url from binary3", pos: "b", h: 48 }
n45@{ icon: "mdi:swap-vertical", form: "rounded", label: "Edit Fields2", pos: "b", h: 48 }
n46@{ icon: "mdi:robot", form: "rounded", label: "OpenAI9", pos: "b", h: 48 }
n47["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/httprequest.dark.svg' width='40' height='40' /></div><br/>Get audio binary "]
n48@{ icon: "mdi:robot", form: "rounded", label: "OpenAI8", pos: "b", h: 48 }
n49@{ icon: "mdi:robot", form: "rounded", label: "OpenAI7", pos: "b", h: 48 }
n50@{ icon: "mdi:swap-vertical", form: "rounded", label: "Fields mapper3", pos: "b", h: 48 }
n51@{ icon: "mdi:robot", form: "rounded", label: "OpenAI6", pos: "b", h: 48 }
n52["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/httprequest.dark.svg' width='40' height='40' /></div><br/>HTTP Request10"]
n53["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/httprequest.dark.svg' width='40' height='40' /></div><br/>HTTP Request8"]
n54@{ icon: "mdi:cog", form: "rounded", label: "Extract url from binary5", pos: "b", h: 48 }
n55@{ icon: "mdi:cog", form: "rounded", label: "Extract url from binary4", pos: "b", h: 48 }
n56["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/httprequest.dark.svg' width='40' height='40' /></div><br/>HTTP Request7"]
n57["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/httprequest.dark.svg' width='40' height='40' /></div><br/>HTTP Request6"]
n58@{ icon: "mdi:swap-horizontal", form: "rounded", label: "Switch1", pos: "b", h: 48 }
n205@{ icon: "mdi:robot", form: "rounded", label: "Jarvis", pos: "b", h: 48 }
n205 --> n32
n42 --> n41
n51 --> n50
n49 --> n48
n48 --> n46
n46 --> n45
n58 --> n47
n58 --> n57
n58 --> n56
n58 --> n31
n45 --> n205
n31 --> n205
n57 --> n55
n56 --> n54
n53 --> n49
n43 --> n42
n40 -.-> n205
n41 --> n205
n50 --> n205
n52 --> n51
n38 --> n58
n47 --> n44
n39 -.-> n205
n35 -.-> n205
n37 -.-> n205
n36 -.-> n205
n33 -.-> n205
n34 -.-> n205
n44 --> n43
n55 --> n52
n54 --> n53
end
subgraph sg1["Calendar Agent Flow"]
direction LR
n16@{ icon: "mdi:wrench", form: "rounded", label: "Calendar Agent", pos: "b", h: 48 }
n17@{ icon: "mdi:wrench", form: "rounded", label: "Drive Agent", pos: "b", h: 48 }
n18@{ icon: "mdi:wrench", form: "rounded", label: "Docs Agent", pos: "b", h: 48 }
n19@{ icon: "mdi:wrench", form: "rounded", label: "Sheets Agent", pos: "b", h: 48 }
n20@{ icon: "mdi:wrench", form: "rounded", label: "ClickUp Agent", pos: "b", h: 48 }
n21@{ icon: "mdi:wrench", form: "rounded", label: "CRM Agent", pos: "b", h: 48 }
n22@{ icon: "mdi:wrench", form: "rounded", label: "Airtable Agent", pos: "b", h: 48 }
n23@{ icon: "mdi:robot", form: "rounded", label: "Productivity Supervisor1", pos: "b", h: 48 }
n24@{ icon: "mdi:memory", form: "rounded", label: "Window Buffer Memory13", pos: "b", h: 48 }
n62@{ icon: "mdi:brain", form: "rounded", label: "OpenAI Chat Model4", pos: "b", h: 48 }
n21 -.-> n23
n18 -.-> n23
n17 -.-> n23
n19 -.-> n23
n20 -.-> n23
n22 -.-> n23
n16 -.-> n23
n62 -.-> n23
n24 -.-> n23
end
subgraph sg2["Get Youtube Trends D Flow"]
direction LR
n120@{ icon: "mdi:wrench", form: "rounded", label: "Get Youtube Trends Data", pos: "b", h: 48 }
n121@{ icon: "mdi:wrench", form: "rounded", label: "Get Google Trends Data", pos: "b", h: 48 }
n122@{ icon: "mdi:wrench", form: "rounded", label: "Get Keyword Search Volume", pos: "b", h: 48 }
n123@{ icon: "mdi:wrench", form: "rounded", label: "Content Analysis", pos: "b", h: 48 }
n124@{ icon: "mdi:wrench", form: "rounded", label: "Get Google My Business Data", pos: "b", h: 48 }
n125@{ icon: "mdi:wrench", form: "rounded", label: "Calculator", pos: "b", h: 48 }
n126@{ icon: "mdi:memory", form: "rounded", label: "Window Buffer Memory2", pos: "b", h: 48 }
n127@{ icon: "mdi:robot", form: "rounded", label: "SEO Agent1", pos: "b", h: 48 }
n143@{ icon: "mdi:brain", form: "rounded", label: "OpenAI Chat Model15", pos: "b", h: 48 }
n125 -.-> n127
n123 -.-> n127
n143 -.-> n127
n126 -.-> n127
n121 -.-> n127
n120 -.-> n127
n122 -.-> n127
n124 -.-> n127
end
subgraph sg3["Window Buffer Memory Flow"]
direction LR
n156@{ icon: "mdi:message-outline", form: "rounded", label: "Get Users Status", pos: "b", h: 48 }
n157@{ icon: "mdi:message-outline", form: "rounded", label: "Send Message to User", pos: "b", h: 48 }
n158@{ icon: "mdi:message-outline", form: "rounded", label: "Send Message to Channel", pos: "b", h: 48 }
n159@{ icon: "mdi:message-outline", form: "rounded", label: "Get Slack Channels", pos: "b", h: 48 }
n160@{ icon: "mdi:message-outline", form: "rounded", label: "Check Recent Channel Messages", pos: "b", h: 48 }
n161@{ icon: "mdi:memory", form: "rounded", label: "Window Buffer Memory24", pos: "b", h: 48 }
n162@{ icon: "mdi:robot", form: "rounded", label: "Slack Agent1", pos: "b", h: 48 }
n163@{ icon: "mdi:message-outline", form: "rounded", label: "Get All Users1", pos: "b", h: 48 }
n166@{ icon: "mdi:brain", form: "rounded", label: "OpenAI Chat Model19", pos: "b", h: 48 }
n163 -.-> n162
n156 -.-> n162
n159 -.-> n162
n166 -.-> n162
n157 -.-> n162
n161 -.-> n162
n158 -.-> n162
n160 -.-> n162
end
subgraph sg4["Google Analytics Age Flow"]
direction LR
n133@{ icon: "mdi:robot", form: "rounded", label: "Google Analytics Agent", pos: "b", h: 48 }
n134@{ icon: "mdi:cog", form: "rounded", label: "Country Report", pos: "b", h: 48 }
n135@{ icon: "mdi:cog", form: "rounded", label: "User Session Page View Report", pos: "b", h: 48 }
n136@{ icon: "mdi:cog", form: "rounded", label: "Browser Report", pos: "b", h: 48 }
n137@{ icon: "mdi:cog", form: "rounded", label: "Top Pages", pos: "b", h: 48 }
n138@{ icon: "mdi:cog", form: "rounded", label: "Source Medium Breakdown", pos: "b", h: 48 }
n139@{ icon: "mdi:memory", form: "rounded", label: "Window Buffer Memory4", pos: "b", h: 48 }
n140@{ icon: "mdi:wrench", form: "rounded", label: "Calculator2", pos: "b", h: 48 }
n142@{ icon: "mdi:brain", form: "rounded", label: "OpenAI Chat Model14", pos: "b", h: 48 }
n137 -.-> n133
n140 -.-> n133
n136 -.-> n133
n134 -.-> n133
n142 -.-> n133
n139 -.-> n133
n138 -.-> n133
n135 -.-> n133
end
subgraph sg5["Window Buffer Memory Flow"]
direction LR
n71@{ icon: "mdi:cog", form: "rounded", label: "Create Basic Text File", pos: "b", h: 48 }
n72@{ icon: "mdi:cog", form: "rounded", label: "Create Folder", pos: "b", h: 48 }
n73@{ icon: "mdi:cog", form: "rounded", label: "Update File", pos: "b", h: 48 }
n74@{ icon: "mdi:cog", form: "rounded", label: "Move a File", pos: "b", h: 48 }
n75@{ icon: "mdi:cog", form: "rounded", label: "Search for Files Folders", pos: "b", h: 48 }
n76@{ icon: "mdi:memory", form: "rounded", label: "Window Buffer Memory15", pos: "b", h: 48 }
n77@{ icon: "mdi:robot", form: "rounded", label: "Drive Agent1", pos: "b", h: 48 }
n112@{ icon: "mdi:brain", form: "rounded", label: "OpenAI Chat Model11", pos: "b", h: 48 }
n74 -.-> n77
n73 -.-> n77
n72 -.-> n77
n112 -.-> n77
n71 -.-> n77
n76 -.-> n77
n75 -.-> n77
end
subgraph sg6["Window Buffer Memory Flow"]
direction LR
n64@{ icon: "mdi:location-exit", form: "rounded", label: "View Calendar Events", pos: "b", h: 48 }
n65@{ icon: "mdi:location-exit", form: "rounded", label: "Create Event", pos: "b", h: 48 }
n66@{ icon: "mdi:location-exit", form: "rounded", label: "Check Availability", pos: "b", h: 48 }
n67@{ icon: "mdi:location-exit", form: "rounded", label: "Delete Event", pos: "b", h: 48 }
n68@{ icon: "mdi:location-exit", form: "rounded", label: "Update Event", pos: "b", h: 48 }
n69@{ icon: "mdi:memory", form: "rounded", label: "Window Buffer Memory14", pos: "b", h: 48 }
n70@{ icon: "mdi:robot", form: "rounded", label: "Calendar Agent1", pos: "b", h: 48 }
n106@{ icon: "mdi:brain", form: "rounded", label: "OpenAI Chat Model6", pos: "b", h: 48 }
n65 -.-> n70
n67 -.-> n70
n68 -.-> n70
n66 -.-> n70
n106 -.-> n70
n64 -.-> n70
n69 -.-> n70
end
subgraph sg7["Window Buffer Memory Flow"]
direction LR
n191@{ icon: "mdi:cog", form: "rounded", label: "Create Task", pos: "b", h: 48 }
n192@{ icon: "mdi:cog", form: "rounded", label: "Close Task", pos: "b", h: 48 }
n193@{ icon: "mdi:cog", form: "rounded", label: "Update Task", pos: "b", h: 48 }
n194@{ icon: "mdi:cog", form: "rounded", label: "Delete Task", pos: "b", h: 48 }
n195@{ icon: "mdi:cog", form: "rounded", label: "Get All Tasks", pos: "b", h: 48 }
n196@{ icon: "mdi:memory", form: "rounded", label: "Window Buffer Memory7", pos: "b", h: 48 }
n197@{ icon: "mdi:robot", form: "rounded", label: "Tasks Agent1", pos: "b", h: 48 }
n202@{ icon: "mdi:brain", form: "rounded", label: "OpenAI Chat Model23", pos: "b", h: 48 }
n192 -.-> n197
n191 -.-> n197
n194 -.-> n197
n193 -.-> n197
n195 -.-> n197
n202 -.-> n197
n196 -.-> n197
end
subgraph sg8["Social Media Agent Flow"]
direction LR
n5@{ icon: "mdi:wrench", form: "rounded", label: "Social Media Agent", pos: "b", h: 48 }
n6@{ icon: "mdi:wrench", form: "rounded", label: "Image Agent", pos: "b", h: 48 }
n7@{ icon: "mdi:wrench", form: "rounded", label: "Wordpress Agent", pos: "b", h: 48 }
n8@{ icon: "mdi:memory", form: "rounded", label: "Window Buffer Memory9", pos: "b", h: 48 }
n9@{ icon: "mdi:robot", form: "rounded", label: "Publishing Supervisor1", pos: "b", h: 48 }
n10@{ icon: "mdi:wrench", form: "rounded", label: "Fetch Markdown via Jina AI1", pos: "b", h: 48 }
n60@{ icon: "mdi:brain", form: "rounded", label: "OpenAI Chat Model2", pos: "b", h: 48 }
n6 -.-> n9
n7 -.-> n9
n60 -.-> n9
n5 -.-> n9
n8 -.-> n9
n10 -.-> n9
end
subgraph sg9["SEO Agent Flow"]
direction LR
n25@{ icon: "mdi:wrench", form: "rounded", label: "SEO Agent", pos: "b", h: 48 }
n26@{ icon: "mdi:wrench", form: "rounded", label: "Financial Markets Agent", pos: "b", h: 48 }
n27@{ icon: "mdi:wrench", form: "rounded", label: "Google Analytics", pos: "b", h: 48 }
n28@{ icon: "mdi:wrench", form: "rounded", label: "News and Search Agent", pos: "b", h: 48 }
n29@{ icon: "mdi:memory", form: "rounded", label: "Window Buffer Memory1", pos: "b", h: 48 }
n30@{ icon: "mdi:robot", form: "rounded", label: "Insights Supervisor1", pos: "b", h: 48 }
n63@{ icon: "mdi:brain", form: "rounded", label: "OpenAI Chat Model5", pos: "b", h: 48 }
n25 -.-> n30
n27 -.-> n30
n63 -.-> n30
n28 -.-> n30
n29 -.-> n30
n26 -.-> n30
end
subgraph sg10["Clickup Agent Flow"]
direction LR
n84@{ icon: "mdi:cog", form: "rounded", label: "Create Clickup Task", pos: "b", h: 48 }
n85@{ icon: "mdi:robot", form: "rounded", label: "Clickup Agent", pos: "b", h: 48 }
n86@{ icon: "mdi:memory", form: "rounded", label: "Window Buffer Memory17", pos: "b", h: 48 }
n87@{ icon: "mdi:cog", form: "rounded", label: "Get All Tasks1", pos: "b", h: 48 }
n88@{ icon: "mdi:cog", form: "rounded", label: "Update Task1", pos: "b", h: 48 }
n89@{ icon: "mdi:cog", form: "rounded", label: "Delete Task1", pos: "b", h: 48 }
n107@{ icon: "mdi:brain", form: "rounded", label: "OpenAI Chat Model7", pos: "b", h: 48 }
n89 -.-> n85
n88 -.-> n85
n87 -.-> n85
n107 -.-> n85
n84 -.-> n85
n86 -.-> n85
end
subgraph sg11["Create Google Doc Flow"]
direction LR
n78@{ icon: "mdi:cog", form: "rounded", label: "Create Document", pos: "b", h: 48 }
n79@{ icon: "mdi:cog", form: "rounded", label: "Update Doc", pos: "b", h: 48 }
n80@{ icon: "mdi:cog", form: "rounded", label: "Get Doc", pos: "b", h: 48 }
n81@{ icon: "mdi:wrench", form: "rounded", label: "Create Google Doc", pos: "b", h: 48 }
n82@{ icon: "mdi:memory", form: "rounded", label: "Window Buffer Memory16", pos: "b", h: 48 }
n83@{ icon: "mdi:robot", form: "rounded", label: "Docs Agent1", pos: "b", h: 48 }
n111@{ icon: "mdi:brain", form: "rounded", label: "OpenAI Chat Model10", pos: "b", h: 48 }
n80 -.-> n83
n79 -.-> n83
n78 -.-> n83
n81 -.-> n83
n111 -.-> n83
n82 -.-> n83
end
subgraph sg12["Window Buffer Memory Flow"]
direction LR
n90@{ icon: "mdi:database", form: "rounded", label: "Create a Google Sheet", pos: "b", h: 48 }
n91@{ icon: "mdi:database", form: "rounded", label: "Retrieve Rows from Google Sh..", pos: "b", h: 48 }
n92@{ icon: "mdi:cog", form: "rounded", label: "Get a Google Sheet", pos: "b", h: 48 }
n93@{ icon: "mdi:database", form: "rounded", label: "Add to Household Expenses Sh..", pos: "b", h: 48 }
n94@{ icon: "mdi:memory", form: "rounded", label: "Window Buffer Memory18", pos: "b", h: 48 }
n108@{ icon: "mdi:robot", form: "rounded", label: "Sheets Agent2", pos: "b", h: 48 }
n110@{ icon: "mdi:brain", form: "rounded", label: "OpenAI Chat Model9", pos: "b", h: 48 }
n92 -.-> n108
n110 -.-> n108
n90 -.-> n108
n94 -.-> n108
n93 -.-> n108
n91 -.-> n108
end
subgraph sg13["Window Buffer Memory Flow"]
direction LR
n95@{ icon: "mdi:cog", form: "rounded", label: "Create Update Lead", pos: "b", h: 48 }
n96@{ icon: "mdi:cog", form: "rounded", label: "Get All Leads", pos: "b", h: 48 }
n97@{ icon: "mdi:cog", form: "rounded", label: "Delete a Lead", pos: "b", h: 48 }
n98@{ icon: "mdi:cog", form: "rounded", label: "Create Update Quote", pos: "b", h: 48 }
n99@{ icon: "mdi:memory", form: "rounded", label: "Window Buffer Memory19", pos: "b", h: 48 }
n100@{ icon: "mdi:robot", form: "rounded", label: "CRM Agent1", pos: "b", h: 48 }
n109@{ icon: "mdi:brain", form: "rounded", label: "OpenAI Chat Model8", pos: "b", h: 48 }
n97 -.-> n100
n96 -.-> n100
n95 -.-> n100
n109 -.-> n100
n98 -.-> n100
n99 -.-> n100
end
subgraph sg14["Window Buffer Memory Flow"]
direction LR
n114@{ icon: "mdi:memory", form: "rounded", label: "Window Buffer Memory", pos: "b", h: 48 }
n115@{ icon: "mdi:wrench", form: "rounded", label: "Fetch Markdown via Jina AI", pos: "b", h: 48 }
n116@{ icon: "mdi:wrench", form: "rounded", label: "Google Search via DataForSEO", pos: "b", h: 48 }
n117@{ icon: "mdi:wrench", form: "rounded", label: "Google News via DataForSEO", pos: "b", h: 48 }
n118@{ icon: "mdi:robot", form: "rounded", label: "News & Search Agent", pos: "b", h: 48 }
n119@{ icon: "mdi:wrench", form: "rounded", label: "Deep Research via Jina AI", pos: "b", h: 48 }
n141@{ icon: "mdi:brain", form: "rounded", label: "OpenAI Chat Model13", pos: "b", h: 48 }
n141 -.-> n118
n114 -.-> n118
n119 -.-> n118
n115 -.-> n118
n117 -.-> n118
n116 -.-> n118
end
subgraph sg15["Window Buffer Memory Flow"]
direction LR
n145@{ icon: "mdi:message-outline", form: "rounded", label: "Search Emails", pos: "b", h: 48 }
n146@{ icon: "mdi:message-outline", form: "rounded", label: "Draft Email", pos: "b", h: 48 }
n147@{ icon: "mdi:message-outline", form: "rounded", label: "Get All Labels", pos: "b", h: 48 }
n148@{ icon: "mdi:message-outline", form: "rounded", label: "Add Label to Email", pos: "b", h: 48 }
n149@{ icon: "mdi:memory", form: "rounded", label: "Window Buffer Memory22", pos: "b", h: 48 }
n150@{ icon: "mdi:robot", form: "rounded", label: "Email Agent1", pos: "b", h: 48 }
n165@{ icon: "mdi:brain", form: "rounded", label: "OpenAI Chat Model18", pos: "b", h: 48 }
n146 -.-> n150
n145 -.-> n150
n147 -.-> n150
n148 -.-> n150
n165 -.-> n150
n149 -.-> n150
end
subgraph sg16["Request Posting to F Flow"]
direction LR
n167@{ icon: "mdi:wrench", form: "rounded", label: "Request Posting to Facebook", pos: "b", h: 48 }
n168@{ icon: "mdi:wrench", form: "rounded", label: "Request Posting to X Twitter", pos: "b", h: 48 }
n169@{ icon: "mdi:wrench", form: "rounded", label: "Request Posting to Instagram", pos: "b", h: 48 }
n170@{ icon: "mdi:wrench", form: "rounded", label: "Request Posting to LinkedIn", pos: "b", h: 48 }
n171@{ icon: "mdi:memory", form: "rounded", label: "Window Buffer Memory10", pos: "b", h: 48 }
n172@{ icon: "mdi:robot", form: "rounded", label: "Social Media Agent1", pos: "b", h: 48 }
n184@{ icon: "mdi:brain", form: "rounded", label: "OpenAI Chat Model22", pos: "b", h: 48 }
n184 -.-> n172
n171 -.-> n172
n167 -.-> n172
n170 -.-> n172
n169 -.-> n172
n168 -.-> n172
end
subgraph sg17["Window Buffer Memory Flow"]
direction LR
n185@{ icon: "mdi:database", form: "rounded", label: "Get My Weekly Meal Planner", pos: "b", h: 48 }
n186@{ icon: "mdi:database", form: "rounded", label: "Get My Meals", pos: "b", h: 48 }
n187@{ icon: "mdi:database", form: "rounded", label: "Get Habits", pos: "b", h: 48 }
n188@{ icon: "mdi:database", form: "rounded", label: "Create Meal", pos: "b", h: 48 }
n189@{ icon: "mdi:memory", form: "rounded", label: "Window Buffer Memory6", pos: "b", h: 48 }
n190@{ icon: "mdi:robot", form: "rounded", label: "Notion Agent1", pos: "b", h: 48 }
n204@{ icon: "mdi:brain", form: "rounded", label: "OpenAI Chat Model25", pos: "b", h: 48 }
n187 -.-> n190
n188 -.-> n190
n186 -.-> n190
n204 -.-> n190
n189 -.-> n190
n185 -.-> n190
end
subgraph sg18["Notion Agent Flow"]
direction LR
n0@{ icon: "mdi:wrench", form: "rounded", label: "Notion Agent", pos: "b", h: 48 }
n1@{ icon: "mdi:wrench", form: "rounded", label: "Tasks Agent", pos: "b", h: 48 }
n2@{ icon: "mdi:wrench", form: "rounded", label: "Travel Agent", pos: "b", h: 48 }
n3@{ icon: "mdi:memory", form: "rounded", label: "Window Buffer Memory5", pos: "b", h: 48 }
n4@{ icon: "mdi:robot", form: "rounded", label: "Lifestyle Supervisor1", pos: "b", h: 48 }
n59@{ icon: "mdi:brain", form: "rounded", label: "OpenAI Chat Model1", pos: "b", h: 48 }
n1 -.-> n4
n0 -.-> n4
n2 -.-> n4
n59 -.-> n4
n3 -.-> n4
end
subgraph sg19["Email Agent Flow"]
direction LR
n11@{ icon: "mdi:wrench", form: "rounded", label: "Email Agent", pos: "b", h: 48 }
n12@{ icon: "mdi:wrench", form: "rounded", label: "Slack Agent", pos: "b", h: 48 }
n13@{ icon: "mdi:wrench", form: "rounded", label: "X Twitter Agent", pos: "b", h: 48 }
n14@{ icon: "mdi:memory", form: "rounded", label: "Window Buffer Memory21", pos: "b", h: 48 }
n15@{ icon: "mdi:robot", form: "rounded", label: "Communication Supervisor1", pos: "b", h: 48 }
n61@{ icon: "mdi:brain", form: "rounded", label: "OpenAI Chat Model3", pos: "b", h: 48 }
n11 -.-> n15
n12 -.-> n15
n13 -.-> n15
n61 -.-> n15
n14 -.-> n15
end
subgraph sg20["Window Buffer Memory Flow"]
direction LR
n101@{ icon: "mdi:database", form: "rounded", label: "Airtable Get Bases", pos: "b", h: 48 }
n102@{ icon: "mdi:database", form: "rounded", label: "Airtable Get Base Schema", pos: "b", h: 48 }
n103@{ icon: "mdi:database", form: "rounded", label: "Search Airtable Base", pos: "b", h: 48 }
n104@{ icon: "mdi:memory", form: "rounded", label: "Window Buffer Memory20", pos: "b", h: 48 }
n105@{ icon: "mdi:robot", form: "rounded", label: "Airtable Agent1", pos: "b", h: 48 }
n113@{ icon: "mdi:brain", form: "rounded", label: "OpenAI Chat Model12", pos: "b", h: 48 }
n101 -.-> n105
n113 -.-> n105
n103 -.-> n105
n104 -.-> n105
n102 -.-> n105
end
subgraph sg21["Window Buffer Memory Flow"]
direction LR
n151@{ icon: "mdi:cog", form: "rounded", label: "Search X Twitter", pos: "b", h: 48 }
n152@{ icon: "mdi:cog", form: "rounded", label: "Send a DM to a Username", pos: "b", h: 48 }
n153@{ icon: "mdi:cog", form: "rounded", label: "Get a User by Username", pos: "b", h: 48 }
n154@{ icon: "mdi:memory", form: "rounded", label: "Window Buffer Memory23", pos: "b", h: 48 }
n155@{ icon: "mdi:robot", form: "rounded", label: "X Twitter Agent1", pos: "b", h: 48 }
n164@{ icon: "mdi:brain", form: "rounded", label: "OpenAI Chat Model17", pos: "b", h: 48 }
n151 -.-> n155
n164 -.-> n155
n153 -.-> n155
n154 -.-> n155
n152 -.-> n155
end
subgraph sg22["Check Markets Flow"]
direction LR
n128@{ icon: "mdi:wrench", form: "rounded", label: "Check Markets", pos: "b", h: 48 }
n129@{ icon: "mdi:wrench", form: "rounded", label: "Symbol Lookup", pos: "b", h: 48 }
n130@{ icon: "mdi:memory", form: "rounded", label: "Window Buffer Memory3", pos: "b", h: 48 }
n131@{ icon: "mdi:robot", form: "rounded", label: "Financial Markets Agent1", pos: "b", h: 48 }
n132@{ icon: "mdi:wrench", form: "rounded", label: "Calculator1", pos: "b", h: 48 }
n144@{ icon: "mdi:brain", form: "rounded", label: "OpenAI Chat Model16", pos: "b", h: 48 }
n132 -.-> n131
n128 -.-> n131
n129 -.-> n131
n144 -.-> n131
n130 -.-> n131
end
subgraph sg23["Window Buffer Memory Flow"]
direction LR
n177@{ icon: "mdi:cog", form: "rounded", label: "Create Wordpress Post", pos: "b", h: 48 }
n178@{ icon: "mdi:cog", form: "rounded", label: "Search Wordpress", pos: "b", h: 48 }
n179@{ icon: "mdi:cog", form: "rounded", label: "Get All Users", pos: "b", h: 48 }
n180@{ icon: "mdi:memory", form: "rounded", label: "Window Buffer Memory12", pos: "b", h: 48 }
n181@{ icon: "mdi:robot", form: "rounded", label: "Wordpress Agent1", pos: "b", h: 48 }
n182@{ icon: "mdi:brain", form: "rounded", label: "OpenAI Chat Model20", pos: "b", h: 48 }
n179 -.-> n181
n178 -.-> n181
n182 -.-> n181
n177 -.-> n181
n180 -.-> n181
end
subgraph sg24["Generate AI Image Flow"]
direction LR
n173@{ icon: "mdi:wrench", form: "rounded", label: "Generate AI Image", pos: "b", h: 48 }
n174@{ icon: "mdi:wrench", form: "rounded", label: "Fetch Stock Image", pos: "b", h: 48 }
n175@{ icon: "mdi:memory", form: "rounded", label: "Window Buffer Memory11", pos: "b", h: 48 }
n176@{ icon: "mdi:robot", form: "rounded", label: "Image Agent1", pos: "b", h: 48 }
n183@{ icon: "mdi:brain", form: "rounded", label: "OpenAI Chat Model21", pos: "b", h: 48 }
n174 -.-> n176
n173 -.-> n176
n183 -.-> n176
n175 -.-> n176
end
subgraph sg25["Check Flights Flow"]
direction LR
n198@{ icon: "mdi:wrench", form: "rounded", label: "Check Flights", pos: "b", h: 48 }
n199@{ icon: "mdi:wrench", form: "rounded", label: "Get Airport Code", pos: "b", h: 48 }
n200@{ icon: "mdi:memory", form: "rounded", label: "Window Buffer Memory8", pos: "b", h: 48 }
n201@{ icon: "mdi:robot", form: "rounded", label: "Travel Agent1", pos: "b", h: 48 }
n203@{ icon: "mdi:brain", form: "rounded", label: "OpenAI Chat Model24", pos: "b", h: 48 }
n198 -.-> n201
n199 -.-> n201
n203 -.-> n201
n200 -.-> n201
end
%% Styling
classDef trigger fill:#e8f5e9,stroke:#388e3c,stroke-width:2px
classDef ai fill:#e3f2fd,stroke:#1976d2,stroke-width:2px
classDef aiModel fill:#e8eaf6,stroke:#3f51b5,stroke-width:2px
classDef decision fill:#fff8e1,stroke:#f9a825,stroke-width:2px
classDef database fill:#fce4ec,stroke:#c2185b,stroke-width:2px
classDef api fill:#fff3e0,stroke:#e65100,stroke-width:2px
classDef code fill:#f3e5f5,stroke:#7b1fa2,stroke-width:2px
classDef disabled stroke-dasharray: 5 5,opacity: 0.5
class n38 trigger
class n42,n46,n48,n49,n51,n205,n23,n127,n162,n133,n77,n70,n197,n9,n30,n85,n83,n108,n100,n118,n150,n172,n190,n4,n15,n105,n155,n131,n181,n176,n201 ai
class n39,n62,n143,n166,n142,n112,n106,n202,n60,n63,n107,n111,n110,n109,n141,n165,n184,n204,n59,n61,n113,n164,n144,n182,n183,n203 aiModel
class n33,n34,n35,n36,n37,n16,n17,n18,n19,n20,n21,n22,n120,n121,n122,n123,n124,n125,n140,n5,n6,n7,n10,n25,n26,n27,n28,n81,n115,n116,n117,n119,n167,n168,n169,n170,n0,n1,n2,n11,n12,n13,n128,n129,n132,n173,n174,n198,n199 ai
class n40,n24,n126,n161,n139,n76,n69,n196,n8,n29,n86,n82,n94,n99,n114,n149,n171,n189,n3,n14,n104,n154,n130,n180,n175,n200 ai
class n58 decision
class n90,n91,n93,n185,n186,n187,n188,n101,n102,n103 database
class n43,n47,n52,n53,n56,n57 api
classDef customIcon fill:none,stroke:none
class n32,n38,n43,n47,n52,n53,n56,n57 customIcon
Problemet: WhatsApp-förfrågningar tappas bort
WhatsApp är snabbt, men inte organiserat. Förfrågningar kommer som text, röstmeddelanden, PDF:er och slumpmässiga foton, och din hjärna blir projektledaren. Du intalar dig att du ska ”ta det senare”, sedan blir senare till i morgon, och i morgon blir till en pinsam ursäkt. Även när du följer upp slösar du tid på att läsa om gammal kontext, gissa vad den egentliga förfrågan var och kopiera detaljer till ett ark eller ett verktyg som du faktiskt följer upp i. Arbetet är inte svårt. Växlingarna är det.
Det bygger snabbt på. Här är var det brukar haverera i verkligheten:
- Du kan inte pålitligt söka igenom en veckas trådar efter ”den där fakturabilden” när du har bråttom.
- Röstmeddelanden är smidiga för avsändaren, men blir ”jag lyssnar senare” för dig.
- Kopiera/klistra in till Google Sheets funkar tills du missar det en gång, och då slutar arket vara tillförlitligt.
- När flera personer hanterar meddelanden besvaras samma förfrågan två gånger, eller inte alls.
Lösningen: WhatsApp → Sheets-loggning + smarta svar
Det här arbetsflödet gör WhatsApp till en strukturerad intake-kanal. När ett nytt WhatsApp-meddelande kommer in identifierar n8n vilken typ av meddelande det är (text, ljud, bild, dokument) och hämtar innehållet i ett användbart format. Om det är ett röstmeddelande hämtas det och transkriberas. Om det är ett dokument eller en bild med information i sig extraherar flödet det som går och skickar sedan det strukturerade, korrekt formaterade innehållet till OpenAI. OpenAI klassificerar förfrågan, plockar ut nyckelfälten du bryr dig om och producerar ett tydligt bekräftelsemeddelande. Till sist skriver flödet en korrekt formaterad rad i Google Sheets och svarar avsändaren i WhatsApp så att de vet att du har tagit emot det.
Arbetsflödet startar med en WhatsApp-trigger. Det routar meddelandet genom rätt bearbetningsväg med switch/if-logik och använder sedan en AI-agent med minne för att tolka förfrågan konsekvent över tid. Därifrån blir Google Sheets systemet som gäller, och WhatsApp förblir den vänliga ingången.
Det du får: automatisering vs. resultat
| Det här arbetsflödet automatiserar | Resultat du får |
|---|---|
|
|
Exempel: så här ser det ut
Säg att du får 20 WhatsApp-förfrågningar per dag och att varje tar cirka 5 minuter att läsa igenom igen, förtydliga och logga i ett ark. Det är ungefär 100 minuter admin per dag, och det garanterar ändå inte att du fångade allt. Med det här arbetsflödet sker loggningen automatiskt efter att meddelandet kommer in, och din enda manuella tid är att skumma arket efter undantag (kanske 10 minuter). Du får tillbaka runt 90 minuter om dagen, utan att förlita dig på minnet.
Det här behöver du
- n8n-instans (prova n8n Cloud gratis)
- Självhostningsalternativ om du föredrar det (Hostinger fungerar bra)
- Åtkomst till WhatsApp Cloud API för att ta emot och skicka meddelanden.
- Google Sheets för att lagra förfrågningar som rader.
- OpenAI API-nyckel (hämta den från din OpenAI API-dashboard).
Svårighetsgrad: Medel. Du kopplar behörigheter, mappar några fält och testar varje meddelandetyp (text, röst, bilagor).
Vill du inte sätta upp detta själv? Prata med en automationsspecialist (gratis 15-minuters konsultation).
Så fungerar det
Ett WhatsApp-meddelande kommer in. Flödet startar från en WhatsApp-trigger och identifierar direkt vad som kom in (vanlig text, röstmeddelande, bild eller dokument).
Innehållet normaliseras till text. Ljud hämtas via HTTP och transkriberas, medan fillänkar extraheras och laddas ner så att flödet kan läsa vad som finns i dem. Det här är den osexiga delen, men det är det som gör resten pålitligt.
En AI-agent tolkar förfrågan. OpenAI (via en n8n AI Agent och en chattmodell) tar fram avsikt, extraherar användbara fält och använder minne för att vara konsekvent med tidigare meddelanden, vilket hjälper när någon följer upp med ”samma som förra gången”.
Google Sheets blir uppföljningen och WhatsApp får bekräftelsen. Flödet skriver en rad till Sheets (tänk: tidsstämpel, avsändare, sammanfattning, kategori, status) och skickar ett tydligt svar tillbaka via WhatsApp Cloud-noden så att avsändaren vet vad som händer härnäst.
Du kan enkelt ändra vilka fält som fångas i Google Sheets så att det matchar din intake-process (säljleads, supportärenden, driftuppgifter). Se hela implementationsguiden nedan för anpassningsalternativ.
Steg-för-steg-guide för implementation
Steg 1: Konfigurera WhatsApp-triggern
Sätt upp inkommande WhatsApp-webhook och den initiala routningslogiken som avgör hur inkommande meddelanden bearbetas.
- Lägg till och öppna WhatsApp Incoming och slutför webhook-konfigurationen för er WhatsApp Cloud-endpoint.
- Koppla WhatsApp Incoming till Route Switch enligt arbetsflödet.
- I Route Switch definierar ni regler för att routa meddelanden till Fetch Audio Binary, HTTP Call F, HTTP Call G eller Adjust Fields C baserat på era meddelandetyper.
- Bekräfta att exekveringsvägen WhatsApp Incoming → Route Switch är kopplad exakt som i arbetsflödet.
Steg 2: Konfigurera WhatsApp-svarskanalen
Koppla utdata tillbaka till WhatsApp så att orkestreringen kan skicka svar till den ursprungliga användaren.
- Öppna Central Orchestrator och bekräfta att den skickar utdata till WhatsApp Cloud Node.
- Öppna WhatsApp Cloud Node och konfigurera WhatsApp-sändkanalen som matchar er inkommande webhook-setup.
Steg 3: Bygg pipelinen för meddelandeextraktion och OpenAI-åtgärder
Det här arbetsflödet använder flera HTTP-, extraktions- och OpenAI-åtgärdskedjor för att normalisera meddelandeinnehåll innan det lämnas vidare till orkestratorn.
- Bekräfta att ljudgrenen kör Fetch Audio Binary → Extract URL C → HTTP Call I → OpenAI Action A → Field Mapper B → Central Orchestrator.
- Bekräfta att URL-extraktionsgrenen kör HTTP Call F → Extract URL D → HTTP Call J → OpenAI Action B → Field Mapper C → Central Orchestrator.
- Bekräfta att grenen för innehållsberikning kör HTTP Call G → Extract URL E → HTTP Call H → OpenAI Action C → OpenAI Action D → OpenAI Action E → Adjust Fields B → Central Orchestrator.
- Använd Field Mapper B, Field Mapper C, Adjust Fields B och Adjust Fields C för att normalisera payload-strukturen som Central Orchestrator förväntar sig.
Steg 4: Konfigurera Central Orchestrator och den centrala AI-stacken
Orkestreringslagret använder en central agent, ett delat minne och en uppsättning verktygsarbetsflöden för att delegera förfrågningar till domänansvariga managers.
- Öppna Central Orchestrator och verifiera att OpenAI Chat Core är ansluten som språkmodell.
- Bekräfta att Simple Buffer är kopplad till Central Orchestrator som minne.
- Säkerställ att verktygsanslutningarna från Central Orchestrator inkluderar Productivity Tool, Communication Tool, Insights Tool, Publishing Tool och Lifestyle Tool.
Steg 5: Sätt upp manager-agenter och deras assistenter
Arbetsflödet använder flera domänmanagers med egna språkmodeller och minnesbuffertar. Assistenter är anslutna som AI-verktyg till dessa managers.
- Verifiera att Lifestyle Manager använder OpenAI Chat L1 och Buffer Memory A, och exponerar Notion Assistant, Task Assistant och Travel Assistant som verktyg.
- Verifiera att Publishing Manager använder OpenAI Chat L2 och Buffer Memory B, och exponerar Social Media Assistant, Image Assistant, WordPress Assistant och Jina Markdown Fetcher.
- Verifiera att Comms Manager använder OpenAI Chat L3 och Buffer Memory C, och exponerar Email Assistant, Slack Assistant och Twitter Assistant.
- Verifiera att Productivity Manager använder OpenAI Chat L4 och Buffer Memory D, och exponerar Calendar Assistant, Drive Assistant, Docs Assistant, Sheets Assistant, ClickUp Assistant, CRM Assistant och Airtable Assistant.
- Verifiera att Insights Manager använder OpenAI Chat L5 och Buffer Memory E, och exponerar News Search Assistant, SEO Assistant, Markets Assistant och Analytics Assistant.
Steg 6: Anslut verktyg för produktivitet, CRM och databaser
Dessa manager-agenter aktiverar tjänsteverktyg för schemaläggning, dokument, uppgifter, CRM och databaser. Gruppera konfiguration av inloggningsuppgifter per tjänst för att undvika missade anslutningar.
- Konfigurera Calendar Manager med OpenAI Chat L6, Buffer Memory F och verktygen View Calendar Entries, Create Calendar Event, Check Calendar Availability, Modify Calendar Event och Remove Calendar Event.
- Konfigurera Drive Manager med OpenAI Chat L11, Buffer Memory G och verktygen Find Drive Items, Create Text File, Create Drive Folder, Update Drive File och Move Drive File.
- Konfigurera Docs Manager med OpenAI Chat L10, Buffer Memory H och verktygen Fetch Doc File, Create Doc File, Modify Doc File och Generate Google Doc.
- Konfigurera ClickUp Manager med OpenAI Chat L7, Buffer Memory I och verktygen Create ClickUp Task, Retrieve ClickUp Tasks, Update ClickUp Task och Remove ClickUp Task.
- Konfigurera Sheets Manager med OpenAI Chat L9, Buffer Memory J och verktygen Create Google Sheet, Retrieve Sheet Rows, Append Expense Row och Fetch Google Sheet.
- Konfigurera CRM Manager med OpenAI Chat L8, Buffer Memory K och verktygen Upsert CRM Lead, Retrieve CRM Leads, Remove CRM Lead och Upsert CRM Quote.
- Konfigurera Airtable Manager med OpenAI Chat L12, Buffer Memory L och verktygen Airtable List Bases, Airtable Base Schema och Search Airtable Base.
Steg 7: Konfigurera utdata för insights, kommunikation och publicering
Dessa managers hanterar research, analys, meddelanden, social distribution och publicering i CMS. Konfigurera API-inloggningsuppgifter och HTTP-endpoints för varje verktygsfamilj.
- Konfigurera News Search Manager med OpenAI Chat L13, Buffer Memory M och verktygen DataForSEO Web Search, DataForSEO News Search, Jina Markdown Pull och Jina Deep Research.
- Konfigurera SEO Manager med OpenAI Chat L15, Buffer Memory N och verktygen YouTube Trends Data, Google Trends Data, Keyword Volume Check, Content Analysis Tool, GMB Data Fetch och Quick Calculator.
- Konfigurera Markets Manager med OpenAI Chat L16, Buffer Memory O och verktygen Market Check, Symbol Lookup Tool och Calculator Finance.
- Konfigurera Analytics Manager med OpenAI Chat L14, Buffer Memory P och verktygen Session Pageview Report, Country Report Tool, Browser Report Tool, Top Pages Report, Source Medium Report och Calculator Analytics.
- Konfigurera Email Manager med OpenAI Chat L18, Buffer Memory Q och verktygen Search Gmail Messages, Draft Gmail Message, List Gmail Labels och Apply Gmail Label.
- Konfigurera Twitter Manager med OpenAI Chat L17, Buffer Memory R och verktygen Search Twitter Posts, Send Twitter DM och Fetch Twitter User.
- Konfigurera Slack Manager med OpenAI Chat L19, Buffer Memory S och verktygen List Slack Users, Slack User Status, Slack DM User, Slack Channel Post, List Slack Channels och Check Channel Messages.
- Konfigurera Social Media Manager med OpenAI Chat L22, Buffer Memory T och verktygen Post Request Facebook, Post Request Twitter, Post Request Instagram och Post Request LinkedIn.
- Konfigurera Image Manager med OpenAI Chat L21, Buffer Memory U och verktygen Retrieve Stock Image och AI Image Generator.
- Konfigurera WordPress Manager med OpenAI Chat L20, Buffer Memory V och verktygen Create WordPress Post, Search WordPress och List WordPress Users.
- Konfigurera Notion Manager med OpenAI Chat L25, Buffer Memory W och verktygen Fetch Weekly Meal Plan, Fetch Meal Entries, Fetch Habit Records och Create Meal Record.
- Konfigurera Tasks Manager med OpenAI Chat L23, Buffer Memory X och verktygen Create Task Item, Close Task Item, Modify Task Item, Remove Task Item och Retrieve Task List.
- Konfigurera Travel Manager med OpenAI Chat L24, Buffer Memory Y och verktygen Check Flight Options och Fetch Airport Code.
Steg 8: Testa och aktivera ert arbetsflöde
Validera hela flödet från WhatsApp-inmatning via orkestreringen och svarscykeln.
- Klicka på Execute Workflow och skicka ett testmeddelande till ert WhatsApp-nummer för att trigga WhatsApp Incoming.
- Verifiera att meddelandet passerar Route Switch och ner i en av grenarna som slutar vid Central Orchestrator.
- Bekräfta att Central Orchestrator producerar ett svar och att WhatsApp Cloud Node skickar tillbaka det till avsändaren.
- När allt är validerat, växla arbetsflödet till Active för användning i produktion.
Vanliga fallgropar
- WhatsApp Cloud API-uppgifter kan löpa ut eller vara kopplade till fel app. Om svar slutar skickas, kontrollera först dina Meta-utvecklarinställningar samt token/phone number ID som används i WhatsApp-noden.
- Om du använder Wait-noder eller extern hämtning/transkribering varierar processingtiderna. Öka väntetiden om noder längre fram fallerar på tomma svar.
- Standardprompter i OpenAI-noder är generiska. Lägg till dina kategorier, obligatoriska fält och er tonalitet tidigt, annars kommer du att redigera output för alltid.
Vanliga frågor
Cirka en timme om dina WhatsApp- och Google-uppgifter är redo.
Nej. Du kopplar mestadels konton och justerar några fält och prompter.
Ja. n8n har ett gratis självhostat alternativ och en gratis provperiod på n8n Cloud. Cloud-planer börjar på 20 USD/månad för högre volym. Du behöver också räkna in OpenAI API-användning (ofta några dollar i månaden vid måttlig volym).
Två alternativ: n8n Cloud (hanterat, enklast att komma igång) eller självhostning på en VPS. För självhostning är Hostinger VPS prisvärd och hanterar n8n bra. Självhostning ger dig obegränsade körningar men kräver grundläggande serverhantering.
Ja, och det bör du. Uppdatera AI-prompten i OpenAI-chatten/agent-delen så att den outputar exakt de fält du vill ha (till exempel: ”lead-namn, budget, brådska” eller ”ärendetyp, enhet, prioritet”). Justera sedan Google Sheets-mappningen så att fälten hamnar i separata kolumner. Vanliga anpassningar är att lägga till ett ”ansvarig”-fält, skriva en standardstatus som ”Ny” och skicka olika WhatsApp-bekräftelser beroende på kategori.
Oftast beror det på att Meta-token eller phone number ID inte matchar. Skapa om token (eller bekräfta att den inte har löpt ut) och säkerställ att WhatsApp Cloud-noden pekar på rätt avsändarnummer. Kontrollera också att din WhatsApp-app är i rätt läge (test vs. live) och att webhooken fortfarande är prenumererad. Om det bara fallerar under intensiva perioder kan du slå i rate limits eller timeouts i steget som laddar ner bilagor.
Med n8n Cloud Starter kan du vanligtvis hantera några tusen meddelande-triggade körningar per månad och sedan uppgradera om volymen växer. Om du självhostar finns ingen körningsgräns, så det handlar mest om serverstorlek och hur tung din AI-/bilagebearbetning är. I praktiken klarar team som hanterar 50–200 meddelanden per dag sig bra på en liten VPS om flödet hålls städat.
Ofta, ja, eftersom det här arbetsflödet inte bara är ”skicka meddelande till ark”. Det routar olika meddelandetyper, hämtar filer via HTTP och använder en AI-agent med minne, vilket är den typ av logik som blir krånglig (och dyr) i enklare automationsverktyg. n8n ger dig också mer kontroll över återförsök och förgrening när något fallerar halvvägs. Zapier eller Make kan fortfarande vara helt okej för en enkel, ren text-till-ark-loggning, om vi ska vara ärliga. Prata med en automationsspecialist om du vill ha en snabb rekommendation utifrån din exakta volym och dina meddelandetyper.
När detta väl är i drift förblir WhatsApp enkelt och din uppföljning förblir pålitlig. Arbetsflödet hanterar den repetitiva infångningen och bekräftelserna så att du kan lägga tiden på att faktiskt få jobbet gjort.
Kontakta oss
Hör av dig, så diskuterar vi hur just din verksamhet kan dra nytta av alla fantastiska möjligheter som AI skapar.