受信のレシピ

受信レシピ集(外部サービス → UNIHUB)

実務での使い方5章 外部ツールとの連携手順

UNIHUBの受信Webhookは、外部サービスからの POST を受け取ってチャンネルや📥アクティビティに表示します。 ここでは Googleフォーム・Calendly・Typeform・Make・Zapier などを繋ぐ具体的な手順をまとめています。 まずは 設定 → 外部連携 → 受信Webhook で URL を発行してください。

送る JSON は2種類だけ

Incoming Webhook の画面(①新規作成で受け口のURLを作る)

① シンプルなテキスト(チャットにそのまま投稿)

{ "text": "新しい問い合わせが届きました" }

② カード(見出し・項目つき。問合せ/受注などに最適)

{
  "card": {
    "title": "問合せ 山田様",          // 必須(200文字まで)
    "body": "料金プランについて質問です",  // 任意
    "source": "inquiry",               // order|inquiry|mention|kpi|generic
    "status": "new",                   // new|ok|warn|error
    "fields": [                        // 任意・最大12件
      { "label": "氏名", "value": "山田 花子" },
      { "label": "メール", "value": "hanako@example.com" }
    ],
    "source_ref": "form-2026-0001"      // 任意・同じ値の再送は重複扱い(冪等)
  }
}

※ Slack互換(attachments / blocks)にも対応。Slack用ワークフローのURLを差し替えるだけでも動きます。

サービス別レシピ

Googleフォーム(Apps Script・コピペ)

フォームのスクリプトエディタに以下を貼り、トリガーを「フォーム送信時 / onFormSubmit」で設定します。回答が来るたびにカードで届きます。

function onFormSubmit(e) {
  // ① 設定→外部連携→受信Webhook で発行したURLに置き換える
  var url = "https://hub.uni-core.jp/api/webhooks/<あなたのトークン>";

  // ② フォーム回答を fields に変換
  var items = e.response.getItemResponses();
  var fields = items.map(function (it) {
    return { label: it.getItem().getTitle(), value: String(it.getResponse()) };
  });
  var title = fields.length ? ("問合せ: " + fields[0].value) : "フォーム回答";

  // ③ カードとして送信
  UrlFetchApp.fetch(url, {
    method: "post",
    contentType: "application/json",
    payload: JSON.stringify({
      card: { source: "inquiry", title: title, fields: fields }
    })
  });
}

拡張メニュー → Apps Script → 上記を貼付 → 時計アイコン(トリガー)→ onFormSubmit・イベント「フォーム送信時」。

Calendly(予約) — Make 経由

Calendly のネイティブWebhookは独自JSONのため、Make(または Zapier)で受けて UNIHUB の形に変換します。

  1. Make で「Calendly → Watch Events(invitee.created)」を作成
  2. 続けて「HTTP → Make a request」を追加し、URL に UNIHUB の受信Webhook URLを設定
  3. Method=POST / Body type=Raw / Content-Type=application/json
  4. Body に { "card": { "source": "inquiry", "title": "予約: {{invitee.name}}", "fields": [{ "label": "日時", "value": "{{event.start_time}}" }] } }

Typeform — ネイティブWebhook + Make

Typeform は Connect → Webhooks で送信先を指定できますが、本文整形のため Make を挟むのが簡単です。

  1. Make で「Typeform → Watch Responses」
  2. 「HTTP → Make a request」で UNIHUB URL に { "card": { "source": "inquiry", "title": "...", "fields": [...] } } を POST

Make / Zapier(汎用・数千サービス)

どんなサービスでも、Make/Zapier の「Webhook / HTTP」アクションで UNIHUB の受信URLに上記JSONを POST すれば届きます。複数サービスの集約に最適です。

RSS / Googleアラート(エゴサ)

GoogleアラートをRSSで出力し、Make の「RSS → Watch items」→「HTTP POST」で { "card": { "source": "mention", "title": "...", "href": "..." } } を送ると、言及を📥アクティビティに集約できます。

届いた受信を複数チャンネルで受け取る

受信Webhookを ⚡アクション で「受信アクション」として公開すると、 各チャンネルのヘッダー ⚡ から受信ON/OFF(購読)を切り替えられます。既存の配信先はそのままに、必要な部屋へ追加で届きます。

関連するガイド