Schema's, gegevens ophalen en herhalende workflows in Shopify Flow

In de meeste gevallen kun je een workflow bouwen door meerdere voorwaarden en acties te koppelen aan een trigger die wordt uitgevoerd wanneer een gebeurtenis plaatsvindt. Voor complexere gebruiksscenario's bestaat er mogelijk geen trigger voor wat je wilt doen, moet de workflow op een bepaald tijdstip worden uitgevoerd of moet je met een lijst met gegevens werken. In deze gevallen kun je triggers voor geplande tijd, 'gegevens ophalen'-acties en lussen gebruiken om geavanceerde workflows aan te maken.

Stel bijvoorbeeld dat je een dagelijks overzicht van openstaande bestellingen wilt ontvangen. Met deze set functies kun je een workflow uitvoeren die elke dag op een bepaald tijdstip wordt gestart, die bestellingen ophaalt en je er vervolgens een overzicht van stuurt. Je kunt meer voorbeelden en templates bekijken die gebruikmaken van deze triggers en acties.

Trigger 'Geplande tijd'

In plaats van een workflow te starten vanwege een gebeurtenis, start de trigger Geplande tijd een workflow op een specifieke tijd en datum die jij opgeeft. Je kunt de workflow ook zo plannen dat deze elk uur, elke dag, elke week of elke maand wordt herhaald. Omdat de workflow volgens een planning wordt uitgevoerd, moet je een actie gebruiken om gegevens zoals klanten, bestellingen of producten op te halen. Dit kun je doen met 'Gegevens ophalen'-acties.

De trigger 'Geplande tijd' kan elke 10 minuten worden uitgevoerd.

'Gegevens ophalen'-acties

De meeste acties veranderen iets in je winkel, bijvoorbeeld tags aan een klant toevoegen of een opdracht naar een app sturen, zoals een app de instructie geven om een pushmelding naar een klant te sturen.

'Gegevens ophalen'-acties halen gegevens uit je winkel op voor gebruik in Flow. Deze acties roepen een query aan met een set filters, bijvoorbeeld om alleen gegevens op te halen die de afgelopen dag zijn bijgewerkt. De actie retourneert een lijst met gegevens die aan die criteria voldoen. De actie Bestelgegevens ophalen roept bijvoorbeeld de Order-query aan op de Admin API en retourneert een lijst met bestellingen die overeenkomen met je query.

'Gegevens ophalen'-acties kunnen alleen worden uitgevoerd op lijsten van maximaal 100 artikelen.

De volgende acties halen informatie uit je winkel op, zodat je die gegevens in je workflow kunt gebruiken. Raadpleeg elke actie voor meer informatie over hoe je gegevens filtert en welke gegevens worden geretourneerd:

Liquid-tags in 'Gegevens ophalen'-acties

Wanneer je een 'Gegevens ophalen'-actie met datums gebruikt, kun je de Liquid-tags date_minus en date_plus gebruiken om datums in je query te wijzigen. Om bijvoorbeeld een datum te berekenen die 5 dagen voor de geplande uitvoeringstijd van een workflow ligt, kun je de volgende Liquid gebruiken:

{{ scheduledAt | date_minus: "5 days" }}

Raadpleeg de documentatie over Liquid-variabelen voor meer informatie over het gebruik van deze tags.

'Voor elke'-lussen

Wanneer je een 'Gegevens ophalen'-actie gebruikt, krijg je een lijst met gegevens die overeenkomt met je query. Je kunt de actie Voor elke-loop (herhalen) gebruiken om die lijst te doorlopen. In een 'Voor elke'-loop kun je voorwaarden en acties gebruiken die alleen op dat specifieke artikel van toepassing zijn.

Je maakt bijvoorbeeld een workflow aan die elke maandag wordt uitgevoerd. De workflow gebruikt de actie Bestelgegevens ophalen om bestellingen op te halen die in die week zijn geplaatst. De 'Voor elke'-loop (herhalen) past vervolgens een tag Nieuwe bestelling toe op elke bestelling die wordt geretourneerd door de lijst getOrderData. Nadat alle bestellingen in de lijst zijn getagd, wordt er een interne e-mail verzonden om aan te geven dat het taggen is voltooid.

Voorbeeld van een workflow die een lijst met bestellingen van de afgelopen week ophaalt, een tag toevoegt aan elke bestelling en vervolgens een e-mail stuurt.

Aggregatieacties

Wanneer je met lijsten werkt, wil je misschien het aantal artikelen tellen om te gebruiken in latere voorwaarden en acties. Je wilt bijvoorbeeld controleren of er meer dan 0 resultaten zijn voordat je een e-mail verzendt. Flow biedt deze acties om berekeningen uit te voeren op lijstgegevens in een workflow:

  • Tellen retourneert het aantal items in een lijst.
  • Optellen telt de waarden van items in een lijst bij elkaar op.

Voorbeelden van geavanceerde workflows in Shopify Flow

Bekijk enkele voorbeelden van geavanceerde workflows die je kunt gebruiken in Shopify Flow:

Een dagelijks overzicht ontvangen van bestellingen die buiten een fulfilmentperiode van twee dagen vallen

Deze workflow kan worden gebruikt om te bepalen of bestellingen een gegarandeerde verzendtermijn hebben overschreden en, zo ja, wat de waarde van die bestellingen is.

In dit voorbeeld wordt de workflow elke dag om 17.00 uur uitgevoerd. De workflow gebruikt de actie Get order data om een lijst op te halen van bestellingen die niet binnen een verzendperiode van twee dagen zijn afgehandeld. Vervolgens voegt de actie For each een tag toe aan alle te late bestellingen. De workflow gebruikt ook de actie Count om het aantal te late bestellingen te bepalen en de actie Sum om de waarde van die bestellingen te bepalen. De variabelen die door de acties Count en Sum worden aangemaakt, worden gebruikt om een e-mail te verzenden met het aantal bestellingen en hun waarde.

Voorbeeld van een workflow die een lijst met te late bestellingen ophaalt, ze tagt en een e-mail verzendt met informatie over het aantal en de waarde van die bestellingen.

Deze workflow-template in je winkel installeren.

Wanneer een nieuwe bestelling wordt aangemaakt, controleren of dezelfde klant in de afgelopen 24 uur andere bestellingen heeft geplaatst

Deze workflow kan worden gebruikt om te bepalen of dezelfde klant op dezelfde dag meerdere bestellingen heeft geplaatst en, zo ja, de fulfilment pauzeert zodat de bestellingen samen kunnen worden verzonden.

In dit voorbeeld wordt de workflow uitgevoerd telkens wanneer een nieuwe bestelling wordt aangemaakt. De workflow gebruikt de actie Get order data om een lijst op te halen met bestellingen die de klant de afgelopen dag heeft geplaatst. Vervolgens bepaalt de actie Count het aantal bestellingen dat de klant heeft geplaatst. Als er op dezelfde dag twee of meer bestellingen door dezelfde klant zijn geplaatst, wordt de fulfilment van de bestellingen gepauzeerd en worden er tags aan de bestellingen toegevoegd.

Voorbeeld van een workflow die een lijst met meerdere bestellingen ophaalt, ze tagt en de fulfilment ervan pauzeert.

Deze workflow-template in je winkel installeren.

Elke dag een overzichtsmail ontvangen met producten die niet op voorraad zijn

Deze workflow kan worden gebruikt om een lijst te genereren van al je producten die niet op voorraad zijn en een e-mail te verzenden.

In dit voorbeeld wordt de workflow elke dag om 21.00 uur uitgevoerd. De workflow gebruikt de actie Get product data om een lijst op te halen van producten die geen voorraad hebben. De actie Count bepaalt het aantal artikelen dat niet op voorraad is. De variabelen die worden aangemaakt door de acties Get order data en Count worden gebruikt om een e-mail te verzenden met het aantal producten en een lijst van die producten.

Voorbeeld van een workflow die een lijst met meerdere bestellingen ophaalt, ze tagt en de fulfilment ervan pauzeert.

Deze workflow-template in je winkel installeren.

Eén keer per dag alle bestellingen zoeken die verband houden met een terugboeking en de klant taggen

Deze workflow kan worden gebruikt om klanten te volgen die een terugboeking hebben gestart.

In dit voorbeeld wordt de workflow elke dag om 10.00 uur uitgevoerd. De workflow gebruikt de actie Get order data om een lijst met bestellingen met terugboekingen op te halen. Vervolgens voegt de actie For each een tag toe aan alle klanten die deze bestellingen hebben geplaatst.

Voorbeeld van een workflow die een lijst met bestellingen met terugboekingen ophaalt en de bijbehorende klant tagt.

Deze workflow-template in je winkel installeren.

Wanneer een nieuwe bestelling wordt aangemaakt, nagaan hoeveel bestellingen de klant in de afgelopen zes maanden heeft geplaatst

Deze workflow kan worden gebruikt om te bepalen hoeveel bestellingen een klant in de afgelopen zes maanden heeft geplaatst en om loyaliteitstags toe te voegen.

In dit voorbeeld wordt de workflow uitgevoerd telkens wanneer een nieuwe bestelling wordt aangemaakt. De workflow gebruikt de actie Get order data om een lijst op te halen met bestellingen die de klant in de afgelopen zes maanden heeft geplaatst. Vervolgens bepaalt de actie Count het aantal bestellingen dat de klant heeft geplaatst en de actie Sum de waarde van die bestellingen. Er wordt een klanttag toegevoegd als het aantal bestellingen gelijk is aan of groter is dan vijf, en er wordt nog een tag toegevoegd als de waarde van de bestellingen gelijk is aan of groter is dan $ 100.

Voorbeeld van een workflow die een lijst met bestellingen ophaalt, het aantal bestellingen en de totale waarde berekent en klanttags toevoegt.

Deze workflow-template in je winkel installeren.

Elke dag een lijst ophalen van alle openstaande conceptbestellingen en een Slack-bericht verzenden

Deze workflow kan worden gebruikt om een Slack-bericht te verzenden dat aangeeft of er openstaande conceptbestellingen in je winkel zijn, en zo ja, hoeveel.

In dit voorbeeld wordt de workflow elke dag om 17.00 uur uitgevoerd. De workflow gebruikt de actie Get draft order data om een lijst op te halen van conceptbestellingen met de status Open. Vervolgens bepaalt de actie Count het aantal openstaande conceptbestellingen. De variabele die door de Count-actie wordt aangemaakt, wordt gebruikt om een Slack-bericht te verzenden met het aantal openstaande conceptbestellingen.

Voorbeeld van een workflow die een lijst met conceptbestellingen ophaalt, het aantal openstaande conceptbestellingen berekent en een Slack-bericht verzendt.

Deze workflow-template in je winkel installeren.