---
canonical_url: "https://docs.composio.dev/toolkits/line"
markdown_url: "https://docs.composio.dev/toolkits/line.md"
product: "platform"
version: null
last_updated: null
---

# LINE

Use a LINE Official Account's Messaging API channel to manage messages, audiences, and rich menus.

- **Category:** communication
- **Auth:** API_KEY
- **Composio-managed OAuth available?** N/A
- **Tools:** 17
- **Triggers:** 1
- **Slug:** `LINE`
- **Version:** 20261013_00

## Tools

### Create Rich Menu

**Slug:** `LINE_CREATE_RICH_MENU`

Create a rich-menu definition and return its ID. Creation alone does not display it: upload an image, then set it as default or link it to a user.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | Yes | Management-only rich-menu name (max 300 characters). |
| `size` | object | Yes | Rich-menu canvas size. |
| `areas` | array | Yes | One to 20 tappable areas on the rich menu. |
| `selected` | boolean | Yes | Whether the rich menu opens by default after it is linked. |
| `chat_bar_text` | string | Yes | Text shown in the chat bar (max 14 characters). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Rich Menu with Image

**Slug:** `LINE_CREATE_RICH_MENU_WITH_IMAGE`

Create a rich-menu definition and upload its JPEG or PNG image in one call. If image upload fails, the newly created definition is deleted automatically. The finished menu must still be set as default or linked to a user to display.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | Yes | Management-only rich-menu name (max 300 characters). |
| `size` | object | Yes | Rich-menu canvas size. |
| `areas` | array | Yes | One to 20 tappable areas on the rich menu. |
| `image` | object | Yes | JPEG or PNG image matching the canvas size, at most 1 MiB, with width divided by height at least 1.45. |
| `selected` | boolean | Yes | Whether the rich menu opens by default after it is linked. |
| `chat_bar_text` | string | Yes | Text shown in the chat bar (max 14 characters). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Rich Menu

**Slug:** `LINE_DELETE_RICH_MENU`

Permanently delete a rich menu by ID. Delete only a menu the caller owns or explicitly intends to remove.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `rich_menu_id` | string | Yes | Rich-menu ID to permanently delete. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Download Message Content Preview

**Slug:** `LINE_DOWNLOAD_MESSAGE_CONTENT_PREVIEW`

Download LINE's reduced-size preview image for a retained image or video message whose contentProvider.type is line.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `message_id` | string | Yes | Message ID of an image or video from a webhook event. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Follower Insight

**Slug:** `LINE_GET_FOLLOWER_INSIGHT`

Return cumulative first-time friend additions, currently targetable users, and current blocks as of one UTC+9 date. The friend-add total does not decrease after blocks or account deletions. Counts can be unavailable while statistics are unready or out of service.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `date` | string | Yes | Date in yyyyMMdd format, interpreted in UTC+9 (for example, 20260803). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Message Delivery Count

**Slug:** `LINE_GET_MESSAGE_DELIVERY_COUNT`

Get the number of reply, push, multicast, or broadcast messages sent on one UTC+9 calendar date. A result can be unready, unavailable_for_privacy, or out_of_service instead of containing a count.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `date` | string | Yes | Date in yyyyMMdd format, interpreted in UTC+9 (for example, 20260803). |
| `message_type` | string ("reply" | "push" | "multicast" | "broadcast") | Yes | Messaging endpoint whose sent-message count to retrieve. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Message Delivery Insight

**Slug:** `LINE_GET_MESSAGE_DELIVERY_INSIGHT`

Return aggregate counts of messages sent on one UTC+9 calendar date, broken down across Official Account Manager, Messaging API, and supported partner channels.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `date` | string | Yes | Date in yyyyMMdd format, interpreted in UTC+9 (for example, 20260803). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Rich Menu

**Slug:** `LINE_GET_RICH_MENU`

Get one Messaging API rich-menu definition by ID, including its canvas, tappable areas, and actions.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `rich_menu_id` | string | Yes | Rich-menu ID to retrieve. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Link or Unlink User Rich Menu

**Slug:** `LINE_LINK_OR_UNLINK_USER_RICH_MENU`

Link or unlink a per-user rich menu. WARNING: LINE can return HTTP 200 even when nothing changed for a nonexistent, deleted, blocked, non-friend, or cross-channel user; success confirms request acceptance, not the assignment effect.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_id` | string | Yes | LINE user ID from a webhook source object, not a searchable LINE ID. HTTP 200 does not prove that this user was eligible or changed. |
| `operation` | string ("link" | "unlink") | Yes | Link or unlink the user's per-user rich menu. LINE may return HTTP 200 even when no assignment changes. |
| `rich_menu_id` | string | No | Image-backed rich-menu ID. Required for link and omitted for unlink. Request acceptance does not verify that LINE changed the user's link. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Chat Member IDs

**Slug:** `LINE_LIST_CHAT_MEMBER_IDS`

Return one page of member user IDs for a group or legacy room containing the bot. Requires a verified or premium LINE Official Account; room applies only to legacy multi-person chats.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `chat_id` | string | Yes | Group or room ID from a webhook event source object. The bot must participate in the chat. |
| `chat_type` | string ("group" | "room") | Yes | Use group for a current group chat, or room for a legacy multi-person chat. |
| `next_cursor` | string | No | Continuation cursor returned by the previous call. Repeat chat_type and chat_id when continuing. LINE cursors expire after 24 hours. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Follower IDs

**Slug:** `LINE_LIST_FOLLOWER_IDS`

Return one page of user IDs for friends of the LINE Official Account. This endpoint requires a verified or premium LINE Official Account and excludes blockers, deleted users, and users without profile consent.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `limit` | integer | No | Maximum user IDs requested for this page (1-1000). A page may contain fewer IDs while still returning a continuation cursor. |
| `next_cursor` | string | No | Continuation cursor returned by the previous call. Omit for the first page. LINE cursors expire after 24 hours. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Rich Menus

**Slug:** `LINE_LIST_RICH_MENUS`

List all rich menus created through the Messaging API. Menus created in LINE Official Account Manager are not included.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Mark Messages as Read

**Slug:** `LINE_MARK_MESSAGES_AS_READ`

Mark all messages through a webhook-issued read token as read. The token must have been received by this exact bot; this operation cannot be undone.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `mark_as_read_token` | string | Yes | Read token from message.markAsReadToken in a webhook message event received by this bot. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Reply to Message

**Slug:** `LINE_REPLY_TO_MESSAGE`

Reply with one to five text messages using a single-use token from a LINE webhook. Call this within one minute of receiving the token. If LINE reports an expired, reused, or invalid token, wait for a new webhook event and use its new reply token; the failed token cannot be refreshed or retried.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `messages` | array | Yes | One to five text messages sent together as the webhook reply. |
| `reply_token` | string | Yes | Single-use reply token from a LINE webhook message event. Use it within one minute of receiving the webhook; an expired, reused, malformed, or wrong-channel token is rejected and cannot be retried with the same token. |
| `notification_disabled` | boolean | No | Whether to send the reply without a push notification to the user. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Send Push Message

**Slug:** `LINE_SEND_PUSH_MESSAGE`

Irreversibly send one to five text messages from a LINE Official Account to a webhook/API userId, groupId, or roomId. The destination is never a user's visible LINE ID.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `to` | string | Yes | Webhook/API userId, groupId, or roomId of the destination. This is never a user's visible LINE ID. |
| `messages` | array | Yes | One to five strict text-message objects to send in order. |
| `retry_key` | string | No | UUID idempotency key. One is generated when omitted so automatic retries reuse it safely. Supply a key to retry the exact same request across action executions. LINE retains accepted keys for 24 hours; reuse after that window can send the message again. |
| `notification_disabled` | boolean | No | Whether to send the push message without a user notification. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Set or Clear Default Rich Menu

**Slug:** `LINE_SET_OR_CLEAR_DEFAULT_RICH_MENU`

Set or clear the Messaging API default rich menu. Setting requires an image-backed rich menu; clearing does not delete the menu and does not clear a default managed in LINE Official Account Manager.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `operation` | string ("set" | "clear") | Yes | Set an image-backed rich menu as the Messaging API default, or clear that default. |
| `rich_menu_id` | string | No | Rich-menu ID to set as default. Required when operation is set and must be omitted when operation is clear. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Upload Rich Menu Image

**Slug:** `LINE_UPLOAD_RICH_MENU_IMAGE`

Upload a JPEG or PNG image for a rich menu. An image cannot be replaced for the same rich-menu ID; create a new menu to use another image.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `image` | object | Yes | JPEG or PNG image, at most 1 MiB, 800-2500 px wide, at least 250 px high, with width divided by height at least 1.45. |
| `rich_menu_id` | string | Yes | Rich-menu ID returned by Create Rich Menu. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |


## Triggers

### Message Received

**Slug:** `LINE_MESSAGE_RECEIVED`

**Type:** webhook

Fires when someone sends a message to your LINE Official Account.

Covers 1:1 chats, groups and multi-person rooms, and every message type
LINE delivers. Reply within one minute using `reply_token`, or send a push
message to `user_id` at any time after that.

#### Payload

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `group_id` | string | No | Group ID, when the message arrived in a group chat. |
| `message` | object | Yes | The message that was sent. |
| `reply_token` | string | No | Single-use token for replying to this exact message. LINE requires it to be used within one minute of the event; after that reply with a push message addressed to `user_id` instead. Absent on the rare events LINE does not allow a reply to. |
| `room_id` | string | No | Room ID, when the message arrived in a multi-person chat. |
| `source_type` | string ("user" | "group" | "room") | No | Whether the message came from a 1:1 chat, group, or room. Absent when LINE does not attribute the message to a conversation. |
| `timestamp` | integer | Yes | When the event occurred, in milliseconds since the epoch. |
| `user_id` | string | No | LINE user ID of the sender. Use it to send a push message later, once the reply token has expired. Absent when LINE cannot attribute the message to a user. |
