Alleen weten dat er iets is veranderd, is zelden voldoende. Een Workflow moet doorgaans weten hoe de situatie ervoor was: is de prijs gedaald of gestegen, met hoeveel, welke tag is toegevoegd, wat stond er gisteren in het metaveld? Deze release maakt de oude en de nieuwe waarde in de hele app beschikbaar en stelt het mogelijk dat een aangepaste trigger een Workflow start wanneer er helemaal niets is gebeurd.
Oude en nieuwe waarden, overal
- Metaveld-triggers bevatten nu de vorige waarde. Elke metaveld-trigger (generiek, product, variant, bestelling, klant) geeft in Shopify Flow
Metafield.previousValue door naast Metafield.value. Deze waarde is leeg wanneer het metaveld zojuist is aangemaakt. Zie Metaveld-triggers.
- Wijzigingen in prijs, eenheidsprijs en kosten worden weergegeven in cijfers. Shopify Flow kan geen rekenkundige bewerkingen uitvoeren; daarom leveren de indicatoren ‘Variant Price Changed’, ‘Variant Unit Price Changed’ en ‘Productvariant Cost Changed’ nu ook de waarden
delta (nieuw minus oud), percentChange en direction (stijging, daling, ongewijzigd). "Prijs is met meer dan 10% gedaald" is nu één voorwaarde, zonder code.
- De meldingen ‘Productupdate’, ‘Bestelupdate’ en ‘Klantenupdate’ geven aan wat er is gewijzigd. Voorheen werd alleen vermeld dat het record was bijgewerkt. Nu bevatten ze
changes: de lijst met gewijzigde velden en, voor elk veld, de oude en de nieuwe waarde. De bijgehouden velden zijn: titel, beschrijving, status, tags, leverancier, type en handle voor producten; betalingsstatus, afhandeling, artikelen, tags, opmerking en aanvullende details voor bestellingen; tags, opmerking en accountstatus voor klanten. Lange waarden worden ingekort. De lijst is leeg wanneer de update buiten deze velden plaatsvond, bijvoorbeeld bij een wijziging in de voorraad.
- De functie ‘Gewijzigde artikelen in conceptbestelling’ geeft nu dezelfde regel-voor-regel-vergelijking weer als de besteltrigger: wat er is toegevoegd, verwijderd of gewijzigd wat betreft hoeveelheid, prijs of variant.
- Uw eigen aangepaste trigger neemt zowel de oude als de nieuwe waarde waar. Een aangepaste trigger](https://docs.workflow-trigger-extensions.app/nl/aangepaste-triggers) van het type [ bij een productupdate, orderupdate of klantupdate ontvangt nu
payload._changes: elk bijgehouden veld dat is gewijzigd, elk met oldValue en newValue. Uw code kan dus worden geactiveerd bij een overgang in plaats van bij een status - „de status is veranderd van concept naar actief“, „de bestelling is betaald“ - wat niet kan worden uitgedrukt met een voorwaarde op basis van de huidige waarde. Het voorbeeldgebeurtenis dat u in de editor vastlegt, toont het veld.
Alles is cumulatief. De workflows die u al hebt opgebouwd, blijven ongewijzigd functioneren. De volledige lijst met velden per trigger vindt u in de referentiegids voor de trigger op.
Kies welke wijzigingen een Update-trigger activeren
De opties ‘Productupdate’, ‘Bestelupdate’ en ‘Klantupdate’ hebben een nieuwe instelling, die u kunt vinden achter het tandwieltje naast de schakelaar op de pagina ‘-triggers’: hiermee kunt u instellen welke wijzigingen deze triggers activeren.
- Er is niets aangevinkt: de trigger wordt bij elke update geactiveerd, precies zoals altijd het geval is geweest.
- Aangevinkte velden: er vindt alleen een verzoek plaats wanneer een van deze velden is gewijzigd. Alle overige updates worden overgeslagen en tellen niet mee voor uw abonnement.
Dit is tevens de nette manier om te voorkomen dat een workflow zichzelf activeert. Een workflow die start bij een productupdate en vervolgens een productmetaveld bijwerkt, werd gebruikt om zichzelf opnieuw te starten. Beperk de trigger tot de velden die voor u van belang zijn, en die tweede update wordt niet langer geactiveerd.
Uw overige triggers worden niet beïnvloed door deze keuze. Het beperken van de update van de bestelling tot de betalingsstatus heeft geen invloed op het moment waarop de trigger „Order Tags Added” wordt geactiveerd.
Aangepaste triggers die volgens een schema worden uitgevoerd
Shopify Flow reageert wanneer er iets gebeurt. Het kan niet reageren wanneer er niets gebeurt, en het kan niets buiten uw winkel waarnemen. Een aangepaste trigger van kan dat nu wel. De editor vraagt: „Wat zorgt ervoor dat dit wordt uitgevoerd: één Shopify-gebeurtenis, of volgens een schema?” Bij „Volgens een schema“ wordt uw code elke 30 seconden tot maximaal één keer per dag uitgevoerd. De code onthoudt wat er bij de laatste uitvoering is waargenomen, kan uw winkel scannen en alles op het openbare internet oproepen, en bepaalt zelf wat als een wijziging wordt beschouwd.
Begin met een sjabloon en pas de getallen bovenaan aan:
- **Product, bestelling of klant is al N dagen niet bijgewerkt **- verouderde catalogusbeoordelingen, vastgelopen bestellingen, terugwinnen van klanten. Elk record wordt één keer per rustperiode geactiveerd; zaken die al achterstallig waren op het moment dat u deze functie inschakelt, worden niet in één keer geactiveerd.
- Er is een wijziging opgetreden in een waarde buiten Shopify - een voorraadfeed van een leverancier, een wisselkoers of een prijslijst. Er wordt de waarde vóór en na de wijziging weergegeven, evenals het verschil en het percentage voor getallen.
- Nieuw item in een RSS- of Atom-feed - nieuws van leveranciers, een productlijstfeed, een statuspagina.
- Geen bestellingen gedurende N uur - een ‘hartslag’ voor uw winkel. Wordt één keer geactiveerd wanneer de bestellingen stoppen en één keer wanneer ze weer binnenkomen.
De eerste uitvoering van een geplande trigger onthoudt alleen wat deze waarneemt, dus het inschakelen ervan leidt nooit tot een overbelasting van uw workflows. De trigger verschijnt in Shopify Flow als ‘Aangepaste trigger’, gefilterd op de handle, en het record wordt weergegeven als de id ervan. Elke uitvoering telt mee voor uw abonnement, ongeacht of de trigger daadwerkelijk wordt geactiveerd of niet - de editor geeft weer hoeveel uitvoeringen een interval in totaal omvat. Met ‘Test’ voert u uw code één keer uit zonder dat er iets wordt geactiveerd.
Sjablonen voor op gebeurtenissen gebaseerde aangepaste triggers
Aangepaste triggers die reageren op een Shopify-gebeurtenis beschikken nu ook over sjablonen. Als u er een selecteert onder ‘Start vanuit een sjabloon’, wordt de gebeurtenis geselecteerd en wordt de code automatisch ingevuld. Elk sjabloon leest de waarde vóór en na de wijziging uit:
- Een veld van een product, een bestelling of een klant is gewijzigd van de ene waarde naar de andere - bijvoorbeeld: de status is gewijzigd van ‘concept’ naar ‘actief’, of een bestelling is betaald.
- De prijs is met meer dan N procent gedaald - een echte prijsverlaging, niet zomaar een prijsaanpassing.
- De voorraad is onder een drempelwaarde gedaald - er wordt één keer een waarschuwing gegeven, op het moment dat de voorraad de drempel overschrijdt, en niet bij elke verkoop terwijl de voorraad al laag is.
- Het aantal metavelden van een product heeft een drempelwaarde overschreden - een beoordeling is onder de 3 gedaald, een marge is boven de 40 gekomen.
- Bestelling betaald door een klant met een hoge bestedingswaarde - leest de totale bestedingen van de klant in uw winkel op via
ctx.shopify() en activeert de actie pas wanneer het bedrag hoger is dan het door u ingestelde bedrag.
De triggergebeurtenissen van een record op de bijbehorende beheerpagina
Nieuwe beheerdersblokken tonen de meest recente triggergebeurtenissen met betrekking tot het record dat u bekijkt, direct op de betreffende pagina in de Shopify-beheeromgeving, elk met een korte regel ‘oud -> nieuw’, zoals price: 100.00 -> 85.00. Van daaruit kunt u de gebeurtenis openen, of een overzicht van de gebeurtenisgeschiedenis voor dat specifieke record.
Beschikbaar voor producten, varianten, bestellingen, conceptbestellingen, klanten, incasso’s, bedrijven en bedrijfslocaties. Voeg het blok eenmalig toe via het aanpassingsmenu van de pagina. Triggers die persoonsgegevens verwerken, worden zonder hun waarden weergegeven. Hoe u deze kunt toevoegen, met een voorbeeld op een product-, bestelling- en klantpagina: Triggergebeurtenissen op de beheerpagina van een record.
Meer AI-aanbieders voor Generate with AI
Genereren met AI werkt nu niet alleen met Anthropic en OpenAI, maar ook met Google Gemini en OpenRouter. Met OpenRouter krijgt u toegang tot modellen van talrijke bedrijven met één sleutel, inclusief elk model-ID dat u invoert. Koppel een sleutel onder ‘Developer’ -> ‘Connections’: . Vraag een Gemini-API-sleutel aan via of , of vraag een OpenRouter-API-sleutel aan via. Net als voorheen vindt het genereren plaats via uw eigen provideraccount en wordt de sleutel versleuteld en nooit meer weergegeven.
Een snellere interface, gebaseerd op de webcomponenten vShopify
Elke pagina van de app is opnieuw opgebouwd met behulp van de nieuwe webcomponenten voor het beheer van Shopify; dit zijn dezelfde bouwstenen die ook door het beheer van Shopify zelf worden gebruikt.
- Sneller geladen. De app bevat niet langer een eigen kopie van een interfacelibrary. De componenten zijn afkomstig van Shopify, worden gedeeld met de rest van uw beheerdersgedeelte en bevinden zich doorgaans al in de cache van uw browser, waardoor er per pagina veel minder hoeft te worden gedownload voordat deze wordt weergegeven.
- Het voelt aan als het beheerdersgedeelte. Knoppen, tabellen, schakelaars, dialoogvensters en formulieren zien eruit en werken precies zoals u ze overal elders in Shopify gewend bent, inclusief toetsenbordnavigatie en schermlezers.
- Blijft up-to-date. Wanneer Shopify zijn componenten verbetert, wordt deze verbetering automatisch door de app overgenomen, zonder dat wij hiervoor een update hoeven uit te brengen.
Er is niets veranderd: elke pagina, instelling en link bevindt zich nog steeds op dezelfde plaats.
Ook in deze uitgave
- ‘Alles toestaan’ en ‘Alles intrekken’ op de pagina ‘Toestemmingen’. Bij ‘Alles toestaan’ wordt u in één enkel dialoogvenster Shopify gevraagd om toestemming voor alle ontbrekende rechten, in plaats van per kaart. Bij ‘Alles intrekken’ wordt u eerst gevraagd om bevestiging en wordt uitgelegd wat dit inhoudt: uw triggers blijven ingeschakeld, maar kunnen pas weer worden geactiveerd wanneer u opnieuw toegang verleent.
- Aangepaste trigger kan verbinding maken met het openbare internet via
ctx.fetch(), en niet alleen met uw winkel via ctx.shopify(). Interne adressen worden geweigerd.
- Uw aangepaste triggers en uw triggers voor de webshop werken nu op dezelfde manier: klik op de rij om deze te bewerken; de status wordt rechts weergegeven.
- Op de pagina ‘Triggers’ wordt naast de titel weergegeven hoeveel triggers er actief zijn, en de vier triggers voor getypte metavelden hebben nu hun eigen schakelaars in de lijst.
- Verplichte velden zijn gemarkeerd op de formulieren voor aangepaste triggers, webshop-triggers en verbindingen.
- Opgelost: een datumfilter in de gebeurtenisgeschiedenis kon niet worden gewist. Bij het verwijderen van het datumvakje of het selecteren van ‘Alles wissen’ bleven de toegepaste datums behouden. Beide opties wissen deze nu wel.
- De rijen in de gebeurtenisgeschiedenis bestaan uit gewone tekst in plaats van blauwe links. De gehele rij is nog steeds aanklikbaar.