Zapier tutorial: Zo koppel je webdiensten aan elkaar

Zoals je thuis je slimme apparaten kunt stroomlijnen door te automatiseren, zo kun je met Zapier volgens vergelijkbare principes talloze webdiensten aan elkaar knopen. In deze Zapier tutorial leggen we uit wat zoal de opties zijn.

Je bent vast bekend met IFTTT ofwel If This Then That, en wellicht gebruik je het zelf om handelingen te automatiseren. Het is een handige manier om diensten met elkaar te laten praten, wat niet op een andere manier kan of alleen op een heel complexe manier. Maar IFTTT is vooral gericht op persoonlijk gebruik met een nadruk op Internet of Things en thuisautomatisering.

Dat zie je ook aan de integraties met onder andere Amazon Alexa, Google Home, Philips Hue en Sonos, en de combinatie met de app op je smartphone. Een typisch gebruiksvoorbeeld is het aanzetten van je Hue-verlichting als je bijna thuis bent.

Lees ook:Thuiswerken met IFTTT: 15 slimme recepten

Zapier is meer gericht op zakelijk gebruik en ondersteunt dan ook vooral veel zakelijk georiënteerde apps, zoals Airtable, Google Sheets, Gmail, Slack, Twitter, Trello en Todoist – om er een paar te noemen. De dienst ondersteunt al meer dan 2.000 apps. De term app dekt niet geheel de lading: het zijn veelal webdiensten met bijbehorend account en soms een abonnement. Zapier kan bruggen tussen deze webdiensten slaan, bijvoorbeeld via api’s.

De mogelijkheden groeien snel. Zo is er integratie met bunq waardoor je je bankzaken kunt automatiseren. Zo kun je eenvoudig een herinnering ontvangen als je saldo laag is, transacties in een spreadsheet zoals Google Sheets laten zetten, donaties op je website laten zien of je Hue-lampen op groen zetten bij ontvangst van je salaris. Want inmiddels werkt Zapier ook samen met Hue.

Welk abonnement?

Naast een beperkt gratis account biedt Zapier de abonnementen Starter (19,99 dollar per maand) en Professional (49 dollar per maand). Verder zijn er Team en Company voor grotere teams, maar die laten we verder buiten beschouwing. Wat onder meer verschilt is het aantal zaps dat je kunt maken, het aantal taken dat per maand uitgevoerd wordt en ook de updatetijd.

Bij gratis en Starter duurt het tot 15 minuten voordat acties uitgevoerd worden, bij Professional slechts 2 minuten. Functioneel zijn er ook beperkingen. Zo kan een zap alleen bij de betaalde abonnementen meerdere acties bevatten. Verder mag je bij Starter maar tot drie exclusieve Premium-apps in je workflow gebruiken, bij Professional is dat onbeperkt.

Voorts zijn de features Filters, Formatters en Webhooks voorbehouden aan betaalde abonnementen. Met Filters bepaal je dat zaps alleen worden gestart als aan bepaalde criteria is voldaan. Formatters geeft de mogelijkheid teksten, getallen en datums op allerlei manieren te manipuleren. En met Webooks kun je je eigen of andere toepassingen integreren.

Ten slotte kun je alleen bij Professional de features Paths en Auto Replay gebruiken. Met Paths kun je paden in je workflow aanbrengen die afhankelijk van bepaalde condities weer andere acties uitvoeren. En Auto Replay kan mislukte taken, bijvoorbeeld door een haperende dienst, opnieuw uitvoeren. Na registratie kun je gedurende veertien dagen het Professional-abonnement uitproberen.

Interface verkennen

Als je bent ingelogd bij Zapier kun je via het menu aan de linkerkant alle onderdelen snel bereiken. Zo zie je onder Zaps uiteraard alle workflows ofwel zaps die je hebt gemaakt. Met een schuifje kun je ze snel aan- of uitzetten, en uiteraard bewerken of verwijderen. Heb je veel zaps, dan kun je ze eventueel organiseren in mappen.

Onder My Apps zie je welke verbindingen je met webdiensten hebt gemaakt. Je kunt testen of verbindingen nog geldig zijn en eventueel opnieuw verbinden of juist de verbinding verbreken. Afhankelijk van de gebruikte webdienst zal de verbinding na een bepaalde tijd verlopen en moet je zelf via dit onderdeel de verbinding vernieuwen.

Ook praktisch is het overzicht met alle uitgevoerde taken onder Task History. Hier kun je per zap zien welke taken zijn uitgevoerd, waarbij de precieze details in een logbestand zijn opgenomen. Het maximaal aantal taken per maand is begrensd, afhankelijk van je account. Het overzicht biedt volop filtermogelijkheden, bijvoorbeeld om alleen taken binnen een bepaald datumbereik te zien. Het onderdeel is ook nuttig om te zien welke taken onverhoopt zijn mislukt.

Eerste zap aanmaken

We beginnen met het maken van een gratis account. Je kunt inloggen via Google of Facebook maar ook met een e-mailadres. Zoals aangegeven profiteer je twee weken van de premiumfuncties. We beginnen met een eenvoudige workflow ofwel zap als voorbeeld. Om die te maken, klik je nadat je bent ingelogd op het grote plusteken in het menu.

Vul eerst bovenaan een herkenbare titel in. Vervolgens vul je het blokje voor de trigger in, door de app op te zoeken waarop de trigger gebaseerd moet worden. We nemen WordPress als voorbeeld. Als trigger kiezen we het verschijnen van een nieuwsbericht, via de optie New Post gevolgd door Continue. Hierna moet je inloggen bij de bewuste WordPress-site.

Daarna kun je bij Post Status de gewenste status kiezen, met Gepubliceerd als meest logische optie. Bij Post Type kiezen we berichten, gangbaar voor bijvoorbeeld nieuwsberichten of blogitems. Andere combinaties zijn natuurlijk ook mogelijk. Je kunt met Test trigger meteen zien of het werkt: je ziet hiermee details van een recent nieuwsbericht en kunt eventueel een ander bericht kiezen om de uitwerking daarvan te zien.

Nu de trigger klaar is, kun je de gewenste acties kiezen. Als voorbeeld zullen we een agenda-item in Google Agenda maken voor elk nieuw verschenen nieuwsbericht op de site, zodat je op termijn een mooi overzicht krijgt van je publicaties. We maken hiervoor in ons Google-account eerst een nieuwe agenda genaamd websitepublicaties.

In Zapier selecteren we Google Calendar en de optie Quick Add Event. Ook hier geef je Zapier eerst weer toegang tot je Google-account, waarmee je Zapier het recht geeft om onder meer je agenda’s weer te geven, te bewerken en te verwijderen. We kunnen nu een van onze agenda’s kiezen waaronder de zojuist gemaakte agenda. Onder Describe Event kunnen we handmatig een omschrijving invullen en daarin ook, via een lijst, automatisch de titel (Post Title) van het nieuwsbericht in laten voegen.

Vervolgens kun je de zap testen en definitief aanzetten. In het vervolg zal voor elk nieuwsbericht op de WordPress-site automatisch een agenda-item worden aangemaakt. Dit is één handeling en wordt door Zapier dan ook als één taak geteld. Via de interface kun je zien hoeveel taken er al zijn uitgevoerd.

Nog een voorbeeld: Discord en Trello

Zapier wordt vaak in combinatie met productiviteitstoepassingen gebruikt, als takenlijstbeheerders of projectmanagementtools. Zapier kan bijvoorbeeld automatisch kaarten in Trello maken op basis van een bepaalde trigger. Je zou bijvoorbeeld een kaart kunnen aanmaken voor berichten in Gmail die je met een ster hebt gemarkeerd omdat ze belangrijk zijn. Dat is helaas met een persoonlijk Gmail-account niet mogelijk, door beperkingen die Google heeft opgelegd.

Een ander aardig voorbeeld is het toevoegen van een kaart voor berichten in een bepaald kanaal in Discord. Dat is een bekende toepassing voor chat in teamverband met de mogelijkheid voor spraak en video. Je kunt met Discord eenvoudig en gratis een server starten met daarin één of meerdere chatkanalen waarin je contact houdt met vrienden of collega’s, een beetje in lijn met Slack. Als voorbeeld maken we een workflow met Discord als trigger en met een actie in Trello.

Auotmatisch Trello-kaarten aanmaken

Stel dat je via Discord contact houdt met medeontwikkelaars van een bepaalde toepassing en voor het melden van fouten een speciaal kanaal #bugs hebt gemaakt. We willen voor elke foutmelding automatisch een nieuwe kaart laten maken in Trello, zodat de ontwikkelafdeling hier actie op kan ondernemen.

We maken een nieuwe zap met Discord als trigger en de optie New Message Posted to Channel om aan te geven dat we nieuwe berichten willen opvolgen. Hierna is het een kwestie van inloggen bij Discord, het kiezen van de gemaakte server en selecteren van het kanaal op die server, in dit geval #bugs. Daarna kun je de actie bij Trello definiëren.

We hebben vooraf in Trello al een bord gemaakt met een lijst voor foutmeldingen. De stappen laten zich raden: geef toegang tot Trello, kies het gewenste bord en de bewuste lijst, en vul de naam en omschrijving voor de kaart in. Bij de naam kiezen we Foutmelding van en laten daarachter de naam (Author Username) invoegen. Als omschrijving laten we de inhoud van het bericht (Content) overnemen.

Je kunt nog meer details voor de kaart vooraf invullen, zoals een kleurenlabel, de gewenste positie van de kaart in de lijst en een vervaldatum. Dat laatste kan heel flexibel, bijvoorbeeld next friday at noon of +1d voor een vervaldatum over één dag. Zorg wel dat de tijdzone in je account bij Zapier goed staat!

Je zou deze zap ook anders kunnen aanpakken door trigger en actie om te draaien, zodat voor elke kaart in Trello automatisch een bericht in het Discord-kanaal wordt gezet, bijvoorbeeld om discussies over de foutmelding op gang te brengen.

Vertraging inbouwen

Bij het definiëren van je acties heb je wellicht al gezien dat je ook enkele hulpjes kunt invoegen, die onder het kopje Helpers worden genoemd. Vooral de optie Delay is interessant. Hiermee zorg je dat een actie met enige vertraging wordt uitgevoerd.

Stel dat je bezoekers die zich aanmelden op een wekelijkse nieuwsbrief na bijvoorbeeld twee weken wilt vragen of de inhoud ze bevalt. We gebruiken hier MailChimp, een populair marketingplatform dat vaak voor het versturen van nieuwsbrieven wordt ingezet. Een gratis account is toereikend als je nog niet zo’n grote groep abonnees hebt.

Om de workflow op te zetten, maak je eerst weer een zap met MailChimp als trigger en de optie New Subscriber. Log dan weer in bij MailChimp, kies de gewenste contactenlijst ofwel Audience bij MailChimp en klik op Continue. Onder het blokje met de trigger en boven het blokje met de actie klik je nu op het plusteken en kies je Delay. Je zorgt dan voor een vertraging voorafgaand aan de actie.

Er zijn meerdere opties. We kiezen Delay For om een vaste wachttijd in te bouwen. Dat gaat via twee velden: in het eerste voer je een waarde in (in ons voorbeeld 2), in het tweede de eenheid (we kiezen Weeks).

Bericht sturen

Voor het daadwerkelijk versturen van het bericht, na de gekozen vertraging, biedt Zapier uiteraard weer meerdere opties. Denk aan Gmail, of smtp by Zapier om direct via een smtp-server waar je de rechten voor hebt te versturen. Hier kiezen we Microsoft Outlook dat wordt gebruikt op basis van een Office 365-abonnement, met de optie Send Email. Hiermee kunnen we een persoonlijk e-mailbericht vanaf ons account sturen.

Onder To Email voeg je het e-mailadres van de nieuwsbriefabonnee in. In het bericht onder Body kun je het wat persoonlijker maken door ergens bijvoorbeeld de voornaam in te laten vullen, zoals de abonnee die bij zijn registratie heeft ingevuld. Je zou ook nog een bijlage kunnen meesturen, bijvoorbeeld een gratis e-book als bedankje. Heb je in ieder geval de verplichte velden ingevuld, dan kies je Continue om de actie af te ronden.

Workflows en filters

Bij de betaalde abonnementen hoef je je niet tot één actie te beperken. Via het plusteken voeg je eenvoudig extra acties toe. Wil je bijvoorbeeld dat voor elke nieuwe abonnee ook nog automatisch een regel wordt toegevoegd aan een online spreadsheet? Dan kun je de zap die we zojuist hebben gemaakt gewoon hiermee uitbreiden.

Logischerwijs voeg je dan al vóór de vertraging deze actie toe, zodat bijvoorbeeld een regel in een spreadsheet bij Airtable wordt gemaakt, een moderne en veelzijdige online combinatie van spreadsheet en database. Een gratis account laat tot 1.200 records toe in een database.

Dezelfde regel zou je ná de vertraging ook weer door Zapier kunnen laten updaten, zodat je bijvoorbeeld ziet of er al om een reactie is gevraagd.

Via filters zorg je dat een zap alleen wordt uitgevoerd als deze aan één of meerdere condities voldoet. Voor een voorbeeld gaan we terug naar de zap met Discord, die zorgt dat voor elk bericht in het kanaal #bugs een kaart in Trello wordt gemaakt. Als voorbeeld zullen we instellen dat alleen voor berichten van een bepaalde gebruiker een kaart moet worden gemaakt.

Hiervoor open je de zap en voeg je na de trigger een filter toe. In het eerste veld kies je waarop je wilt testen, zoals de gebruikersnaam. In het tweede veld kies je de voorwaarde. In dit voorbeeld kiezen we een exacte match, met de vereiste waarde (bijvoorbeeld gertjan) in het derde veld. Je hebt veel flexibiliteit in je filters om op bepaalde teksten, waardes of datums te testen en kunt daarnaast je filter met extra regels uitbreiden via een en/of-constructie.

Werken met paden

Je kunt bij Zapier tot slot je workflow splitsen, door de functie genaamd Paths op te nemen, beschikbaar vanaf het Professional-abonnement. Je zorgt hiermee dat er meerdere paden zijn, die elk afhankelijk van bepaalde condities worden uitgevoerd, met voor elk pad een eigen set met acties.

Ook nu begin je weer met het definiëren van een trigger. Eventueel kun je, voordat je gaat splitsen, taken toevoegen die altijd uitgevoerd moet worden. Het splitsen doe je vervolgens door via het plusteken Paths toe te voegen. Als voorbeeld nemen we weer Discord en Trello.

We willen dat berichten van belangrijke gebruikers, bijvoorbeeld de hoofdontwikkelaars, een rood label krijgen en alle andere berichten een blauw label. Je kunt een pad alleen achteraan toevoegen, niet zomaar ergens tussen. We beginnen daarom voor het gemak met een schone lei: een nieuwe zap met Discord als trigger met dezelfde server en hetzelfde kanaal. Hierna voegen we Paths toe via het plusteken. Hierna worden twee paden gemaakt genaamd A en B.

De paden A en B geven we een meer herkenbare naam, we kiezen Belangrijke gebruikers en Andere gebruikers. Eventueel kun je nog een derde pad toevoegen, wat meteen de limiet is. Voor elk pad geef je de condities aan. In ons voorbeeld testen we op een exacte match op gebruikersnaam.

Je kunt meerdere gebruikersnamen via regels met of-constructie toevoegen, zodat voor alle hoofdontwikkelaars dit pad wordt gekozen. Voor het tweede pad is de conditie dat de gebruikersnaam juist niet een exacte match is met die belangrijke gebruiker en ook niet met de andere hoofdontwikkelaars. Hier gebruik je dus een en-constructies voor de extra regels.

Met de twee paden heb je nu eigenlijk een if/else-logica, al is het wat omslachtig. Overigens, als meerdere paden aan de daarin gestelde condities voldoen, dan worden ze ook allemaal uitgevoerd. Voor elk pad kun je nu uiteraard zoals (inmiddels) vertrouwd de acties gaan toevoegen. In dit geval is dat het toevoegen van een Trello-kaart, met net wat andere opties: bij het pad voor belangrijke gebruikers kiezen we een rood label, bij het andere pad een blauw label.

We kunnen meer voorbeelden geven, maar doen Zapier daarmee een beetje te kort. Er bestaan namelijk dusdanig veel integraties met apps en ook weer een hele reeks mogelijke acties per app, dat je er eigenlijk alle kanten mee op kunt. Je kunt je fantasie de vrije loop laten. Als zul je ook af en toe iets tegenkomen wat niet zomaar mogelijk is. Dan zul je wat creatiever moeten zijn.

Geschreven door: Gertjan Groen op

Category: Workshop, Algemeen

Tags: internet, Automatiseren, zapier