Du postade en Loom, bad folk att “bara titta”, och ändå fylldes tråden av förvirring. Någon skummar, någon gissar, och den enda personen som behövde nyckeldetaljen kommer aldrig förbi minut sex.
Det här är precis den typen av röra som drabbar marknadschefer under lanseringar, projektledare som försöker få loss team, och ops-personer som lever i Slack hela dagen. Med Loom Slack-sammanfattningar finns videon kvar, men teamet läser faktiskt vad som är viktigt.
Det här arbetsflödet gör om valfri Loom-länk till en strukturerad sammanfattning plus frågor och svar och postar det direkt i Slack. Du får se hur det fungerar, vad du behöver och var team brukar justera det.
Så fungerar den här automatiseringen
Hela n8n-arbetsflödet, från trigger till slutligt resultat:
n8n Workflow Template: Loom + Slack: videosammanfattningar teamet läser
flowchart LR
subgraph sg0["Loom URL Form Flow"]
direction LR
n0@{ icon: "mdi:swap-vertical", form: "rounded", label: "Extract Video ID", pos: "b", h: 48 }
n1["<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/>Fetch Download URL"]
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/httprequest.dark.svg' width='40' height='40' /></div><br/>Download Video Content"]
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/form.svg' width='40' height='40' /></div><br/>Loom URL Form"]
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/httprequest.dark.svg' width='40' height='40' /></div><br/>Upload Video Data"]
n5["<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/>Start Upload Session for Gem.."]
n6@{ icon: "mdi:swap-horizontal", form: "rounded", label: "Valid Loom URL?", 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/merge.svg' width='40' height='40' /></div><br/>Merge"]
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/merge.svg' width='40' height='40' /></div><br/>Merge1"]
n9@{ icon: "mdi:swap-vertical", form: "rounded", label: "Extract File Details", pos: "b", h: 48 }
n10@{ icon: "mdi:cog", form: "rounded", label: "Wait 5 Seconds", pos: "b", h: 48 }
n11@{ icon: "mdi:swap-vertical", form: "rounded", label: "Loop Until Video Is Active", pos: "b", h: 48 }
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/httprequest.dark.svg' width='40' height='40' /></div><br/>Get Video Status"]
n13@{ icon: "mdi:swap-horizontal", form: "rounded", label: "Video Active?", pos: "b", h: 48 }
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/httprequest.dark.svg' width='40' height='40' /></div><br/>Ask Gemini to Summarize Video"]
n15@{ icon: "mdi:swap-vertical", form: "rounded", label: "Extract URL for Uploading", pos: "b", h: 48 }
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/code.svg' width='40' height='40' /></div><br/>Calculate File Size"]
n17@{ icon: "mdi:swap-vertical", form: "rounded", label: "Set Video Attributes", pos: "b", h: 48 }
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/slack.svg' width='40' height='40' /></div><br/>Slack"]
n7 --> n4
n8 --> n5
n8 --> n7
n3 --> n6
n13 --> n11
n13 --> n10
n10 --> n12
n6 --> n0
n0 --> n1
n12 --> n13
n4 --> n9
n1 --> n2
n16 --> n8
n9 --> n11
n17 --> n8
n2 --> n16
n2 --> n17
n15 --> n7
n11 --> n14
n11 --> n10
n14 --> n18
n5 --> n15
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 n3 trigger
class n6,n13 decision
class n1,n2,n4,n5,n12,n14 api
class n16 code
classDef customIcon fill:none,stroke:none
class n1,n2,n3,n4,n5,n7,n8,n12,n14,n16,n18 customIcon
Problemet: Loom-videor blir inte till gemensam förståelse
Loom är toppen för att snabbt “visa” något. Problemet är vad som händer efteråt. En Loom-länk som slängs in i Slack blir sällan till beslut, uppgifter eller samsyn. Folk har inte tid att titta om, och de har definitivt inte tid att spola igenom en 12-minuters skärminspelning för att hitta en enda mening om en deadline eller en specifikation. Så samma frågor kommer igen, tråden glider iväg, och videon blir ett privat artefakt i stället för en teamresurs. Ärligt talat: det är inte ett Loom-problem. Det är ett uppföljningsproblem.
Friktionen byggs på. Här är var det brukar fallera i verkliga team.
- Någon ställer en enkel fråga som besvaras i videon, men ingen minns var, så du får upprepa dig.
- Åtgärdspunkter begravs i chatten, vilket gör att arbetet startar sent eller inte alls.
- Nya kollegor hoppar över kontext eftersom “jag kollar senare” tyst blir “aldrig”.
- Viktiga detaljer återges ur minnet, och så smyger onödiga misstag in.
Lösningen: sammanfatta Loom automatiskt och posta i Slack
Det här n8n-arbetsflödet startar när du skickar in en Loom-länk via ett enkelt formulär. Det kontrollerar att länken är giltig, plockar ut Loom-video-ID:t och använder sedan Loom API för att hämta en nedladdningsbar version av videon. Därefter laddar arbetsflödet upp videon till Gemini, väntar tills filen är aktiv och redo, och ber sedan Gemini skapa en tydlig sammanfattning tillsammans med svar på de frågor du bryr dig om. Till sist postar det färdiga resultatet i Slack så att teamet ser “vad betyder det här?” direkt. Inget letande. Ingen omtittning. Loom hjälper fortfarande, men Slack-meddelandet blir den bestående dokumentationen.
Arbetsflödet drar igång med en Loom-länk och en fråga. Sedan laddar det ner videon, laddar upp den för analys och pollar tills Gemini markerar filen som aktiv. När den är klar begär det sammanfattningen och skickar resultatet till din valda Slack-kanal.
Det du får: automatisering vs. resultat
| Det här arbetsflödet automatiserar | Resultat du får |
|---|---|
|
|
Exempel: så här kan det se ut
Säg att ditt team delar 10 Looms i veckan i Slack. Manuellt: om bara fem personer lägger cirka 10 minuter var på att titta om eller skumma för att svara på “vad bestämde vi?”, så försvinner ungefär 8 timmar uppmärksamhet. Med det här arbetsflödet skickar du in länken på under en minut, väntar sedan några minuter på att uppladdningen och sammanfattningen blir klara, och Slack får den skriftliga slutsatsen automatiskt. Videon blir valfri, inte ett måste.
Det här behöver du
- n8n-instans (prova n8n Cloud gratis)
- Självhostat alternativ om du föredrar det (Hostinger fungerar bra)
- Loom för att ladda ner videon via API.
- Slack för att posta sammanfattningen i en kanal.
- Gemini API-nyckel (hämta den i Google AI Studio och lägg sedan in den i n8n-credentials).
Svårighetsgrad: Medel. Du kopplar credentials, klistrar in en API-nyckel och mappar några fält, men du behöver inte bygga en app.
Vill du inte sätta upp detta själv? Prata med en automationsexpert (gratis 15-minuters konsultation).
Så fungerar det
Insamling av Loom-länk. Du skickar in en Loom-URL i en formulärtrigger, vilket är ett bra sätt att standardisera vad som ska bearbetas (ingen stökig copy-paste från trådar).
Länkvalidering och videouppslag. n8n kontrollerar URL:en, extraherar Loom-videons identifierare och anropar sedan Loom för att hämta en nedladdningslänk och ladda ner videofilen.
Uppladdning och “redo”-kontroller. Arbetsflödet initierar en Gemini-uppladdning, skickar videodata och loopar sedan med en kort väntan för att kontrollera status tills Gemini rapporterar att filen är aktiv. Det är monotont, men det förhindrar det klassiska felet “sammanfattningsbegäran kördes för tidigt”.
Sammanfattning + frågor och svar till Slack. När den är aktiv begär det Geminis sammanfattning (inklusive din fråga) och postar det formaterade resultatet i Slack så att teamet får höjdpunkterna direkt.
Du kan enkelt ändra triggern så att den bevakar e-post eller en Slack-kanal i stället för ett formulär, beroende på dina behov. Se hela implementationsguiden nedan för alternativ för anpassning.
Steg-för-steg-guide för implementering
Steg 1: konfigurera formulärtriggern
Konfigurera intake-formuläret som samlar in Loom-URL:en och användarens fråga för analys.
- Lägg till och öppna Loom Link Intake Form.
- Ställ in Form Title till
Loom Video Downloader to Gemini. - Ställ in Form Description till
Enter a public loom video url and the video will be downloaded and provided as input to Google Gemini. - Lägg till ett obligatoriskt fält med etiketten Loom Video URL och platshållaren
https://www.loom.com/share/4ef793670bfd4b06a7c042b1b439d51a. - Lägg till ett obligatoriskt textarea-fält med etiketten Enter a question about the video.
https://www.loom.com/share/. Säkerställ att användare skickar in länken i formatet för offentlig delning.Steg 2: koppla nedladdning från Loom och hantering av videometadata
Validera Loom-länken, härled video-ID:t och ladda ner videon som binärdata för senare uppladdning.
- I Validate Loom Link, bekräfta att villkoret använder
={{ $json['Loom Video URL'] }}och att startsWith-värdet ärhttps://www.loom.com/share/. - I Derive Video Identifier, ställ in videoId till
={{ $json['Loom Video URL'].split('/').pop().split("?")[0] }}. - I Retrieve Download Link, ställ in URL till
=https://www.loom.com/api/campaigns/sessions/{{ $json.videoId }}/transcoded-urloch Method tillPOST. - I Fetch Video Binary, ställ in URL till
={{ $json.url }}för att hämta den binära videodatan. - I Compute File Size, behåll Mode som
runOnceForEachItemoch verifiera attbinaryPropertyNamei skriptet ärdata. - I Assign Video Metadata, ställ in mimeType till
={{ $binary.data.mimeType }}och displayName till=loom_{{ $('Derive Video Identifier').item.json.videoId }}, med Include Other Fields aktiverat.
data kommer skriptet i Compute File Size att ge ett fel. Uppdatera binaryPropertyName därefter.Steg 3: sätt upp parallell förberedelse för uppladdning
Kombinera filstorlek och metadata, initiera sedan uppladdnings-handshaken med Gemini och förbered uppladdnings-URL:en.
- Bekräfta att Fetch Video Binary skickar output till både Compute File Size och Assign Video Metadata parallellt.
- I Combine Upload Inputs, ställ in Mode till
combineoch Combine By tillcombineByPosition. - Combine Upload Inputs skickar output till både Initiate Gemini Upload och Merge Upload Streams parallellt.
- I Initiate Gemini Upload, ställ in URL till
=https://generativelanguage.googleapis.com/upload/v1beta/filesoch Method tillPOST. - I Initiate Gemini Upload, ställ in JSON Body till
={ "file": { "display_name": "{{ $json.displayName }}" } }. - I Initiate Gemini Upload, lägg till headers:
X-Goog-Upload-Protocol=resumable,X-Goog-Upload-Command=start,X-Goog-Upload-Header-Content-Length={{ $json.fileSizeInBytes }},X-Goog-Upload-Header-Content-Type={{ $json.mimeType }}, ochContent-Type=application/json. - Inloggningsuppgifter krävs: Anslut era httpQueryAuth-credentials i Initiate Gemini Upload.
- I Pull Upload Endpoint, ställ in uploadUrl till
={{ $json.headers['x-goog-upload-url'] }}och aktivera Keep Only Set.
Steg 4: ladda upp videon och fånga filuppgifter från Gemini
Slå ihop uppladdnings-URL:en med den binära strömmen, skicka sedan videodatan till Gemini och fånga filens URI.
- I Merge Upload Streams, ställ in Mode till
combineoch Combine By tillcombineByPosition. - I Send Video Payload, ställ in URL till
={{ $json.uploadUrl }}och Method tillPUT. - I Send Video Payload, ställ in Content Type till
binaryDataoch Input Data Field Name tilldata. - I Send Video Payload, lägg till headers:
Content-Length={{ $json.fileSizeInBytes }},X-Goog-Upload-Offset=0, ochX-Goog-Upload-Command=upload, finalize. - I Capture File Details, ställ in geminiFileUri till
={{ $json.file.uri }}, geminiFileName till={{ $json.file.name }}, och geminiFileMimeType till={{ $json.file.mimeType }}med Keep Only Set aktiverat.
Steg 5: konfigurera statuspollning och generering av Gemini-sammanfattning
Poll:a Gemini tills den uppladdade filen är aktiv, och begär sedan en sammanfattning utifrån användarens fråga.
- I Cycle Until Active, behåll standardinställningarna för batch; den här noden loopar tills filen blir aktiv.
- I Pause Five Seconds, behåll standardbeteendet för väntan för att styra pollningsfrekvensen.
- I Check Video Status, ställ in URL till
={{ $json.geminiFileUri }}. - Inloggningsuppgifter krävs: Anslut era httpQueryAuth-credentials i Check Video Status.
- I Confirm Active State, validera att villkoret
={{ $json.state }}är lika medACTIVE. - I Request Gemini Summary, ställ in URL till
https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-pro-preview-03-25:generateContentoch Method tillPOST. - I Request Gemini Summary, ställ in JSON Body till
={ "contents": [ { "parts": [ { "file_data": { "mime_type": "video/mp4", "file_uri": "{{ $json.uri }}" } }, { "text": {{ JSON.stringify($('Loom Link Intake Form').first().json['Enter a question about the video']) }} } ] } ] }. - Inloggningsuppgifter krävs: Anslut era httpQueryAuth-credentials i Request Gemini Summary.
Steg 6: konfigurera Slack-output
Skicka sammanfattningssvaret tillbaka till Slack efter att Gemini har slutfört bearbetningen.
- Öppna Post Slack Update och ställ in Text till
=Loom video response from Gemini: {{ $json.candidates[0].content.parts[0].text }}. - Ställ in Select till
useroch välj målanvändaren. - Inloggningsuppgifter krävs: Anslut era slackApi-credentials i Post Slack Update.
Steg 7: testa och aktivera ert workflow
Kör ett manuellt test för att verifiera hela flödet från Loom-nedladdning till Gemini-sammanfattning och Slack-notis.
- Klicka på Execute Workflow och skicka in en giltig Loom-delningslänk och en fråga i Loom Link Intake Form.
- Verifiera exekveringsvägen: Fetch Video Binary skickar output till Compute File Size och Assign Video Metadata parallellt, och därefter skickar Combine Upload Inputs output till Initiate Gemini Upload och Merge Upload Streams parallellt.
- Bekräfta att Send Video Payload returnerar filuppgifter och att Check Video Status till slut rapporterar
ACTIVE. - Kontrollera att Post Slack Update skickar Gemini-svaret till den valda användaren.
- När testet lyckas, växla workflowet till Active för användning i produktion.
Vanliga fallgropar
- Loom-credentials kan löpa ut eller kräva specifika behörigheter. Om något slutar fungera, kontrollera Loom API-token och request headers för “Retrieve Download Link” först.
- Om du använder Wait-noder eller extern rendering varierar bearbetningstiderna. Öka väntetiden om nedströmsnoder misslyckas på grund av tomma svar.
- Standardprompter i AI-noder är generiska. Lägg in er tonalitet tidigt, annars kommer du redigera utdata för alltid.
Vanliga frågor
Cirka 30 minuter om du redan har dina API-nycklar.
Nej. Du kopplar främst Loom, Slack och Gemini och klistrar sedan in din API-nyckel i n8n.
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 volymer. Du behöver också räkna med Gemini API-användning, som oftast ligger på några cent per sammanfattning beroende på videons längd.
Två alternativ: n8n Cloud (hanterat, enklast att komma igång) eller självhosting på en VPS. För självhosting är Hostinger VPS prisvärt och hanterar n8n bra. Självhosting ger dig obegränsade körningar men kräver grundläggande serveradministration.
Ja, men då byter du formulärtriggern mot en e-posttrigger och lägger till ett litet extraktionssteg före “Validate Loom Link”. De flesta team ändrar också prompten som används i anropet “Request Gemini Summary” så att den matchar deras behov, till exempel “Lista beslut, öppna frågor och ansvariga.” Om du vill ha konsekvent formatering, håll Slack-meddelandemallen stabil och variera bara prompttexten.
Oftast beror det på en utgången Loom API-token eller fel authorization header i HTTP Request-noderna som hämtar nedladdningslänken. Skapa om token, uppdatera credential som används av “Retrieve Download Link”, och försök igen med en Loom-URL du vet fungerar. Om det fortfarande misslyckas, kontrollera om Loom-videon är begränsad till en workspace eller kräver inloggning, eftersom API:t inte alltid returnerar en nedladdningsbar fil för privat innehåll.
Det beror på din n8n-plan och hur långa dina Looms är, men de flesta små team kör utan problem dussintals per vecka. På n8n Cloud stödjer högre planer fler körningar, medan självhosting tar bort körningsbegränsningar och flyttar gränsen till dina serverresurser. Arbetsflödet pollar också filstatus i korta loopar, så väldigt stora videor kan binda körningar längre. Om volymen växer är lösningen enkel: öka serverkapaciteten eller schemalägg bearbetning utanför rusningstid.
För Loom-videobearbetning är n8n ofta en bättre match, eftersom du kan hantera binära filer, loopad “kontrollera tills aktiv”-logik och flera HTTP-anrop utan att slå i plattformsbegränsningar. Zapier och Make kan fungera, men du hamnar ofta i högre kostnader när du lägger till paths, retries och högre task-volym. En annan praktisk skillnad är kontroll: med självhostad n8n behöver du inte oroa dig för att nå task-tak under en intensiv vecka. Om din setup bara är “posta ett meddelande när en länk dyker upp” kan de verktygen gå snabbare. Prata med en automationsexpert om du vill ha hjälp att välja.
Det här är så “video-first-kommunikation” ska kännas: Loom för djupet, Slack-sammanfattningen för fart. Sätt upp det en gång, så slutar teamet tappa beslut i uppspelningsreglage.
Kontakta oss
Hör av dig, så diskuterar vi hur just din verksamhet kan dra nytta av alla fantastiska möjligheter som AI skapar.