Skip to main content
Integrate your LINE Official Account with Chatwoot to manage LINE conversations from your unified inbox.

Prerequisites

  • LINE Official Account (previously LINE@ account)
  • LINE Developers account
  • LINE Messaging API access

Setup

1

Create LINE Official Account

  1. Go to LINE Official Account Manager
  2. Create a new Official Account
  3. Verify your account
2

Enable Messaging API

  1. In LINE Official Account settings
  2. Go to SettingsMessaging API
  3. Click Enable Messaging API
  4. Create a LINE Developers channel
3

Get API credentials

From LINE Developers Console:
  1. Go to your Messaging API channel
  2. Copy Channel ID
  3. Copy Channel Secret
  4. Issue a Channel Access Token (long-lived)
4

Add LINE inbox in Chatwoot

Go to SettingsInboxesAdd InboxLINE
5

Enter credentials

  • Enter Channel ID
  • Enter Channel Secret
  • Enter Channel Access Token
6

Configure webhook

  1. Copy the webhook URL from Chatwoot
  2. In LINE Developers Console, go to Messaging API tab
  3. Set Webhook URL to the Chatwoot URL
  4. Enable Use webhook
  5. Verify the webhook
7

Disable auto-reply (important)

In LINE Official Account Manager:
  1. Go to SettingsResponse settings
  2. Disable Auto-response messages
  3. Disable Greeting messages (or Chatwoot won’t receive them)
  4. Enable Webhooks
8

Test the integration

  1. Add your LINE Official Account as a friend
  2. Send a test message
  3. Verify it appears in Chatwoot

Features

  • Real-time messaging - Instant two-way communication
  • Rich messages - Text, images, videos, audio, stickers
  • Template messages - Buttons, carousels, confirmations
  • Quick replies - Suggested response buttons
  • Rich menus - Custom menu at bottom of chat
  • Flex messages - Custom layouts and designs
  • Location sharing - Send and receive locations
  • File sharing - Send and receive files

Message Types

Text Messages

Standard text messages with emoji support.

Rich Messages

Images with tappable areas that link to URLs:
{
  "type": "imagemap",
  "baseUrl": "https://example.com/images/rich",
  "altText": "Menu",
  "baseSize": {
    "width": 1040,
    "height": 1040
  },
  "actions": [
    {
      "type": "uri",
      "linkUri": "https://example.com/products",
      "area": {
        "x": 0,
        "y": 0,
        "width": 520,
        "height": 520
      }
    }
  ]
}

Template Messages

Buttons Template

{
  "type": "template",
  "altText": "Buttons",
  "template": {
    "type": "buttons",
    "text": "How can we help?",
    "actions": [
      {
        "type": "message",
        "label": "Sales",
        "text": "I need sales help"
      },
      {
        "type": "uri",
        "label": "Website",
        "uri": "https://example.com"
      }
    ]
  }
}
{
  "type": "template",
  "altText": "Products",
  "template": {
    "type": "carousel",
    "columns": [
      {
        "thumbnailImageUrl": "https://example.com/product1.jpg",
        "title": "Product 1",
        "text": "Description",
        "actions": [
          {
            "type": "uri",
            "label": "View",
            "uri": "https://example.com/product1"
          }
        ]
      }
    ]
  }
}

Quick Replies

Suggested response buttons:
{
  "type": "text",
  "text": "Choose a topic:",
  "quickReply": {
    "items": [
      {
        "type": "action",
        "action": {
          "type": "message",
          "label": "Sales",
          "text": "Sales inquiry"
        }
      },
      {
        "type": "action",
        "action": {
          "type": "message",
          "label": "Support",
          "text": "Technical support"
        }
      }
    ]
  }
}

Configuration Options

line_channel_id
string
required
Channel ID from LINE Developers Console
line_channel_secret
string
required
Channel Secret for webhook verification
line_channel_token
string
required
Long-lived Channel Access Token

Rich Menu

Create custom menu at bottom of LINE chat:
  1. Design menu image (2500x1686px or 2500x843px)
  2. Upload to LINE Developers Console
  3. Configure tap areas and actions
  4. Link menu to your Official Account

Best Practices

Disable LINE auto-replies to avoid conflicts
Use template messages for better engagement
Add quick replies to guide conversations
Set up rich menu for easy navigation
Use stickers sparingly (can be fun but unprofessional)
Monitor message delivery status
Keep messages concise (LINE users expect quick responses)

Troubleshooting

  • Verify webhook URL is correct
  • Check webhook is enabled in LINE Developers Console
  • Disable auto-response in LINE Official Account Manager
  • Verify webhook token matches
  • Test webhook with LINE webhook test tool
  • Check Chatwoot logs for errors
  • Verify Channel Access Token is valid
  • Check token hasn’t expired (use long-lived token)
  • Ensure user has added your Official Account
  • Check account isn’t blocked or deleted
  • Verify LINE API rate limits
  • Check Channel Secret is correct
  • Verify webhook URL is publicly accessible
  • Ensure HTTPS is properly configured
  • Check firewall allows LINE webhook IPs
  • Verify JSON structure is correct
  • Check image URLs are publicly accessible
  • Ensure image dimensions meet LINE requirements
  • Test rich message in LINE Simulator

LINE API Limits

Free Plan

  • Messages: 500 free messages per month
  • Additional messages: Paid (varies by country)

Messaging Limits

  • Push messages: Rate limits based on account type
  • Reply messages: Must reply within 30 seconds of webhook
  • Multicast: Up to 500 recipients

File Size Limits

  • Images: 10MB (JPEG, PNG)
  • Videos: 200MB (MP4)
  • Audio: 200MB (M4A, MP3)
  • Files: 10MB

Build docs developers (and LLMs) love