This workflow corresponds to n8n.io template #15726 — we link there as the canonical source.
This workflow follows the Agent → 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 →
{
"id": "JSFAwm3NP2SEP7Jb",
"name": "Stripe Payment Processing",
"tags": [],
"nodes": [
{
"id": "b9b40f6e-04c7-4792-a048-21de84c27385",
"name": "Stripe Payment Webhook",
"type": "n8n-nodes-base.webhook",
"position": [
64,
592
],
"parameters": {
"path": "stripe-payment",
"options": {},
"httpMethod": "POST"
},
"typeVersion": 2.1
},
{
"id": "f72ee4f8-6266-469b-a788-a1ceb79b275a",
"name": "Configure Variables",
"type": "n8n-nodes-base.set",
"position": [
272,
592
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "1",
"name": "slackChannel",
"type": "string",
"value": "<__PLACEHOLDER_VALUE__Slack channel name (e.g., #payments)__>"
},
{
"id": "3",
"name": "ghlPipelineStageId",
"type": "string",
"value": "<__PLACEHOLDER_VALUE__GHL Pipeline Stage ID for paying clients__>"
},
{
"id": "4",
"name": "googleSheetId",
"type": "string",
"value": "<__PLACEHOLDER_VALUE__Google Sheet ID__>"
},
{
"id": "5",
"name": "paymentAmount",
"type": "number",
"value": "={{ $json.body.data.object.amount / 100 }}"
},
{
"id": "6",
"name": "customerName",
"type": "string",
"value": "={{ $json.body.data.object.metadata.customer_name }}"
},
{
"id": "7",
"name": "customerEmail",
"type": "string",
"value": "={{ $json.body.data.object.metadata.customer_email }}"
},
{
"id": "8",
"name": "product",
"type": "string",
"value": "={{ $json.body.data.object.metadata.product }}"
},
{
"id": "9",
"name": "customerId",
"type": "string",
"value": "={{ $json.body.data.object.customer }}"
},
{
"id": "10",
"name": "timestamp",
"type": "string",
"value": "={{ $now.toISO() }}"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "813108ee-c4ac-4c82-8dcf-31fd328d86d5",
"name": "Generate Invoice Summary Email",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
624,
544
],
"parameters": {
"text": "=Write a professional invoice summary email for a customer who just made a payment. Customer Name: {{ $json.customerName }}, Payment Amount: ${{ $json.paymentAmount }}, Product Purchased: {{ $json.product }}. The email should thank them for their payment, confirm the details, and be warm and professional.",
"options": {
"systemMessage": "You are a professional business email writer. Write clear, warm, and professional invoice summary emails that thank customers for their payment and confirm transaction details."
},
"promptType": "define"
},
"typeVersion": 3.1
},
{
"id": "fffad73c-3e35-4185-ac75-d2aba3bef463",
"name": "OpenAI Model",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
"position": [
528,
640
],
"parameters": {
"model": {
"__rl": true,
"mode": "id",
"value": "gpt-4o-mini"
},
"options": {},
"builtInTools": {}
},
"typeVersion": 1.3
},
{
"id": "5ff64484-2790-4f9d-b828-8517e2aef725",
"name": "Send Invoice Email to Customer",
"type": "n8n-nodes-base.gmail",
"position": [
1056,
304
],
"parameters": {
"sendTo": "={{ $(\"Configure Variables\").item.json.customerEmail }}",
"message": "={{ $json.output }}",
"options": {},
"subject": "=Payment Confirmation - {{ $(\"Configure Variables\").item.json.product }}",
"emailType": "text"
},
"typeVersion": 2.2
},
{
"id": "db2b141e-c5c1-4d94-a9a3-3542ff0269da",
"name": "Update GoHighLevel Contact",
"type": "n8n-nodes-base.httpRequest",
"position": [
1040,
624
],
"parameters": {
"url": "=https://rest.gohighlevel.com/v1/contacts/{{ $(\"Configure Variables\").item.json.customerId }}",
"method": "PUT",
"options": {},
"jsonBody": "={{ { \"pipelineStageId\": $(\"Configure Variables\").item.json.ghlPipelineStageId } }}",
"sendBody": true,
"specifyBody": "json",
"authentication": "genericCredentialType",
"genericAuthType": "httpHeaderAuth"
},
"typeVersion": 4.4
},
{
"id": "7cca3319-7223-4496-a28f-c1a71281bda4",
"name": "Send Slack Notification to Team",
"type": "n8n-nodes-base.slack",
"position": [
1040,
960
],
"parameters": {
"text": "=\ud83d\udcb0 New Payment Received!\n\nCustomer: {{ $(\"Configure Variables\").item.json.customerName }}\nAmount: ${{ $(\"Configure Variables\").item.json.paymentAmount }}\nProduct: {{ $(\"Configure Variables\").item.json.product }}\nPipeline Stage: Paying Client",
"select": "channel",
"channelId": {
"__rl": true,
"mode": "name",
"value": "={{ $(\"Configure Variables\").item.json.slackChannel }}"
},
"otherOptions": {}
},
"typeVersion": 2.4
},
{
"id": "60291f4e-24b8-4d91-9bc3-c4d01c7b26f4",
"name": "Log Payment to Google Sheets",
"type": "n8n-nodes-base.googleSheets",
"position": [
1040,
1296
],
"parameters": {
"columns": {
"value": {
"Email": "={{ $(\"Configure Variables\").item.json.customerEmail }}",
"Amount": "={{ $(\"Configure Variables\").item.json.paymentAmount }}",
"Product": "={{ $(\"Configure Variables\").item.json.product }}",
"Timestamp": "={{ $(\"Configure Variables\").item.json.timestamp }}",
"Customer Name": "={{ $(\"Configure Variables\").item.json.customerName }}"
},
"mappingMode": "defineBelow"
},
"options": {},
"operation": "append",
"sheetName": {
"__rl": true,
"mode": "name",
"value": "Payments"
},
"documentId": {
"__rl": true,
"mode": "id",
"value": "={{ $(\"Configure Variables\").item.json.googleSheetId }}"
}
},
"typeVersion": 4.7
},
{
"id": "51a5b9e2-602b-46d8-976c-ea0af95505a1",
"name": "Sticky Note",
"type": "n8n-nodes-base.stickyNote",
"position": [
48,
16
],
"parameters": {
"color": "#FFF995",
"width": 848,
"height": 224,
"content": "## Stripe Payment to GHL Pipeline Update with AI Invoice and Slack Alert\n\n**Who it's for:** Agencies, service businesses, and GHL users who want to automatically update their CRM, notify their team, and send a professional invoice to the customer the moment a Stripe payment lands.\n\n**What it does:** Triggers when a Stripe payment is received via webhook, generates an AI-written invoice summary, emails it to the customer, updates the contact in GoHighLevel to a paying client pipeline stage, notifies the team in Slack, and logs the payment to Google Sheets.\n\n**Requirements:** Stripe webhook, OpenAI API key, Gmail credential, GoHighLevel API key, Slack credential, Google Sheets credential"
},
"typeVersion": 1
},
{
"id": "e2d28fdf-1b83-4bba-8d1a-267fc86eab44",
"name": "Sticky Note1",
"type": "n8n-nodes-base.stickyNote",
"position": [
-16,
416
],
"parameters": {
"color": "#606060",
"width": 432,
"height": 336,
"content": "## 1. Trigger and Configuration\n\nWebhook receives the Stripe payment event. Update the Configure Variables node with your Slack channel name, GHL API key, GHL pipeline stage ID for paying clients, and Google Sheet ID before activating."
},
"typeVersion": 1
},
{
"id": "ed51542e-9292-43d3-8b5b-3b8cda752b9b",
"name": "Sticky Note2",
"type": "n8n-nodes-base.stickyNote",
"position": [
464,
416
],
"parameters": {
"color": "#606060",
"width": 448,
"height": 336,
"content": "## 2. AI Invoice Generation\n\nPayment data is passed to OpenAI which writes a professional invoice summary email based on the customer name, payment amount, and product purchased."
},
"typeVersion": 1
},
{
"id": "42ee6722-ce43-4b79-b384-df31fd32370a",
"name": "Sticky Note3",
"type": "n8n-nodes-base.stickyNote",
"position": [
992,
192
],
"parameters": {
"color": "#606060",
"width": 448,
"height": 288,
"content": "## 3. Customer Email\n\nGmail sends the AI-written invoice summary to the customer from your connected account."
},
"typeVersion": 1
},
{
"id": "22a59ec4-71bf-4b67-9bb3-1f8525c9661a",
"name": "Sticky Note4",
"type": "n8n-nodes-base.stickyNote",
"position": [
992,
496
],
"parameters": {
"color": "#606060",
"width": 448,
"height": 304,
"content": "## 4. GHL Pipeline Update\n\nHTTP Request node calls the GoHighLevel API to move the customer contact to the paying client pipeline stage using the stage ID set in Configure Variables."
},
"typeVersion": 1
},
{
"id": "41aa1208-b2cb-4151-9591-4e4ec7992b0a",
"name": "Sticky Note5",
"type": "n8n-nodes-base.stickyNote",
"position": [
992,
1168
],
"parameters": {
"color": "#606060",
"width": 448,
"height": 304,
"content": "## 6. Payment Log\n\nGoogle Sheets appends a new row with the customer name, email, payment amount, product, and timestamp for bookkeeping and tracking."
},
"typeVersion": 1
},
{
"id": "946bb738-f5df-4116-8f87-aca1afbbe40f",
"name": "Sticky Note6",
"type": "n8n-nodes-base.stickyNote",
"position": [
992,
832
],
"parameters": {
"color": "#606060",
"width": 448,
"height": 304,
"content": "## 5. Team Notification\n\nSlack sends an alert to your team with the customer name, payment amount, and updated pipeline stage so everyone knows the payment came through."
},
"typeVersion": 1
}
],
"active": false,
"settings": {
"binaryMode": "separate",
"executionOrder": "v1"
},
"versionId": "8945f819-a5ce-40a8-bb82-7fceb3897ad7",
"connections": {
"OpenAI Model": {
"ai_languageModel": [
[
{
"node": "Generate Invoice Summary Email",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"Configure Variables": {
"main": [
[
{
"node": "Generate Invoice Summary Email",
"type": "main",
"index": 0
}
]
]
},
"Stripe Payment Webhook": {
"main": [
[
{
"node": "Configure Variables",
"type": "main",
"index": 0
}
]
]
},
"Generate Invoice Summary Email": {
"main": [
[
{
"node": "Send Invoice Email to Customer",
"type": "main",
"index": 0
},
{
"node": "Update GoHighLevel Contact",
"type": "main",
"index": 0
},
{
"node": "Send Slack Notification to Team",
"type": "main",
"index": 0
},
{
"node": "Log Payment to Google Sheets",
"type": "main",
"index": 0
}
]
]
}
}
}
For the full experience including quality scoring and batch install features for each workflow upgrade to Pro
About this workflow
Agencies, service businesses, and GoHighLevel users who want to automatically update their CRM, notify their team, and send a professional invoice to the customer the moment a Stripe payment lands. Webhook receives the Stripe payment event Configure Variables node sets your…
Source: https://n8n.io/workflows/15726/ — 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.
🧾 Short Description
This workflow automates end-to-end concert ticket booking validation and fan experience management using two coordinated AI agents. It is designed for ticketing platforms, event operators, and venue o
This workflow automates the end-to-end employee onboarding process by provisioning new hires across multiple internal systems and delivering a personalized welcome experience.
This n8n workflow orchestrates a powerful suite of AI Agents and automations to manage and optimize various aspects of an e-commerce operation, particularly for platforms like Shopify. It leverages La
Enhance your support, onboarding, and internal knowledge workflows with an intelligent RAG-powered chatbot that responds using live data stored in Google Sheets. 🤖📚 Built for teams that rely on struct