ChatWork連携は、OAuth接続とWebhook設定の2つで動きます。
OAuth接続は、CognoがChatWork APIを読むための認可です。認可したChatWorkユーザーが参加しているルーム、メッセージ、メンバー情報を使って、Cogno側の連携状態とUser mapping候補を作ります。
Webhook設定は、ChatWorkからCognoへメッセージイベントを届けるための設定です。ChatWorkのWebhook URLにCognoのURLを登録し、Cogno側にはWebhook Setting IDとWebhook Tokenを保存します。
事前確認
- Cogno workspace の owner である。
- ChatWorkで対象ルームに参加しているアカウントを使える。
- ChatWorkのAPI管理画面でWebhookを作成、編集できる。
- チーム共通の連携として運用する場合は、個人退職や権限変更で止まらないChatWork運用アカウントを使う。
CognoでOAuth接続する
- Cogno app を開きます。
- 対象 workspace の Integrations を開きます。
- ChatWork を選択します。
- Connect ChatWork を押します。
- ChatWorkの認可画面で、Cognoに許可するスコープを確認して承認します。
- CognoのChatWork連携ページに戻り、Connection が
Connectedになっていることを確認します。
ここまででCognoはChatWork APIを読めるようになります。リアルタイムのメッセージ通知を受けるには、次のWebhook設定も必要です。
ChatWorkでWebhookを作成する
- Cogno の Integrations > ChatWork を開きます。
- workspace owner にだけ表示される Webhook setup の Webhook URL をコピーします。
- ChatWorkのAPI管理画面でWebhook設定を新規作成します。
- Webhook URL にCognoのWebhook URLを貼り付けます。
- Cognoに取り込みたいイベントを選びます。Cognoは
message_created、message_updated、mention_to_meを取り込みます。 - ChatWork側でWebhook設定を保存します。
ChatWorkのWebhookは、ChatWork API管理画面から設定するリアルタイム通知です。公式仕様は Webhookについて を確認してください。
CognoにWebhookの検証値を保存する
- ChatWorkで作成したWebhook設定の編集画面を開きます。
- Webhook Setting ID と Webhook Token を確認します。
- Cogno の Webhook setup に戻ります。
- Webhook Setting ID と Webhook Token を入力します。
- Save webhook を押します。
- 表示が
Webhook configuredになったことを確認します。
CognoはこのIDとtokenを使って、届いたWebhookが対象workspaceのChatWork設定から来たものかを検証します。
User mappingを確認する
WebhookまたはChatWork APIからChatWork account候補が見つかると、User mapping に表示されます。
- Sync users を押して候補を更新します。
- 各ChatWork accountをCogno workspace memberに対応付けます。
- ChatWork上のメンションや投稿者が、Cognoのsemantic eventに入る前にworkspace memberとして解決される状態にします。
CognoからChatWorkへメンションを返す処理でも同じ対応関係を使います。ChatWork accountとCogno memberがずれている場合は、User mappingを先に直してください。
よくある状態
| State | Meaning | Next action |
|---|---|---|
| Webhook setup が表示されない | 自分がworkspace ownerではない | workspace ownerに設定を依頼します |
| Webhook not configured | CognoにWebhook Setting IDとWebhook Tokenが保存されていない | ChatWork側でWebhookを作成し、CognoにIDとtokenを保存します |
| User mappingが空 | ChatWork account候補がまだ見つかっていない | 対象ルームでメッセージを送るか、Sync usersを押します |
| メッセージがCognoに入らない | OAuthだけ完了し、Webhookが未設定の可能性がある | Webhook URL、イベント種別、ID/tokenを確認します |