Inget får en butik att se rörigare ut än betalda ordrar som fastnar som ”Ej uppfylld” medan teamet svär på att de redan har hanterat dem. Sedan kommer kundmeddelandena, den interna ”skickade vi den här?”, och den där tysta oron att du missar något.
Shopify-butiksägare känner det först. Men driftsansvariga och marknadsansvariga som kör kampanjer dras in i det också, eftersom problem med Shopify WhatsApp fulfillment snabbt blir till följdfrågor och återbetalningar. Det här arbetsflödet städar upp statusbackloggen automatiskt, så orderuppfyllelsen förblir korrekt utan ständig handpåläggning.
Du får se hur automatiseringen hittar relevanta ej uppfyllda ordrar, hämtar rätt Fulfillment Order ID (det som brukar ställa till det), markerar rätt artiklar som uppfyllda och lämnar dig med färre ”vad är status?”-pingar.
Så här fungerar automatiseringen
Hela n8n-arbetsflödet, från trigger till slutligt resultat:
n8n Workflow Template: Shopify + WhatsApp: mer strukturerade leveransuppdateringar
flowchart LR
subgraph sg0["Manual Execution Start Flow"]
direction LR
n0@{ icon: "mdi:play-circle", form: "rounded", label: "Manual Execution Start", pos: "b", h: 48 }
n1@{ icon: "mdi:swap-vertical", form: "rounded", label: "Iterate Orders Batch", pos: "b", h: 48 }
n2@{ icon: "mdi:play-circle", form: "rounded", label: "Scheduled Automation Trigger", pos: "b", h: 48 }
n3@{ icon: "mdi:swap-horizontal", form: "rounded", label: "Filter Recent Orders", pos: "b", h: 48 }
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/>Fetch Fulfillment Requests"]
n5@{ icon: "mdi:swap-vertical", form: "rounded", label: "Assign Store Variables", 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/shopify.svg' width='40' height='40' /></div><br/>Retrieve Pending Orders"]
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/httprequest.dark.svg' width='40' height='40' /></div><br/>Submit Fulfillment Creation"]
n5 --> n6
n3 --> n1
n1 --> n4
n2 --> n5
n4 --> n7
n6 --> n3
n0 --> n5
n7 --> n1
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,n2 trigger
class n3,n6 decision
class n4,n7 api
classDef customIcon fill:none,stroke:none
class n4,n6,n7 customIcon
Problemet: ordrar fastnar som ”Ej uppfylld”
Att markera en order som uppfylld låter enkelt tills du gör det i bulk, varje dag, samtidigt som nya ordrar fortsätter att komma in. Någon kollar Shopify, någon annan kollar ett kalkylark och en tredje person skriver till kunden ”vi är på det”. Under tiden är Shopify-statusen fortfarande fel, vilket gör att din supportinkorg blir en statusrapporteringsservice. Det värsta är den mentala belastningen: du gör inte bara adminjobb, du ifrågasätter det också. En missad order kan trigga en återbetalningsbegäran eller en chargeback-diskussion du inte behövde.
Det växer snabbt. Här är var det oftast fallerar.
- Du lägger ofta 1–2 timmar om dagen på att klicka igenom ordrar bara för att hålla statusar ”strukturerade”.
- Shopifys API-flöde är förvirrande eftersom uppfyllelse ofta kräver ett Fulfillment Order ID, inte det Order ID du naturligt kopierar.
- Delvis uppfyllda ordrar skapar ”edge cases” som hoppas över, vilket gör att backloggen aldrig verkligen försvinner.
- Kunder ser fel status och ber om uppdateringar via WhatsApp, e-post och DM, så teamet svarar på samma fråga om och om igen.
Lösningen: auto-uppfyll kvalificerade Shopify-ordrar (och använd sedan WhatsApp för tydlighet)
Det här n8n-arbetsflödet automatiserar åtgärden ”Markera som uppfylld” för Shopify-ordrar som är kvalificerade att uppfyllas. Det börjar med att hämta en lista över ej uppfyllda ordrar från Shopify och filtrerar sedan ner till de du faktiskt vill hantera (till exempel senaste ordrar, eller ordrar som matchar dina produktregler). Därefter loopar det igenom ordrarna i hanterbara batchar, slår upp varje orders Fulfillment Order ID via Shopifys fulfillment-endpoints och skickar en begäran om att skapa en fulfillment. Om ordern är delvis uppfylld eller om API:et svarar med ett fel kan flödet hantera de fallen utan att hela körningen kraschar. Du får en smidigare och mer konsekvent uppfyllelseprocess utan att leva i adminpanelen.
Arbetsflödet kan köras schemalagt eller manuellt. Det startar med butiksvariabler (din Shopify Admin-URL), hämtar väntande ordrar och bearbetar sedan varje order i en hämta-och-uppfyll-loop. I slutet speglar Shopify-statusarna verkligheten, vilket gör WhatsApp-uppdateringar betydligt lugnare eftersom du inte längre gissar.
Det här får du: automatisering vs. resultat
| Vad det här arbetsflödet automatiserar | Resultat du får |
|---|---|
|
|
Exempel: så här ser det ut i praktiken
Säg att du får 40 ordrar om dagen och att du lägger cirka 2 minuter per order på att öppna den, kontrollera artiklar och markera den som uppfylld. Det är ungefär 80 minuter dagligen, och det blir värre under en kampanjvecka. Med det här arbetsflödet kan du låta den schemalagda triggern köra varje timme, eller starta det manuellt när ditt plock- och packfönster stänger. Realistiskt sett lägger du kanske 5 minuter på att granska undantag, inte en timme på att städa statusar.
Det här behöver du
- n8n-instans (prova n8n Cloud gratis)
- Alternativ för egen hosting om du föredrar det (Hostinger fungerar bra)
- Shopify för att hämta ordrar och markera uppfyllelse.
- WhatsApp för att minska statusuppföljningar (parat arbetsflöde).
- Shopify API-nyckel (skapa i Shopify Admin → Appar).
Kunskapsnivå: Medel. Du kopplar Shopify-uppgifter och justerar ett par filter på ett säkert sätt.
Vill du inte sätta upp detta själv? Prata med en automationsspecialist (gratis 15-minuters konsultation).
Så fungerar det
Ett schema eller en manuell körning startar det. Du kan köra det via den manuella triggern när du testar och sedan byta till den schemalagda triggern för löpande städning.
Dina butiksuppgifter sätts en gång. Arbetsflödet tilldelar din Shopify Admin-URL som en återanvändbar variabel, så du slipper hårdkoda inställningar i flera steg.
Ordrar hämtas, filtreras och bearbetas sedan i batchar. n8n hämtar alla ej uppfyllda ordrar från Shopify, filtrerar fram senaste eller kvalificerade ordrar och loopar sedan igenom dem med batchbearbetning så att du inte överbelastar API:et.
Uppfyllelse skapas med rätt uppfyllelseidentifierare. För varje order hämtar flödet listan med Fulfillment Orders, plockar ut Fulfillment Order ID som Shopify förväntar sig och skickar begäran ”markera fulfillment order som uppfylld” via HTTP.
Du kan enkelt ändra filtreringsreglerna för ordrar så att de matchar din katalog (endast digitalt, tredjepartsuppfyllelse, förhandsbokningar) utifrån dina behov. Se hela implementationsguiden nedan för anpassningsalternativ.
Steg-för-steg-guide för implementering
Steg 1: Konfigurera Schedule Trigger
Det här arbetsflödet kan köras vid behov eller enligt ett schema. Konfigurera den schemalagda triggern och behåll den manuella triggern för testning.
- Öppna Scheduled Automation Trigger och definiera ert schema under Rule för att styra hur ofta arbetsflödet körs.
- Behåll Manual Execution Start ansluten till Assign Store Variables för manuella testkörningar.
- Bekräfta att exekveringsflödet startar från Scheduled Automation Trigger → Assign Store Variables.
Tips: Använd Manual Execution Start för att verifiera inställningarna innan ni aktiverar den schemalagda körningen.
Steg 2: Anslut Shopify
Dessa noder kommunicerar med Shopify och kräver en access token-credential.
- Öppna Retrieve Pending Orders och ställ in Operation till
getAllmed Return All satt tilltrue. - Ställ in Fulfillment Status till
unfulfilledi Retrieve Pending Orders. - Credential krävs: Anslut era
shopifyAccessTokenApi-credentials i Retrieve Pending Orders. - Credential krävs: Anslut era
shopifyAccessTokenApi-credentials i Fetch Fulfillment Requests. - Credential krävs: Anslut era
shopifyAccessTokenApi-credentials i Submit Fulfillment Creation.
⚠️ Vanlig fallgrop: Saknade eller felaktiga Shopify-access tokens gör att HTTP-förfrågningarna misslyckas.
Steg 3: Konfigurera bearbetning och filtrering
Konfigurera butiksvariabler, filtrera senaste ordrar och förbered batchning för att iterera igenom ordrar.
- Öppna Assign Store Variables och sätt store-id till er Shopify-butiks slug:
{store-id}. - I Filter Recent Orders, behåll uttrycket för vänstervärdet som
{{ (new Date().getTime() - new Date($json.created_at).getTime()) / (1000 * 60 * 60) }}och sätt högervärdet till24för att styra tidsbaserad filtrering. - Bekräfta flödet Retrieve Pending Orders → Filter Recent Orders → Iterate Orders Batch för batchning av ordrar.
Steg 4: Konfigurera output och skapande av fulfillment
Dessa noder hämtar fulfillment orders och skapar fulfillments i Shopify.
- I Fetch Fulfillment Requests, ställ in URL till
=https://{{ $('Assign Store Variables').item.json['store-id'] }}.myshopify.com/admin/api/2025-01/orders/{{ $json.id }}/fulfillment_orders.json. - I Submit Fulfillment Creation, ställ in URL till
=https://{{ $('Assign Store Variables').item.json['store-id'] }}.myshopify.com/admin/api/2025-01/fulfillments.json. - Ställ in Method till
POST, aktivera Send Body och sätt JSON Body till={"fulfillment":{"line_items_by_fulfillment_order":[{"fulfillment_order_id":{{ $json.fulfillment_orders[0].id }}}],"notify_customer":true}}i Submit Fulfillment Creation. - Verifiera loopen: Submit Fulfillment Creation skickar output tillbaka till Iterate Orders Batch för att bearbeta nästa order.
Steg 5: Testa och aktivera ert arbetsflöde
Kör ett manuellt test för att bekräfta orderhämtning och skapande av fulfillment innan ni schemalägger körning i produktion.
- Klicka på Execute Workflow från Manual Execution Start för att testa end-to-end.
- En lyckad körning ska visa att Retrieve Pending Orders returnerar ordrar som inte är uppfyllda, följt av Fetch Fulfillment Requests och ett lyckat svar från Submit Fulfillment Creation.
- När ni har verifierat, aktivera arbetsflödet så att Scheduled Automation Trigger kör det enligt ert definierade schema.
Vanliga fallgropar
- Shopify-uppgifter kan löpa ut eller sakna rätt scopes. Om det slutar fungera, kontrollera först behörigheter för din private app/custom app i Shopify Admin.
- Om du använder Wait-noder eller extern rendering varierar bearbetningstider. Öka väntetiden om efterföljande noder fallerar på tomma svar.
- HTTP Request-anrop till Shopify kan fallera på grund av rate limiting eller en lite felaktig Admin-URL. Kontrollera körloggarna i n8n och bekräfta att ditt example_store_id.myshopify.com-värde är korrekt.
Vanliga frågor
Cirka 30 minuter om dina Shopify-uppgifter är klara.
Nej. Du kopplar Shopify och justerar sedan ett par filter och fält i n8n.
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 in Shopify-kostnader (oftast inga utöver din Shopify-plan) eftersom det här arbetsflödet använder Shopify och HTTP-anrop, inte ett betalt AI-API.
Två alternativ: n8n Cloud (hanterat, enklast att komma igång) eller egen hosting på en VPS. För egen hosting är Hostinger VPS prisvärd och hanterar n8n bra. Egen hosting ger obegränsade körningar men kräver grundläggande serverhantering.
Ja, och det bör du om du säljer en mix av produkter. Justera logiken i ”Filtrera senaste ordrar” så att bara dina digitala SKU:er (eller en specifik tagg) godkänns, och behåll sedan samma steg för uppfyllelseuppslag och skapande. Vissa butiker exkluderar också tredjepartsuppfyllda artiklar, presentkort eller prenumerationsförnyelser. Grundidén är densamma: skicka bara kvalificerade ordrar till anropen ”hämta fulfillment orders” och ”skicka skapande av fulfillment”.
Oftast handlar det om API-nyckel/scopes eller att butiks-URL:en är lite fel. Kontrollera Shopifys appbehörigheter för ordrar och uppfyllelse igen och bekräfta sedan att din Admin-URL matchar formatet yourstore.myshopify.com som används i arbetsflödets variabler. Om det bara fallerar vid större körningar kan det också vara rate limiting från Shopify, så batchning blir viktigare.
Några tusen ordrar per månad är realistiskt i de flesta upplägg, och om du kör egen hosting beror det främst på din server och Shopifys rate limits.
Ofta, ja, eftersom det här flödet behöver den extra logiken ”slå upp fulfillment orders och uppfyll sedan”, som blir klumpig i enklare verktyg. n8n gör också batchning enklare, vilket spelar roll när du bearbetar många ordrar och Shopify börjar enforceda begränsningar. En annan praktisk fördel är kostnadskontroll: egen hosting kan köra obegränsat antal körningar utan debitering per task. Zapier eller Make kan fortfarande vara bra för grundläggande uppgifter som ”skicka ett meddelande när en order är betald”, bara inte lika bekvämt för uppfyllelselogik som kräver flera API-anrop. Vill du ha en snabb rekommendation för din butik, prata med en automationsspecialist.
När Shopify-uppfyllelsen är korrekt sjunker WhatsApp-bruset av sig självt. Sätt upp det, låt det rulla och sluta lägga dina bästa timmar på statusstädning.
Kontakta oss
Hör av dig, så diskuterar vi hur just din verksamhet kan dra nytta av alla fantastiska möjligheter som AI skapar.