Skip to content

Create a KYC process with Typeform and Integromat

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.

Typeform KYC landing screen

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.

Typeform UI to upload files

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.

Simple Integromat flow to collect files from Typeform

As you see above, this flow is really simple. We watch answers coming from Typeform in real time thanks to this acid module, and we pass them on to a brand new module called “Http Request“.

This powerful HTTP module allows us to call a specific URL which is, in this design, a specific Integromat webhook. Then you wonder : why calling an Integromat webhook at the end of this scenario?

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.

Multiple Integromat scenarii pointing to a single webhook to trigger a master scenario

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.

Integromat availabe modules related to hooks

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.

How to create a webhook with Integromat

This URL can be easily copied from the window below.

Logically, this is a secured address (https) which is nested into the domain as Integromat is in charge of managing all these webhooks in terms of naming, listening inbound queries end sending responses back to requesters.

Where to find Integromat webhook URL

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.

Country-based scenario dedicated to IBAN collection

Open your HTTP module and paste the webhook URL you’ve just created into the URL section.

Then select the POST option which is the method to be used when calling an endpoint in general (cf. API REST), and Integromat webhooks in particular.

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.

How to create a JSON POST with 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
Creating a JSON payload with Integromat HTTP module

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.

Overview of our KYC scenario with Integromat

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.

File processing with Integromat

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.

Normalizing URL with Integromat

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.

Typeform Get File module in Integromat

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.

Thus, there is no need for any complex formula to isolate the filename from the URL. If you want to dig into REGEX, have a look at which is a wonderful tool to test and learn.

Regex with 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
Uploading a binary attachment to Salesforce with Integromat


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 seen how to collect files thanks to Typeform and how to retrieve them into your CRM (and Salesforce in this particular example – it would be the exact same approach with Hubspot or PipeDrive).

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 😉

4 2 votes
Article Rating
Notify of
Inline Feedbacks
View all comments
Would love your thoughts, please comment.x