π Vet supplier payments with Bright Data, GPT-5.6, Slack, and data tables
β‘ 1 views Β· π SecOps & Security Automation
Description
Quick overview
This workflow collects supplier and invoice details via an n8n form, runs live website, complaint-search, and invoice-domain checks through Bright Data, generates a plain-language risk verdict with OpenAI, then requests a human approve/block decision in Slack and logs the outcome to an n8n Data Table.
How it works
- Receives a supplier check request from an n8n form submission with the supplier name, known website, invoice email domain, amount, and requester.
- Normalizes the website and invoice domain and builds a complaint-search query.
- Uses Bright Data Web Unlocker to fetch the supplier website and extracts basic trust signals like terms/privacy links, contact details, address, and registration identifiers.
- Uses Bright Data SERP to run a Google complaint search and scores how many result titles mention fraud, scams, or lawsuits while ignoring the supplierβs own domain.
- Uses Bright Data Web Unlocker to fetch the invoice domain (or the supplier site if none is provided) and compares it to the known website using edit distance to detect lookalike domains.
- Combines the three checks into a weighted 0β100 risk score with human-readable reasons and has OpenAI (GPT-5.6) write a short verdict based only on those findings.
- Sends a Slack βsend and waitβ approval request to the payments channel, then records the decision to an n8n Data Table and posts a confirmation to the appropriate Slack channel.
Setup
- Create a Bright Data Header Auth credential and ensure you have a Web Unlocker zone and a SERP zone, then set their zone names in the workflow settings values.
- Add an OpenAI credential (for the GPT-5.6 chat model) and a Slack credential with permission to post and use interactive approvals in your target channels.
- Create an n8n Data Table named
supplier_checkswith at least asuppliercolumn (and any additional columns you want to store), and update the table name if yours differs. - Update the Slack channel names in the workflow settings (
approval_channelandblocked_channel) to match your environment and ensure those channels exist.
π Nodes Used
HTTP Request, Slack, Basic LLM Chain, OpenAI Chat Model, n8n Form Trigger, Data table
π₯ Import
Download workflow.json and import into n8n:
Workflow menu β Import from File