Classify KYC risk from form submissions with OpenAI, Google Sheets and Slack
Go to WorkflowDescription
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.