Hoe u Slack kunt koppelen aan Shopify Flow
Slack ondertekent elk verzoek dat het naar uw app verstuurt - slash-commando’s, interactieve berichten en verzendingen via de Events API - met de ondertekeningssleutel van uw app. Workflow Webhooks zet die aanroep om in een ‘Shopify Flow’-trigger, zodat uw winkel hierop kan reageren: een klant taggen, een opmerking bij een bestelling toevoegen, een interne e-mail versturen, een metaveld bijwerken - alles Shopify Flow kan doen.
Deze handleiding beschrijft het volledige proces - Slack verzendt, Workflow Webhooks ontvangt en verifieert, Shopify Flow voert de actie uit - waarbij bij elk verzoek de HMAC-handtekening van Slack wordt gecontroleerd, zodat uitsluitend Slack uw workflow kan starten.
Wat u kunt bouwen
- Laat uw team vanuit Slack met een slash-opdracht een Shopify Flow-workflow starten, zonder dat iemand beheerdersrechten nodig heeft.
- Keur iets goed in Slack en laat Shopify Flow de goedgekeurde bestelling of klant taggen.
- Maak van een Slack-snelkoppeling een winkelactie - voeg een tag toe, verstuur een e-mail, werk een metaveld bij.
Typische gebeurtenissen die kunnen worden verzonden: een slash-opdracht zoals /restock, het indrukken van een knop in een interactief bericht, een gebeurtenis via de Events API.
Voordat u begint
- Workflow Webhooks geïnstalleerd in uw Shopify-winkel.
- Shopify Flow geïnstalleerd, dat gratis te downloaden is via de App Store op Shopify.
- Een Slack-account met de bevoegdheid om webhooks aan te maken.
Stap 1 - Maak de webhook aan op Workflow Webhooks
- Ga naar Workflow Webhooks -> Webhooks -> Webhook aanmaken en geef deze een naam die u in Shopify Flow zult herkennen, zoals
Slack events. - Kies onder ‘Authenticatie’ de optie ‘HMAC’.
- Kies onder ‘Signature provider’ voor Slack. De app vult de header, het algoritme, de ondertekende Payload en het replay-venster automatisch voor u in - u hoeft verder niets meer te configureren.
- Laat het veld ‘geheim’ voorlopig leeg en klik op ‘Opslaan’. Kopieer de webhook-URL die op de pagina wordt weergegeven.
Zie Authenticatie voor de overige authenticatiemodi en Toewijzing van payloads en Flow-variabelen voor informatie over welke velden naar Shopify Flow worden doorgestuurd.
Stap 2 - Voeg het eindpunt toe in Slack
Voeg in de configuratie van uw Slack-app de URL toe als de verzoek-URL voor de slash-opdracht, interactiviteit of de Events API, en kopieer het ondertekeningsgeheim uit Basisinformatie -> App-inloggegevens.
Hoe u uw Slack-aanmeldingsgeheim kunt vinden
Het ondertekeningsgeheim van de Slack-app (Algemene informatie -> App-inloggegevens).
In de documentatie van Slack zelf over webhook-handtekeningen vindt u de exacte bewoordingen en schermafbeeldingen voor uw account.
Plak dat geheim in het veld ‘Secret’ van de webhook op Workflow Webhooks en sla het op. Vanaf dat moment wordt elke Slack-berichtenverzending geverifieerd voordat deze Shopify Flow bereikt.
Wat hiermee wordt gecontroleerd
| Wat | Waarde |
|---|---|
| Handtekeningkoptekst | X-Slack-Signature |
| Waar de handtekening staat | De waarde van de header, na het voorvoegsel v0= |
| Wat is ondertekend? | v0:{timestamp}:{body} |
| Handtekening | HMAC-SHA256, in hexadecimale notatie |
| Tijdstempel | De header X-Slack-Request-Timestamp, uitgedrukt in Unix-seconden |
| Bescherming tegen herhaling | Verzoeken waarvan de ondertekende tijdstempel meer dan 5 minuten van het huidige tijdstip afwijkt, worden afgewezen |
| Het geheim | Wordt als platte tekst gebruikt. Plak de tekst precies zoals de afzender deze weergeeft |
In de ondertekende payload is {body} de onbewerkte inhoud van het verzoek, byte voor byte, en {timestamp} is de hierboven vermelde tijdstempel.
Een verzoek dat aan een van deze voorwaarden niet voldoet, wordt afgewezen met de foutmelding 401, wordt geregistreerd in Geschiedenis en probleemoplossing en leidt nooit tot het starten van een workflow.
Stap 3 - Stel de workflow Shopify Flow samen
- Maak in ‘Shopify Flow’ een workflow aan en kies de trigger ‘Workflow Webhooks’.
- Klik op ‘Gebeurtenissen vastleggen’ en verstuur vervolgens een testgebeurtenis vanuit Slack (of gebruik de optie ‘Test verzenden’ in Workflow Webhooks), zodat Shopify Flow de structuur van uw gegevens leert kennen.
- Elke webhook die u bezit, activeert dezelfde Shopify Flow-trigger. Voeg daarom een eerste voorwaarde toe op basis van de webhook-ID om deze workflow uitsluitend voor Slack te reserveren. De ID wordt weergegeven op de webhook-pagina.
- Voeg uw acties toe - tag een klant, voeg een notitie toe, verstuur een interne e-mail, werk een metaveld bij.



Stap 4 - Test het van begin tot eind
Trigger een echte gebeurtenis in Slack. Onder ‘Workflow Webhooks’** -> ‘History’** zou u de aanroep moeten zien met de status ‘Success’. Als de handtekening onjuist was, krijgt u in plaats daarvan een vermelding ‘failed’ met de reden daarvoor, en op Gecertificeerde webhooks verifiëren vindt u uitleg over de handtekeningtester die u precies laat zien welke stap is mislukt.

De handtekening komt niet overeen▾
In deze bestelling: het geheim (de meest voorkomende oorzaak - een extra spatie of een sleutel uit de verkeerde omgeving), of de afzender het geheim van een ander eindpunt gebruikt, en of er iets tussen Slack en de app staat dat de hoofdtekst herschrijft. Handtekeningen hebben betrekking op de ruwe bytes, dus een proxy die JSON opnieuw opmaakt, maakt ze ongeldig. De handtekeningcontrole op de webhook-pagina toont de exacte tekst die is ondertekend.
Bij elk verzoek krijg ik een 401-foutmelding▾
Controleer of de authenticatie van de webhook is ingesteld op HMAC met de Slack-provider geselecteerd, of het geheim is ingevuld en of Slack precies naar de URL verzendt zoals deze in de app wordt weergegeven, inclusief de code aan het einde.
Er wordt niets weergegeven in de geschiedenis▾
Het verzoek is nooit aangekomen. Controleer de URL in Slack nogmaals en bekijk het eigen afleveringslogboek van Slack om te zien welk antwoord het heeft ontvangen. Een 404 duidt op een onjuiste of verwijderde webhook, terwijl een 429 betekent dat u de limiet voor het aantal aanroepen van uw abonnement hebt overschreden - zie Abonnementen en gebruik.
De workflow wordt voor de verkeerde gebeurtenissen uitgevoerd▾
Elke webhook in uw winkel activeert dezelfde Shopify Flow-trigger. Voeg als eerste stap in de workflow een voorwaarde toe op basis van de webhook-ID, of beperk het aantal gebeurtenissen dat u vanuit Slack verstuurt.
Verzoeken mislukken met de foutmelding „tijdstempel buiten de tolerantie“▾
Slack voorziet een tijdstempel van een tijdstempel en de app wijst alles af dat ouder is dan 5 minuten. Dit is doorgaans een klokprobleem aan de verzendende kant, of een verzending die Slack veel later opnieuw heeft geprobeerd met het oorspronkelijke tijdstempel. Herhalingspogingen van hetzelfde oorspronkelijke verzoek worden niet geaccepteerd; verzoek Slack om een nieuwe gebeurtenis te verzenden.
Gerelateerd
- Gecertificeerde webhooks verifiëren - elke aanbieder die wij verifiëren, en hoe wij een aanbieder beschrijven die wij niet verifiëren.
- Toewijzing van payloads en Flow-variabelen - de juiste velden uit de payload halen en in Shopify Flow invoeren.
- Bescherming tegen dubbele leveringen - wat er gebeurt wanneer Slack een verzending opnieuw probeert.
- Geschiedenis en probleemoplossing - het logboek van elk verzoek, inclusief de mogelijkheid tot herhaling.

