<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Mathias J. Klenk</title>
    <description>The latest articles on DEV Community by Mathias J. Klenk (@mathiasjklenk).</description>
    <link>https://dev.to/mathiasjklenk</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F406716%2F908e4bbc-4f93-4210-997f-9a2c86ca5f68.jpg</url>
      <title>DEV Community: Mathias J. Klenk</title>
      <link>https://dev.to/mathiasjklenk</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/mathiasjklenk"/>
    <language>en</language>
    <item>
      <title>Zapier and Passbase integration guide</title>
      <dc:creator>Mathias J. Klenk</dc:creator>
      <pubDate>Mon, 22 Mar 2021 16:43:49 +0000</pubDate>
      <link>https://dev.to/mathiasjklenk/zapier-and-passbase-integration-guide-4ho4</link>
      <guid>https://dev.to/mathiasjklenk/zapier-and-passbase-integration-guide-4ho4</guid>
      <description>&lt;p&gt;Bringing trust to digital products is becoming more and more important. One way to do this is via an identity verification solution like Passbase. You can verify the true identity of users and seamlessly integrate Passbase with other apps and services through Zapier This article will show you how you can build automated workflows for identity verification, (with features like biometric authentication and ID verification) that integrate into spreasheets and tables, databases, communication tools and CRMs. This is a no-code / low-code solution that can be implemented by both developers and people without a technical background.&lt;/p&gt;

&lt;p&gt;In the Zapier ecosystem, Passbase can currently be integrated with:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Spreadsheets and Tables&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Google Sheets&lt;/li&gt;
&lt;li&gt;Airtable&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Databases&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Firebase&lt;/li&gt;
&lt;li&gt;PostgreSQL&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Communication Tools&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Discord&lt;/li&gt;
&lt;li&gt;Gmail&lt;/li&gt;
&lt;li&gt;Sendgrid&lt;/li&gt;
&lt;li&gt;Mailchimp&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;CRMs&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Hubspot&lt;/li&gt;
&lt;li&gt;Salesforce&lt;/li&gt;
&lt;li&gt;Pipedrive&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This tutorial will walk you through how to set up the Passbase and Zapier integration. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Preparation before we start:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  You need a Passbase Developer account. If you don't have one, navigate and &lt;a href="https://app.passbase.com/signup"&gt;create one here&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;  You should have at least one completed verification in your dashboard, in order to trigger some actions. If you don't have one, finish one via your hosted link from the &lt;a href="https://app.passbase.com/integration/start"&gt;integration section&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;  A Zapier Account&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--z4EMFEjL--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/byci7wp2u1nykueeomce.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--z4EMFEjL--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/byci7wp2u1nykueeomce.png" alt="Passbase developer verification link"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Setting up the Passbase Zapier App
&lt;/h3&gt;

&lt;p&gt;After you have a fully setup your Passbase developer account and have at least one verification, you can navigate to Zapier in order to create your Zap. If you don't have an account there, please also create one. They have a free plan to try out all the features.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--4xEqfH5Q--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/byg1vn11itestirjj3be.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--4xEqfH5Q--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/byg1vn11itestirjj3be.png" alt="Zapier integration icon"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Receive Webhooks in Zapier
&lt;/h3&gt;

&lt;p&gt;Click on Make a Zap&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--E6EGdbkk--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/c9ru4reg9k5pp5lcblmr.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--E6EGdbkk--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/c9ru4reg9k5pp5lcblmr.png" alt="Zapier Passbase integration setup 1"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Start Searching in the search Bar for Passbase and select our App&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--bCHKssg6--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/q7j35vx65yc1lkggj7ui.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--bCHKssg6--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/q7j35vx65yc1lkggj7ui.png" alt="Search for Passbase in Zapier apps"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Choose New Webhook Event as Trigger Event. This means, every time Passbase sends a webhook event to Zapier, this Zap will trigger.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--yLHdAy99--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/qkn2x1cq8slganec0lbr.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--yLHdAy99--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/qkn2x1cq8slganec0lbr.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Next you have to authenticate your Zap with Passbase. To do this, please add your account with your secret API key. A popup will open, asking for your secret key.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--XNuVyqB0--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/w1obxvwxsn5nz5lahffx.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--XNuVyqB0--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/w1obxvwxsn5nz5lahffx.png" alt="Zapier Popup asking for permission to access Passbase account"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This key can be found in your Passbase account in the &lt;a href="https://app.passbase.com/settings/keys"&gt;API Key section&lt;/a&gt;. Click on the copy button in order to grab your secret API key.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--rv8Xs8hs--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/9vz1cas7jggm7pg80urd.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--rv8Xs8hs--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/9vz1cas7jggm7pg80urd.png" alt="Passbase secret API key popup"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Then paste it into the Zapier popup window and click Yes, Continue to connect your account.&lt;/p&gt;

&lt;p&gt;Next you will receive a custom Webhook URL from Zapier that you need to copy to the Passbase dashboard in order to connect Zapier with Passbase. Click on the Copy button.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--VbrGsOQr--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/65lxj57vcqt49srrfl4s.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--VbrGsOQr--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/65lxj57vcqt49srrfl4s.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Navigate to the &lt;a href="https://app.passbase.com/settings/webhooks"&gt;Webhook section&lt;/a&gt; in your Passbase dashboard. Here all your webhooks are listed. And click Add. Then a popup should open up.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--JzJYJwPF--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/n67wq03zjy342yzp5204.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--JzJYJwPF--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/n67wq03zjy342yzp5204.png" alt="Webhook section of the Passbase dashboard with a popup displaying webhook information"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Here you can select which events should be sent to Zapier. We offer 2 events so far:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  &lt;code&gt;Authentication Processed:&lt;/code&gt; An &lt;em&gt;Authentication&lt;/em&gt; has been processed and is ready to be reviewed.&lt;/li&gt;
&lt;li&gt;  &lt;code&gt;Authentication Reviewed:&lt;/code&gt;The &lt;em&gt;Authentication&lt;/em&gt; has been &lt;strong&gt;approved&lt;/strong&gt; or &lt;strong&gt;rejected&lt;/strong&gt; in your dashboard.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;We want to only listen to the Authentication Reviewed event, so please select this and paste your Zapier URL into the POST field. Finally click Save and ensure the webhook is listed as active in the table.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--iHol115j--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/zqj3dldo6f16hx0fkfh5.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--iHol115j--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/zqj3dldo6f16hx0fkfh5.png" alt="List of web hooks in Passbase dashboard"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Navigate back to the Zapier Zap and press continue.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--GHiJ4VLH--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/dusq5jypji0u46kjv75y.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--GHiJ4VLH--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/dusq5jypji0u46kjv75y.png" alt="Zapier zap popup - test trigger popup with Passbase"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now you are ready to test the trigger. Navigate to the &lt;a href="https://app.passbase.com/"&gt;Passbase dashboard section&lt;/a&gt; and select your testing authentication and open it by pressing the Check button.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Jiivbk6d--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/f4uidl0gfgx2cwzhs9km.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Jiivbk6d--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/f4uidl0gfgx2cwzhs9km.png" alt="Passbase dashboard showing identity verifications"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now either approve or reject this authentication, to trigger the &lt;code&gt;Authentication Reviewed&lt;/code&gt; event.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--17O4K9L_--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/vulofr8bgsgj93zjupxq.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--17O4K9L_--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/vulofr8bgsgj93zjupxq.png" alt="Passbase blurred facial scan and document"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This will lead to Zapier receiving an event. You should now be able to see the result by clicking the Test Trigger Button.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--K3k5hlpm--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/9if2kqw09cgb4ch5l82x.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--K3k5hlpm--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/9if2kqw09cgb4ch5l82x.png" alt="Passbase event information displayed in Zapier dashboard"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Get details for an authentication
&lt;/h3&gt;

&lt;p&gt;Next we want to get the details about the just finished authentication. For this, you need to create an Action in Zapier next.&lt;/p&gt;

&lt;p&gt;Search again for Passbase, select the App and choose Find Authentication Details by Key as action.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--EEsy5Xqi--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/gbn6jguszvkxg0vlkzgu.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--EEsy5Xqi--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/gbn6jguszvkxg0vlkzgu.png" alt="Selecting Passbase in Zapier integration"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;We need to select the same account that we already connected Passbase and Zapier with. This is an easy step.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Ym4nLNPX--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/x4qe66gj30tu7kdfk83r.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Ym4nLNPX--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/x4qe66gj30tu7kdfk83r.png" alt="Selecting Passbase account in Zapier integration"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now we need to select the &lt;code&gt;authentication_key&lt;/code&gt; that we just received via the webhook.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s---6Gpb0DY--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/1843z0l1y41al36hfvu8.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s---6Gpb0DY--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/1843z0l1y41al36hfvu8.png" alt="Dropdown menu and select authentication key to receive in the webhook"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Afterwards press Continue.&lt;/p&gt;

&lt;p&gt;We have to approve again which data is sent (our key).&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--_6Dn09VU--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/hkc9lmu0a8sm8hr9thjt.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--_6Dn09VU--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/hkc9lmu0a8sm8hr9thjt.png" alt="Button on left with test trigger and return and right blue button with test trigger and save"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This should work now and you can see the details from a Passbase authentication.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--1hZm9Pud--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/hmganslapyfj3bt50iqa.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--1hZm9Pud--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/hmganslapyfj3bt50iqa.png" alt="Successful verification trigger in Zapier"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;🎉That's it. Our possibilities are endless from here. We can now integrate and send this data to all kinds of other applications via Zapier.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--8eoAf6PO--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/39i08g2c15xjsmvlxlu6.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--8eoAf6PO--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/39i08g2c15xjsmvlxlu6.png" alt="Passbase no-code app integrations with Zapier"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Passbase is an identity verification solution that has a &lt;a href="https://app.passbase.com/signup/user"&gt;14-day free trial&lt;/a&gt; for developers to see how verification can fit into their product or service. Passbase has web and mobile client-side SDKs, web hooks, and API integrations. You can check out the developer docs &lt;a href="https://docs.passbase.com/"&gt;here&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>The Ultimate Guide for Creating a KYC Flow Without a Single Line of Code </title>
      <dc:creator>Mathias J. Klenk</dc:creator>
      <pubDate>Mon, 22 Jun 2020 16:17:00 +0000</pubDate>
      <link>https://dev.to/passbase/the-ultimate-guide-for-creating-a-kyc-flow-without-a-single-line-of-code-3f9e</link>
      <guid>https://dev.to/passbase/the-ultimate-guide-for-creating-a-kyc-flow-without-a-single-line-of-code-3f9e</guid>
      <description>&lt;p&gt;Bringing trust to digital products is becoming more and more important. One sure way to do that is via identity verification. This article will show you how you can deploy a fully working KYC solution for your application with as little effort as possible.&lt;/p&gt;

&lt;p&gt;The stack we'll be using is:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt; &lt;strong&gt;KYC Solution:&lt;/strong&gt; Passbase Hosted Link solution for capturing identity verifications&lt;/li&gt;
&lt;li&gt; &lt;strong&gt;Middleware:&lt;/strong&gt; Zapier to catch webhooks that are sent from Passbase, as well as pinging the API later&lt;/li&gt;
&lt;li&gt; &lt;strong&gt;Database:&lt;/strong&gt; A GoogleSheet to output the verification results in a lightweight database
We won't write a single line of code in any of the following 5 steps. Let's get started!&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  1. Setup Passbase
&lt;/h2&gt;

&lt;p&gt;The first step is to &lt;a href="https://app.passbase.com/signup"&gt;create a Passbase account&lt;/a&gt;. After you've signed up, follow the setup guide to complete your first verification until you land in your dashboard where all completed verifications are displayed. This looks something like this. In this demo, I have 3 verifications waiting for me.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--7sNY_rVd--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/l4rejlju04ppf5b4ylq6.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--7sNY_rVd--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/l4rejlju04ppf5b4ylq6.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--XePPHdSI--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/8xb9eqslwojtragaqk6f.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--XePPHdSI--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/8xb9eqslwojtragaqk6f.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  Next, let's navigate to the &lt;a href="https://app.passbase.com/integration/start"&gt;integration&lt;/a&gt; flow. There you can set up your own hosted verification link. In my case, I chose: &lt;a href="http://verify.passbase.com/mathias"&gt;verify.passbase.com/mathias&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s---awARiyi--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/73fke6niiomm57r03ta8.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s---awARiyi--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/73fke6niiomm57r03ta8.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This means everyone who navigates to this URL can complete a full identity verification for me. You &lt;a href="https://app.passbase.com/integration/start"&gt;can also create a link for your app or product&lt;/a&gt; e.g. &lt;strong&gt;&lt;a href="http://verify.passbase.com/%7BYOUR_APP_NAME%7D"&gt;verify.passbase.com/{YOUR_APP_NAME}&lt;/a&gt;.&lt;/strong&gt; You need to have at least one finished verification in your dashboard to review them (&lt;a href="https://app.passbase.com/welcome"&gt;do your first one here if you haven't already&lt;/a&gt;).&lt;/p&gt;

&lt;h2&gt;
  
  
  2. Setup Zapier
&lt;/h2&gt;

&lt;p&gt;Next, we'll set up wehooks, so that we're notified about every time a user finishes a verification in our flow. For that I will create a Zapier account and connect Zapier with Passbase.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt; Head to &lt;a href="https://zapier.com/"&gt;&lt;/a&gt;&lt;a href="https://zapier.com/"&gt;https://zapier.com/&lt;/a&gt; and create an account.&lt;/li&gt;
&lt;li&gt; Once you're inside the dashboard, create a new Zap.&lt;/li&gt;
&lt;li&gt; Select &lt;em&gt;Webhooks by Zapier&lt;/em&gt; as App &amp;amp; Event and Catch Hook as the trigger event, like in the screenshot below:&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s---jfwpAzG--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/ndusi6153y9e3bbragd9.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s---jfwpAzG--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/ndusi6153y9e3bbragd9.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;After you've done that, the webhook endpoint for Zapier is set up.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt; Copy the webhook URL and let's navigate back to Passbase.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  3. Connect Passbase and Zapier
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Click 'Add' to setup a new webhook.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Select 'Authentication Reviewed' from the pop up window that appears.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Navigate to your &lt;a href="https://app.passbase.com/settings/webhooks"&gt;settings section on webhooks&lt;/a&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;This means every time a verification has been reviewed in the dashboard, a webhook will be fired. We don't use the Authentication Processed endpoint for now.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--35IgzMly--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/pwotdxeyg9d83onz23xs.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--35IgzMly--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/pwotdxeyg9d83onz23xs.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;4.Paste the Zapier webhook URL that you copied now into the POST field&lt;/p&gt;

&lt;p&gt;5.Click save at the bottom of the modal.&lt;/p&gt;

&lt;p&gt;For simplicity, we won't set up encryption - so you can leave all other fields blank for now. Your page should now look like this.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--5TGjeK8d--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/w6c9zo5gcmt5bn2jbopr.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--5TGjeK8d--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/w6c9zo5gcmt5bn2jbopr.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;So far so good, now let's make sure that it works as intended.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Testing that the connection works&lt;/strong&gt;
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Navigate to your &lt;a href="https://app.passbase.com/"&gt;dashboard&lt;/a&gt; and click on a finished verification like the one you did during your signup process.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Click on Approve or Reject to trigger the Authentication Reviewed webhook to fire.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--_2UzcGA4--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/x419qjas978l8k2mgdiz.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--_2UzcGA4--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/x419qjas978l8k2mgdiz.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;3.Go back to Zapier now and click the Test Trigger button. You should see the webhook result that Passbase has sent to Zapier. It should look like this:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--wMOHdkMe--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/dhs1jkdplhiwnqo7u2u2.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--wMOHdkMe--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/dhs1jkdplhiwnqo7u2u2.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You've successfully set up Passbase and Zapier and received your first webhook. That was easy wasn't it? Now every time you review a verification, Passbase will fire a webhook to Zapier.&lt;/p&gt;

&lt;h2&gt;
  
  
  4. Connect Zapier and GoogleSheets
&lt;/h2&gt;

&lt;p&gt;With the webhook in Zapier completed, we need to output the data somewhere. We could theoretically use any other data storage e.g. a SQL or Postgres database, but for simplicity, let's use a GoogleSheet for our MVP and stay completely no code 😎.&lt;/p&gt;

&lt;p&gt;From the previous step you saw what a webhook looks like. Here is an example:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;{&lt;br&gt;
  "event": "AUTHENTICATION_PROCESSED",&lt;br&gt;
  "authentication_key": "b76e244e-26a3-49ef-9c72-3e599bf0b5f2",&lt;br&gt;
  "review_status": null,&lt;br&gt;
  "created_at": 1582628711,&lt;br&gt;
  "updated_at": 1582628999,&lt;br&gt;
  "integration_type": "signup",&lt;br&gt;
  "additional_attributes": {&lt;br&gt;
    "identifier": "&lt;a href="mailto:aofbaofib@gmail.com"&gt;aofbaofib@gmail.com&lt;/a&gt;",&lt;br&gt;
    "country_code": "us",&lt;br&gt;
    "zm_session_id": "asdfa-124-312g-24-23457f39864d",&lt;br&gt;
    "identifier_type": "email",&lt;br&gt;
    "customer_user_id": "1234567"&lt;br&gt;
  },&lt;br&gt;
  "reauthenticated_from_key": null,&lt;br&gt;
  "watchlist": null,&lt;br&gt;
}&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;You can see the different information that was sent over. We can now access it and push it to our database. To do so:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Let's create a new GoogleSheet. We want to add a new row for every new webhook that comes in.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Add column names at the top for all the webhook results that we're interested in. You can use the key names (e.g. country code, review status, created at, integration type...etc). from the webhook as column names.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--BlrJtCpP--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/ohuihluws6k7e2xb3f3n.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--BlrJtCpP--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/ohuihluws6k7e2xb3f3n.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;3.Go back to Zapier and set up the action where to push the data to. You might need to login to your Google account to connect Zapier and Google.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--aKRs0glM--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/l52cfc01zz596b0f98lk.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--aKRs0glM--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/l52cfc01zz596b0f98lk.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;4.Press continue and select the GoogleSheet that you just created.&lt;/p&gt;

&lt;p&gt;If the GoogleSheet doesn't show up in the list you can refresh the page and it should show up.&lt;/p&gt;

&lt;p&gt;Now we need to setup the fields that we want to output from the webhook into the GoogleSheet.&lt;/p&gt;

&lt;p&gt;5.Select the column names specified before. If you successfully tested the Webhook, Zapier will help you. It will look like this and help you to do so.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--V3UGd1ik--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/ezfv5du9qjezaj1kv24z.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--V3UGd1ik--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/ezfv5du9qjezaj1kv24z.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Zapier and the GoogleSheet are now linked. You can test your setup again and it will add a row in your GoogleSheet:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--QI8HWgix--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/kkomcs08uqcx4fau8io8.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--QI8HWgix--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/kkomcs08uqcx4fau8io8.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--0H9J3o8Z--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/jji0pcpw8w8xk6fa1mid.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--0H9J3o8Z--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/jji0pcpw8w8xk6fa1mid.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;That's it! You now have an MVP for a fully working KYC solution. The &lt;code&gt;review_status&lt;/code&gt; tells you if you approved or rejected a verification. This can also be automated in the &lt;a href="https://app.passbase.com/settings/automation"&gt;Passbase dashboard settings&lt;/a&gt; if a verification is below or above a threshold e.g. 90% to automatically accept it.&lt;/p&gt;

&lt;p&gt;What's next? We can also get the details of the person that has completed the verification and add those details to the GoogleSheet. Let's get started.&lt;/p&gt;

&lt;h2&gt;
  
  
  5. Get the details of a verification via the Passbase API
&lt;/h2&gt;

&lt;p&gt;In this section, we will advance this setup by pulling the details of a verification from the Passbase API via the &lt;code&gt;authentication_key&lt;/code&gt; from the webhook. By doing this we can get the assessment of the verification, as well as fields from the identity document (e.g. first name, last name, date of birth etc.). You can read through our &lt;a href="https://docs.passbase.com/server/api"&gt;developer documentation here&lt;/a&gt; to get more information about the API endpoints that Passbase offers.&lt;/p&gt;

&lt;p&gt;For this guide we will use the endpoint to get an authentication by key. Note: authentication &amp;amp; verification are considered the same. To make an API call work, we need to pass along the &lt;code&gt;authentication_key&lt;/code&gt; that we previously saved in one of our columns. You can see a this parameter in the url at the end.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://api.passbase.com/api/v1/authentications/by_key/:authentication_key"&gt;https://api.passbase.com/api/v1/authentications/by_key/:authentication_key&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Additionally, we need to setup authorization with our secret API key. For non technical readers, this secret API key identifies your Passbase developer account, so that you can communicate with Passbase. &lt;strong&gt;Please don't share this key with anyone, since it gives access to all of your user data in Passbase.&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt; Create another webhook in Zapier (Step 2.3 above)&lt;/li&gt;
&lt;li&gt; Select it as a GET request as Action Event. The name is a bit misleading, since we are technically doing an HTTP request and not a webhook. It should look like this:&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--2QPIHjgG--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/zx252vl7hlha3ydl1r1p.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--2QPIHjgG--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/zx252vl7hlha3ydl1r1p.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;3.Copy the URL from above without the last part :authentication_key and paste it into the field which says URL. It should now only say:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://api.passbase.com/api/v1/authentications/by_key/"&gt;https://api.passbase.com/api/v1/authentications/by_key/&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;A popup will open which says "Insert Data ...". You need to select if we want to append any data to the URL string and yes we want to do that. To do that:&lt;/p&gt;

&lt;p&gt;4.Select "1. Catch Hook to access the webhook" from Step 1 and select which attribute you'd like to append to the URL. We want the &lt;code&gt;authentication_key&lt;/code&gt;, so it should look in the end like in the screenshot below:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--YleJgRcf--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/evy8wsrb1xf6zmrai0j2.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--YleJgRcf--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/evy8wsrb1xf6zmrai0j2.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You can leave all other things on the default settings but scroll down to the Headers section. We now need to get our secret API key from Passbase's dashboard API keys section.&lt;/p&gt;

&lt;p&gt;5.&lt;a href="https://app.passbase.com/settings/keys"&gt;Go there&lt;/a&gt; and click on the copy button to copy the secret key which is being hidden.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--FyrsWdir--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/8aihsa20t2ta623zhqxt.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--FyrsWdir--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/8aihsa20t2ta623zhqxt.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;6.Navigate back to Zapier to the Header section. We need to send 2 headers with our GET request along, so that Passbase knows what and how to send us back our result. Those two key value pairs are:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  Authorization: The secret API key that you just copied. Paste it here into the value field.&lt;/li&gt;
&lt;li&gt;  Content-Type: &lt;code&gt;application/json&lt;/code&gt; → Add this in the key value field. This is the data format we will receive back.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Compare how I have filled it out in the screenshot below and do the same.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--UNyUH9uM--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/1i7gm3a8sf1iklgg5gy7.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--UNyUH9uM--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/1i7gm3a8sf1iklgg5gy7.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Alright, almost done. Now just a few more steps to make sure that it works as intended.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Testing that the connection works&lt;/strong&gt;
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt; Let's fire the API request and see what comes back.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;You should see in the response the assessment parameters from Passbase e.g. facematch. This means it worked and we successfully made an API request to Passbase.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--peO1PHXX--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/bu9v4yrxk2pefc3b3pkk.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--peO1PHXX--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/bu9v4yrxk2pefc3b3pkk.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;2.Create another sheet in your GoogleSheet.&lt;/p&gt;

&lt;p&gt;3.Let's push the assessment data again back to our master GoogleSheet.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--b-ki9GCt--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/0zqwdcbcbto7loq472vk.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--b-ki9GCt--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/0zqwdcbcbto7loq472vk.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;4.Add some column names from the API call that we want in there (Sheet2 in my example). This is how a sample response from the API looks like:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;{&lt;br&gt;
  "authentication": {&lt;br&gt;
    "key": "29884359-fb70-478b-ba06-53d48b210aa0",&lt;br&gt;
    "reviewed_at": null,&lt;br&gt;
    "review_status": null,&lt;br&gt;
    "created_at": "2020-03-09T12:05:31.877Z",&lt;br&gt;
    "additional_attributes": {&lt;br&gt;
      "identifier": "&lt;a href="mailto:user@email.com"&gt;user@email.com&lt;/a&gt;",&lt;br&gt;
      "country_code": "us",&lt;br&gt;
      "identifier_type": "email"&lt;br&gt;
    },&lt;br&gt;
    "authentication_assessments": {&lt;br&gt;
      "facematch": {&lt;br&gt;
        "value": "0.9"&lt;br&gt;
      },&lt;br&gt;
      "id_authenticity": {&lt;br&gt;
        "value": "0.9"&lt;br&gt;
      },&lt;br&gt;
      "liveness": {&lt;br&gt;
        "value": "0.9"&lt;br&gt;
      },&lt;br&gt;
      "overall": {&lt;br&gt;
        "value": "0.9"&lt;br&gt;
      }&lt;br&gt;
    },&lt;br&gt;
    "authentication_document": "PASSPORT",&lt;br&gt;
    "additional_document": null,&lt;br&gt;
    "documents": [&lt;br&gt;
      {&lt;br&gt;
        "document_type": "PASSPORT",&lt;br&gt;
        "document_information": [&lt;br&gt;
          {&lt;br&gt;
            "key": "FIRST_NAMES",&lt;br&gt;
            "value": "John"&lt;br&gt;
          },&lt;br&gt;
          {&lt;br&gt;
            "key": "LAST_NAME",&lt;br&gt;
            "value": "Doe"&lt;br&gt;
          },&lt;br&gt;
          {&lt;br&gt;
            "key": "DOCUMENT_NUMBER",&lt;br&gt;
            "value": "12345"&lt;br&gt;
          },&lt;br&gt;
          {&lt;br&gt;
            "key": "NATIONALITY",&lt;br&gt;
            "value": "United States"&lt;br&gt;
          },&lt;br&gt;
          {&lt;br&gt;
            "key": "DATE_OF_BIRTH",&lt;br&gt;
            "value": "1960-12-12"&lt;br&gt;
          }, ...&lt;br&gt;
        ]&lt;br&gt;
      }&lt;br&gt;
    ],&lt;br&gt;
    "end_user": {&lt;br&gt;
      "customer_user_id": "user-12345"&lt;br&gt;
    }&lt;br&gt;
  },&lt;br&gt;
  "status": "success",&lt;br&gt;
  "code": "200"&lt;br&gt;
}&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;That's why I'll use as my column names the ones below:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--sxM4ilSH--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/awqxxc44e02gdvzo8k41.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--sxM4ilSH--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/awqxxc44e02gdvzo8k41.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;5.Let's once again connect the GoogleSheet with Zapier so that the data is pushed there correctly. Map the column names to the keys from the API call like below:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--1896Jtjo--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/50tthpwfy7rckttdlkkh.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--1896Jtjo--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/50tthpwfy7rckttdlkkh.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;And that's it. Click continue and and you can see the results in the page in your GoogleSheet. No single line of code written. Well done!&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Y2SR4xLT--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/89ri7g8st93v7cb59jig.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Y2SR4xLT--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/89ri7g8st93v7cb59jig.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;That was easy, wasn't it? The whole setup works really well and for any new verification a new row in your GoogleSheet will be added.&lt;/p&gt;

</description>
    </item>
  </channel>
</rss>
