Leveransbevis faller oftast sönder i den röriga mitten. En chaufför sms:ar en bild, någon annan vidarebefordrar en platsnål, och sändningsnumret skrivs in “ungefär rätt” i ett kalkylark.
Logistikchefer får jaga detaljer för att knyta ihop säcken. Driftkoordinatorer känner av det när kunder ifrågasätter leveranser. Och om du kör en liten fordonsflotta är det du som fastnar med efterarbetet. Den här automatiseringen för Telegram-baserad POD-loggning löser det genom att samla sändningsnummer, GPS och foto i ett och samma guidade flöde.
Du sätter upp ett n8n-flöde som chattar med chaufförer i Telegram, sparar bevisen i Google Drive, loggar posten i Google Sheets och mejlar en korrekt formaterad bekräftelse till ditt team.
Så fungerar automatiseringen
Här är hela arbetsflödet du kommer att sätta upp:
n8n Workflow Template: Telegram + Google Sheets: kvittens loggas
flowchart LR
subgraph sg0["Telegram Flow"]
direction LR
n0["<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/telegram.svg' width='40' height='40' /></div><br/>Telegram Trigger"]
n1@{ icon: "mdi:swap-horizontal", form: "rounded", label: "Check State", pos: "b", h: 48 }
n2["<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/code.svg' width='40' height='40' /></div><br/>Clear State"]
n3["<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/telegram.svg' width='40' height='40' /></div><br/>addGPS"]
n4["<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/telegram.svg' width='40' height='40' /></div><br/>Welcome Message"]
n5@{ icon: "mdi:swap-horizontal", form: "rounded", label: "Command?", pos: "b", h: 48 }
n6@{ icon: "mdi:swap-vertical", form: "rounded", label: "Store GPS Location", pos: "b", h: 48 }
n7["<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/telegram.svg' width='40' height='40' /></div><br/>addGPS result"]
n8["<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/telegram.svg' width='40' height='40' /></div><br/>addShipmentNumber"]
n9@{ icon: "mdi:swap-vertical", form: "rounded", label: "Shipment Number", pos: "b", h: 48 }
n10["<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/telegram.svg' width='40' height='40' /></div><br/>addShipmentNumber result"]
n11["<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/code.svg' width='40' height='40' /></div><br/>Store Shipment"]
n12["<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/code.svg' width='40' height='40' /></div><br/>Store GPS"]
n13["<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/code.svg' width='40' height='40' /></div><br/>Load Workspace Data"]
n14["<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/code.svg' width='40' height='40' /></div><br/>waitingShipmentNumber"]
n15["<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/code.svg' width='40' height='40' /></div><br/>waitingGPS"]
n16["<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/telegram.svg' width='40' height='40' /></div><br/>Instructions"]
n17["<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/code.svg' width='40' height='40' /></div><br/>waitingPhoto"]
n18["<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/code.svg' width='40' height='40' /></div><br/>Waiting Conditions"]
n19["<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/telegram.svg' width='40' height='40' /></div><br/>addPhoto result"]
n20["<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/telegram.svg' width='40' height='40' /></div><br/>sendPhoto"]
n21@{ icon: "mdi:cog", form: "rounded", label: "Upload Picture", pos: "b", h: 48 }
n22["<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/code.svg' width='40' height='40' /></div><br/>Save Public Image Link"]
n23["<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/telegram.svg' width='40' height='40' /></div><br/>Confirmation Driver"]
n24@{ icon: "mdi:message-outline", form: "rounded", label: "Distribution Team Confirmation", pos: "b", h: 48 }
n25@{ icon: "mdi:swap-vertical", form: "rounded", label: "Extract FileName", pos: "b", h: 48 }
n26["<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/code.svg' width='40' height='40' /></div><br/>Store fileName"]
n27["<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/telegram.svg' width='40' height='40' /></div><br/>Get Picture"]
n28@{ icon: "mdi:cog", form: "rounded", label: "Share Picture", pos: "b", h: 48 }
n30@{ icon: "mdi:swap-horizontal", form: "rounded", label: "Switch Command", pos: "b", h: 48 }
n31@{ icon: "mdi:database", form: "rounded", label: "Load Delivery Information", pos: "b", h: 48 }
n5 --> n30
n5 --> n18
n15 --> n3
n1 --> n9
n1 --> n6
n1 --> n27
n1 --> n16
n27 --> n21
n27 --> n25
n17 --> n20
n28 --> n22
n30 --> n14
n30 --> n15
n30 --> n17
n30 --> n13
n30 --> n4
n21 --> n28
n9 --> n10
n9 --> n11
n25 --> n26
n0 --> n5
n6 --> n7
n6 --> n12
n18 --> n1
n13 --> n31
n13 --> n23
n13 --> n24
n14 --> n8
n22 --> n19
n24 --> n2
end
subgraph sg1["Flow 2"]
direction LR
n29["<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/code.svg' width='40' height='40' /></div><br/>Initiate Workflow Data"]
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 n0 trigger
class n1,n5,n30 decision
class n31 database
class n2,n11,n12,n13,n14,n15,n17,n18,n22,n26,n29 code
classDef customIcon fill:none,stroke:none
class n0,n2,n3,n4,n7,n8,n10,n11,n12,n13,n14,n15,n16,n17,n18,n19,n20,n22,n23,n26,n27,n29 customIcon
Varför det här spelar roll: leveransbevis som inte försvinner
Om du inte har ett fullskaligt TMS (Transportation Management System) blir leveransbevis snabbt ett lapptäcke av chattar, foton och “vi uppdaterar arket senare”. Senare blir till imorgon. Under tiden ber kunder om bevis, teamet letar febrilt i Telegram-trådar och chauffören är redan på nästa stopp utan tid att skicka om något. Det värsta är hur små misstag växer: ett fel sändningsnummer, en saknad tidsstämpel eller ett foto som inte kan kopplas till en plats, och plötsligt sitter du i en tvist du aldrig borde ha haft.
Det går fort att tappa kontrollen. Här brukar processen oftast fallera.
- Foton delas utan sammanhang, så någon måste gissa vilken leverans de hör till.
- GPS-nålar stannar i chattappar, vilket gör att de sällan hamnar i planering eller rapportering.
- Manuell inmatning i kalkylark bjuder in stavfel, särskilt när chaufförer skickar detaljer i all hast.
- Tvister drar ut på tiden eftersom “bevisen” ligger utspridda i inkorgar, diskar och telefoner.
Vad du bygger: Telegram-styrd POD-insamling till Sheets
Det här flödet gör Telegram till en guidad leveransbevis-assistent för chaufförer. Det startar när en chaufför skriver till din Telegram-bot. Därefter ber boten om sändningsnummer, begär chaufförens GPS-position och frågar efter ett foto på levererat gods. n8n håller koll på konversationens status så att flera chaufförer kan använda det samtidigt utan att störa varandra. När fotot kommer hämtar flödet bilden från Telegram, laddar upp den till Google Drive och skapar en delbar länk. Till sist lägger det till en enda korrekt formaterad rad i Google Sheets och mejlar ditt logistikteam en bekräftelse med sändningsnummer, tidsstämplar, koordinater och fotolänken.
Flödet börjar med ett Telegram-meddelande och skickar chauffören till rätt “nästa fråga”. Sedan sparar det varje svar när det kommer in, paketerar allt och loggar det i Google Sheets. Sista steget är en sammanfattning tillbaka till chauffören plus en Gmail-bekräftelse till ditt team.
Det här bygger du
| Vad som automatiseras | Vad du uppnår |
|---|---|
|
|
Förväntade resultat
Säg att du hanterar 20 leveranser per dag. Manuellt är det vanligt att lägga cirka 10 minuter per leverans på att kombinera ett foto, en plats och en sändningsreferens till något teamet faktiskt kan använda, så du bränner runt 3 timmar per dag bara på att “göra det läsbart”. Med det här flödet lägger chauffören ungefär 2 minuter på att svara på frågor i Telegram, och n8n sköter resten i bakgrunden (uppladdning, loggning och mejl). Det ger cirka 2 timmar tillbaka de flesta dagar, plus betydligt färre saknade detaljer.
Innan du börjar
- n8n-instans (prova n8n Cloud gratis)
- Self-hosting-alternativ om du föredrar det (Hostinger fungerar bra)
- Telegram för chattbaserad datainsamling från chaufförer.
- Google Sheets för att lagra leveransposter som rader.
- Google Drive för att spara och dela leveransfoton.
- Gmail för att mejla leveransbekräftelser till ditt team.
- Telegram bot-token (hämta den från BotFather i Telegram).
- Google API-inloggningsuppgifter (aktivera Drive API, Sheets API och Gmail API i Google Cloud).
Kunskapsnivå: Mellan. Du klistrar in API-inloggningsuppgifter, mappar några fält och testar Telegram-konversationsflödet.
Vill du att någon bygger detta åt dig? Prata med en automationsexpert (gratis 15-minuters konsultation).
Steg för steg
En chaufför skriver till din Telegram-bot. Telegram-triggern lyssnar efter nya meddelanden, och flödet identifierar kommandon och avgör vad chauffören vill göra (starta, hjälp, fortsätta osv.).
Botten guidar chauffören genom obligatoriska fält. n8n håller en enkel “väntestatus” i bakgrunden så att nästa meddelande tolkas korrekt. Om chauffören inte har delat sändningsnummer än frågar den efter det. Om GPS saknas begär den en platsnål. Samma upplägg gäller för leveransfotot.
Bevis sparas och paketeras. När chauffören laddar upp ett foto hämtar flödet det från Telegram, laddar upp det till Google Drive och skapar en länk som teamet kan öppna utan att leta i chatthistoriken.
Allt loggas och skickas till rätt personer. En enda rad läggs till i Google Sheets (sändningsnummer, tider, GPS-latitud/longitud, fotolänk, leveranstid), och sedan mejlar Gmail en bekräftelse. Chauffören får också ett snabbt sammanfattande meddelande, så hen vet att det fungerade.
Du kan enkelt justera kolumnerna i arket och mejlformatet utifrån din SOP. Se hela implementationsguiden nedan för anpassningsalternativ.
Steg-för-steg-guide för implementation
Steg 1: konfigurera Telegram-triggern
Det här arbetsflödet startar när ett Telegram-meddelande tas emot och routar meddelandet in i flödet för kommandohantering.
- Lägg till eller öppna Telegram Intake Trigger.
- Ställ in Updates på
message. - Behörighet krävs: anslut era Telegram API-inloggningsuppgifter.
- Bekräfta att Telegram Intake Trigger skickar utdata till Detect Command.
⚠️ Vanlig fallgrop: Om Telegram-inloggningsuppgifter saknas kommer inga av Telegram-noderna (inklusive Request Shipment Number, Request GPS Location och Request Shipment Photo) att skicka meddelanden. Säkerställ att bot-tokenen är ansluten en gång och används i alla Telegram-noder.
Steg 2: koppla Telegram-åtgärder för meddelanden
Arbetsflödet använder flera Telegram-svarsnoder för att guida förare genom leveransregistreringen.
- Öppna Request Shipment Number och ställ in Text till
📦 Please enter the delivery number for this shipment.. - Ställ in Chat ID till
{{ $('Telegram Intake Trigger').item.json.message.chat.id }}och Reply Markup tillforceReply. - I Request GPS Location, ställ in Text till
=📍 Please share your GPS location by clicking the 📎 attachment button.och Chat ID till{{ $json.message.chat.id }}. - I Request Shipment Photo, ställ in Text till
=Please take a **photo of the shipment** and upload it here by clicking the 📎 attachment button.och Chat ID till{{ $json.message.chat.id }}. - I Send Welcome Note och Send Help Instructions, bekräfta långmeddelandet och att Chat ID är satt till
{{ $json.message.chat.id }}eller{{ $('Telegram Intake Trigger').first().json.message.chat.id }}. - Behörighet krävs: anslut era Telegram API-inloggningsuppgifter till alla Telegram-noder (10+ noder hanterar meddelanden och filhämtning).
Tips: använd samma Telegram-behörighet för alla meddelandenoder för att undvika inkonsekvent bot-beteende.
Steg 3: konfigurera kommandoroutning och spårning av status
Kommandon upptäcks, routas och status lagras i arbetsflödets statiska data för att avgöra vilket steg föraren befinner sig i.
- I Detect Command, säkerställ att villkoret använder
{{ $json.message.entities[0] }}för att upptäcka Telegrams kommando-entiteter. - Konfigurera Route Command med fyra regler som matchar
{{ $json.message.text }}mot/addShipment,/addGPS,/sendPhotooch/sendConfirmation. - Verifiera att Route Command skickar utdata till Await Shipment Number, Await GPS Data, Await Photo Upload och Load Stored Data.
- I Check Waiting State, behåll JavaScript-koden som läser
$getWorkflowStaticData('global')och returnerar{ state }. - I Evaluate Status, behåll reglerna som kontrollerar
{{ $json.state }}förwaitingShipmentNumber,waitingGPSochwaitingPhoto. - Notera exekveringsflödet: Detect Command skickar utdata till både Route Command och Check Waiting State parallellt.
⚠️ Vanlig fallgrop: Om statusflaggor inte sparas kommer Evaluate Status att routa användaren till fel steg. Ändra inte nycklarna för statiska data i Check Waiting State.
Steg 4: konfigurera registrering av leveransnummer och GPS
Dessa noder fångar leveransdetaljer och sparar dem för senare rapportering.
- I Await Shipment Number, behåll JavaScript-koden som sätter
waitingShipmentNumber: trueför aktuellt chatt-ID. - I Capture Shipment Number, ställ in tilldelningsvärdet till
{{ $('Detect Command').item.json.message.text }}. - Capture Shipment Number skickar utdata till både Confirm Shipment Number och Persist Shipment Info parallellt.
- I Confirm Shipment Number, bekräfta att Text använder
{{ $json.shipmentNumber }}och att Chat ID är{{ $('Telegram Intake Trigger').first().json.message.chat.id }}. - I Persist Shipment Info, behåll JavaScript-koden som lagrar
workflowData.shipmentNumber. - I Map GPS Coordinates, ställ in latitude till
{{ $('Telegram Intake Trigger').item.json.message.location.latitude }}och longitude till{{ $('Telegram Intake Trigger').item.json.message.location.longitude }}. - Map GPS Coordinates skickar utdata till både Confirm GPS Receipt och Persist GPS Info parallellt.
Steg 5: konfigurera fotouppladdning och lagring i Google Drive
Fotot hämtas från Telegram, lagras i Google Drive och görs publikt tillgängligt.
- I Await Photo Upload, behåll JavaScript-koden som sätter
waitingPhoto: trueför chatt-ID:t. - I Fetch Telegram Photo, ställ in File ID till
{{ $('Telegram Intake Trigger').item.json.message.photo[3].file_id }}och Resource tillfile. - Fetch Telegram Photo skickar utdata till både Upload Image to Drive och Extract File Name parallellt.
- I Upload Image to Drive, ställ in Drive till
My Driveoch Folder ID tillhttps://drive.google.com/drive/folders/[YOUR_ID]. - I Share Drive File, ställ in Operation till
shareoch File ID till{{ $json.id }}. - I Save Public Image URL, behåll JavaScript-koden som bygger
https://drive.google.com/uc?export=view&id=${fileId}. - I Extract File Name, ställ in fileName till
{{ $binary.data.fileName }}och spara det sedan i Persist File Name. - Behörighet krävs: anslut era Google Drive-inloggningsuppgifter i Upload Image to Drive och Share Drive File.
⚠️ Vanlig fallgrop: Om Share Drive File inte är inställd för att tillåta åtkomst för anyone kommer den publika bild-URL:en som skapas i Save Public Image URL inte att gå att visa.
Steg 6: konfigurera utdata-destinationer och notifieringar
När all data har samlats in lägger arbetsflödet till en rad i Google Sheets, notifierar föraren och skickar en e-postbekräftelse.
- I Load Stored Data, behåll JavaScript-koden som sammanställer
shipmentNumber,gpsLatitude,gpsLongitude,publicImageLink,deliveryTimeochfileName. - Load Stored Data skickar utdata till Append Delivery Record, Notify Driver Summary och Email Delivery Confirmation parallellt.
- I Append Delivery Record, mappa fälten enligt definition:
{{ $now }},{{ $json.shipmentNumber }},{{ $json.gpsLatitude }},{{ $json.gpsLongitude }},{{ $json.publicImageLink }}och{{ $json.deliveryTime }}. - Ställ in Document ID och Sheet Name till era kalkylbladsvärden (ersätt
[YOUR_ID]i den cachade URL:en). - I Notify Driver Summary, behåll HTML-meddelandet och att Chat ID är satt till
{{ $('Telegram Intake Trigger').item.json.message.chat.id }}. - I Email Delivery Confirmation, ersätt värdet för Send To
[YOUR_EMAIL]och verifiera att Subject använderDelivery Confirmation: {{ $json.shipmentNumber }}. - Efter att e-postmeddelandet skickats, bekräfta att Email Delivery Confirmation skickar utdata till Reset State Flags.
- Behörighet krävs: anslut era Google Sheets-inloggningsuppgifter i Append Delivery Record och Gmail-inloggningsuppgifter i Email Delivery Confirmation.
Tips: använd en dedikerad flik i kalkylarket för leveranser för att undvika att rubriker skrivs över och för att förenkla rapporteringen.
Steg 7: testa och aktivera ert arbetsflöde
Kör ett fullständigt end-to-end-test för att säkerställa att varje steg routas och sparas korrekt innan aktivering.
- Klicka på Execute Workflow och skicka
/starttill er bot för att verifiera att Send Welcome Note returnerar ett svar. - Skicka
/addShipmentoch bekräfta sedan att Request Shipment Number svarar och att Capture Shipment Number sparar värdet. - Skicka
/addGPSmed en live-position och bekräfta att Confirm GPS Receipt och Persist GPS Info körs parallellt. - Skicka
/sendPhotomed en bild och bekräfta att Upload Image to Drive, Share Drive File och Save Public Image URL slutförs utan fel. - Skicka
/sendConfirmationoch verifiera att Append Delivery Record, Notify Driver Summary och Email Delivery Confirmation körs parallellt. - Kontrollera att Reset State Flags rensar sessionen för chatt-ID:t.
- När ni är nöjda, växla arbetsflödet till Active för användning i produktion.
Tips för felsökning
- Inloggningsuppgifter för Google Drive, Google Sheets eller Gmail kan löpa ut eller kräva specifika behörigheter. Om något slutar fungera, kontrollera n8n-skärmen Credentials och bekräfta att Google-projektet fortfarande har Drive/Sheets/Gmail-API:erna aktiverade.
- Telegram-foton kommer i flera storlekar och fil-ID:n. Om steget som laddar upp till Drive misslyckas beror det oftast på att flödet hämtade fel filvariant eller inte väntade in meddelandetypen “photo”. Dubbelkolla därför inställningarna i noden som hämtar Telegram-filen.
- Standardtexterna i Telegram-frågor räcker för demo, men de är generiska. Uppdatera meddelandena tidigt (välkomsttext, hjälpinstruktioner, bekräftelser) så att de matchar hur dina chaufförer faktiskt kommunicerar, annars får du halvfärdiga inlämningar.
Snabba svar
Cirka 45 minuter om du redan har Google-API:erna och bot-tokenen klara.
Nej. Du kopplar främst konton och mappar fält till Google-arket. Flödet innehåller redan logiken som håller koll på chaufförens “nästa steg” i Telegram.
Ja. n8n har ett gratis self-hosted-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 Google-användning, som vanligtvis är gratis vid lågt till måttligt antal API-anrop.
Två alternativ: n8n Cloud (hanterat, enklast att komma igång) eller self-hosting på en VPS. För self-hosting är Hostinger VPS prisvärd och klarar n8n bra. Self-hosting ger dig obegränsade körningar men kräver grundläggande serverhantering.
Ja, och det bör du. Du kan ändra vad som samlas in genom att redigera Telegram-noderna för frågor (som “Request Shipment Number” eller “Request GPS Location”) och sedan uppdatera Google Sheets-steget “Append Delivery Record” så att det matchar dina nya kolumner. Vanliga justeringar är att lägga till kundnamn, fånga ett signaturfoto, registrera fordons-ID eller skriva till ett andra ark för avvikelser och misslyckade leveranser.
Oftast är det bot-tokenen. Generera en ny eller kopiera tokenen på nytt från BotFather och uppdatera Telegram-inloggningsuppgifterna i n8n. Kontrollera också att du skriver till rätt bot (team testar ibland i en chatt och driftsätter sedan en annan bot i produktion). Om meddelanden kommer fram men foton misslyckas handlar det ofta om behörigheter eller att flödet läser fel Telegram-filobjekt.
Mycket, för ett litet driftteam. Botten kan hantera flera chaufförer samtidigt eftersom flödet spårar konversationsstatus per chaufför, och varje leverans är bara en körning som laddar upp en fil och lägger till en rad. Med n8n Cloud Starter får du ett tak för körningar per månad, så din gräns blir i praktiken “leveranser per månad”. Om du self-hostar finns ingen körningsgräns, men din server och Googles API-kvoter blir det praktiska taket.
Ofta, ja, eftersom det här flödet inte bara är “Telegram-meddelande → lägg till rad”. Det kräver hantering av flerstegskonversationer (sändningsnummer, sedan GPS, sedan foto) och statusspårning så att nästa meddelande från chauffören tolkas korrekt. n8n är byggt för den typen av förgrenad logik, och du kan self-hosta när volymerna växer. Zapier och Make kan fungera, men flerstegsflöden i chatt blir snabbt klumpiga och kostnaderna ökar när varje meddelande blir en ny task. Om du vill ha hjälp att välja, prata med en automationsexpert.
När detta väl rullar slutar leveransbevis att vara detektivarbete. Ditt team får en prydlig post per stopp, och chaufförerna behöver inte tänka på “process” överhuvudtaget.
Kontakta oss
Hör av dig, så diskuterar vi hur just din verksamhet kan dra nytta av alla fantastiska möjligheter som AI skapar.