This workflow follows the Form Trigger → Gmail recipe pattern — see all workflows that pair these two integrations.
The workflow JSON
Copy or download the full n8n JSON below. Paste it into a new n8n workflow, add your credentials, activate. Full import guide →
{
"name": "\u30b7\u30e3\u30c9\u30fcIT\uff08\u91ce\u826fSaaS\uff09\u691c\u77e5\u30dc\u30c3\u30c8",
"nodes": [
{
"parameters": {
"path": "audit-csv-upload",
"formTitle": "\u7d4c\u8cbb\u30c7\u30fc\u30bf\u76e3\u67fb\u30dd\u30fc\u30bf\u30eb",
"formDescription": "\u4eca\u6708\u306e\u30af\u30ec\u30b8\u30c3\u30c8\u30ab\u30fc\u30c9\u660e\u7d30\uff08CSV\u5f62\u5f0f\uff09\u3092\u30a2\u30c3\u30d7\u30ed\u30fc\u30c9\u3057\u3066\u304f\u3060\u3055\u3044\u3002AI\u304c\u30b7\u30e3\u30c9\u30fcIT\u306e\u5229\u7528\u3092\u81ea\u52d5\u76e3\u67fb\u3057\u307e\u3059\u3002",
"formFields": {
"values": [
{
"fieldLabel": "\u30af\u30ec\u30b8\u30c3\u30c8\u30ab\u30fc\u30c9\u660e\u7d30 (CSV)",
"fieldType": "file",
"requiredField": true
}
]
},
"responseMode": "responseNode",
"options": {}
},
"id": "form-trigger",
"name": "Form Trigger",
"type": "n8n-nodes-base.formTrigger",
"typeVersion": 2.1,
"position": [
0,
0
]
},
{
"parameters": {
"operation": "read",
"binaryPropertyName": "\u30af\u30ec\u30b8\u30c3\u30c8\u30ab\u30fc\u30c9\u660e\u7d30 (CSV)",
"options": {}
},
"id": "read-csv",
"name": "CSV\u8aad\u307f\u8fbc\u307f",
"type": "n8n-nodes-base.spreadsheetFile",
"typeVersion": 2,
"position": [
220,
0
]
},
{
"parameters": {
"jsCode": "// CSV\u306e\u5404\u884c\u30c7\u30fc\u30bf\u3092\u3001Gemini\u304c\u8aad\u307f\u3084\u3059\u3044\u3088\u3046\u306b1\u3064\u306e\u30c6\u30ad\u30b9\u30c8\u306b\u7d50\u5408\u3057\u307e\u3059\u3002\nconst items = $input.all();\nconst dataString = items.map(item => JSON.stringify(item.json)).join('\\n');\nreturn [{ combined_data: dataString }];"
},
"id": "aggregate-data",
"name": "\u30c7\u30fc\u30bf\u3092\u30c6\u30ad\u30b9\u30c8\u5316",
"type": "n8n-nodes-base.code",
"typeVersion": 2,
"position": [
440,
0
]
},
{
"parameters": {
"modelId": {
"__rl": true,
"value": "models/gemini-2.5-flash",
"mode": "list",
"cachedResultName": "models/gemini-2.5-flash"
},
"messages": {
"values": [
{
"content": "=\u3042\u306a\u305f\u306f\u4f01\u696d\u306e\u300c\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3\u76e3\u67fb\u30fb\u60c5\u30b7\u30b9\u62c5\u5f53\u30de\u30cd\u30fc\u30b8\u30e3\u30fc\u300d\u3067\u3059\u3002\n\u5f93\u696d\u54e1\u306e\u7d4c\u8cbb\u7cbe\u7b97\u30c7\u30fc\u30bf\uff08\u30af\u30ec\u30b8\u30c3\u30c8\u30ab\u30fc\u30c9\u660e\u7d30\uff09\u304b\u3089\u3001\u4f1a\u793e\u304c\u8a31\u53ef\u3057\u3066\u3044\u306a\u3044\u30af\u30e9\u30a6\u30c9\u30b5\u30fc\u30d3\u30b9\u3084\u30bd\u30d5\u30c8\u30a6\u30a7\u30a2\uff08\u30b7\u30e3\u30c9\u30fcIT\uff09\u306e\u5229\u7528\u304c\u306a\u3044\u304b\u3092\u76e3\u67fb\u3057\u307e\u3059\u3002\n\n\u3010\u793e\u5185\u8a31\u53ef\u6e08\u307fSaaS\uff08\u30db\u30ef\u30a4\u30c8\u30ea\u30b9\u30c8\uff09\u3011\n* Google Workspace\n* AWS (Amazon Web Services)\n* Slack\n* Canva\n* n8n\n\n\u4ee5\u4e0b\u306e\u3010\u5165\u529b\u30c7\u30fc\u30bf\u3011\u306f\u3001\u4eca\u6708\u306e\u30af\u30ec\u30b8\u30c3\u30c8\u30ab\u30fc\u30c9\u660e\u7d30\uff08CSV\u304b\u3089\u62bd\u51fa\u3057\u305f\u30c7\u30fc\u30bf\uff09\u3067\u3059\u3002\n\u3053\u306e\u30c7\u30fc\u30bf\u304b\u3089\u300cIT\u30b5\u30fc\u30d3\u30b9\u30fbSaaS\u30fb\u30bd\u30d5\u30c8\u30a6\u30a7\u30a2\u300d\u3068\u601d\u308f\u308c\u308b\u6c7a\u6e08\u3092\u62bd\u51fa\u3057\u3001\u30db\u30ef\u30a4\u30c8\u30ea\u30b9\u30c8\u3068\u7167\u5408\u3057\u3066\u304f\u3060\u3055\u3044\u3002\n\u203b\u98f2\u98df\u4ee3\u3084\u4ea4\u901a\u8cbb\u306a\u3069\u306eIT\u4ee5\u5916\u306e\u7d4c\u8cbb\u306f\u5b8c\u5168\u306b\u7121\u8996\u3057\u3066\u304f\u3060\u3055\u3044\u3002\n\n\u3010\u5165\u529b\u30c7\u30fc\u30bf\uff08\u30af\u30ec\u30ab\u660e\u7d30\uff09\u3011\n{{ $json.combined_data }}\n\n\u3010\u51fa\u529b\u30d5\u30a9\u30fc\u30de\u30c3\u30c8\u3011\n\u4ee5\u4e0b\u306e\u69cb\u6210\u3067\u3001\u30ec\u30dd\u30fc\u30c8\u3092\u4f5c\u6210\u3057\u3066\u304f\u3060\u3055\u3044\u3002\n\n### \ud83d\udea8 \u30b7\u30e3\u30c9\u30fcIT\uff08\u91ce\u826fSaaS\uff09\u691c\u77e5\u30ec\u30dd\u30fc\u30c8\n* **\ud83d\udd34 \u672a\u627f\u8a8d\u30c4\u30fc\u30eb\uff08\u30b7\u30e3\u30c9\u30fcIT\u306e\u7591\u3044\uff09:**\n \uff08\u30db\u30ef\u30a4\u30c8\u30ea\u30b9\u30c8\u306b\u306a\u3044IT\u95a2\u9023\u306e\u6c7a\u6e08\u304c\u3042\u308c\u3070\u5217\u6319\u3057\u3001\u60c5\u5831\u6f0f\u6d29\u30ea\u30b9\u30af\u3084\u30a2\u30ab\u30a6\u30f3\u30c8\u7ba1\u7406\u306e\u89b3\u70b9\u304b\u3089\u3001\u60c5\u30b7\u30b9\u3068\u3057\u3066\u306e\u5bfe\u5fdc\u65b9\u91dd\u30fb\u6ce8\u610f\u559a\u8d77\u3092\u8a18\u8f09\u3057\u3066\u304f\u3060\u3055\u3044\uff09\n* **\ud83d\udfe2 \u627f\u8a8d\u6e08\u307f\u30c4\u30fc\u30eb:**\n \uff08\u30ea\u30b9\u30c8\u3068\u4e00\u81f4\u3057\u305f\u6c7a\u6e08\u3092\u8a18\u8f09\uff09\n\n### \ud83d\udca1 \u76e3\u67fb\u30de\u30cd\u30fc\u30b8\u30e3\u30fc\u304b\u3089\u306e\u30b3\u30e1\u30f3\u30c8\n\uff08\u5f93\u696d\u54e1\u3078\u306e\u5553\u8499\u3084\u3001\u4eca\u5f8c\u306e\u30eb\u30fc\u30eb\u7b56\u5b9a\u306b\u3064\u3044\u3066\u306e\u30a2\u30c9\u30d0\u30a4\u30b9\uff09"
}
]
},
"builtInTools": {},
"options": {}
},
"type": "@n8n/n8n-nodes-langchain.googleGemini",
"typeVersion": 1.1,
"position": [
660,
0
],
"id": "gemini-auditor",
"name": "Gemini (\u76e3\u67fb\u30de\u30cd\u30fc\u30b8\u30e3\u30fc)",
"credentials": {
"googlePalmApi": {
"name": "<your credential>"
}
}
},
{
"parameters": {
"sendTo": "your-email@example.com",
"subject": "\u3010\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3\u76e3\u67fb\u3011\u4eca\u6708\u306e\u30b7\u30e3\u30c9\u30fcIT\u691c\u77e5\u30ec\u30dd\u30fc\u30c8",
"emailType": "text",
"message": "={{ $json.content.parts[0].text }}",
"options": {}
},
"type": "n8n-nodes-base.gmail",
"typeVersion": 2.2,
"position": [
880,
-100
],
"id": "send-email",
"name": "Gmail\u901a\u77e5",
"credentials": {
"gmailOAuth2": {
"name": "<your credential>"
}
}
},
{
"parameters": {
"respondWith": "text",
"responseBody": "\u76e3\u67fb\u304c\u5b8c\u4e86\u3057\u3001\u30ec\u30dd\u30fc\u30c8\u3092\u30e1\u30fc\u30eb\u3067\u9001\u4fe1\u3057\u307e\u3057\u305f\u3002\u53d7\u4fe1\u30c8\u30ec\u30a4\u3092\u3054\u78ba\u8a8d\u304f\u3060\u3055\u3044\u3002",
"options": {}
},
"id": "respond-to-webhook",
"name": "\u30d6\u30e9\u30a6\u30b6\u3078\u5fdc\u7b54",
"type": "n8n-nodes-base.respondToWebhook",
"typeVersion": 1.1,
"position": [
880,
100
]
}
],
"connections": {
"Form Trigger": {
"main": [
[
{
"node": "CSV\u8aad\u307f\u8fbc\u307f",
"type": "main",
"index": 0
}
]
]
},
"CSV\u8aad\u307f\u8fbc\u307f": {
"main": [
[
{
"node": "\u30c7\u30fc\u30bf\u3092\u30c6\u30ad\u30b9\u30c8\u5316",
"type": "main",
"index": 0
}
]
]
},
"\u30c7\u30fc\u30bf\u3092\u30c6\u30ad\u30b9\u30c8\u5316": {
"main": [
[
{
"node": "Gemini (\u76e3\u67fb\u30de\u30cd\u30fc\u30b8\u30e3\u30fc)",
"type": "main",
"index": 0
}
]
]
},
"Gemini (\u76e3\u67fb\u30de\u30cd\u30fc\u30b8\u30e3\u30fc)": {
"main": [
[
{
"node": "Gmail\u901a\u77e5",
"type": "main",
"index": 0
},
{
"node": "\u30d6\u30e9\u30a6\u30b6\u3078\u5fdc\u7b54",
"type": "main",
"index": 0
}
]
]
}
}
}
Credentials you'll need
Each integration node will prompt for credentials when you import. We strip credential IDs before publishing — you'll add your own.
gmailOAuth2googlePalmApi
For the full experience including quality scoring and batch install features for each workflow upgrade to Pro
About this workflow
シャドーIT(野良SaaS)検知ボット. Uses formTrigger, spreadsheetFile, googleGemini, gmail. Event-driven trigger; 6 nodes.
Source: https://github.com/alternativescom/n8n-automation-workflows/blob/main/31-shadow-it-detector/workflow.json — original creator credit. Request a take-down →
Related workflows
Workflows that share integrations, category, or trigger type with this one. All free to copy and import.
This workflow serves as a complete "AI Receptionist" for mortgage brokers or high-ticket service providers. It automates the messy process of qualifying leads, getting internal approval, and collectin
This workflow is your automated sales assistant, designed to intelligently qualify incoming leads and route them to the most appropriate follow-up channel. It uses the powerful BANT (Budget, Authority
following up on every lead by hand is slow, inconsistent, and lets good opportunities slip. by the time you read a form submission, write a reply, and figure out what to do next — the lead has moved o
Generate three recipes using AI for quick meal options. Uses formTrigger, googleGemini, httpRequest, googleSheets. Event-driven trigger; 18 nodes.
09_Storage_GoogleDrives_meeting_note. Uses googleDrive, googleDocs, googleSheets, gmail. Event-driven trigger; 9 nodes.