This workflow corresponds to n8n.io template #6221 — we link there as the canonical source.
This workflow follows the Agent → Chat Trigger 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": "lc8NKe6V14iG51T4",
"meta": {
"templateCredsSetupCompleted": true
},
"name": "Access Stripe data in natural language with Kimi K2 via OpenRouter",
"tags": [],
"nodes": [
{
"id": "fc80d268-934e-4bb7-a854-0483732bfb34",
"name": "AI Agent",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
-48,
-112
],
"parameters": {
"options": {
"systemMessage": "=You are an AI agent with authorized access to a defined set of Stripe tools. Your core objective is to understand and respond to user queries by securely interacting with Stripe's API, enabling read and write operations in accordance with their requests and permissions.\n\nTool Access and Capabilities\nRead Data Capabilities\nYou can retrieve the following information from Stripe:\nCustomers: Access and list multiple customer records.\nCharges: Retrieve and list multiple charge transactions.\nCoupons: Get lists of existing coupons.\nBalance: Obtain the current balance details.\n\nWrite Data Capabilities\nYou are authorized to:\nCreate Coupons: Generate new coupons within the Stripe system.\n\nStrictly follow these rules:\n\nNever access or attempt to retrieve data outside of the above abilities.\nAlways confirm actions (especially when creating coupons) and provide users with a summary of the resulting Stripe operation.\nClearly explain any Stripe terminology or usage as needed.\nReject and inform users if they request actions beyond your tool permissions.\nYour responses must be concise, accurate, and tailored to the user's intent regarding Stripe operations. \nUse Stripe data responsibly and in line with best practices for financial data access."
}
},
"typeVersion": 2
},
{
"id": "0dc1fc15-7958-4f01-be6d-bed3946d60c9",
"name": "OpenRouter Chat Model",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenRouter",
"position": [
-64,
112
],
"parameters": {
"model": "moonshotai/kimi-k2",
"options": {}
},
"credentials": {
"openRouterApi": {
"name": "<your credential>"
}
},
"typeVersion": 1
},
{
"id": "6edc5f19-be6c-4842-b69d-efc7bb46ad7f",
"name": "When chat message received",
"type": "@n8n/n8n-nodes-langchain.chatTrigger",
"position": [
-256,
-112
],
"parameters": {
"options": {}
},
"typeVersion": 1.1
},
{
"id": "8f520f8d-5085-420a-907f-65958f4ca843",
"name": "Simple Memory",
"type": "@n8n/n8n-nodes-langchain.memoryBufferWindow",
"position": [
80,
112
],
"parameters": {
"contextWindowLength": 20
},
"typeVersion": 1.3
},
{
"id": "08695c48-3f6d-404d-acca-d799708f101b",
"name": "Create a coupon in Stripe",
"type": "n8n-nodes-base.stripeTool",
"position": [
320,
368
],
"parameters": {
"resource": "coupon",
"percentOff": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Percent_Off', ``, 'number') }}"
},
"credentials": {
"stripeApi": {
"name": "<your credential>"
}
},
"typeVersion": 1
},
{
"id": "c37f6b38-638b-46f6-a8d9-3ff526a7599b",
"name": "Get a balance in Stripe",
"type": "n8n-nodes-base.stripeTool",
"position": [
816,
96
],
"parameters": {},
"credentials": {
"stripeApi": {
"name": "<your credential>"
}
},
"typeVersion": 1
},
{
"id": "1adee53c-0f39-44cb-b2c6-83779340bb0b",
"name": "Get many charges in Stripe",
"type": "n8n-nodes-base.stripeTool",
"position": [
496,
96
],
"parameters": {
"limit": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Limit', ``, 'number') }}",
"resource": "charge",
"operation": "getAll"
},
"credentials": {
"stripeApi": {
"name": "<your credential>"
}
},
"typeVersion": 1
},
{
"id": "b9c48bc6-a79a-4e2b-bb2f-23837bd936af",
"name": "Get many coupons in Stripe",
"type": "n8n-nodes-base.stripeTool",
"position": [
672,
96
],
"parameters": {
"limit": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Limit', ``, 'number') }}",
"resource": "coupon",
"operation": "getAll"
},
"credentials": {
"stripeApi": {
"name": "<your credential>"
}
},
"typeVersion": 1
},
{
"id": "94ce8cf5-c2cf-4cb5-8a05-2a72c8011213",
"name": "Sticky Note",
"type": "n8n-nodes-base.stickyNote",
"position": [
256,
-32
],
"parameters": {
"width": 688,
"height": 304,
"content": "## Read data\n"
},
"typeVersion": 1
},
{
"id": "5f79a25d-eab2-452d-ac07-8ccf3778ac2c",
"name": "Sticky Note1",
"type": "n8n-nodes-base.stickyNote",
"position": [
256,
288
],
"parameters": {
"width": 224,
"height": 256,
"content": "## Write data"
},
"typeVersion": 1
},
{
"id": "4f9598f9-3e48-4979-a1f5-8c64b5c7b44c",
"name": "Get many customers in Stripe",
"type": "n8n-nodes-base.stripeTool",
"position": [
320,
96
],
"parameters": {
"limit": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Limit', ``, 'number') }}",
"filters": {},
"resource": "customer",
"operation": "getAll"
},
"credentials": {
"stripeApi": {
"name": "<your credential>"
}
},
"typeVersion": 1
},
{
"id": "1cfd5b2f-36d7-42c8-ba67-0d2906d0bd93",
"name": "Sticky Note2",
"type": "n8n-nodes-base.stickyNote",
"position": [
-624,
96
],
"parameters": {
"color": 5,
"width": 464,
"height": 192,
"content": "## Requirements\n\n- An **Stripe** account and API key credentials enabled. n8n docs: https://docs.n8n.io/integrations/builtin/credentials/stripe/ \n- An **[OpenRouter](https://openrouter.ai)** account and API credentials enabled. Set up an API key at https://openrouter.ai/settings/keys "
},
"typeVersion": 1
}
],
"active": false,
"settings": {
"executionOrder": "v1"
},
"versionId": "58807a0c-a099-4d5f-9722-3bfce4363f80",
"connections": {
"Simple Memory": {
"ai_memory": [
[
{
"node": "AI Agent",
"type": "ai_memory",
"index": 0
}
]
]
},
"OpenRouter Chat Model": {
"ai_languageModel": [
[
{
"node": "AI Agent",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"Get a balance in Stripe": {
"ai_tool": [
[
{
"node": "AI Agent",
"type": "ai_tool",
"index": 0
}
]
]
},
"Create a coupon in Stripe": {
"ai_tool": [
[
{
"node": "AI Agent",
"type": "ai_tool",
"index": 0
}
]
]
},
"Get many charges in Stripe": {
"ai_tool": [
[
{
"node": "AI Agent",
"type": "ai_tool",
"index": 0
}
]
]
},
"Get many coupons in Stripe": {
"ai_tool": [
[
{
"node": "AI Agent",
"type": "ai_tool",
"index": 0
}
]
]
},
"When chat message received": {
"main": [
[
{
"node": "AI Agent",
"type": "main",
"index": 0
}
]
]
},
"Get many customers in Stripe": {
"ai_tool": [
[
{
"node": "AI Agent",
"type": "ai_tool",
"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.
openRouterApistripeApi
For the full experience including quality scoring and batch install features for each workflow upgrade to Pro
About this workflow
Elevate your Stripe workflows with an AI agent that intelligently, securely, and interactively handles essential Stripe data operations. Leveraging the Kimi K2 model via OpenRouter, this n8n template enables safe data retrieval. From fetching summarized financial insights to…
Source: https://n8n.io/workflows/6221/ — 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.
Send an AI a few details about your "Dream Customer" in normal english, then have it search the web and give you a "Dream 100" - 100 ideal prospects to connect with in your industry.
Turn any YouTube channel into a searchable knowledge base. The AI agent understands relationships between videos, topics, tools, and concepts - enabling powerful queries like "Which videos talk about
Overview Meet Maria, a sophisticated AI Booking Agent designed for Veterinary Clinics (but easily adaptable to any service business). This workflow transforms a simple chat interface into a full-scale
Easily Compare LLMs Using OpenAI and Google Sheets. Uses chatTrigger, splitInBatches, memoryBufferWindow, memoryManager. Chat trigger; 21 nodes.
This template gives you a framework to use skills in any n8n agent. You can use this as a starting point and add any other tools or patterns needed for your use case.