Summarise Support Emails with Kimi K3.1 Pro in n8n
Build idea, not a verified tutorial. This was drafted by an automation Daniel built. Tool interfaces change often — check the current docs before relying on the steps.
Support inboxes fill up fast. By the time someone reads each email to decide what it's about, half the day is gone. This workflow reads every new email the moment it arrives, asks Kimi K3.1 Pro (Moonshot AI's just-released reasoning model) to summarise it and rate its urgency, and logs the result to a Google Sheet so your team sees a clean triage list — not a wall of raw email.
How it flows
1
Get your Kimi API key
Kimi K3.1 Pro is a large AI model made by Moonshot AI. To use it from n8n, you need an API key — a secret password that lets your workflow call the model. Go to platform.kimi.ai, sign in (Google login works), open API Keys in the left sidebar, click Create API Key, give it a name like 'n8n-support', then copy the key immediately — the console only shows it once.
platform.kimi.ai · API Keys page
1 Create a new key
Create API Key
2 Key settings
Namen8n-support
Project(leave as default)
3 Copy the key before closing — it won't appear again
sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxCopy
4 Top up at least $1 to unlock the model
The API is pay-as-you-go. Go to Billing in the console and add $1 or more. K3.1 Pro costs $2 per million input tokens — a typical support email is under 500 tokens, so this will run for a very long time on $1. Kimi API Platform →
2
Create a new n8n workflow and add a Gmail trigger
n8n is a visual automation tool. You build workflows by connecting nodes (blocks that each do one thing) on a canvas. The first node is always a trigger — something that starts the workflow. Here, the trigger is a new email arriving in Gmail.
n8n · workflow canvas
1 Start a new workflow
+ New workflow
2 Search for the Gmail trigger node
Gmail
GT Gmail TriggerTriggers when a new email arrives
G GmailSend, read, move emails
3 Configure the Gmail Trigger node
EventMessage Received
CredentialConnect your Gmail account (follow the OAuth pop-up)
LabelINBOX
Poll timesEvery 1 minute
3
Store your Kimi key as a credential in n8n
Before calling Kimi, you save your API key in n8n's built-in credential manager — a secure vault that keeps secrets out of your workflow JSON. The HTTP Request node (which you'll add next) will pull the key from there automatically.
n8n · Credentials panel
1 Open the credentials page
Credentials
2 Add a new credential
+ Add credential
3 Choose the credential type
Header Auth
HA Header AuthSend a custom header with every request
4 Fill in the Header Auth form
NameKimi K3.1 Pro
Header NameAuthorization
Header ValueBearer sk-xxxxxxxxxxxxxxxx ← paste your Kimi key here
Save
4
Add an HTTP Request node to call Kimi K3.1 Pro
n8n's HTTP Request node lets you talk to any service that has an API — including Kimi. An API (Application Programming Interface) is just a way for one piece of software to ask another to do something. You'll send the email text to Kimi and get a summary back. Click the + after the Gmail Trigger node to add a new node.
n8n · HTTP Request node settings
1 Find and add the HTTP Request node
HTTP Request
HR HTTP RequestMake HTTP calls to any API
2 Set the request details
MethodPOST
URLhttps://api.moonshot.ai/v1/chat/completions
AuthenticationGeneric Credential Type
Generic Auth TypeHeader Auth
CredentialKimi K3.1 Pro ← the one you just saved
3 Set the JSON body — paste this into the Body field (set Body Content Type to JSON)
{
"model": "kimi-k3.1-pro",
"reasoning_effort": "low",
"messages": [
{
"role": "system",
"content": "You are a support triage assistant. Given an email, return a JSON object with two keys: 'summary' (one sentence, max 20 words) and 'urgency' (one of: low, medium, high)."
},
{
"role": "user",
"content": "Subject: {{ $json.subject }}\n\n{{ $json.text }}"
}
]
}
Returns{ "summary": "Customer cannot log in after password reset.", "urgency": "high" }
4 What is {{ $json.subject }}?
Those double-curly-bracket expressions are n8n's way of pulling data from the previous node. $json.subject is the email's subject line; $json.text is the email body. n8n fills them in automatically at runtime. n8n expressions guide →
5
Parse Kimi's reply with a Code node
Kimi returns a big JSON response. You only need the short summary and urgency label buried inside it. A Code node in n8n lets you write a tiny snippet of JavaScript to pull out just those two values. You don't need to understand JavaScript — just copy the snippet below.
The last step writes one row per email to a Google Sheet — a simple online spreadsheet you create at sheets.google.com. Add columns: Date, From, Subject, Summary, Urgency. Then connect n8n to it using the Google Sheets node.
n8n · Google Sheets node
1 Add a Google Sheets node
Google Sheets
GS Google SheetsRead and write spreadsheet rows
2 Configure the node
OperationAppend Row
CredentialConnect your Google account (OAuth pop-up)
SpreadsheetSelect your triage sheet by name
SheetSheet1
3 Map the fields from the Code node to your sheet columns
summary→Summary
urgency→Urgency
subject→Subject
from→From
Ignore blank values
4 What a logged row looks like
Support triage rowhigh
Fromjane@acme.com
SubjectCan't log in
SummaryCustomer cannot log in after password reset.
Urgencyhigh
What you get
Every new email in your Gmail inbox now gets a one-sentence AI summary and an urgency tag (low / medium / high) logged to a Google Sheet within about a minute of arrival. Your team opens one spreadsheet instead of an inbox, and high-urgency items jump out immediately. Rough effort: ~90 minutes to set up. Kimi API cost: roughly $0.01 per 100 emails at typical email lengths. n8n Cloud free tier covers up to 5 workflow executions per hour; self-hosting n8n is free with no limits..