Log LINE Official Account messages to Google Sheets with auto-replies
Go to WorkflowDescription
Quick overview
Save every text message your LINE Official Account receives to a Google Sheet, and reply with a short automatic message. For small shops and teams that use LINE OA for customer chat and want a simple log of incoming messages without paying for a CRM.
How it works
LINE Webhook receives events from the LINE Messaging API.
Verify LINE Signature checks the x-line-signature header (HMAC-SHA256 with your Channel secret). Bad requests get a 401, and the workflow answers LINE with 200 OK right away, as LINE expects.
Split Out Events handles each event separately, and Only Text Messages keeps text messages only.
Get LINE User Profile looks up the sender's display name.
Append Row to Google Sheet adds timestamp, userId, displayName, message and replyToken.
Send LINE Auto-Reply sends a reply using the reply token.
Setup
In the LINE Developers console, copy the Channel secret and issue a long-lived Channel access token.
In n8n, create a Header Auth credential: Name Authorization, Value Bearer . Select it in both HTTP Request nodes.
Paste the Channel secret into the CHANNEL_SECRET line of the Verify LINE Signature node. If you leave it empty, the check is skipped (only do that for testing).
Create a Google Sheet with the header row timestamp, userId, displayName, message, replyToken, connect Google Sheets and select the file.
Activate the workflow, copy the Production URL from LINE Webhook into the LINE console as the Webhook URL, turn on Use webhook and press Verify. Then change the reply text in Send LINE Auto-Reply to suit your business.
Requirements
n8n (cloud or self-hosted) with a public HTTPS URL; a LINE Official Account with the Messaging API enabled; a Google account with Google Sheets
Customization
Add a Switch node after the filter to reply differently based on keywords, log images or stickers by changing the filter, and turn off LINE OA's built-in auto-response so customers don't get two replies.
Additional info
The Code node uses Node's built-in crypto module. On self-hosted n8n, if require('crypto') is blocked, set NODE_FUNCTION_ALLOW_BUILTIN=crypto. Reply tokens can only be used once and expire quickly. Import-tested on n8n 2.43.7.
This workflow was created by Wongsakorn Phasawet and shared publicly on the n8n community template library. n8nFind indexes it for discovery — the workflow remains the property of its original creator.