AirfocusとWebhookを統合する

著者:  Morgan T
最終更新日:  

Webhookを使ってお気に入りのアプリを接続することで、airfocusから自動かつリアルタイムのアップデートを受けられます。

ウェブフック使用の利点

Webhook を使用すると、airfocus と他のアプリを簡単にリアルタイムで連携させることができます。つまり、追加のアプリや複雑なコーディングを必要とせずに、更新と通知が迅速に行われるということです。

新しいウェブフックの初期設定

AirFocusで新しいワークスペースを作成するか、新しいウェブフックを作りたいワークスペースを選択してください。

要件:

  • Webhookを設定したいワークスペースに対して「完全な」権限を割り当てます。
  • プロフェッショナルまたはエンタープライズプランの有料サブスクリプション。
  • 適切な構成のための技術的知識。

複数のウェブフックを特定のワークスペースに追加できます(例:異なるステークホルダーのオーディエンス向けに異なるSlackチャンネルに)。

その手順は、ワークスペース内の拡張機能セクションに行き、Webhookの「 Add integlation」「Connect」 をクリックしてください。

integrate-with-webhooks-1.png

integrate-with-webhooks-2.png

次に、ウェブフックに 名前 (任意)を付け、どの イベント でリクエストをトリガーするかを選択します。

integrate-with-webhooks-3.png

リクエストオプションで プレースホルダー形式とメソッド を選択し、 ウェブフックのURL をURLフィールドに貼り付けます。必要に応じてリクエストに ヘッダー を追加することもできます。

integrate-with-webhooks-4.png

オプションで、リクエストの本文を上記で選択したプレースホルダー形式で設定することもできます。

{
「ブロック」:[
{
"type": "divider"
},
{
「type」: 「section」
「テキスト」:{
「type」:「mrkdwn」
「テキスト」:「{{title|esc}}」
},
「アクセサリー」:{
「type」: 「ボタン」、
「テキスト」: {
"type": "plain_text",
"text": "Open in airfocus",
"emoji": true
},
「値」:「click_me_123」
"URL": "{{url}}",
「action_id」:「ボタンアクション」
}
},
{
「type」: 「section」
「テキスト」:{
「type」:「mrkdwn」
「テキスト」:「{{details|esc}}」
}
}
]
}

ウェブフックのカスタマイズオプションの詳細ドキュメントについては、以下のセクションをお読みください。

ユースケース - AirFocusのアップデートに関するSlack通知を受け取る

このユースケースでは、Webhookを設定したワークスペースのアイテムがステータス更新されるたびに、Slackメッセージを選択したチャネルに送信するWebhookを設定することが目標です。

そのためには、ウェブフックのURLを生成する Slack アプリを設定し、その後、残りのインテグレーションをAirFocusで設定する必要があります。

Slack チャンネルへの Webhook URL を作成する方法:

  1. airfocus 通知を受信する Slack ワークスペースに新しい Slack アプリを作成します
    integrate-with-webhooks-5.png
    integrate-with-webhooks-6.png
  2. 機能ページから「 着信Webhooksの有効化 」オプションをオンにしてください。
    integrate-with-webhooks-7.png
  3. 「ワークスペースに新しい Webhook を追加」をクリックします。
    webhooks との統合 8.png
  4. アプリが投稿するチャンネルを選んでから 「許可」をクリックします。
    integrate-with-webhooks-9.png
  5. webhookのURLをコピー し、アップデートを設定したいairfocusワークスペースを開きます。
    integrate-with-webhooks-9.1.png

Slack にイベント更新通知を送信するために、airfocus で webhook を設定する方法:

  1. 拡張機能のポップオーバーで「Add インテグレーション」をクリックしてください。
    integrate-with-webhooks-10.png
  2. インテグレーションの概要で、「Webhooks」インテグレーションの下の「Connect」をクリックしてください。
    integrate-with-webhooks-11.png
  3. ウェブフックに名前(任意)を付け、どのイベントでリクエストをトリガーするかを選択します。このユースケースでは「ステータス更新済み」→。
    integrate-with-webhooks-12.png
  4. リクエストオプションで、プレースホルダー形式として「Slack markdown」を選び、「POST」をメソッドとして選択します。次に、SlackからコピーしたウェブフックのURLをURLフィールドに貼り付けます。
    integrate-with-webhooks-13.png
  5. 正しくフォーマットされたSlackメッセージを受け取るには、以下のテンプレートを本文欄に貼り付けて「更新」を押してください。
    •  

      {
      「ブロック」:[
      {
      "type": "divider"
      },
      {
      「type」: 「section」
      「テキスト」:{
      「type」:「mrkdwn」
      「テキスト」:「{{title|esc}}」
      },
      「アクセサリー」:{
      「type」: 「ボタン」、
      「テキスト」: {
      "type": "plain_text",
      "text": "Open in airfocus",
      "emoji": true
      },
      「値」:「click_me_123」
      "URL": "{{url}}",
      「action_id」:「ボタンアクション」
      }
      },
      {
      「type」: 「section」
      「テキスト」:{
      「type」:「mrkdwn」
      「テキスト」:「{{details|esc}}」
      }
      }
      ]
      }

       

  6. ワークスペース内のアイテムのステータスが変更された際に、選択したチャンネルにSlackメッセージが届きます。
    integrate-with-webhooks-14.png

airfocus最新情報をお届けMicrosoft Teams

注: Microsoft Teamsのウェブフックコネクタ機能は2026年4月末をもって廃止されます。以下のガイドには、業務フロー機能を代替手段として活用する方法の手順が含まれています。

Microsoft Teams 業務フロー機能は、特定のairfocusワークスペース内のアイテムが更新された際に指定されたチャネルにチームメッセージを送信するウェブフックを設定できます。これを行うには、 Microsoft Teams でウェブフックURLを作成し、その後インテグレーションの残りを設定する必要があります airfocus。

Microsoft TeamsでウェブフックURLを作成する

Microsoft TeamsでウェブフックURLを生成するには、以下の手順をフォローしてください:

  1. Microsoft Teamsにログインしてください。
  2. 左側のナビゲーション メニューで 3 ドットメニューをクリックします。
  3. Select 業務フロー.
  4. 検索バーに「webhook」と入力して検索してください。
  5. 「Webhookリクエストを受信したときにチャネルに投稿する」を選択します。
  6. 業務フローの名前を入力します (例: 「Airfocus アップデート」)。
  7. [次へ] をクリックします。
  8. 「詳細」で、更新情報を表示させたい特定のチームとチャネルを選択してください。
  9. 「業務フローの追加」をクリックします。
  10. 確認画面で、POST URLをコピーしてください。
    • これは、 airfocusに貼り付ける必要があるウェブフック URL です。
  11. 「完了」をクリックして設定を完了してください。

ウェブフックを設定 airfocus

airfocusでウェブフックを設定するには、以下の手順をフォローしてください:

  1. アップデートを送信したいプラットフォーム airfocus を開きます Microsoft Teams。
  2. ワークスペースの右上から 拡張機能 をクリックします。
  3. Add インテグレーション」を選択します。
  4. 「Webhooks」の下から 「Connect」をクリックします。
  5. ウェブフックの名前を入力してください。
  6. 「イベント」で、Microsoft Teamsに送る更新の種類を選択してください。
  7. 「プレースホルダーフォーマット」で Markdownを選択してください。
  8. 「メソッド」で POST を選択し、Microsoft Teamsで作成したURLを「URL」の下に貼り付けます。
  9. + ヘッダーを追加を選択します。
  10. 「ヘッダー名」の下に「Content-Type」と入力してください。
  11. 「ヘッダー値」の下に「アプリケーション/json」と入力してください。
    example-webhookd-form-filled-out-in-airfocus.png
  12. 適切なフォーマットのMicrosoft Teamsメッセージを受け取るには、以下のテンプレートを本文欄に貼り付けてください。
    • {
        「タイプ」:「AdaptiveCard」
        「$schema」:「http://adaptivecards.io/schemas/adaptive-card.json」
        「バージョン」:「1.4」「ボディ」:[
          {
            「type」:「TextBlock」、
            「テキスト」:「{{title}}」、
            「サイズ」:「ミディアム」
            「重さ」:「より大胆」
            「ラップ」:真
          },
          {
            「type」:「TextBlock」、
            「テキスト」:「{{details}}」、
            「ラップ」:真
          }
        ],
        「行動」:[
          {
            "type": "Action.OpenUrl",
            「タイトル」:「 airfocusに開け」
            "URL": "{{url}}"
          }
        ]
      }
  13. ページ右下から 「アップデート 」をクリックしてください。

これから、最初のセクションで設定したMicrosoft Teamsチャンネルの更新情報を受け取ることができます。
 

HTTPリクエストの設定 - 技術文書

方法

デフォルトではPOSTに設定されていますが、GETやPUTに変更することも可能です。他の方法はサポートされていません。

URL

  • 空っぽであってはいけません
  • https:// でしかスタートできません(他のスキームや空スキームはサポートされません)
  • パブリックドメイン名と 、よく知られたトップレベルドメイン (IPはサポートされていません)を持つべきです。

ヘッダー

  • 承認は支持されています
  • コンテンツタイプはサポートされています
  • スタートをx-で行うカスタムヘッダーもサポートされています
  • それ以外のヘッダーはサポートされていません

本文

Webhook のリクエスト本文を定義します。

最大2000文字までの任意のテキストを含めることができます。

リクエスト本体に意味のあるイベントデータを埋めるために、サーバーがリクエストを送信する前にそれらをイベントデータに置き換える多数のプレースホルダーを提供しています。

プレースホルダー形式

RichTextタイプのプレースホルダーをサーバーで事前レンダリングする方法を指定します。例えば、プレースホルダー {{title}}John updated field Labels on item Fix the button」のような文字列を含めることができ、これは太字や斜体などのリッチテキスト書式を含むため、プレースホルダー形式はどの構文で変換すべきかを指定します。 利用可能なフォーマット:

名前 説明
値下げ デフォルトのマークダウン ジョンは フィールドを更新 アイテムの ラベル ボタンを直す
HTML <b>John</b> 項目<b> Fix the button</bのフィールド</b> <i>Labels を更新しました></i>
テキスト フォーマットが削除されました ジョンはフィールドを更新 アイテムのラベル ボタンを直す
Slack 特別版Slack mrkdwn *ジョン* 項目のラベル*を更新した*ボタンを直せ*

プレースホルダー

プレースホルダー タイプ 説明
{{type}} String イベントの種類 更新された項目
{{title}} 文字列(RichText) イベントアクションを記述します ジョンはフィールドを更新 アイテムのラベル ボタンを直す
{{details}} 文字列(RichText) 追加のイベント詳細(例:変更点) 古い価値⇒新しい価値
{{url}} String 各イベントごとのコール・トゥ・アクションURL(例:ワークスペースやアイテムへのリンク) https://myteam.airfocus.com/w/workspaceId?item=itemId 
*米国またはAPAC地域にお住まいで、アカウントが2025年9月以降に作成された場合は airfocus.com を airfocus.app に置き換えてください
{{event}} JSON 現在のイベントに関する完全なJSONデータ 以下のイベントペイロードモデルを参照してください
{{title|esc}} 文字列(RichText) {{title}}と同じですが、すべてのダブルクォートは抜けます 「ダブル」クォート付きの文字列を、\「ダブル」クォート付きの文字列に変換します
{{details|esc}} 文字列(RichText) {{details}}と同じですが、すべてのダブルクォートは抜けます 「ダブル」クォート付きの文字列を、\「ダブル」クォート付きの文字列に変換します

データモデル

イベントペイロードモデル

各イベントごとに生成されるトップレベルのオブジェクト。このイベントに関するデータと、このイベントに関連するすべての実体に関する基本的な埋め込みデータが含まれています。

フィールド タイプ 必須 説明
イベント 事象 (Event) はい イベントの基本データ
埋め込み イベント埋め込み はい イベントに関する追加データ - 主にこのイベントに関連するアイテム名やワークスペース名、フィールド名などです
matchedFilter イベントフィルター はい インテグレーションの設定で選んだイベントフィルターの一つで、現在のイベントに対応したものだ

イベントモデル

イベントに関する基本データ

フィールド タイプ 必須 説明
ID UUID はい イベントの一意ID
開始した人 イベントイニシエーター はい このイベントを始めた人物に関する情報
データ イベントデータ はい イベントの実際のデータ。イベントの種類ごとに異なります
作成日時 タイムスタンプ はい 出来事が起きたとき

イベントイニシエータモデル

このイベントを開始した人に関する情報。ほとんどの場合、userId が定義されます。userId とintegrationId の両方が定義される可能性もあります。たとえば、ユーザーが「同期統合」ボタンを押してイベントが生成された場合などです。

フィールド タイプ 必須 説明
ユーザー ID UUID いいえ このイベントがユーザーによって開始された場合に定義されます
appid UUID いいえ このイベントがアプリによって開始された場合に定義されます
integrationId UUID いいえ このイベントがインテグレーションによって開始された場合に定義されます
イベントID UUID いいえ このイベントが別のイベントによって開始された場合に定義されます
requestId UUID いいえ このイベントがHTTPリクエスト内で開始された場合に定義されます

EventEmbed モデル

イベントに関する追加データ、主にこのイベントに関連するアイテム名、ワークスペース名、フィールド名などです。

フィールド タイプ 必須 説明
チーム {UUID: TeamInfo} いいえ チームIDからチームのデータへのハッシュマップ
ユーザー {UUID: UserInfo} いいえ ユーザーIDからユーザーデータへのハッシュマップ
アプリ {UUID: AppInfo} いいえ アプリIDとアプリデータのハッシュマップ
ワークスペース {UUID: WorkspaceInfo} いいえ ワークスペースIDからワークスペースデータへのハッシュマップ
インテグレーション {UUID: IntegrationInfo} いいえ インテグレーションIDをインテグレーションデータにまとめたハッシュマップ
フィールド {UUID: FieldInfo} いいえ フィールドIDからフィールドデータへのハッシュマップ
現状 {UUID: StatusInfo} いいえ ステータスIDとステータスデータのハッシュマップ
項目 {UUID: ItemInfo} いいえ アイテムIDからアイテムデータへのハッシュマップ

TeamInfo モデル

フィールド タイプ 必須 説明
氏名 String はい チーム名
ナメクジ String はい チーム URL slug
ベースURL String はい 例: https://myteam.airfocus.com 
*米国またはAPAC地域にお住まいで、アカウントが2025年9月以降に作成された場合は airfocus.com を airfocus.app に置き換えてください

ユーザー情報モデル

フィールド タイプ 必須 説明
チームID UUID はい このユーザーが所属しているチームのID
フルネーム String はい ユーザーのフルネーム

AppInfo モデル

フィールド タイプ 必須 説明
チームID UUID はい このアプリが所属するチームのID
typeId(タイプID) String はい どれかの一つ:フォーム、インサイト、ミラー、ポータル、優先順位付け

WorkspaceInfo モデル

フィールド タイプ 必須 説明
チームID UUID はい このワークスペースが所属するチームのID
氏名 String はい ワークスペース名

IntegrationInfo モデル

フィールド タイプ 必須 説明
workspaceId UUID はい このインテグレーションが属するワークスペースのID
typeId(タイプID) String はい どれか:Asana、Azure DevOps、Clubhouse、GitHub、Intercom、Jira、Planner、Trello

StatusInfo モデル

フィールド タイプ 必須 説明
workspaceId UUID はい このステータスが属するワークスペースのID
氏名 String はい 状態の名称
カテゴリー String はい 1つ:ドラフト、アクティブ、クローズド

ItemInfo モデル

フィールド タイプ 必須 説明
workspaceId UUID はい このアイテムが属するワークスペースのID
ステータスID UUID はい アイテムの状態の識別
氏名 String はい アイテム名

EventData モデル

EventDataはユニオン型であり、指定されたタイプのいずれかに分類できます。

作成されたアイテム

フィールド タイプ 必須 説明
itemId UUID はい 作成されたアイテムのID

更新済みアイテム

フィールド タイプ 必須 説明
itemId UUID はい 更新されたアイテムのID
ステータス {prev: UUID, next: UUID} いいえ ステータスの旧IDと新しいID(変更された場合)
{prev: String, next: String} いいえ アイテムの色の旧IDと新しいID(変更された場合)
assigneeUserIds {prev: UUID[], next: UUID[]} いいえ 割り当てられたユーザーIDの古いリストと新しいリスト(変更された場合)
氏名 {prev: String, next: String} いいえ 古いアイテム名と新しいアイテム名(変更された場合)
説明 {prev: RichText, next: RichText} いいえ 古いアイテムと新しいアイテムの説明(変更された場合)
説明 { UUID: { prev: JSON, next: JSON } } いいえ フィールドIDから変更された値までのハッシュマップで、各値はフィールドタイプに依存するJSON
アーカイブ済み {prev: Boolean, next: Boolean} いいえ 古いものと新しいものがアーカイブされています(変更された場合)

この記事へのフィードバックをお寄せください

この記事に関するフィードバックはありますか?体験の内容についてこちらから教えてください。

お探しの内容は見つかりましたか?

他に質問がある場合や、学んだことを共有したい場合は、当社の コミュニティ   でサポートを得て、他のユーザーと協力しましょう。