Caricamento in corso...
Caricamento in corso...
Last synced: Today, 22:00
Technical reference for the OpenClaw framework. Real-time synchronization with the official documentation engine.
Use this file to discover all available pages before exploring further.
LINE connects to OpenClaw via the LINE Messaging API. The plugin runs as a webhook receiver on the gateway and uses your channel access token + channel secret for authentication.
Status: bundled plugin. Direct messages, group chats, media, locations, Flex messages, template messages, and quick replies are supported. Reactions and threads are not supported.
LINE ships as a bundled plugin in current OpenClaw releases, so normal packaged builds do not need a separate install.
If you are on an older build or a custom install that excludes LINE, install a current npm package when one is published:
bashopenclaw plugins install @openclaw/line
If npm reports the OpenClaw-owned package as deprecated or missing, use a current packaged OpenClaw build or a local checkout until the npm package train catches up.
Local checkout (when running from a git repo):
bashopenclaw plugins install ./path/to/local/line-plugin
texthttps://gateway-host/line/webhook
The gateway responds to LINE’s webhook verification (GET) and inbound events (POST). If you need a custom path, set
channels.line.webhookPathchannels.line.accounts.<id>.webhookPathSecurity note:
req.bodyMinimal config:
json5{ channels: { line: { enabled: true, channelAccessToken: "LINE_CHANNEL_ACCESS_TOKEN", channelSecret: "LINE_CHANNEL_SECRET", dmPolicy: "pairing", }, }, }
Env vars (default account only):
LINE_CHANNEL_ACCESS_TOKENLINE_CHANNEL_SECRETToken/secret files:
json5{ channels: { line: { tokenFile: "/path/to/line-token.txt", secretFile: "/path/to/line-secret.txt", }, }, }
tokenFilesecretFileMultiple accounts:
json5{ channels: { line: { accounts: { marketing: { channelAccessToken: "...", channelSecret: "...", webhookPath: "/line/marketing", }, }, }, }, }
Direct messages default to pairing. Unknown senders get a pairing code and their messages are ignored until approved.
bashopenclaw pairing list line openclaw pairing approve line <CODE>
Allowlists and policies:
channels.line.dmPolicypairing | allowlist | open | disabledchannels.line.allowFromchannels.line.groupPolicyallowlist | open | disabledchannels.line.groupAllowFromchannels.line.groups.<groupId>.allowFromchannels.linegroupPolicy="allowlist"channels.defaults.groupPolicyLINE IDs are case-sensitive. Valid IDs look like:
UCRchannels.line.mediaMaxMb~/.openclaw/media/inbound/Use
channelData.linejson5{ text: "Here you go", channelData: { line: { quickReplies: ["Status", "Help"], location: { title: "Office", address: "123 Main St", latitude: 35.681236, longitude: 139.767125, }, flexMessage: { altText: "Status card", contents: { /* Flex payload */ }, }, templateMessage: { type: "confirm", text: "Proceed?", confirmLabel: "Yes", confirmData: "yes", cancelLabel: "No", cancelData: "no", }, }, }, }
The LINE plugin also ships a
/cardtext/card info "Welcome" "Thanks for joining!"
LINE supports ACP (Agent Communication Protocol) conversation bindings:
/acp spawn <agent> --bind hereSee ACP agents for details.
The LINE plugin supports sending images, videos, and audio files through the agent message tool. Media is sent via the LINE-specific delivery path with appropriate preview and tracking handling:
Outbound media URLs must be public HTTPS URLs. OpenClaw validates the target hostname before handing the URL to LINE and rejects loopback, link-local, and private-network targets.
Generic media sends fall back to the existing image-only route when a LINE-specific path is not available.
channelSecretchannels.line.webhookPathchannels.line.mediaMaxMb© 2024 TaskFlow Mirror
Powered by TaskFlow Sync Engine