Att manuellt leta upp ett ”bra citat”, formatera det och klistra in det i Slack (eller på en sajt) känns som en liten grej. Tills du gör det igen i morgon. Och igen nästa vecka.
Community managers märker det när de försöker hålla en kanal levande. Marknadsförare fastnar i att putsa små ”moralkickar” i stället för att driva kampanjer. Och är du grundare ska du ärligt talat inte lägga mental energi på copy-paste när en ZenQuotes Slack-automation kan sköta det.
Det här flödet ger dig en enkel URL som returnerar nya citat vid begäran. Du får veta vad den gör, hur den passar in i Slack och på webbplatser, och hur du anpassar den utan att göra det till ett miniutvecklingsprojekt.
Så fungerar den här automationslösningen
Här är hela workflowet du kommer att sätta upp:
n8n Workflow Template: ZenQuotes till Slack: färska citat vid begäran
flowchart LR
subgraph sg0["Flow 1"]
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/httprequest.dark.svg' width='40' height='40' /></div><br/>Get Random Quote from ZenQuo.."]
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/webhook.dark.svg' width='40' height='40' /></div><br/>Webhook"]
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/webhook.dark.svg' width='40' height='40' /></div><br/>Send response"]
n3@{ icon: "mdi:swap-vertical", form: "rounded", label: "Format data", pos: "b", h: 48 }
n1 --> n0
n3 --> n2
n0 --> n3
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,n1,n2 api
classDef customIcon fill:none,stroke:none
class n0,n1,n2 customIcon
Varför det här spelar roll: nya citat utan det dagliga krånglet
”Vi borde posta något upplyftande.” Låter enkelt, tills du inser att det blir en återkommande syssla. Du googlar ett citat, tvekar om det är felaktigt tillskrivet, formaterar om det så att det ser bra ut i Slack, och sedan ber någon om en version till webbplatsen också. Nu har du skapat två separata processer som båda hänger på att du kommer ihåg. Missar du en dag är det ingen katastrof, men kanalen blir tyst. Vanan dör, och du är tillbaka i att jäkta när du vill få engagemang.
Det blir snabbt mycket. Här är var det brister.
- Du lägger cirka 10 minuter på att hitta, verifiera och formatera ett enda citat.
- Olika personer klistrar in med olika format, så era inlägg blir inkonsekventa och svårare att skumma.
- ”Dagens citat” blir en skör rutin som stannar så fort du får mycket att göra.
- Om du behöver citat på flera ställen (Slack, en bot, en sajtwidget) duplicerar du jobbet varje gång.
Vad du bygger: en citat-endpoint du kan återanvända överallt
Det här workflowet skapar en webhook-URL i n8n som du kan anropa från Slack, en sajtwidget, en chatbot eller valfritt internt verktyg som kan göra en HTTP-förfrågan. När URL:en träffas anropar n8n direkt det kostnadsfria ZenQuotes-API:t och begär en batch med slumpmässiga citat (som standard fem). Därefter formaterar den varje citat och författare till korrekta fält, så att du slipper parsa stökiga API-svar senare. Till sist returnerar n8n ett prydligt JSON-svar som är enkelt att använda i nästa steg. Resultatet är enkelt: när du behöver ny inspirerande text hämtar du den från en pålitlig endpoint som du själv kontrollerar.
Workflowet startar med en inkommande webhook-förfrågan. Det hämtar fem slumpmässiga citat från ZenQuotes och normaliserar outputen. Sedan svarar det med en JSON-array med citat och författare, redo för Slack-formatering eller en sajtkomponent.
Det du bygger
| Det som automatiseras | Det du uppnår |
|---|---|
|
|
Förväntat resultat
Säg att du postar ett citat till Slack varje vardag och även uppdaterar ett ”citat för stunden”-block på din sajt. Manuellt blir det ungefär 10 minuter för att hitta och formatera för Slack, plus ytterligare 10 minuter för att uppdatera webbplatsen, alltså cirka 20 minuter per dag. Med det här workflowet räcker det med ett anrop till din webhook-URL och citatdatan är redan formaterad, vilket vanligtvis tar under en minut av din tid. På en vecka är det ungefär 2 timmar tillbaka.
Innan du börjar
- n8n-instans (testa n8n Cloud gratis)
- Alternativ för self-hosting om du föredrar det (Hostinger fungerar bra)
- ZenQuotes API som citatkälla (kostnadsfri endpoint)
- Slack för att visa citat i en kanal eller DM
- Webhook-URL (skapas i n8n:s Webhook-node)
Svårighetsgrad: Nybörjare. Du importerar ett workflow till n8n, sätter en webhook-sökväg och testar en URL i webbläsaren eller i Slack.
Vill du att någon bygger detta åt dig? Prata med en automationsexpert (gratis 15-minuters konsultation).
Steg för steg
En webhook anropas. Du (eller Slack, eller din webbplats) anropar en URL som hostas av n8n, till exempel /webhook/inspire. Den inkommande förfrågan är triggern.
ZenQuotes frågas efter nytt innehåll. n8n gör en HTTP-förfrågan till https://zenquotes.io/api/random?count=5 och får fem slumpmässiga citat och författare i svaret.
Svaret rensas upp. Ett Set-steg (Edit Fields) mappar råfälten till ett förutsägbart format, så att du alltid kan använda quote och author på ett stabilt sätt. Vill du ha en kombinerad sträng som ”Citat” – Författare kan du behålla den också.
Ditt verktyg får en prydlig JSON-payload. n8n svarar direkt via ”Respond to Webhook” och returnerar en array med citatobjekt som Slack-formatering, en bot eller en frontend-widget kan konsumera.
Du kan enkelt ändra antalet citat till 1 i stället för 5, eller forma JSON:en för Slack-block utifrån dina behov. Se hela implementationsguiden nedan för anpassningsalternativ.
Steg-för-steg-guide för implementering
Steg 1: Konfigurera webhook-triggern
Det här arbetsflödet startar när en inkommande förfrågan träffar er webhook-endpoint och initierar kedjan för att hämta citat.
- Lägg till och öppna Inbound Webhook Trigger.
- Ställ in Path på
c376e35b-80f3-4086-abec-d2c5a4501fb3. - Lämna Options tomt om ni inte behöver anpassad autentisering eller inställningar för svar.
- Bekräfta kopplingen från Inbound Webhook Trigger till External Quote Fetch så att flödet fortsätter korrekt.
Steg 2: Koppla in External Quote Fetch
Den här noden hämtar ett slumpmässigt citat från det externa API:et och skickar data vidare för formatering.
- Lägg till och öppna External Quote Fetch.
- Ställ in URL på
https://zenquotes.io/api/random. - Aktivera Send Query och lägg till en query-parameter med Name
countoch Value5. - Säkerställ att External Quote Fetch skickar output till Assemble Quote Text enligt exekveringsflödet.
$json.q eller $json.a, och då misslyckas citat-formateringen.Steg 3: Konfigurera Assemble Quote Text
Formatera API-svaret till en enda citatsträng som är redo att visas.
- Lägg till och öppna Assemble Quote Text.
- I Assignments, skapa ett fält med namnet quotes med Type satt till
string. - Ställ in Value till
="{{ $json.q }}" - {{ $json.a }}för att kombinera citattext och författare. - Verifiera kopplingen från Assemble Quote Text till Return Webhook Reply.
Steg 4: Konfigurera Return Webhook Reply
Skicka tillbaka det formaterade citatet till den ursprungliga anroparen som ett JSON-svar.
- Lägg till och öppna Return Webhook Reply.
- Ställ in Respond With på
json. - Ställ in Response Body till
{ "quote": "{{ $json.quotes }}" }. - Bekräfta att den här noden är sista steget efter Assemble Quote Text i exekveringsflödet.
Sista steget: testa och aktivera ert arbetsflöde
Verifiera hela flödet från början till slut och aktivera det sedan för användning i produktion.
- Klicka på Test i Inbound Webhook Trigger för att generera en test-URL.
- Skicka en förfrågan till test-URL:en och bekräfta att Return Webhook Reply returnerar ett JSON-svar med fältet
quote. - Om svaret är tomt, granska output från External Quote Fetch och Assemble Quote Text för att bekräfta att de förväntade fälten finns.
- Växla arbetsflödet till Active för att använda webhook-URL:en för produktion.
Tips för felsökning
- Slack-uppgifter och scopes kan gå ut eller saknas. Om ditt Slack-steg inte kan posta, kontrollera behörigheterna i din Slack-app (och återanslut kontot i n8n) innan du ändrar något annat.
- ZenQuotes-endpointen kan ibland rate-limita eller svara långsamt. Om du ser intermittenta fel, lägg till en kort retry eller öka eventuell väntetid i nedströms-workflows som konsumerar webhook-svaret.
- Webhook-testning ställer ofta till det: n8n har en ”Test”-URL och en ”Production”-URL. Om det fungerar i test men misslyckas när det är aktivt, anropar du troligen fel URL.
Snabba svar
Cirka 20 minuter om din n8n-instans redan är igång.
Nej. Du importerar workflowet och justerar ett par fält. Den enda ”tekniska” delen är att testa en URL.
Ja. n8n har ett gratis self-hosted-alternativ och en gratis provperiod på n8n Cloud. Cloud-planer startar på 20 USD/månad för högre volym. Du behöver också ta hänsyn till att ZenQuotes är gratis för den här endpointen.
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 hanterar n8n bra. Self-hosting ger dig obegränsade körningar men kräver grundläggande serveradministration.
Ja, enkelt. Ändra parametern count i HTTP Request-noden för att hämta 1 citat i stället för 5, och justera sedan noden ”Assemble Quote Text” (Set) så att den outputar ren text, Slack-anpassade block eller fält som matchar din webbplatskomponent. Vanliga justeringar är att bara returnera ett slumpmässigt citat, lägga till taggar om din citatkälla stödjer det, eller ändra svarsformatet så att det matchar ett annat workflow som konsumerar den här endpointen.
Oftast är det inte ”ZenQuotes-uppgifter” (det finns inga för den här endpointen), utan själva förfrågan. Kontrollera URL:en i HTTP Request-noden, bekräfta att din n8n-instans når externa sajter och titta på körningsoutputen efter rate limiting eller ett svar som inte är 200. Om det fungerar i editorn men inte live kan du råka anropa test-webhook-URL:en i stället för produktions-URL:en.
Mycket, så länge din hosting är stabil och citat-API:t svarar. På n8n Cloud baseras gränsen främst på månatliga körningar i din plan, så en sajtwidget med hög trafik kan trycka upp dig till en större nivå. Om du self-hostar finns ingen hård gräns för körningar, men din server och ZenQuotes rate limiting blir de praktiska begränsningarna. I praktiken är det här workflowet lätt och körs oftast snabbt eftersom det bara är en inkommande förfrågan, en utgående förfrågan och sedan ett svar.
Ofta, ja, eftersom detta i grunden är en webhook-tjänst. n8n gör det enkelt att hosta en endpoint och styra exakt vilken JSON du returnerar, och du kan self-hosta för obegränsade körningar om du behöver det. Zapier och Make kan också anropa API:er, men webhook-upplägg av typen ”returnera ett svar” brukar bli mer omständliga där. Om du bara behöver ett enkelt schemalagt meddelande är de verktygen helt okej. Om du är osäker, prata med en automationsexpert så får du ett rakt svar för din setup.
Det här är den sortens lilla automation som tyst förbättrar allt. Du sätter upp den en gång, och nya citat blir något du kan plocka fram när du behöver dem.
Kontakta oss
Hör av dig, så diskuterar vi hur just din verksamhet kan dra nytta av alla fantastiska möjligheter som AI skapar.