What is a KYC?
KYC stands for “Know Your Customer” and refers to a critical corporate process which consists in collecting key information relative to your Customers.
KYC is widely spread among financial institutions as risk management plays a pivotal contribution into their P&Ls.
However, startups and scaleups might find in KYC a powerful approach to collect important data once and for all that would instantly become available to all departments.
To put it in a different way, you could ask yourself which piece of information would nurture multiple processes and which you would need to capture in the first place to streamline your operations. Any idea?
In the example we are going to address today, the goal if this SaaS company consists in collecting a registration ID plus an IBAN (International Bank Account Number) to trigger the recurrent payment flow as efficiently as possible.
Design an efficient Typeform to collect info
We are going to rely on Typeform to create a very straight forward form so that it only take a few seconds (I mean it) to upload the expected document.
The shorter it takes for the Customer to upload their file, the higher the probability this process is completed.
In the eyes of the Customer, the landing page must be explicit. In our example below, we are asking for an IBAN to being uploaded.
Once the Customer confirms their intent, you must immediately jump to the call-to-action which aims at uploading the expected document (here an IBAN). This is why Typeform is such a powerful tool as within a plain HTML interface (your Customer’s web browser), it becomes so easy to drag and drop any document.
Then you’re done! No need for any fancy additional step : you just wanted to collect this file so your goal is solely about steering the Customer to press the Submit button.
Tip: should you need to roll out this IBAN collection abroad, do not forget to create a single form per Country, in local language for ultimate conversion rates.
Integromat to process files
Here we go! We now have a few forms in place which are able to capture what we need on a per Country basis.
This is the right time to ask ourselves how to leverage theses assets, given the fact that we want to simplify the overall maintenance as much as possible.
The first step consists in creating a tiny Integromat scenario to only collect the output of each form.
The answer is simple. As we want to set a super efficient KYC flow without complexifying its maintenance, we have decided to create one “KYC collection Integromat scenario” per Country, with all of them pointing to a master Integromat scenario into which we will inject all complexity.
The key benefit of this approach is related to the fact that it becomes very basic to expand your KYC process to additional geographies: the only impact will consist in creating a new Typeform plus a simple 2-module Integromat scenario per new Country.
Create the target webhook
Before configuring the call to the master scenario, we obviously need to create the first step of the master scenario using the Integromat webook module.
This is probably the simplest phase of this entire use case:
> create a new scenario
> look for “Webhook” module
> and click it to access parameters.
To generate a new Integromat webhook, click the ADD button so that a pop-up occurs and let you enter a specific name for this object. Once you’re done, you just need to SAVE, which is going to bring you to your so awaited webhook URL.
This URL can be easily copied from the window below.
Logically, this is a secured address (https) which is nested into the integromat.com domain as Integromat is in charge of managing all these webhooks in terms of naming, listening inbound queries end sending responses back to requesters.
Configuring the HTTP module
Let’s go back to our tiny scenario in which we want to retrieve a file from Typeform the pass it on to our master Integromat scenario where we’ll design all KYC processing steps later on.
Open your HTTP module and paste the webhook URL you’ve just created into the URL section.
And do not forget to specify the structure of the payload you’re going to use. We’ve decided to opt for a JSON body as this data format is really easy to manipulate within Integromat.
Then you can proceed with the body (payload) which is called “Request Content” in the HTML module. Within this section, you’re expected to paste your JSON payload. In our example, we want to send 3 parameters.
- sfobjectid, which is our Account unique identifier so that we know to which Customer we need to relate the file we’ve just collected
- doc_type, which is a basic string that we’ll use when renaming and storing the file within our CRM (Salesforce) – IBAN in this example
- file_url, which is the link to download the IBAN document we’ve captured in the Typeform
Master scenario to process KYC
As you see below, the very first step of this flow is about listening our webhook to which all collected files will eventually fall in.
Now let’s focus on the file processing part which is probably what you’ll never be able to achieve with any No Code platform, except Integromat.
We have divided the file collection processing in 3 different steps for the sake of efficiency.
First of all, we need to normalize the URL we’ll get from Typeform. As a matter of fact, customers might be using special characters in the name of the file they would upload.
Therefore, we want to be able to cope with this situation by encoding the whole URL then restore : and / characters back in the file name.
Secondly, we use the GET FILE Typeform module to retrieve the entire document.
As you see, we rely on the normalized URL that was created right before to guarantee a 100% efficiency rate.
The output of this module is a payload containing binary data that we will be able to store within any location, and into our CRM in particular.
The last part is about creating a REGEX in order to extract the exact file name from the whole URL.
As you see, we’ve defined a dynamic variable called regex_filename which is the result of the REGEX we’ve entered into Integromat.
Final step is about uploading the file into Salesforce. To achieve this, we create a new Salesforce attachment whose payload will come from Typeform file.
To make it clean, we also design a specific naming policy so that internal users understand at a glance the nature of the uploaded file.
As you see in the below image, the naming convention is the following:
- Document type: could be either IBAN, REGID or IDCARD
- Status: in that specific context, we’re always talking about PENDING documents (to be reviewed)
- Date/Time : current timestamp to keep track of sequence
- Filename : which is the normalized filename as sent by the Customer
You’ve learnt what KYC stands for (Know Your Customer) and how important it is to grow your business to the next level.
You’ve understood how to create webhook in Integromat and how to chain scenarii for maximum efficiency and ease of maintenance.
Lastly, you’ve been exposed to REGEX handling and file taxonomy to think your data model in the most qualitative way for further analysis and operational excellence.
Now, we still need to show you how to manage approval and rejection as KYC is about trustful information to be screened properly prior to being injected into your CRM. Stay tuned 😉