> For the complete documentation index, see [llms.txt](https://docs.maiagent.ai/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.maiagent.ai/maiagent-user-guide/ja/conversations/line-works.md).

# 対話プラットフォーム連携：LINE WORKS

LINE WORKS は LINE の法人向けコミュニケーションツールです。連携すると、従業員は普段使っている LINE WORKS 上で AI アシスタントと直接対話でき、別のシステムを開く必要がありません。1対1のダイレクトメッセージとグループ会話の両方に対応しています。

{% hint style="info" %}
LINE WORKS と LINE は異なるプラットフォームであり、認証情報と設定方法はまったく異なります。コンシューマー向けの LINE 公式アカウントと連携する場合は、[対話プラットフォーム連携：LINE](/maiagent-user-guide/ja/conversations/line.md)を参照してください。
{% endhint %}

## 連携前の確認事項 <a href="#pre-integration-checklist" id="pre-integration-checklist"></a>

* [MaiAgent プラットフォーム](https://admin.maiagent.ai/)で「AI アシスタント」を作成済みであること
* LINE WORKS の管理者権限を持っていること（[Admin コンソール](https://admin.worksmobile.com/)にログインできること）
* [LINE WORKS Developer Console](https://developers.worksmobile.com/) にアクセスできること

{% hint style="warning" %}
この連携には 6 つの認証情報が必要であり、**チャンネル作成後に認証情報を変更することはできません**。ステップ 1 とステップ 2 を先に完了し、6 つの認証情報をすべて揃えてから、ステップ 3 に進んでください。
{% endhint %}

***

## ステップ 1：Client App を作成して Service Account を取得する <a href="#step-create-client-app" id="step-create-client-app"></a>

### 1. Developer Console の ClientApp ページに移動する <a href="#step-go-to-clientapp" id="step-go-to-clientapp"></a>

[LINE WORKS Developer Console](https://developers.worksmobile.com/) にログインし、左側メニューで <mark style="color:blue;">API</mark> → <mark style="color:blue;">ClientApp</mark> をクリックしてから、<mark style="color:blue;">Add client app</mark> をクリックして App を作成します。

### 2. 4 つの認証情報を取得する <a href="#step-get-app-credentials" id="step-get-app-credentials"></a>

App の詳細ページに移動し、以下の 4 つの情報を取得します：

| 認証情報                | Console 上の場所                                                                               |
| ------------------- | ------------------------------------------------------------------------------------------ |
| **Client ID**       | <mark style="color:blue;">Client ID</mark> フィールド                                           |
| **Client Secret**   | <mark style="color:blue;">Client Secret</mark> フィールド                                       |
| **Service Account** | <mark style="color:blue;">Service Account</mark> フィールド、形式は `xxxxx.serviceaccount@お客様のドメイン` |
| **Private Key**     | <mark style="color:blue;">Private Key</mark> セクション、作成時に `.key` ファイルとしてダウンロード可能             |

### 3. OAuth Scopes を設定する <a href="#step-set-oauth-scopes" id="step-set-oauth-scopes"></a>

同じページの <mark style="color:blue;">OAuth Scopes</mark> セクションで、以下の権限を付与する必要があります。これらがないと、AI アシスタントはメッセージの送受信やメンバー名の検索ができません：

| Scope         | 説明                                |
| ------------- | --------------------------------- |
| `bot`         | Bot の管理                           |
| `bot.message` | メッセージの送信                          |
| `bot.read`    | Bot 設定の読み取り                       |
| `user.read`   | メンバー情報の読み取り（会話中に発言者の名前を表示するために使用） |

{% hint style="info" %}
同じページの <mark style="color:blue;">トークン設定</mark> で Access Token の有効期限を調整できます。MaiAgent はトークンの発行と更新を自動的に管理しますので、デフォルト値のままで問題ありません。
{% endhint %}

{% hint style="danger" %}
**Private Key は一度しかダウンロードできません。** Service Account 作成時に `.key` ファイルがダウンロード用に提供されます。ページを離れると再取得できません。安全に保管してください。紛失した場合は再生成するしかありませんが、再生成すると既存の連携がただちに無効になります。
{% endhint %}

秘密鍵は**暗号化されていない** PEM 形式である必要があります：最初の行は `BEGIN PRIVATE KEY` または `BEGIN RSA PRIVATE KEY` マーカー（前後にハイフンが 5 つずつ）、最後の行は対応する `END` マーカーです。秘密鍵がパスワードで保護されている場合、MaiAgent では使用できませんので、暗号化されていない鍵を再生成してください。

***

## ステップ 2：Bot を作成して Bot ID と Bot Secret を取得する <a href="#step-create-bot" id="step-create-bot"></a>

Developer Console の左側メニューで <mark style="color:blue;">Bot</mark> をクリックし、Bot を作成して以下を取得します：

| 認証情報           | Console 上の場所                                                                                              |
| -------------- | --------------------------------------------------------------------------------------------------------- |
| **Bot ID**     | <mark style="color:blue;">Bot ID</mark> フィールド                                                             |
| **Bot Secret** | <mark style="color:blue;">Bot Secret</mark> フィールド、LINE WORKS から送られたメッセージが確かにお客様の Bot からのものであることを検証するために使用 |

### グループ会話に必要な設定 <a href="#step-enable-group-chat" id="step-enable-group-chat"></a>

Bot の <mark style="color:blue;">修正</mark> ページで <mark style="color:blue;">Bot ポリシー</mark> → <mark style="color:blue;">チャットルームへの参加</mark> を見つけ、<mark style="color:blue;">チーム/グループ、1:N チャットルームへの招待を許可する</mark> にチェックを入れます。

チェックを入れていない場合、Bot は 1 対 1 のダイレクトメッセージのみに対応し、グループに招待することはできません。

{% hint style="warning" %}
Bot 詳細ページの <mark style="color:blue;">Bot ポリシー</mark> のサマリーテキストが、修正フォームの実際のチェック状態と一致しない場合があることが確認されています。2 つの表示が異なる場合は、<mark style="color:blue;">修正</mark> フォームのチェック状態を正としてください。
{% endhint %}

**Bot 名**もこのページで設定します。この名前はグループ内でユーザーが Bot を @ メンションする際に入力する名前になりますので、入力しやすい名前を付けてください。

{% hint style="info" %}
Callback URL はこのステップではスキップしてください。MaiAgent が生成する Webhook URL が必要であり、**ステップ 4** で設定します。
{% endhint %}

***

## ステップ 3：MaiAgent で LINE WORKS チャンネルを作成する <a href="#step-create-channel-in-maiagent" id="step-create-channel-in-maiagent"></a>

### 1. 対話プラットフォーム連携ページに移動する <a href="#step-go-to-channel-integration" id="step-go-to-channel-integration"></a>

MaiAgent の左側メニューで <mark style="color:blue;">対話プラットフォーム</mark> をクリックし、右上の <mark style="color:blue;">対話プラットフォーム連携</mark> をクリックして、<mark style="color:blue;">LINE WORKS</mark> を選択します。

### 2. 基本設定を入力する <a href="#step-fill-basic-settings" id="step-fill-basic-settings"></a>

| フィールド               | 説明                                                                        |
| ------------------- | ------------------------------------------------------------------------- |
| **名前**              | この連携に名前を付けます（必須）。これは MaiAgent 側のラベルにすぎず、LINE WORKS に表示される Bot 名とは関係ありません。 |
| **AI アシスタント**       | バインドする AI アシスタントを選択                                                       |
| **Bot ID**          | ステップ 2 で取得（必須）                                                            |
| **Bot Secret**      | ステップ 2 で取得（必須）                                                            |
| **Client ID**       | ステップ 1 で取得（必須）                                                            |
| **Client Secret**   | ステップ 1 で取得（必須）                                                            |
| **Service Account** | ステップ 1 で取得（必須）                                                            |
| **Private Key**     | ステップ 1 でダウンロードした `.key` ファイルの全内容を、開始行と終了行を含めて貼り付けます（必須）                   |

フォームは上下 2 つのセクションに分かれています。上部セクションには名前、AI アシスタント、およびステップ 2 で取得した Bot ID と Bot Secret が含まれます：

下にスクロールすると、ステップ 1 で取得した Client App の 3 つの認証情報と秘密鍵があります：

{% hint style="info" %}
Bot Secret と Client Secret は入力後にドットでマスクされます。フィールド右側の目のアイコンをクリックして内容を確認できます。Private Key は `.key` ファイルの全内容をそのまま貼り付けてください。改行はそのまま保持されます。
{% endhint %}

### 3. チャットルーム設定 <a href="#step-chat-room-settings" id="step-chat-room-settings"></a>

| 設定                 | 説明                                                                                                                 |
| ------------------ | ------------------------------------------------------------------------------------------------------------------ |
| **グループで @Bot が必要** | 有効にすると、Bot はグループ会話で @ メンションされた場合のみ返信します。**グループで使用する場合はオンにすることを推奨します**。オフの場合、グループ内のすべてのメッセージが AI アシスタントの返信をトリガーします。 |
| **リセットコマンドを有効にする** | 有効にすると、キーワードをカスタマイズでき、ユーザーがそのキーワードを入力すると会話メモリがクリアされ、最初からやり直すことができます。                                               |

{% hint style="info" %}
「グループで @Bot が必要」は、上部の「名前」フィールドに入力した受信トレイ名ではなく、**Developer Console で設定した Bot 名** と照合されます。Developer Console で Bot 名を変更すると、グループで @ する名前もそれに応じて変わります。
{% endhint %}

### 4. 連携テスト <a href="#step-validate-credentials" id="step-validate-credentials"></a>

<mark style="color:blue;">連携テスト</mark> をクリックします。MaiAgent が実際に LINE WORKS からアクセストークンを取得し、認証情報の組み合わせが正しいことを確認します。

失敗時は画面に具体的な理由が表示されます。よくある 2 つのケース：

* <mark style="color:red;">認証情報の検証に失敗しました</mark> — 次の点を順に確認してください：Private Key が完全に貼り付けられているか（開始行と終了行を含み、途中の改行が欠落していないか）、暗号化されていない形式か、Service Account が完全か（`.serviceaccount@ドメイン` の後半部分を含む）、Client ID と Client Secret が同じ App のものか、App にステップ 1 で示した 4 つの Scope が付与されているか
* <mark style="color:red;">この Bot ID はすでに他の受信トレイにバインドされています</mark> — 同じ Bot を 2 つのチャンネルに同時に接続することはできません。別の Bot を使用するか、既存のチャンネルを先に削除してください

失敗メッセージはボタンの左側に表示されます：

### 5. Webhook URL を作成してコピーする <a href="#step-save-and-get-webhook-url" id="step-save-and-get-webhook-url"></a>

<mark style="color:blue;">対話プラットフォーム連携</mark> をクリックして作成を完了します。システムが **Webhook URL** を生成しますので、コピーしておいてください。次のステップで Developer Console に貼り付けます。

チャンネルの設定ページにいつでも戻り、<mark style="color:blue;">API 連携</mark> フィールドからこの URL をコピーすることもできます。

***

## ステップ 4：Developer Console に戻って Callback URL を設定する <a href="#step-configure-callback-url" id="step-configure-callback-url"></a>

ステップ 2 で作成した Bot に戻り、<mark style="color:blue;">修正</mark> ページを開きます：

1. <mark style="color:blue;">Callback URL</mark> を <mark style="color:blue;">On</mark> に設定し、MaiAgent が生成した **Webhook URL** を入力します
2. <mark style="color:blue;">Callback Event Settings</mark> で受信するイベントにチェックを入れます。AI アシスタントがあらゆる種類のメッセージを処理できるように、<mark style="color:blue;">Message Event</mark> 配下のすべてにチェックを入れることを推奨します：

| イベント                                  | 対応するユーザーの操作  |
| ------------------------------------- | ------------ |
| <mark style="color:blue;">TEXT</mark> | テキストメッセージの送信 |
| <mark style="color:blue;">写真</mark>   | 画像の送信        |
| <mark style="color:blue;">ファイル</mark> | ファイルの送信      |
| <mark style="color:blue;">音声</mark>   | 音声メッセージの送信   |
| <mark style="color:blue;">動画</mark>   | 動画の送信        |
| <mark style="color:blue;">位置共有</mark> | 位置情報の共有      |
| <mark style="color:blue;">スタンプ</mark> | スタンプの送信      |

3. グループで使用する場合は、<mark style="color:blue;">Join Event</mark> と <mark style="color:blue;">Joined Event</mark> にもチェックを入れることを推奨します
4. 設定を保存します

{% hint style="warning" %}
チェックを入れていないイベントタイプは LINE WORKS から MaiAgent に送信されません。該当するメッセージは発生しなかったかのように扱われ、AI アシスタントは返信せず、会話にも記録が残りません。
{% endhint %}

***

## ステップ 5：Admin コンソールで Bot を有効化する <a href="#step-activate-bot" id="step-activate-bot"></a>

[LINE WORKS Admin コンソール](https://admin.worksmobile.com/)にログインし、左側の <mark style="color:blue;">サービス</mark> → <mark style="color:blue;">Bot</mark> で右上の <mark style="color:blue;">Bot を追加</mark> をクリックして、ステップ 2 で作成した Bot を追加します。

追加後、このページに Bot が一覧表示され、<mark style="color:blue;">使用権限</mark> 列でどのメンバーに Bot を表示するかを設定できます（<mark style="color:blue;">全員</mark> に設定すると全メンバーが使用可能）。

{% hint style="warning" %}
このステップは見落としやすいです。Developer Console で Bot を作成しただけでは、**従業員の LINE WORKS にはまだ表示されません**。テナント管理者が Admin コンソールで追加して初めて、従業員が Bot を検索できるようになります。
{% endhint %}

***

## 使い方 <a href="#getting-started" id="getting-started"></a>

### 1 対 1 ダイレクトメッセージ <a href="#direct-message" id="direct-message"></a>

LINE WORKS で Bot 名を検索して会話を開始します。AI アシスタントが自動的に返信します。

{% hint style="info" %}
LINE WORKS のチャットルームはプレーンテキストのみ表示され、**Markdown はレンダリングされません**。AI アシスタントがテーブルや `**太字**`、`###` などの構文を出力した場合、ユーザーには生のシンボルが表示されます。アシスタントのロール指示に書式設定ルールを追加し、Markdown 構文を使用せず、番号付きリストと改行で一覧を表現するよう指定することを推奨します。
{% endhint %}

### グループ会話 <a href="#group-conversation" id="group-conversation"></a>

Bot をグループに招待します。「グループで @Bot が必要」が有効な場合、`@Bot名 質問内容` と入力すると返信がトリガーされます。

MaiAgent の<mark style="color:blue;">すべての対話</mark>では、同じグループが**1 つの会話**として表示され、発言者の名前がメッセージに表示されます。グループ内で複数のユーザーが発言しても、複数の並列会話に分かれることはありません。

### 対応メッセージタイプ <a href="#supported-message-types" id="supported-message-types"></a>

| ユーザーの送信内容               | AI アシスタントの処理方法      |
| ----------------------- | ------------------- |
| テキスト                    | 直接返信                |
| 画像                      | 画像の内容を認識可能          |
| ファイル（PDF、Excel、Word など） | 内容を読み取り、関連する質問に回答   |
| 音声メッセージ                 | テキストに変換してから処理       |
| 動画                      | 添付ファイルとして保存し、会話に記録  |
| 位置情報                    | 「📍 位置情報を共有しました」と表示 |
| スタンプ                    | 「🏷 スタンプ」と表示        |

AI アシスタントの返信ではテキストと添付ファイルに対応しています。1 件のテキストメッセージが LINE WORKS の 1,000 文字制限を超えた場合、システムが自動的に分割して送信します。メッセージが途中で切れることはありません。

***

## よくある質問 <a href="#faq" id="faq"></a>

### AI アシスタントが突然返信しなくなった <a href="#troubleshoot-no-reply" id="troubleshoot-no-reply"></a>

まず、チャンネルの設定ページで<mark style="color:red;">認証情報が無効になりました</mark>の警告が表示されていないか確認してください。

認証情報の無効化の最も一般的な原因は、**Developer Console で秘密鍵または Service Account を再生成した**ことです。古い認証情報が置き換えられると、MaiAgent はアクセストークンを取得できなくなります。

認証情報はその場で変更できないため、新しい LINE WORKS チャンネルを作成し、新しい認証情報を入力してください。

{% hint style="info" %}
認証情報の無効化における唯一の外部症状は、AI アシスタントが応答しなくなることです。ユーザーにはエラーメッセージは表示されません。同僚から「ボットが反応しない」と報告があった場合、最初に確認すべき場所はここです。
{% endhint %}

### なぜ認証情報を変更できないのですか？ <a href="#why-credentials-are-immutable" id="why-credentials-are-immutable"></a>

認証情報は機密データです。MaiAgent は保存後にフロントエンドに返送することはなく、設定ページでも変更を受け付けません。これは、送信時や画面上での認証情報の繰り返しの露出を避けるためです。Bot ID、Client ID、Service Account は読み取り専用で表示されるため、現在接続されている Bot を確認できます。

認証情報のいずれかを変更する必要がある場合は、このチャンネルを削除して新しく作成してください。

### グループで Bot を @ メンションしたが反応がない <a href="#troubleshoot-group-mention" id="troubleshoot-group-mention"></a>

* @ の名前が MaiAgent の受信トレイ名ではなく、**Developer Console の Bot 名** と一致していることを確認してください
* Bot の修正ページの <mark style="color:blue;">Bot ポリシー</mark> → <mark style="color:blue;">チャットルームへの参加</mark> で <mark style="color:blue;">チーム/グループ、1:N チャットルームへの招待を許可する</mark> にチェックが入っていることを確認してください
* <mark style="color:blue;">Callback Event Settings</mark> で <mark style="color:blue;">TEXT</mark> にチェックが入っていることを確認してください

### 定期的にトークンを更新する必要がありますか？ <a href="#token-renewal" id="token-renewal"></a>

必要ありません。MaiAgent は Service Account 方式で認証を行い、アクセストークンはシステムによって自動的に発行・更新されます。時間の経過によって期限切れになることはありません。Developer Console の認証情報が再生成されていない限り、連携は有効なままです。


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.maiagent.ai/maiagent-user-guide/ja/conversations/line-works.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
