Deadlines missas inte för att folk inte bryr sig. De missas för att notisen ”förfallodatum ändrat” ligger inne i Trello, ingen såg den, och sedan jagar du uppdateringar på tre olika ställen.
Den här uppsättningen med Trello Telegram-alerts träffar projektledare först, men operationsansvariga och ägare av små byråer känner också av den. Du får ändringar i tilldelningar och påminnelser om förfallodatum pushade till Telegram, så att rätt person ser rätt uppgift vid rätt tidpunkt.
Nedan ser du hur arbetsflödet synkar Trello-kort till en enkel databas, spårar medlemmar och postar påminnelser två gånger per dag så att överlämningar slutar glida.
Så fungerar den här automatiseringen
Hela n8n-flödet, från trigger till slutlig output:
n8n Workflow Template: Trello + Telegram: deadline-varningar som syns
flowchart LR
subgraph sg0["Flow 1"]
direction LR
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/telegram.svg' width='40' height='40' /></div><br/>Send a text message"]
n3@{ icon: "mdi:swap-vertical", form: "rounded", label: "username", pos: "b", h: 48 }
n6["<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/supabase.svg' width='40' height='40' /></div><br/>Get user row"]
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/supabase.svg' width='40' height='40' /></div><br/>Create user"]
n8@{ icon: "mdi:swap-horizontal", form: "rounded", label: "Trello Action Type Check", pos: "b", h: 48 }
n9["<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/supabase.svg' width='40' height='40' /></div><br/>Update card due-date"]
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/supabase.svg' width='40' height='40' /></div><br/>Create user card relation"]
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/>Code in JavaScript1"]
n12@{ icon: "mdi:swap-horizontal", form: "rounded", label: "Does User Exist?", pos: "b", h: 48 }
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/supabase.svg' width='40' height='40' /></div><br/>Delete from users-card"]
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/>Code in JavaScript"]
n22@{ icon: "mdi:swap-horizontal", form: "rounded", label: "Add/Remove Member from Card ..", pos: "b", h: 48 }
n1 --> n8
n1 --> n9
n1 --> n22
n3 --> n18
n7 --> n11
n6 --> n12
n12 --> n11
n12 --> n7
n18 --> n2
n11 --> n10
n8 --> n3
n22 --> n6
n22 --> n13
end
subgraph sg1["Due-Date Notification Schedule Flow"]
direction LR
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/telegram.svg' width='40' height='40' /></div><br/>Send a text message1"]
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/>Code in JavaScript2"]
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/supabase.svg' width='40' height='40' /></div><br/>Get users in card"]
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/supabase.svg' width='40' height='40' /></div><br/>Get user-card"]
n19@{ icon: "mdi:play-circle", form: "rounded", label: "Due-Date Notification Schedu..", pos: "b", h: 48 }
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/supabase.svg' width='40' height='40' /></div><br/>Get all cards due today"]
n21@{ icon: "mdi:swap-vertical", form: "rounded", label: "usernames 1", pos: "b", h: 48 }
n21 --> n15
n17 --> n16
n16 --> n21
n15 --> n14
n20 --> n17
n19 --> n20
end
subgraph sg2["Trello 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/trello.svg' width='40' height='40' /></div><br/>Trello Trigger"]
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/supabase.svg' width='40' height='40' /></div><br/>Create card"]
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/>Create Card Webhook"]
n4 --> n5
n0 --> n4
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 n19,n0 trigger
class n8,n12,n22 decision
class n1,n5 api
class n11,n18,n15 code
classDef customIcon fill:none,stroke:none
class n1,n2,n6,n7,n9,n10,n11,n13,n18,n14,n15,n16,n17,n20,n0,n4,n5 customIcon
Problemet: förfallodatum uppdateras, men ingen märker det
Trello är bra på att hålla en ”single source of truth”. Problemet är att teamet inte lever i Trello hela dagarna. Ett förfallodatum ändras, någon ny läggs till på ett kort, eller en medlem tas bort och ingen vet något förrän uppgiften redan är sen. Sedan kommer Slack-pingarna, ”snabbt samtal?”, mejl-uppföljningarna och den obekväma insikten att överlämningen aldrig faktiskt hände. Det är inte ett stort misslyckande. Det är dussintals små missar som staplas på varje vecka.
Friktionen byggs på. Här är var det brukar haverera i riktiga team.
- Kortuppdateringar är enkla att göra och förvånansvärt enkla att missa, särskilt när flera tavlor är i spel.
- Tilldelningar ändras mitt i veckan, men den nya ansvariga får inget tydligt ”nu äger du den här”-ögonblick.
- Manuella påminnelserutiner tar cirka 10 minuter om dagen, och försvinner sedan så fort någon blir upptagen.
- Utan ett strukturerat sätt att följa kort och medlemmar över tid slutar det med att du förlitar dig på minnet och skärmdumpar.
Lösningen: synka Trello till Supabase, notifiera via Telegram
Det här arbetsflödet gör Trello-aktivitet till Telegram-meddelanden som faktiskt blir lästa. När ett nytt Trello-kort skapas registrerar n8n det direkt i en Supabase-databas (så att du har en pålitlig historik med kort-ID, namn, tavla, URL och förfallodatum). Det skapar också en Trello-webhook, vilket innebär att framtida ändringar på kortet pushas in i n8n i realtid. När medlemmar läggs till eller tas bort slår arbetsflödet upp personen i Supabase, skapar en användarpost vid behov, länkar användaren till kortet och skickar en Telegram-notis med ett tydligt budskap och kortets kontext.
Sedan tar det hand om den del team ofta glömmer: påminnelser. Två gånger per dag (var 12:e timme) kontrollerar det Supabase efter kort som förfaller i dag, hämtar tilldelade användare, mappar Trello-användarnamn till Telegram-handles och skickar en fokuserad förfallodatumsvarning så att uppgifter inte tyst rinner ut i sanden.
Det du får: automatisering vs. resultat
| Det här automatiserar arbetsflödet | Resultaten du får |
|---|---|
|
|
Exempel: så här ser det ut
Säg att teamet kör 3 Trello-tavlor och att du manuellt kollar förfallodatum två gånger per dag. Om det tar cirka 10 minuter per kontroll är du redan uppe i ungefär 1 timme per dag på att bara skanna, puffa och kopiera länkar in i meddelanden. Med det här arbetsflödet är ”jobbet” i princip noll: nya kort synkas automatiskt, medlemsändringar triggar omedelbara Telegram-uppdateringar och påminnelser för ”förfaller i dag” körs var 12:e timme. Du lägger kanske 5 minuter på att skumma notiser, inte på att vakta tavlor.
Det här behöver du
- n8n-instans (testa n8n Cloud gratis)
- Alternativ för egen hosting om du föredrar det (Hostinger fungerar bra)
- Trello för korthändelser, medlemmar och förfallodatum.
- Supabase för att lagra kort, användare och relationer.
- Telegram Bot-token (hämta den från BotFather i Telegram)
Kunskapsnivå: Medel. Du kopplar konton, sätter upp tabeller i Supabase och klistrar in webhook-URL:er på rätt ställe.
Vill du inte sätta upp det här själv? Prata med en automatiseringsexpert (gratis 15-minuters konsultation).
Så fungerar det
Ett Trello-kort skapas. Trello Board Trigger triggar, och arbetsflödet lägger in det nya kortet i Supabase så att du får en konsekvent historik (kort-ID, namn, tavla, URL, förfallodatum).
Trello skickar framtida uppdateringar via en webhook. n8n registrerar en webhook för kortet, och Incoming Webhook Hook lyssnar efter händelser som redigering av förfallodatum och medlemsändringar utan att någon behöver uppdatera en tavla.
Medlemsändringar översätts till notifieringar som går att agera på. Arbetsflödet kontrollerar Trello-action-typen, mappar användarnamn till Telegram-handles, verifierar att användaren finns i Supabase (eller skapar den), uppdaterar länken mellan kort och användare och skickar ett Telegram-meddelande med kortets kontext.
Förfallopåminnelser körs schemalagt. Två gånger per dag hämtar n8n kort som ”förfaller i dag” från Supabase, laddar tilldelade användare, bygger en tydlig förfallsnotis och postar den i Telegram så att den är svår att missa.
Du kan enkelt justera påminnelsefrekvensen så att den matchar er rytm (dagligen, bara vardagar eller ”bara morgon”) utifrån era behov. Se hela implementationsguiden nedan för alternativ för anpassning.
Steg-för-steg-guide för implementation
Steg 1: Konfigurera Trello-triggern
Sätt upp Trello- och webhook-ingångarna som startar arbetsflödet och tar emot händelser för Trello-kort.
- Öppna Trello Board Trigger och ställ in Board ID till
[BOARD_ID]. - Inloggning krävs: Anslut era trelloApi-uppgifter i Trello Board Trigger.
- Konfigurera Incoming Webhook Hook med HTTP Method satt till
POSToch Path satt till[WEBHOOK_PATH]. - Bekräfta svarsalternativen i Incoming Webhook Hook: Response Data satt till
okoch Allowed Origins satt till*. - Granska Scheduled Due Check och ställ in schemaregeln till var
12:e timme.
Steg 2: Anslut Supabase och kortlagring
Konfigurera Supabase-tabellerna som används för att lagra kort, användare och relationer mellan kort och användare, och säkerställ att nya kort registrerar en Trello-webhook.
- Öppna Insert Card Record och ställ in Table till
cardsmed fälten: id{{ $json.action.data.card.id }}, card_name{{ $json.action.data.card.name }}, board_name{{ $json.action.data.board.name }}. - Inloggning krävs: Anslut era supabaseApi-uppgifter i Insert Card Record.
- Konfigurera Register Card Webhook med URL satt till
https://api.trello.com/1/tokens/[CONFIGURE_YOUR_TOKEN]/webhooks/och Method tillPOST. - I Register Card Webhook, ställ in body-parametrar: key
[CONFIGURE_YOUR_API_KEY], callbackURL[WEBHOOK_URL], idModel{{ $('Trello Board Trigger').item.json.action.data.card.id }}, descriptionwebhook for card {{ $('Trello Board Trigger').item.json.action.data.card.name }}. - Konfigurera Update Card Deadline för att uppdatera cards med fälten due_date
{{ new Date($json.body.model.badges.due).toLocaleDateString('en-US') }}, completed{{ $json.body.model.badges.dueComplete }}och url{{ $json.body.model.url }}. - Inloggning krävs: Anslut era supabaseApi-uppgifter till alla Supabase-noder (totalt 9), inklusive Update Card Deadline, Fetch User Record, Add User Entry, Link Card User och Remove Card User Link.
Steg 3: Sätt upp bearbetning och routning av Trello-åtgärder
Definiera den parallella bearbetningsvägen för Trello-webhooks, mappa användarnamn och sätt ihop meddelanden.
- Bekräfta den parallella vägen: Incoming Webhook Hook skickar output till Check Trello Action, Update Card Deadline och Route Member Change parallellt.
- I Check Trello Action, verifiera villkoren för leftValue
{{ $json.body.action.type }}som matcharaddMemberToCardochremoveMemberFromCard. - Konfigurera Map User Handle med Mode satt till
rawoch JSON Output satt till{"username": "{{ ({ "User1": "@user1", "User2": "@user2", "User3": "@user3", "User4": "@user4", "User5": "@user5", "User6": "@user6", "User7": "@user7" }[$json.body.action.data.member.name] || $json.body.action.data.member.name) }}"}. - Granska Compose Action Message så att den refererar till Incoming Webhook Hook och Map User Handle för att komponera åtgärdsmeddelandet.
- Ställ in Route Member Change att routa när leftValue
{{ $json.body.action.type }}är lika medaddMemberToCardellerremoveMemberFromCard.
Steg 4: Bygg pipeline för användarlänkning och förfallodatumsvarningar
Skapa och validera användare, koppla kort till medlemmar och formatera varningsmeddelanden för förfallodatum.
- I Fetch User Record, ställ in filtret id till
{{ $json.body.action.data.member.id }}och säkerställ att Operation ärget. - I Validate User Presence, behåll leftValue satt till
{{ $json.id }}med villkoret notEmpty. - Konfigurera Add User Entry för tabellen
usersmed fälten id{{ $('Incoming Webhook Hook').item.json.body.action.data.member.id }}och name{{ $('Incoming Webhook Hook').item.json.body.action.data.member.name }}. - I Build Card User List, bekräfta att JavaScript läser medlems-ID:n från Incoming Webhook Hook och returnerar
{ cardId, userId }-objekt. - Ställ in Link Card User att skriva cardId
{{ $json.cardId }}och userId{{ $json.userId }}till tabellencard_user. - För förfallovarningar, konfigurera Fetch Today Due Cards med filtret keyName
=due_dateoch keyValue{{ new Date().toLocaleDateString('en-US') }}. - Säkerställ att Load Card User Map och Retrieve Card Users hämtar relaterade användare, och mappa sedan användarnamn i Normalize Usernames med samma handle-map som Map User Handle.
- Verifiera att Assemble Due Message använder fält från Fetch Today Due Cards och returnerar
username,cardName,boardName,urlochdueDate.
Steg 5: Konfigurera Telegram-notiser
Leverera åtgärdsuppdateringar och förfallovarningar till Telegram med formaterade meddelanden.
- I Dispatch Telegram Notice, ställ in Chat ID till
[TELEGRAM_CHAT_ID]och behåll Text som{{ $json.finalMessage }}med de inkluderade kortfälten. - Inloggning krävs: Anslut era telegramApi-uppgifter i Dispatch Telegram Notice.
- I Send Due Alert, ställ in Chat ID till
[TELEGRAM_CHAT_ID]och behåll meddelandeformatet för förfallodatumsvarningen enligt det som är angivet. - Inloggning krävs: Anslut era telegramApi-uppgifter i Send Due Alert.
Steg 6: Testa och aktivera ert arbetsflöde
Kör end-to-end-tester för Trello-webhooks, användarlänkning och förfallodatumsvarningar innan ni slår på automatiseringen.
- Klicka på Execute Workflow och trigga en Trello-åtgärd (lägg till/ta bort medlem) för att testa Incoming Webhook Hook och den parallella vägen till Check Trello Action, Update Card Deadline och Route Member Change.
- Bekräfta att Compose Action Message returnerar
finalMessageoch att Dispatch Telegram Notice skickar ett meddelande till er Telegram-chatt. - Kör Scheduled Due Check manuellt och säkerställ att Send Due Alert skickar en förfallovarning när Fetch Today Due Cards returnerar poster.
- När allt fungerar, slå om arbetsflödet till Active så att schemalagda kontroller och webhook-händelser körs automatiskt i produktion.
Vanliga fallgropar
- Trello-autentisering kan löpa ut eller så saknar token åtkomst till tavlan. Om det skapar fel, kontrollera din Trello API key/token och tavlans behörigheter först.
- Om du använder Wait-noder eller extern rendering varierar processtiderna. Öka väntetiden om noder längre ned misslyckas på tomma svar.
- Supabase-policyer och nycklar ställer ofta till det. Om inserter misslyckas, bekräfta att project URL/key är korrekta och att dina tabellbehörigheter tillåter skrivningar från n8n.
Vanliga frågor
Cirka 45 minuter om dina Supabase-tabeller är klara.
Nej. Du kopplar mest konton och kopierar nycklar in i n8n. Det krävs en liten mängd lätt konfiguration kring dina Supabase-tabeller och mapping av användarnamn.
Ja. n8n har ett gratis alternativ för egen hosting 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 Supabase-kostnader (ofta gratis för små team).
Två alternativ: n8n Cloud (hanterat, enklast att komma igång) eller egen hosting på en VPS. För egen hosting är Hostinger VPS prisvärt och klarar n8n bra. Egen hosting ger obegränsat antal körningar men kräver grundläggande serveradministration.
Ja, och det är en av de första justeringarna de flesta team gör. Ändra noden Scheduled Due Check så att den körs bara på morgnar, bara vardagar eller till och med varje timme under lanseringsveckor. Du kan också justera logiken för ”förfaller i dag” i frågan Fetch Today Due Cards så att den inkluderar ”försenade” kort, eller varnar en dag i förväg. Vill du att påminnelser ska gå till en kanal plus ett DM duplicerar du meddelandet Send Due Alert och pekar det mot ett andra chat-ID.
Oftast är det en utgången token eller att token saknar åtkomst till tavlan du bevakar. Skapa en ny Trello API-token, uppdatera den i n8n och bekräfta sedan att tavlan och webhooken är kopplade till samma Trello-workspace. Om felen bara händer under intensiva perioder kan Trellos rate limits också dyka upp som intermittenta HTTP-fel.
Ett typiskt litet team kan köra hundratals kort i veckan utan att behöva tänka på det.
Det beror på hur ”levande” du behöver att den är. Zapier och Make kan skicka en notis när något ändras, men realtidswebhooks, relationsspårning (kort ↔ användare) och schemalagda ”förfaller i dag”-kontroller blir ofta flera zaps/scenarier. Det blir snabbt dyrt och skört. n8n hanterar grenlogik och databassökningar snyggt, och egen hosting är ett alternativ när du vill ha obegränsade körningar. Om du bara behöver ett enkelt meddelande ”kort förfaller i morgon” fungerar Zapier bra. Om du är osäker kan du prata med en automatiseringsexpert så får du ett rakt svar.
När det här väl rullar slutar Trello vara en plats som folk glömmer att kolla. Arbetsflödet sköter de repetitiva puffarna så att teamet kan fokusera på att leverera, inte på att leta efter jobbet.
Kontakta oss
Hör av dig, så diskuterar vi hur just din verksamhet kan dra nytta av alla fantastiska möjligheter som AI skapar.