Fouten in Shopify Flow oplossen
Shopify Flow helpt je bij het automatiseren van taken en processen in je winkel, maar je kunt fouten tegenkomen of bepaalde limieten bereiken bij het aanmaken of bewerken van workflows. Op deze pagina worden veelvoorkomende problemen uitgelegd, zoals workflowlimieten en gegevensfouten, en wordt advies gegeven over hoe je ze kunt oplossen. Als je deze fouten begrijpt, kun je problemen oplossen en je workflows soepel laten verlopen.
Op deze pagina
Fouten bij het aanmaken van workflows
Bij het aanmaken van een workflow kun je fouten tegenkomen die voorkomen dat je een nieuwe workflow kunt toevoegen. Dit zijn enkele fouten die je kunt tegenkomen:
Workflowaantal overschreden
Wanneer je een nieuwe workflow aanmaakt, kun je een foutmelding krijgen met de tekst: Je hebt de maximumlimiet van 1000 toegestane workflows bereikt. Verwijder ongebruikte workflows en probeer het opnieuw om door te gaan.
Flow beperkt het aantal workflows dat een winkel kan hebben, met een limiet van 1000. Dit omvat actieve en inactieve workflows. Als je deze limiet bereikt en een nieuwe workflow wilt aanmaken, verwijder dan ongebruikte of inactieve workflows.
Als je winkel meer dan 1000 workflows had voordat deze limiet werd ingesteld, kan je winkel blijven werken met meer dan 1000 workflows. Om nieuwe workflows aan te maken, moet je echter onder de limiet zitten.
Je kunt deze fout tegenkomen bij het uitvoeren van een aantal acties in de Flow-app:
- Een nieuwe workflow aanmaken
- Een workflow dupliceren
- Een workflow importeren
- Een template installeren
Te veel workflows voor dezelfde trigger
Bij het activeren van een workflow zie je mogelijk een waarschuwing dat je winkel meer dan 10 actieve workflows heeft die dezelfde trigger gebruiken.
Als veel workflows dezelfde trigger delen, kan dit prestatieproblemen veroorzaken. Flow moet namelijk telkens wanneer de trigger plaatsvindt, alle bijbehorende workflows verwerken. Deze spreiding kan leiden tot tragere uitvoeringstijden en meer resourcegebruik.
Overweeg de volgende methoden om het aantal workflows voor één trigger te verminderen:
- Combineer workflows die dezelfde trigger gebruiken tot één workflow met meerdere vertakkingen en voorwaarden.
- Deactiveer of verwijder workflows die niet meer nodig zijn.
- Controleer of sommige workflows in plaats daarvan een specifiekere trigger kunnen gebruiken.
Fouten bij het bewerken van workflows
Wanneer je een workflow bewerkt, kun je fouten tegenkomen die verhinderen dat je de workflow opslaat. Hieronder volgen veelvoorkomende fouten die je kunt tegenkomen bij het bewerken van een workflow:
Gegevens niet gevonden
Wanneer je een nieuwe actie aan een workflow toevoegt, kun je de foutmelding Gegevens niet gevonden krijgen:

Deze fout treedt op omdat voor veel acties, waaronder Producttags toevoegen, een Shopify-resource nodig is, zoals een Product. Als die resource niet beschikbaar is, kan de actie niet worden uitgevoerd. Het komt vaak voor dat workflows gegevens bevatten die lijken op de vereiste gegevens, maar niet daadwerkelijk bieden wat nodig is.
De volgende secties beschrijven veelvoorkomende scenario's die deze fout kunnen veroorzaken en hoe je ze kunt oplossen.
Probleem 1: Er is een lijst verstrekt door 'Gegevens ophalen' terwijl één artikel nodig was
Vaak levert een workflow een lijst met Shopify-resources, maar de actie staat slechts één resource toe. De workflow levert bijvoorbeeld een lijst met producten via de actie Productgegevens ophalen, maar de actie Producttags toevoegen vereist één enkel product.
Om deze fout op te lossen, kun je een Voor elke-actie toevoegen om de lijst te doorlopen en de actie voor elk artikel in de lijst aan te roepen. Dit voorbeeld illustreert zowel de fout als de oplossing met Voor elke:

Probleem 2: Er is een lijst verstrekt door de trigger terwijl één artikel nodig was
Een vergelijkbare fout kan optreden wanneer een actie één resource vereist, maar de trigger een lijst levert. De actie Een fulfilmentbestelling als afgehandeld markeren vereist bijvoorbeeld een Fulfilmentbestelling, maar de trigger is afkomstig van een Bestelling, die een lijst met fulfillment-bestellingen levert.
Om deze fout op te lossen, kun je, net als bij Probleem 1, een Voor elke-actie toevoegen om de lijst te doorlopen en de actie voor elk artikel in de lijst aan te roepen:

Je kunt ook een andere trigger gebruiken die de vereiste resource levert. In plaats van de trigger Bestelling aangemaakt kun je bijvoorbeeld de trigger Fulfilmentbestelling klaar om af te handelen gebruiken. Deze levert één fulfilmentbestelling.

Probleem 3: Er zijn geen gegevens verstrekt door de trigger 'Geplande tijd'
De trigger Geplande tijd levert geen Shopify-resourcegegevens. Als je na de trigger probeert acties te koppelen die Shopify-resources vereisen, krijg je de foutmelding.
Om deze fout op te lossen, voeg je een actie toe, zoals Productgegevens ophalen, die de vereiste gegevens levert. Zoals opgemerkt in Probleem 1, moet je ook een Voor elke-actie toevoegen om elke lijst te doorlopen die wordt geretourneerd door een actie die gegevens ophaalt.

Probleem 4: Er zijn geen gegevens verstrekt door een app-trigger
Net als bij probleem 3 leveren sommige triggers die door apps zijn gemaakt niet de vereiste Shopify-resourcegegevens. Een trigger 'Review aangemaakt' kan bijvoorbeeld een e-mailadres leveren, maar niet een Klant-object. Dit is nodig voor veel acties, zoals Klanttags toevoegen.
Om deze fout op te lossen, kun je mogelijk een 'Gegevens ophalen'-actie gebruiken om de benodigde Shopify-resource op te halen. Je kunt bijvoorbeeld Klantgegevens ophalen gebruiken om het klantobject op te halen uit het e-mailadres dat door de trigger wordt geleverd. Net als bij de andere problemen, moet je ook een Voor elke-actie toevoegen om elke lijst te doorlopen die wordt geretourneerd door een actie die gegevens ophaalt.
Als 'Gegevens ophalen' geen optie is, moet je mogelijk contact opnemen met de app-ontwikkelaar om te vragen of ze hun trigger kunnen aanpassen om de vereiste gegevens te leveren.
Aantal wachtstappen overschreden
Wanneer je nieuwe wachtstappen aan je workflow toevoegt, kan er een foutmelding verschijnen met de tekst: Workflows mogen maximaal 40 wachtstappen bevatten.
Flow beperkt het aantal toegestane wachtstappen in een workflow tot 40. Als je deze fout tegenkomt, heb je deze limiet overschreden. Om het probleem op te lossen, verwijder je wachtstappen elders in je workflow.
Als je al workflows had met meer dan 40 wachtstappen voordat deze limiet werd ingevoerd, blijft je workflow gewoon functioneren. Om extra wachtstappen toe te voegen, moet je echter eerst bestaande stappen verwijderen om onder de limiet te blijven.
Bovendien mag de totale wachttijd van alle wachtstappen bij elkaar niet langer zijn dan 90 dagen.
Groottelimiet voor waarde van configuratieveld overschreden
Wanneer je de waarde van configuratievelden binnen voorwaarden in je workflow bewerkt, kun je een foutmelding krijgen met de tekst: De waarde van het configuratieveld moet kleiner zijn dan 50 kB.
Flow beperkt de grootte van de waarde van een configuratieveld tot 50 kB aan gegevens. Wanneer je deze fout tegenkomt, heb je de limiet bereikt of overschreden. Om dit probleem op te lossen, verkort je de gegevens die je aan dat veld toevoegt.
Als je al configuratievelden hebt met een waarde van 50 kB of meer, blijven je workflows gewoon draaien. Om wijzigingen in je workflow aan te brengen, moet je echter de waarde die de fout veroorzaakt, aanpassen.
Fouten wanneer een workflow wordt uitgevoerd
Wanneer een workflow-run een fout tegenkomt, wordt de run gemarkeerd als mislukt. Het foutbericht wordt weergegeven in de run-gegevens. Hieronder volgen veelvoorkomende fouten die je kunt tegenkomen wanneer een workflow-run mislukt:
- Tijdelijke fouten zijn fouten die optreden wanneer Flow een taak niet kan voltooien. Deze taken worden opnieuw geprobeerd totdat ze slagen of een time-outlimiet bereiken.
- Permanente fouten zijn fouten die optreden wanneer Flow een taak niet kan voltooien en de taak niet opnieuw kan worden geprobeerd.
Tijdelijke fouten
Tijdelijke fouten zijn fouten die optreden wanneer Flow een taak niet kan voltooien. Deze taken worden opnieuw geprobeerd totdat ze slagen of een time-outlimiet bereiken. Als Flow bijvoorbeeld geen contact kan maken met een partner bij het uitvoeren van een connector-actie, probeert Flow de taak meerdere keren opnieuw voordat de poging wordt gestaakt.
Nieuwe pogingen worden gespreid, waarbij de vertraging tussen elke volgende poging toeneemt. Wanneer een workflow tijdelijke fouten ondervindt, blijft deze doorgaans lang in de status actief staan terwijl taken opnieuw worden geprobeerd.
Wanneer een taak met succes opnieuw wordt geprobeerd, gaat de workflow verder. Als een opnieuw geprobeerde taak een permanente fout ondervindt, mislukt de workflow. Elke workflowsectie heeft een gecombineerde maximale uitvoeringslimiet van 36 uur. Als een stap met tijdelijke fouten niet slaagt voordat die limiet wordt bereikt, mislukt de workflow.
Workflows met wachtstappen zijn verdeeld in secties, wat van invloed is op hoe time-outlimieten in een workflow worden berekend. Elke sectie is een groep taken die samen worden uitgevoerd en elk heeft zijn eigen tijdslimiet van 36 uur. Als een workflow bijvoorbeeld een wachtstap heeft die een uur wacht, worden de taken vóór de wachtstap samen in één sectie uitgevoerd en de taken na de wachtstap samen in een andere sectie. Als een workflow meerdere wachtstappen heeft, worden de taken tussen elke wachtstap samen in één sectie uitgevoerd. Workflows zonder wachtstap worden als één sectie beschouwd.
Tijdelijke fouten komen af en toe voor. Als je echter een workflow hebt die bij meerdere runs steeds dezelfde tijdelijke fout tegenkomt, moet je workflow mogelijk opnieuw worden geconfigureerd.
Time-out van stap
De fout Time-out van stap treedt meestal op wanneer een taak in de workflow te veel gegevens probeert op te vragen binnen één sectie. Deze fout komt vaak voor in workflows die lijsten doorlopen, met name geneste lijsten die te groot zijn om snel te verwerken.
Wanneer deze fout optreedt, wordt de trigger of wachtstap weergegeven als opnieuw proberen.
Om dit probleem op te lossen, controleer je de voorwaarden die toegang hebben tot lijsten en geneste lijsten om te bevestigen dat ze correct zijn ingesteld. Een veelvoorkomend probleem is een voorwaarde die alle producten in een winkel controleert, in plaats van alleen de producten in een bestelling.
Status 5XX
De meeste Flow-acties omvatten het doen van HTTP-aanroepen. Soms kunnen netwerk- of andere serverproblemen ervoor zorgen dat HTTP-aanroepen mislukken en een foutcode tussen 500 en 599 retourneren. Een enkel geval van deze fout is geen probleem, maar herhaalde gevallen kunnen duiden op een probleem met de server die de taak afhandelt, in plaats van hoe de stap is geconfigureerd.
Dit type fout wordt het vaakst weergegeven bij de actie HTTP-verzoek verzenden, maar kan bij de meeste taken voorkomen.
GraphQL throttled
Het totale werkvolume dat door een workflow wordt voltooid, wordt beperkt door API-limieten, die deels worden bepaald door je abonnement. Normaal gesproken worden deze limieten niet bereikt, tenzij een workflow erg complex is of een onbedoelde ontwerpfout bevat.
In de volgende voorbeelden worden situaties beschreven die tot deze fout kunnen leiden:
- Liquid of voorwaarden in de workflow doorlopen een lijst met grote hoeveelheden gegevens, zoals het controleren van metaveldwaarden die HTML bevatten.
- Liquid of voorwaarden in de workflow doorlopen een grote lijst, zoals het doorlopen van
shop.ordersin een grote winkel. - Een workflow resulteert in een eindeloze lus waarin de workflow steeds nieuwe workflow-runs blijft aanmaken. Dit kan bijvoorbeeld gebeuren als de workflow de trigger Klanttags toegevoegd gebruikt en de actie Klanttags toevoegen bevat.
Als de limiet wordt bereikt, ontvang je een GraphQL throttled-fout. Deze fout kan van invloed zijn op andere workflows wanneer deze proberen te worden uitgevoerd, dus los deze fout onmiddellijk op als deze optreedt.
Permanente fouten
Permanente fouten zijn fouten die optreden wanneer Flow een taak niet kan voltooien en de taak niet opnieuw kan worden geprobeerd. Als Flow bijvoorbeeld geen e-mail kan verzenden omdat het e-mailadres ongeldig is, wordt de taak niet opnieuw geprobeerd. In plaats daarvan mislukt de workflow.
Velden: id zijn vereist maar zijn leeg
Voor Shopify-acties zijn een of meer resources nodig om te kunnen worden uitgevoerd, zoals een product, klant of bestelling. Als de benodigde resource niet beschikbaar is, kan de actie niet worden uitgevoerd zoals bedoeld. Er kan bijvoorbeeld een bestelling worden aangemaakt in het Shopify-beheercentrum zonder klant. Als je een actie uitvoert, zoals Klanttags toevoegen, mislukt de actie met deze fout.
Voeg, om deze fout te voorkomen, een voorwaarde toe vóór de actie om te controleren of de resource bestaat. Als je in het vorige voorbeeld een interne e-mail wilt verzenden in dezelfde workflow als Klanttags toevoegen, kun je de e-mailactie vóór de stap plaatsen die kan mislukken of een van de volgende benaderingen gebruiken:
Plaats de acties in parallelle branches (waarbij 2 of meer branches uit een stap komen):

Voeg een voorwaarde toe vóór de actie om te controleren of de klant aanwezig is. Je kunt bijvoorbeeld controleren of order / customer / id is not empty and exists.

Flow heeft geen toestemming voor je Google Sheets-account. Koppel je account opnieuw.
Voor de Google Sheets-connector moet je je Google-account aan Flow koppelen om toestemming te hebben om naar het blad te schrijven. Deze fout kan optreden wanneer Flow geen toestemming heeft om naar een blad te schrijven, omdat het account is ontkoppeld van Flow of omdat dat account geen toegang heeft tot dat blad.
Om dit op te lossen, zorg je ervoor dat het account dat voor de connector wordt gebruikt, het blad kan openen en bewerkingstoegang heeft. Als het verkeerde account is gekoppeld, kun je het ontkoppelen en een nieuw account koppelen.
Stappen:
- Open een bestaande workflow of maak een nieuwe workflow aan.
- Voeg een actie toe aan de workflow.
- Selecteer de Google Sheets-connector.
- Klik op Ontkoppelen en vervolgens op Koppelen om het juiste Google-account opnieuw te koppelen.
Flow-actie ontvangen met ongeldige eigenschappen. Klant accepteert geen marketing.
De actie Marketingmail verzenden verzendt geen e-mails naar klanten die niet hebben ingestemd om ze te ontvangen en mislukt permanent als de workflow dit toch probeert.
Voeg, om dit op te lossen, een voorwaarde toe in de workflow die de abonnementsstatus van de klanten controleert. Je kunt ervoor zorgen dat klanten hebben ingestemd met het ontvangen van marketing-e-mails voordat je ze verzendt. Volg de stappen in Beheer van e-maillijst met abonnees.
Ontbrekende resource voor [resourcetype]
Deze fout geeft aan dat een resource, zoals customer of order, is verwijderd voordat de workflow de gegevens ervan kon ophalen. Dit gebeurt meestal na een wachtstap, maar het kan ook gebeuren bij de trigger als de resource zeer snel na de triggergebeurtenis wordt verwijderd.
Een melding ontvangen wanneer er een fout optreedt
Als fouten invloed hebben op je winkelactiviteiten, kun je meldingen instellen voor wanneer er een fout optreedt. Foutmeldingen kunnen worden ingesteld als een workflow met de trigger Workflowfout opgetreden. Foutmeldingen zijn ontworpen om ruis te beperken, dus je ontvangt slechts één melding per workflowversie.
Om te beginnen kun je een van de volgende sjablonen gebruiken:
- Shopify-melding ontvangen wanneer fouten in een workflow-run worden gedetecteerd
- Per e-mail een melding ontvangen wanneer fouten in een workflow-run worden gedetecteerd
- Slack-melding ontvangen wanneer fouten in een workflow-run worden gedetecteerd
Runs opnieuw proberen
In sommige gevallen kan een workflow-run een fout tegenkomen of niet worden uitgevoerd zoals bedoeld. Nadat je de problemen in de desbetreffende workflow hebt opgelost, kunnen eerdere runs handmatig opnieuw worden geprobeerd om het resultaat van die runs met terugwerkende kracht te corrigeren. Meer informatie over het opnieuw proberen van workflow-runs.
Wordt uitgevoerd (frequentie beperkt)
In sommige gevallen kan een workflow (of kunnen workflows) te veel resources gebruiken. Om te voorkomen dat dit problemen veroorzaakt, beperkt Flow opzettelijk de uitvoering van runs in je winkel, wat vertragingen en time-outfouten kan veroorzaken. Dit kan worden opgelost door inefficiënte workflows te herschrijven, meestal om een bug te verhelpen waardoor de workflow niet naar behoren functioneerde.
Uitvoering duurt te lang
Dit bericht geeft aan dat de uitvoering van runs voor een workflow erg lang duurt. Dit wordt meestal veroorzaakt door het gebruik van een grote hoeveelheid gegevens in een workflow waarvan het voor Flow veel tijd kost om ze op te halen.
Deze gevallen worden meestal veroorzaakt door diepe aanvraagpaden die door meerdere lijsten met artikelen gaan (zoals het opvragen van alle metavelden voor alle producten in alle collecties waar een product deel van uitmaakt):

Dit hangt ook vaak samen met het time-outen van de triggerstap van een workflow.
Workflows die alle metavelden doorlopen, kunnen vaak worden verbeterd door slechts één specifiek metaveld te gebruiken. Het benaderen van meerdere geneste lijsten (zoals alle producten in alle collecties voor een product) of bijzonder grote lijsten (zoals metavelddefinities, die alle metavelden voor alle objecten bevatten) is mogelijk onbedoeld. Door het juiste veld te selecteren (het afzonderlijke product of een afzonderlijk metaveld voor een object) kan de efficiëntie aanzienlijk worden verbeterd. In andere gevallen kan het gebruik van de actie ‘Product-, bestellings- of klantgegevens ophalen’ met een queryfilter het aantal gebruikte objecten aanzienlijk verminderen, terwijl je nog steeds toegang hebt tot de relevante objecten.
Verwerkt te veel gegevens
Dit bericht geeft aan dat runs voor een workflow een grote hoeveelheid gegevens genereren. Dit wordt meestal veroorzaakt door complexe voorwaarden die veel velden controleren, meestal door het controleren van velden op meerdere lijstniveaus.
Een voorwaarde als ‘Voor ten minste één tag bij deze klant, voor ten minste één orderregel, voor ten minste één tag op de orderregel’ kan er bijvoorbeeld toe leiden dat er veel controles worden uitgevoerd en dat er veel gegevens worden gegenereerd om de resultaten van die controles weer te geven:

Automatische nieuwe pogingen mislukken
Dit bericht geeft aan dat runs voor een workflow herhaaldelijk mislukken vanwege een tijdelijk probleem, maar dat ze bij volgende nieuwe pogingen niet vaak slagen. Dit gebeurt vaak wanneer de Admin API van Shopify of de app van een partner een groot aantal aanvragen te verwerken krijgt.