Classify KYC risk from form submissions with OpenAI, Google Sheets and Slack

Go to Workflow
0 views
Built by WeblineIndia WeblineIndia
Created on June 05, 2026

Description

KYC Risk Profiling Form with n8n, OpenAI, Google Sheets & Slack

This workflow captures customer KYC details through an n8n Form, validates the submitted input, sends the cleaned data to OpenAI for automated risk profiling, formats the AI response and routes the result based on whether the applicant is classified as High Risk or not. High-risk cases are saved separately and trigger a Slack alert, while lower-risk cases are simply logged into Google Sheets for recordkeeping and review.

Quick Implementation Steps

Import the workflow into n8n.
Configure your OpenAI credentials.
Connect your Google Sheets credentials.
Connect your Slack credentials.
Open the KYC Form Submission node and publish the form.
Make sure your form collects these exact fields:
Income
Geography
Occupation
Configure the two Google Sheets nodes for:
High-risk records
Normal-risk records
Set the Slack channel for high-risk alerts.
Test the form using sample submissions.
Activate the workflow once everything is verified.

What It Does

The KYC Risk Profiling Form workflow automates the first layer of customer risk assessment by collecting basic applicant information and using AI to classify the risk level. Instead of manually reviewing every entry, the workflow accepts a form submission, validates the data and sends it to an AI model that returns a structured risk decision.

Once the AI analysis is returned, the workflow extracts the important risk fields, formats them into a clean structure and checks whether the applicant should be considered High Risk. If the risk category is high, the record is routed into a separate review path where it is saved and also sent to Slack as an alert. If the customer is Low or Medium risk, the record is saved without triggering an alert.

This makes the workflow useful as a lightweight KYC intake and triage layer, especially for teams that want faster screening without building a full compliance platform.

Who It's For

This workflow is useful for businesses and teams that need a simple way to screen customer or applicant risk during intake.

Ideal users include:

Compliance teams
KYC / AML operations teams
Risk analysts
Fintech startups
Financial service providers
Customer onboarding teams
Internal operations teams
Workflow automation teams building compliance intake systems

It is especially helpful for teams that want to automate basic risk profiling before manual review.

Requirements to Use This Workflow

Before using this workflow, make sure you have the following:

Required Platforms & Accounts

n8n account
OpenAI API access**
Google Sheets**
Slack**

Required n8n Credentials

You will need to configure:

OpenAI credentials**
Google Sheets OAuth2 credentials**
Slack credentials**

Required Form Fields

This workflow expects the form to collect the following exact field names:

Income
Geography
Occupation

These names are important because they are used directly inside the validation and AI nodes.

Required Google Sheets Structure

The JSON shows two separate Google Sheets append nodes:

1) High Risk Sheet

Used by:

Save High Risk Record

Recommended columns based on workflow output:

riskCategory
income
geography
redFlags

2) Normal Risk Sheet

Used by:

Save Normal Risk Record

Recommended columns based on workflow output:

riskCategory
redFlags
income
geography
occupation

Required Slack Setup

You must connect a Slack workspace and choose a valid destination channel in:

Send High Risk Alert

How It Works & Setup Guide

Step 1 — Import the Workflow into n8n

Import the provided JSON file into your n8n workspace.

After import, the workflow will appear as:

KYC-RISK-FORM

Step 2 — Understand the Workflow Flow

This workflow follows the structure below:

KYC Form Submission
→ Validate KYC Input
→ Ai Assign The Risk Category
→ Process AI Response
→ Format Final Data
→ Check High Risk
├── High Risk → Format the Data For Sheet → Save High Risk Record → Send High Risk Alert
└── Low / Medium Risk → Save Normal Risk Record

This structure creates a simple but useful KYC screening pipeline.

Step 3 — Configure the KYC Form

Node:
KYC Form Submission

This is the entry point of the workflow. It creates a user-facing form inside n8n.

Form title in the workflow:
KYC_FORM

Fields configured in the form

1) Income

Type: number
Required: true

2) Geography

Type: text
Required: true

3) Occupation

Type: text
Required: true

What to do

Open the form node
Publish the form
Share the form link with internal users or customers
Keep the field names unchanged unless you also update the downstream nodes

This form acts as the customer KYC intake point.

Step 4 — Validate the Submitted Input

Node:

Validate KYC Input

This Code node validates the incoming form data before it is sent to AI.

Validation logic in this node

The workflow checks:

Income must be greater than 0
Geography must not be empty
Occupation must not be empty

It also performs these actions

Converts Income into a numeric value
Trims extra spaces from text inputs
Converts Geography to uppercase
Adds:
isValid
validationErrors
createdAt

Output fields created

Income
Geography
Occupation
isValid
validationErrors
createdAt

Important implementation note

Although this node generates isValid and validationErrors, the current JSON does not include an IF node to stop invalid submissions before they reach the AI step. That means invalid or incomplete records may still continue through the workflow unless you manually extend it later.

So while validation is present, it is currently used as a data preparation step, not as a hard blocking gate.

Step 5 — Configure OpenAI Risk Analysis

Node:

Ai Assign The Risk Category

This node sends the validated KYC data to OpenAI (gpt-4o-mini) for automated risk classification.

What the AI is instructed to do

The prompt asks the model to:

Assign a risk category:
Low
Medium
High

List any red flags found

Return the original applicant details exactly as received

Applicant fields sent to AI

Income
Geography
Occupation

Risk rules defined in the workflow

The AI is told to classify as High Risk if:

the geography is a sanctioned country
the geography is a FATF blacklisted country
the geography is a high-risk jurisdiction
the occupation is in a high-risk sector such as:
cryptocurrency
gambling
arms trade
shell companies
politically exposed roles

The AI is told to classify as Medium Risk if:

one moderate concern exists

The AI is told to classify as Low Risk if:

no major red flags exist

Expected AI output format

The prompt explicitly requests valid JSON in this structure:

{
"riskCategory": "High",
"redFlags": ["flag1", "flag2"],
"income": "5000",
"geography": "INDIA",
"occupation": "Software Engineer"
}

This structured format is important because the next node depends on it.

Step 6 — Parse and Clean the AI Output

Node:

Process AI Response

This Code node processes the raw AI response and converts it into clean workflow fields.

What this node does

Reads the AI output text
Removes markdown code fences if present
Parses the returned JSON
Extracts important fields
Creates fallback values if parsing fails

Fields extracted

riskCategory
redFlags
redFlagText
income
geography
occupation

Error handling included

If the AI output cannot be parsed correctly, the node returns:

riskCategory = Unknown
empty redFlags
fallback text values
an error field with the parsing error message

This makes the workflow more stable when handling imperfect AI responses.

Step 7 — Format the Final Structured Record

Node:

Format Final Data

This Set node standardizes the processed AI result into a cleaner output structure.

Fields included

riskCategory
redFlags
income
geography
occupation

This step prepares the record for final risk routing.

Step 8 — Route Based on High Risk Status

Node:

Check High Risk

This IF node checks whether:

riskCategory == High

Routing behavior

If riskCategory = High

The record goes to the high-risk path:

Format the Data For Sheet
Save High Risk Record
Send High Risk Alert

If riskCategory is not High

The record goes to the normal-risk path:

Save Normal Risk Record

This is the main decision point in the workflow.

Step 9 — Prepare the High-Risk Sheet Record

Node:

Format the Data For Sheet

This Set node formats high-risk records before saving them.

Fields included in this path

riskCategory
income
geography
redFlags

Important note

This high-risk output currently does not include occupation in this specific formatting node, even though it exists earlier in the workflow.

That means if you want occupation saved into the high-risk sheet, you would need to add it manually later.

Step 10 — Save High-Risk Cases

Node:

Save High Risk Record

This Google Sheets node appends high-risk KYC records to a dedicated sheet.

What to do

Connect your Google Sheets OAuth2 account
Select the spreadsheet for high-risk KYC review
Select the correct sheet tab
Map the sheet columns to the workflow output

Recommended columns based on the workflow

riskCategory
income
geography
redFlags

This sheet acts as your high-risk review register.

Step 11 — Send Slack Alert for High-Risk Cases

Node:

Send High Risk Alert

This Slack node sends a real-time alert when a high-risk applicant is detected.

What to do

Connect your Slack account
Select the Slack channel where alerts should be sent

Slack alert content in the workflow

The alert includes:

Income
Geography
Occupation
Risk Category
Red Flags

Why this is useful

This helps compliance or operations teams react quickly instead of waiting to review a spreadsheet later.

Step 12 — Save Low and Medium Risk Cases

Node:

Save Normal Risk Record

This Google Sheets node stores non-high-risk records.

What to do

Connect your Google Sheets OAuth2 account
Select the spreadsheet for lower-risk KYC records
Select the correct sheet tab

Recommended columns based on workflow output

riskCategory
redFlags
income
geography
occupation

This gives you a separate audit trail for lower-risk applicants.

Step 13 — Test the Workflow Before Going Live

Before activating the workflow, run a few test submissions through the form.

Recommended test scenarios

Test 1 — Low Risk Example

Example:

Income: 5000
Geography: India
Occupation: Software Engineer

Expected result:

record is saved to normal-risk sheet
no Slack alert is sent

Test 2 — Medium Risk Example

Example:

Income: 3000
Geography: Some higher-risk region
Occupation: Freelancer

Expected result:

record is saved to normal-risk sheet
no Slack alert is sent

Test 3 — High Risk Example

Example:

Income: 15000
Geography: High-risk jurisdiction
Occupation: Crypto Trader

Expected result:

record is saved to high-risk sheet
Slack alert is sent

Test 4 — Invalid Submission

Example:

Income: 0
Geography: blank
Occupation: blank

Expected result:

validation fields should show issues
AI may still run in the current workflow unless you add a blocking validation step

Once these tests work correctly, the workflow is ready to activate.

How To Customize Nodes

This workflow is flexible and can be extended depending on your onboarding or compliance process.

1) Add More KYC Form Fields

Node:

KYC Form Submission

You can expand the form to include fields such as:

full name
email
date of birth
nationality
source of funds
business type
customer type
politically exposed person status

If you add fields, remember to update:

validation logic
AI prompt
output formatting
Google Sheets mappings

2) Make Validation Strict

Node:

Validate KYC Input

Right now, validation results are created but not used to stop the workflow.

You can improve this by adding an IF node after validation to block records where:

isValid == false

This would let you:

stop bad form submissions
return cleaner downstream results
prevent unnecessary AI usage

3) Customize Risk Rules

Node:

Ai Assign The Risk Category

You can tailor the AI prompt to match your internal compliance rules.

Example customizations

define your own high-risk geographies
add more restricted occupations
introduce onboarding thresholds
include business-specific risk rules
add customer segment rules

This is one of the most important places to adapt the workflow to your business.

4) Save More AI Output

Nodes:

Process AI Response
Format Final Data

You can extend the structured AI output to include more details such as:

risk score
explanation summary
review recommendation
escalation notes
due diligence level

This is useful if you want more than just a category label.

5) Improve the Slack Alert

Node:

Send High Risk Alert

You can customize the Slack message to include:

internal case ID
submission timestamp
review owner
priority level
direct review link

This helps operational teams respond faster.

6) Unify All Records into One Master Sheet

Nodes:

Save High Risk Record
Save Normal Risk Record

Instead of storing high-risk and normal-risk cases separately, you can route both into one master Google Sheet and add a field such as:

riskCategory

This is useful if you prefer centralized reporting.

Add-ons

This workflow can be extended into a more advanced KYC onboarding automation system.

1) Email Notification for High-Risk Cases

Send an email alert in addition to Slack when a high-risk record is detected.

2) Automatic Case Assignment

Assign high-risk cases to a specific compliance reviewer.

3) Manual Review Queue

Create a review status field such as:

Pending Review
Under Investigation
Approved
Escalated

4) Risk Scoring Dashboard

Track the volume of:

low-risk submissions
medium-risk submissions
high-risk submissions
common red flags

5) CRM or Database Integration

Push the final KYC decision into your CRM, database or onboarding system.

6) Enhanced Sanctions / Jurisdiction Screening

Add a dedicated compliance screening step before or after AI analysis.

Use Case Examples

This workflow can support many different customer onboarding and risk intake scenarios. Below are some of the main ones.

1) Basic KYC Intake Screening

Use the form to collect customer information and automatically classify onboarding risk before manual review.

2) Fintech Customer Onboarding

Route higher-risk financial users into a flagged review process while logging normal applicants automatically.

3) Internal Risk Triage for Sales or Partnerships

Screen leads, vendors or applicants before moving them deeper into your onboarding pipeline.

4) Compliance Team Pre-Screening

Help compliance teams reduce repetitive manual work by automatically identifying obviously high-risk submissions.

5) Operational Review Queue Creation

Automatically create a structured list of high-risk cases that require follow-up or escalation.

6) Lightweight AI-Assisted KYC Automation

Use AI as an early-stage risk assistant before implementing a more advanced compliance stack.

There can be many more use cases depending on your industry, customer type, onboarding rules and compliance process.

Troubleshooting Guide

| Issue | Possible Cause | Solution |
|---|---|---|
| Form submits but no data is processed | Workflow is inactive or form trigger is not published | Activate the workflow and confirm the form is live |
| AI output fails to parse | OpenAI returned text outside the expected JSON structure | Review the AI prompt and confirm the model is returning valid JSON |
| High-risk records are not reaching Slack | Slack node is not configured or connected correctly | Reconnect Slack credentials and verify the selected channel |
| High-risk records are not being saved | Google Sheets high-risk node is not configured | Set the spreadsheet and sheet tab in Save High Risk Record |
| Low / medium records are not being saved | Google Sheets normal-risk node is incomplete | Configure Save Normal Risk Record with the correct destination sheet |
| Risk category is always Unknown | AI output could not be parsed properly | Inspect the Process AI Response node and test the AI response format |
| Invalid form data still moves forward | Validation node does not block the workflow | Add an IF node after Validate KYC Input if you want strict validation |
| Geography looks different than expected | Validation node converts geography to uppercase | This is expected behavior in the current workflow |
| Occupation is missing in the high-risk sheet | Format the Data For Sheet does not include occupation | Add occupation to that Set node if needed |
| Slack alert shows incomplete values | Some fields were not preserved in the high-risk path | Check the data passed into the Slack node and update the mapping if necessary |

Need Help?

If you want help setting up, customizing or extending this workflow, our n8n workflow automation developers at WeblineIndia / Global can help you implement it faster and more reliably.

We can help you with:

n8n workflow setup and deployment
AI-powered KYC intake automation
Google Sheets and Slack integrations
Compliance workflow extensions
Form optimization and validation logic
Onboarding automation
Risk scoring enhancements
Custom review and escalation pipelines

If you want a customized version of this workflow or need similar automation for onboarding, compliance or risk operations, contact WeblineIndia for workflow setup and development support.

Nodes Used (4)

Code
n8n-nodes-base.code
Google Sheets
n8n-nodes-base.googleSheets
OpenAI
@n8n/n8n-nodes-langchain.openAi
Slack
n8n-nodes-base.slack