Felsöka fel i Shopify Flow
Shopify Flow hjälper dig att automatisera uppgifter och processer i din butik, men du kan stöta på fel eller nå vissa gränser när du skapar eller redigerar arbetsflöden. Den här sidan förklarar vanliga problem som du kan stöta på, till exempel arbetsflödesbegränsningar och datafel, och ger vägledning om hur du löser dem. Att förstå dessa fel kan hjälpa dig att felsöka problem och hålla dina arbetsflöden igång smidigt.
På den här sidan
Fel vid skapande av arbetsflöden
När du skapar ett arbetsflöde kan du stöta på fel som hindrar dig från att lägga till ett nytt arbetsflöde. Det här är några fel som du kan stöta på:
Gränsen för antal arbetsflöden har överskridits
När du skapar ett nytt arbetsflöde kan du stöta på ett felmeddelande som säger Du har uppnått den högsta tillåtna gränsen på 1 000 arbetsflöden. Radera oanvända arbetsflöden och försök igen för att fortsätta.
Flow begränsar antalet arbetsflöden som en butik kan ha till 1 000. Detta inkluderar aktiva och inaktiva arbetsflöden. Om du når den här gränsen och vill skapa ett nytt arbetsflöde måste du radera oanvända eller inaktiva arbetsflöden.
Om din butik hade fler än 1 000 arbetsflöden innan den här gränsen infördes kan din butik fortsätta att fungera med fler än 1 000 arbetsflöden. För att kunna skapa nya arbetsflöden måste du dock ligga under gränsen.
Du kan stöta på det här felet när du utför ett antal åtgärder i Flow-appen:
- Skapa ett nytt arbetsflöde
- Duplicera ett arbetsflöde
- Importera ett arbetsflöde
- Installera en mall
För många arbetsflöden på samma utlösare
När du aktiverar ett arbetsflöde kan du få en varning om att din butik har fler än 10 aktiva arbetsflöden som använder samma utlösare.
Att ha många arbetsflöden som delar samma utlösare kan orsaka prestandaproblem, eftersom Flow måste bearbeta alla tillhörande arbetsflöden varje gång utlösarhändelsen inträffar. Denna spridning kan leda till långsammare exekveringstider och ökad resursanvändning.
Överväg följande metoder för att minska antalet arbetsflöden för en och samma utlösare:
- Kombinera arbetsflöden som använder samma utlösare till ett enda arbetsflöde med flera förgreningar och villkor.
- Inaktivera eller radera arbetsflöden som inte längre behövs.
- Se över om vissa arbetsflöden skulle kunna använda en mer specifik utlösare i stället.
Fel vid redigering av arbetsflöden
När du redigerar ett arbetsflöde kan du stöta på fel som hindrar dig från att spara arbetsflödet. Följande är vanliga fel som du kan stöta på när du redigerar ett arbetsflöde:
Data hittades inte
När du lägger till en ny åtgärd i ett arbetsflöde kan du få ett felmeddelande som säger Data hittades inte:

Det här felet uppstår eftersom många åtgärder, inklusive Lägg till produkttaggar, kräver en Shopify-resurs, till exempel en produkt. Om den resursen inte är tillgänglig kan åtgärden inte köras. Det är vanligt att arbetsflöden innehåller data som liknar den data som krävs, men som i själva verket inte tillhandahåller det som behövs.
I följande avsnitt beskrivs vanliga scenarier som kan orsaka det här felet och hur du löser dem.
Problem 1: En lista tillhandahölls av Hämta data när en enskild artikel behövdes
Ofta tillhandahåller ett arbetsflöde en lista med Shopify-resurser, men åtgärden tillåter bara en enskild resurs. Till exempel tillhandahåller arbetsflödet en lista med produkter via Hämta produktdata men åtgärden Lägg till produkttaggar kräver en enskild produkt.
För att lösa det här felet kan du lägga till en För varje-åtgärd för att loopa över listan och anropa åtgärden för varje artikel i listan. Det här exemplet illustrerar både felet och lösningen med För varje:

Problem 2: En lista tillhandahölls av utlösaren när en enskild artikel behövdes
Ett liknande fel kan uppstå när en åtgärd kräver en enskild resurs men utlösaren tillhandahåller en lista. Till exempel kräver Markera en distributionsorder som distribuerad en distributionsorder, men utlösaren kommer från en order, som tillhandahåller en lista med distributionsordrar.
För att lösa det här felet kan du, precis som i Problem 1, lägga till en För varje-åtgärd för att loopa över listan och anropa åtgärden för varje artikel i listan:

Alternativt kan du använda en annan utlösare som tillhandahåller den nödvändiga resursen. Istället för att använda utlösaren Order skapad kan du till exempel använda utlösaren Distributionsorder redo för distribution, som tillhandahåller en enskild distributionsorder.

Problem 3: Inga data tillhandahölls av utlösaren Schemalagd tid
Utlösaren Schemalagd tid tillhandahåller inga Shopify-resursdata. Om du försöker ansluta åtgärder som kräver Shopify-resurser efter utlösaren kommer du att stöta på felet.
För att lösa det här felet lägger du till en åtgärd, till exempel Hämta produktdata, som tillhandahåller de data som krävs. Som nämnts i Problem 1 måste du också lägga till en För varje-åtgärd för att loopa över alla listor som returneras av en åtgärd som hämtar data.

Problem 4: Inga data tillhandahölls av en apputlösare
I likhet med problem 3 tillhandahåller vissa utlösare som skapats av appar inte de Shopify-resursdata som krävs. En utlösare för ”Recension skapad” kan till exempel tillhandahålla en e-postadress men inte ett kundobjekt, vilket behövs för många åtgärder, till exempel Lägg till kundtaggar.
För att lösa det här felet kanske du kan använda en ”Hämta data”-åtgärd för att hämta den Shopify-resurs du behöver. Du kan till exempel använda Hämta kunddata för att hämta kundobjektet från den e-postadress som tillhandahålls av utlösaren. Precis som med de andra problemen måste du också lägga till en För varje-åtgärd för att loopa över alla listor som returneras av en åtgärd som hämtar data.
Om ”Hämta data” inte är ett alternativ kan du behöva kontakta apputvecklaren för att fråga om de kan ändra sin utlösare för att tillhandahålla de data som krävs.
Gränsen för antal väntesteg har överskridits
När du lägger till nya väntesteg i ditt arbetsflöde kan du stöta på ett felmeddelande som säger Arbetsflöden måste ha 40 eller färre väntesteg.
Flow begränsar antalet väntesteg som är tillåtna i ett arbetsflöde till 40. Om du stöter på det här felet har du överskridit den här gränsen. Lös problemet genom att ta bort väntesteg på andra ställen i ditt arbetsflöde.
Om du redan hade arbetsflöden som innehöll fler än 40 väntesteg innan den här gränsen infördes, fortsätter ditt arbetsflöde att fungera som förväntat. För att kunna lägga till ytterligare väntesteg måste du dock först ta bort befintliga för att hålla dig under gränsen.
Dessutom får den totala väntetiden för alla väntesteg inte överstiga 90 dagar.
Storleksgräns för värde i konfigurationsfält överskriden
När du redigerar värdet för konfigurationsfält i villkor i ditt arbetsflöde kan du stöta på ett felmeddelande som säger Värdet i konfigurationsfältet måste vara under 50 kB.
Flow begränsar storleken på värdet i ett konfigurationsfält till 50 kB data. När du stöter på det här felet har du uppnått eller överskridit gränsen. Du löser problemet genom att förkorta längden på de data du lägger till i det fältet.
Om du redan har konfigurationsfält med ett värde på 50 kB eller mer fortsätter dina arbetsflöden att köras som förväntat. För att kunna göra ändringar i ditt arbetsflöde måste du dock ändra värdet som orsakar felet.
Fel när ett arbetsflöde körs
När en arbetsflödeskörning stöter på ett fel markeras den som misslyckad. Felmeddelandet visas i informationen för arbetsflödeskörningen. Följande är vanliga fel som du kan stöta på när en arbetsflödeskörning misslyckas:
- Tillfälliga fel är temporära fel som uppstår när Flow inte kan slutföra en uppgift. Nya försök görs för dessa fel tills de antingen lyckas eller når en tidsgräns.
- Permanenta fel är fel som uppstår när Flow inte kan slutföra en uppgift och det inte går att göra ett nytt försök för uppgiften.
Tillfälliga fel
Tillfälliga fel är temporära fel som uppstår när Flow inte kan slutföra en uppgift. Nya försök görs för dessa fel tills de antingen lyckas eller når en tidsgräns. Om Flow till exempel inte kan kontakta en partner när en anslutningsåtgärd utförs, görs nya försök för uppgiften flera gånger innan Flow ger upp.
Nya försök sprids ut och fördröjningen ökar mellan varje efterföljande försök. När ett arbetsflöde upplever tillfälliga fel förblir det vanligtvis i statusen körs under en lång tid medan nya försök görs för uppgifter.
När ett nytt försök för en uppgift lyckas fortsätter arbetsflödet. Om en uppgift som det gjorts ett nytt försök för drabbas av ett permanent fel misslyckas arbetsflödet. Varje arbetsflödessektion har en kombinerad övre körningsgräns på 36 timmar. Om ett steg med tillfälliga fel inte lyckas innan den gränsen uppnås misslyckas arbetsflödet.
Arbetsflöden med väntesteg är uppdelade i sektioner, vilket påverkar hur tidsgränser beräknas i ett arbetsflöde. Varje sektion är en grupp av uppgifter som utförs tillsammans, och var och en har sin egen tidsgräns på 36 timmar. Om ett arbetsflöde till exempel har ett väntesteg som väntar i en timme kommer uppgifterna före väntesteget att utföras tillsammans i en sektion och uppgifterna efter väntesteget kommer att utföras tillsammans i en annan sektion. Om ett arbetsflöde har flera väntesteg kommer uppgifterna mellan varje väntesteg att utföras tillsammans i en sektion. Arbetsflöden utan väntesteg betraktas som en sektion.
Enstaka tillfälliga fel är vanliga. Om du har ett arbetsflöde som konsekvent stöter på samma tillfälliga fel över flera körningar kan ditt arbetsflöde behöva konfigureras om.
Tidsgränsen för steget överskreds
Fel av typen Tidsgränsen för steget överskreds inträffar vanligtvis när en uppgift i arbetsflödet försöker söka efter för mycket data inom en sektion. Felet inträffar ofta i arbetsflöden som loopar igenom listor, särskilt nästlade listor som är för stora för att kunna bearbetas snabbt.
När det här felet inträffar visas utlösaren eller väntesteget som försöker igen.
Granska villkor som har åtkomst till listor och nästlade listor för att bekräfta att de har konfigurerats korrekt för att lösa det här problemet. Ett vanligt problem är ett villkor som kontrollerar alla produkter i en butik, i stället för bara produkterna i en order.
5XX-status
De flesta Flow-åtgärder innebär att man gör HTTP-anrop. Ibland kan nätverks- eller andra serverproblem leda till att HTTP-anrop misslyckas och returnerar en felkod mellan 500 och 599. Att se en enstaka förekomst av det här felet är inget problem, men upprepade fall kan tyda på ett problem med servern som hanterar uppgiften, snarare än hur steget är konfigurerat.
Den här typen av fel visas oftast för åtgärden Skicka HTTP-begäran, men den kan inträffa för de flesta uppgifter.
GraphQL-begränsning
Den totala arbetsvolymen som slutförs av ett arbetsflöde begränsas av API-anropsgränser, som delvis bestäms av din prenumerationsplan. Vanligtvis nås inte dessa gränser om inte ett arbetsflöde är mycket komplext eller innehåller ett oavsiktligt designfel.
Följande exempel beskriver situationer som kan leda till det här felet:
- Liquid eller villkor i arbetsflödet loopar över en lista med stora mängder data, till exempel att kontrollera metafältvärden som innehåller HTML.
- Liquid eller villkor i arbetsflödet loopar över en stor lista, till exempel att loopa över
shop.ordersi en stor butik. - Ett arbetsflöde resulterar i en oändlig loop där arbetsflödet fortsätter att skapa nya arbetsflödeskörningar. Detta kan till exempel hända om arbetsflödet använder utlösaren Kundtaggar har lagts till och inkluderar åtgärden Lägg till kundtaggar.
Om gränsen nås får du felet GraphQL-begränsning. Det här felet kan påverka andra arbetsflöden när de försöker köras, så lös det här felet omedelbart om det inträffar.
Permanenta fel
Permanenta fel är fel som uppstår när Flow inte kan slutföra en uppgift, och inget nytt försök kan göras för uppgiften. Om Flow till exempel inte kan skicka ett e-postmeddelande eftersom e-postadressen är ogiltig görs inget nytt försök för uppgiften. I stället misslyckas arbetsflödet.
Fält: id krävs men är tomma
Shopify-åtgärder kräver en eller flera resurser för att köras, till exempel en produkt, kund eller order. Om den nödvändiga resursen inte är tillgänglig kan åtgärden inte köras som avsett. Till exempel kan en order skapas i Shopify admin utan en kund. Om du kör en åtgärd, till exempel Lägg till kundtaggar, misslyckas åtgärden med det här felet.
För att förhindra det här felet, lägg till ett villkor före åtgärden för att kontrollera om resursen finns. Om du i föregående exempel vill skicka ett internt e-postmeddelande i samma arbetsflöde som Lägg till kundtaggar kan du antingen placera e-poståtgärden före steget som kan misslyckas eller använda en av följande metoder:
Placera åtgärderna i parallella grenar (där två eller flera grenar kommer från ett steg):

Lägg till ett villkor före åtgärden för att kontrollera om kunden finns. Du kan till exempel kontrollera om order/kund/id inte är tomt och existerar.

Flow har inte behörighet till ditt Google Sheets-konto. Anslut ditt konto igen.
Google Sheets-anslutningen kräver att du länkar ditt Google-konto till Flow för att ha behörighet att skriva till kalkylbladet. Det här felet kan inträffa när Flow inte har behörighet att skriva till ett kalkylblad, antingen för att kontot har kopplats bort från Flow eller för att kontot inte har åtkomst till det kalkylbladet.
Se till att kontot som används för anslutningen kan öppna kalkylbladet och har redigeringsbehörighet för att lösa detta. Om fel konto är länkat kan du koppla från det och ansluta ett nytt.
Steg:
- Öppna ett befintligt arbetsflöde eller skapa ett nytt.
- Lägg till en åtgärd i arbetsflödet.
- Välj Google Sheets-anslutningen.
- Klicka på Koppla från och sedan på Anslut för att återansluta rätt Google-konto.
Flow-åtgärd mottagen med ogiltiga egenskaper. Kunden accepterar inte marknadsföring.
Åtgärden Skicka marknadsföringsmeddelande skickar inte e-post till kunder som inte har gett sitt samtycke till att ta emot dem, och den misslyckas permanent om arbetsflödet försöker göra det.
För att lösa detta, lägg till ett villkor i arbetsflödet som kontrollerar kundens prenumerationsstatus. Du kan säkerställa att kunderna har gett sitt samtycke till att ta emot marknadsföringsmeddelanden innan du skickar dem. Följ stegen i Hantering av e-postprenumerantlistor.
Resurs saknas för [resurstyp]
Detta fel indikerar att en resurs, såsom kund eller order, har raderats innan arbetsflödet kunde hämta dess data. Oftast sker detta efter ett väntesteg, men det är möjligt att det även händer vid utlösaren om resursen raderas mycket snabbt efter att utlösarhändelsen inträffar.
Få avisering när ett fel inträffar
Om fel påverkar din butiksverksamhet kan du konfigurera aviseringar för när ett fel inträffar. Felaviseringar kan skapas som ett arbetsflöde med hjälp av utlösaren Fel har inträffat i arbetsflödet. Felaviseringarna är utformade för att begränsa störningar, så du får bara en avisering per arbetsflödesversion.
För att komma igång kan du använda en av följande mallar:
- Få en Shopify-avisering när fel upptäcks vid körning av arbetsflöden
- Få ett e-postmeddelande när fel upptäcks vid körning av arbetsflöden
- Få en Slack-avisering när fel upptäcks vid körning av arbetsflöden
Köra körningar på nytt
I vissa fall kan en arbetsflödeskörning drabbas av ett fel eller inte köras som avsett. Efter att ha felsökt och åtgärdat problemen i det relaterade arbetsflödet kan tidigare körningar köras om manuellt för att retroaktivt korrigera resultatet. Läs mer om att köra om arbetsflödeskörningar.
Körning (hastighetsbegränsad)
I vissa fall kan ett eller flera arbetsflöden använda för många resurser. För att förhindra att detta orsakar problem kommer Flow då avsiktligt att begränsa körningarna i din butik, vilket kan orsaka fördröjningar och timeout-fel. Detta kan åtgärdas genom att skriva om ineffektiva arbetsflöden, vanligtvis för att åtgärda en bugg som gjorde att de inte fungerade som avsett.
För lång körningstid
Det här meddelandet indikerar att körningar för ett arbetsflöde tar mycket lång tid att genomföra. Detta orsakas vanligtvis av att en stor mängd data används i ett arbetsflöde, vilket tar lång tid för Flow att hämta.
Dessa fall orsakas vanligtvis av djupa sökvägar för förfrågningar som går igenom flera listor med artiklar (till exempel att begära alla metafält för alla produkter i alla produktserier som en produkt är en del av):

Detta hänger också ofta ihop med att utlösarsteget i ett arbetsflöde drabbas av en timeout.
Arbetsflöden som loopar igenom alla metafält kan ofta förbättras genom att bara använda ett specifikt metafält. Åtkomst till flera nästlade listor (till exempel alla produkter i alla produktserier för en produkt) eller särskilt stora listor (till exempel definitioner för metafält, som innehåller alla metafält för alla objekt) kan ha skett oavsiktligt. Att välja rätt fält (den enskilda produkten eller ett enskilt metafält på ett objekt) kan avsevärt förbättra effektiviteten. I andra fall kan användning av åtgärden ”Hämta produkt-/order-/kunddata” med ett sökfrågefilter avsevärt minska antalet objekt som används, samtidigt som de relevanta fortfarande är åtkomliga.
Bearbetning av för mycket data
Det här meddelandet indikerar att körningar för ett arbetsflöde genererar en stor mängd data. Detta orsakas vanligtvis av komplexa villkor som kontrollerar många fält, ofta på flera nivåer av listor.
Till exempel kan ett villkor som ”För minst en tagg på den här kunden, för minst en orderpost, för minst en tagg på posten” leda till att många kontroller utförs och att en stor mängd data genereras för att visa resultatet av dessa kontroller:

Misslyckade automatiska omförsök
Det här meddelandet indikerar att körningar för ett arbetsflöde upprepade gånger misslyckas på grund av ett tillfälligt problem, men att de sällan lyckas vid efterföljande omförsök. Detta inträffar ofta när antingen Shopifys Admin API eller en partners app hanterar en stor mängd förfrågningar.