---
title: "ThunderPhone を Zapier と連携する"
description: "Zapier 上の ThunderPhone アプリを組織に接続し、通話が終了するたびに実行される Zap を作成します。"
---

[Zapier](https://zapier.com) は、Zap と呼ばれる自動ワークフローでアプリを接続します。Zapier の ThunderPhone アプリには、次の機能があります。

- **トリガー:** **通話完了**は、電話、ウェブ、またはテスト通話が終了したときに実行されます。**通話の評価完了**は、完了した通話の評価が利用可能になったときに実行されます。
- **アクション:** **発信通話を実行**、**キャンペーンに連絡先を追加**、**キャンペーンを開始**。
- **検索:** **通話を検索**は、ID で通話を検索し、文字起こしと、利用可能な場合は署名付き録音 URL を返します。

[Zapier の ThunderPhone](https://zapier.com/apps/thunderphone/integrations)で確認できます。Zapier を ThunderPhone と連携して使用する 2 つの方法の概要については、[Zapier 連携ページ](https://thunderphone.com/integrations/zapier)を参照してください。

## 組織を接続する

このアプリは OAuth を介して接続します。ThunderPhone にログインして 1 つの組織へのアクセスを承認すると、API キーを Zapier にコピーする必要はありません。

<Steps>
  <Step title="ThunderPhone ステップを追加する">
    Zap エディターで **ThunderPhone**（Beta ラベル付き）を検索し、トリガーまたはアクションを選択します。Zapier でアカウントを求められたら、新しいアカウントを接続します。Zapier に ThunderPhone のログインウィンドウが開きます。
  </Step>
  <Step title="ログインして組織を選択する">
    ログインし、要求された権限を確認して組織を選択し、**承認**を選択します。このアプリは、エージェントと電話番号の読み取り、通話とキャンペーンの読み取りおよび書き込み、ウェブフックエンドポイントなどの連携の管理、アカウントのメールアドレスの確認を要求します。
  </Step>
  <Step title="接続名を確認する">
    Zapier は承認した組織に基づいて接続に名前を付けるため、複数の組織に所属している場合でも接続を区別できます。
  </Step>
</Steps>

その組織で管理者またはオーナーのロールを持つアカウントで接続してください。トリガー Zap のオンとオフの切り替え、およびすべてのアクションには、このロールが必要です。すでにオンになっているトリガー Zap は、ロールが変更された場合や接続が取り消された場合でも、通話イベントを受信し続けます。受信を停止するには、オフにしてください。**通話を検索**はすべてのメンバーが使用できます。

このアプリ自体に ThunderPhone の料金はかかりません。このアプリで実行または開始した通話には通常の ThunderPhone 料金が適用され、Zapier は Zapier プランのタスクとしてカウントします。

## 最初の Zap を作成

この Zap は、通話が終了するたびに Google スプレッドシートに行を追加します。

<Steps>
  <Step title="サンプルデータとして使用する通話を行う">
    ビルダーでエージェントを開き、**通話**をクリックして通話を終了します。ビルダーの
    テスト通話では「通話完了」が発火するため、トリガーで読み込む最新の通話が作成されます。
  </Step>
  <Step title="トリガーを追加する">
    トリガーアプリとして **ThunderPhone** を選択し、イベントを **通話完了** に設定して、
    ThunderPhone 接続を選択します。トリガーをテストします。Zapier は、実際のイベントと
    同じ形式で、完了した最新の通話をサンプルとして読み込みます。
  </Step>
  <Step title="Google スプレッドシートを追加する">
    スプレッドシートの行を作成する Google スプレッドシートアクションを追加します。ヘッダー行のある
    シートを選択し、各列をトリガーのフィールドにマッピングします（下の表を参照）。
  </Step>
  <Step title="Zap を公開する">
    Zap を公開してオンにします。オンにすると、ThunderPhone 組織内に **Zapier: 通話完了** という名前の
    Webhook エンドポイントが作成されます。Zap をオフにすると、そのエンドポイントは削除されます。
  </Step>
  <Step title="テストする">
    ビルダーで別のテスト通話を行います。通話が終了すると、Zap が実行されて行が追加されます。
  </Step>
</Steps>

便利な列：

| 列 | 通話完了フィールド |
|---|---|
| 通話 ID | 通話 ID |
| エージェント | エージェント名 |
| 方向 | 方向 |
| 発信元 | 発信元番号 |
| 着信先 | 着信先番号 |
| 開始時刻 | 開始日時 |
| 終了時刻 | 終了日時 |
| 通話時間（秒） | 秒単位の通話時間 |
| ステータス | ステータス |
| 終了理由 | 終了理由 |
| 通話リンク | `https://app.thunderphone.com/dashboard/call-history/` と入力し、通話 ID を挿入 |

通話リンクを使用すると、組織のメンバーは ThunderPhone ダッシュボードで文字起こしと録音を含む
通話を開けるため、シートにこれらを保存する必要はありません。

イベントには、ターンのリストとしての文字起こしと、有効期限のある署名付きリンクである録音 URL も
含められます。シートで必要な場合にのみ追加してください。通話の文字起こし、要約、録音には、個人情報や
健康情報が含まれる場合があります。健康情報が関係する場合は BAA の下で、そのデータに対して組織が
使用を許可されているアプリにのみ送信し、必要なフィールドだけを保持してください。すべてのフィールドは
[`telephony.complete` / `web.complete`](/ja/webhooks/call-complete) を参照してください。

<Note>
  すべての配信には署名が付与されます。Zap の実行前に、アプリは `X-ThunderPhone-Signature`
  HMAC をエンドポイントのシークレットと照合し、未署名または無効なものは停止します。Zapier が
  配信を受け付けない場合、ThunderPhone は最大 24 時間再試行します。
  [Webhook の概要](/ja/webhooks/overview)を参照してください。
</Note>

## トリガー、アクション、検索

**通話の評価完了**では、通話 ID、エージェント ID、エージェント名、および評価情報（評価 ID、スコア、通話結果、要約、評価モデル、評価日時）が取得されます。Zap を有効にすると、**Zapier: 通話の評価完了**という名前のエンドポイントが作成されます。通話は複数回評価でき、完了した各評価実行でトリガーが発火します。[`call.graded`](/ja/webhooks/events)を参照してください。

**通話を検索**では、最近の通話のドロップダウンから通話 ID を指定します。通話のエージェント、方向、電話番号、開始時刻と終了時刻、ステータス、終了理由、評価スコアと通話結果、文字起こし、および利用可能な場合は署名付き録音 URL が返されます。不明な通話 ID の場合、エラーではなく結果なしが返されます。

**発信通話を開始**には、次の項目を指定します。

| フィールド | 意味 |
|---|---|
| エージェント | 保存済みのエージェント。ドロップダウンには設定済みのエージェントが表示されます。 |
| 宛先番号 | `+14155552671` などの E.164 形式の宛先。 |
| 発信元番号 | ドロップダウンには、発信通話が有効な番号のみ表示されます。 |
| 変数 | エージェントプロンプト内のプレースホルダーに使用する値を含む、任意の JSON オブジェクト。 |
| 冪等性キー | トリガーまたはソースレコードから取得した安定した ID。必須です。 |

通話 ID、ステータス、冪等リプレイが返されます。

**キャンペーンに連絡先を追加**では、下書きキャンペーンに連絡先を追加します。連絡先が 1 件の場合は、E.164 形式で**電話番号**を入力し、必要に応じてプロパティがキャンペーン変数になる JSON オブジェクトである**連絡先変数**を指定します。一括追加の場合は、最大 5,000 個のオブジェクトを含む配列を**連絡先 JSON**に入力します。各オブジェクトには`phone_number`が必要で、その他のプロパティは変数になります。すべての連絡先が拒否された場合はステップが失敗し、一部のみの場合は**部分的に成功**が設定されます。

**キャンペーンを開始**では、少なくとも 1 件の連絡先があるキャンペーンを開始または再開します。**請求への同意**が必要です。[発信キャンペーン](/ja/guides/outbound-campaigns)を参照してください。

## Zap で通話を開始する前に

発信通話を開始およびキャンペーンを開始すると、実際の電話番号に発信し、課金対象の通話が開始されます。

- ThunderPhone から、組織の発信通話が TCPA およびその他の発信関連法に準拠していることの確認を求められた場合、Zap で通話を開始する前に、管理者がダッシュボードでその確認を記録する必要があります。
- 発信元番号は、発信通話用に有効化されている必要があります。利用中の通信事業者から持ち込んだ番号は、確認が完了すると利用できます。ThunderPhone が提供する番号は最初は着信専用で、ダッシュボードから発信アクセスをリクエストできます。[電話番号を取得](/ja/guides/get-a-phone-number)を参照してください。
- 発信通話を開始するには、**冪等性キー**が必要です。ThunderPhone イベント ID や CRM レコード ID など、トリガーまたはソースレコードから安定した ID をマッピングします。Zapier がステップを再試行した場合、ThunderPhone はキーを認識し、2 回目の通話を開始する代わりに元の通話を返します。タイムスタンプ、ランダムな値、または Zap ID のみを使用しないでください。
- キャンペーンを開始するには、Zap がアカウントで課金対象の発信通話を開始できることを確認する**請求への同意**が必要です。
- 組織は、各番号に電話をかけるための同意を得ていること、および適用される発信関連法に従うことに責任を負います。[発信に関する法律](/ja/guides/outbound-calling-laws)を参照してください。

冪等性キーは組織内で一意である必要があり、最大 128 文字です。異なるエージェント、番号、または変数でキーを再利用すると競合により失敗します。そのため、2 つの Zap が同じレコードについて発信する可能性がある場合は、各 Zap にレコード ID の前の固有の固定プレフィックスを設定してください。[発信通話を開始](/ja/guides/place-outbound-calls)では、このアクションの基盤となる API について説明しています。

## Zap の例

- **CRM への通話完了。** 完了した各通話について、ステータス、終了理由、文字起こしを含むアクティビティを記録します。
- **フォローアップへの通話評価済み。** 通話結果またはスコアでフィルタリングし、適切なフォローアップワークフローに通話を振り分けます。
- **キャンペーンへの新規リード。** Add Contacts to Campaign でリードを下書きキャンペーンに追加し、リストが承認されたら Start Campaign を実行します。

通話の文字起こし、要約、録音には、個人情報または健康情報が含まれる場合があります。こうしたデータの使用を組織が許可されているアプリにのみ送信し、健康情報が関係する場合は BAA に基づいて送信してください。また、必要なフィールドのみを保持してください。

## トラブルシューティング

**ステップが認可エラーで失敗する。** Zapier で ThunderPhone 接続を再接続し、もう一度承認してください。接続した担当者が ThunderPhone の **組織 → キー → 認可済みアプリ** で接続を取り消した場合、その担当者が組織を離れた場合、または 30 日間トークンの更新に成功しなかった場合、接続は機能しなくなります。[OAuth で接続](/ja/guides/oauth)を参照してください。

**Zap の有効化または無効化に失敗する、またはアクションが拒否される。** 接続した担当者には、組織内で管理者またはオーナーのロールが必要です。そのロールを持つアカウントで再接続してください。すでに有効になっているトリガー Zap は、ロールが変更された後または接続が取り消された後も、通話イベントを受信し続けます。停止するには無効にしてください。

**アプリを切断したい。** 接続を取り消す前に ThunderPhone Zap を無効にしてください。Zap を無効にするとエンドポイントが削除され、正常に機能する接続が必要になるためです。先に取り消した場合は、管理者 API キーを使用して `DELETE /v1/developer/webhook-endpoints/{id}` で残った **Zapier: …** エンドポイントを削除してください。[Webhook エンドポイント](/ja/webhooks/endpoints)を参照してください。

**Zap で別の組織を使用したい。** 各接続は 1 つの組織に対応します。まず Zap を無効にして、現在の組織からその Webhook エンドポイントを削除してください。その後、Zapier で新しい ThunderPhone アカウントを接続し、承認時に別の組織を選択して、各 ThunderPhone ステップでその接続を選択します。エージェント、電話番号、キャンペーンは組織ごとに異なるため、該当する各ステップで **エージェント**、**発信番号**、**キャンペーン** をもう一度選択してください。その後、Zap を再度有効にしてください。

**トリガーが発火しなくなった。** ThunderPhone トリガーを含む各 Zap は、組織内に **Zapier: 通話完了** または **Zapier: 通話評価済み** という名前の Webhook エンドポイントを 1 つ保持します。これは Zap を有効にしたときに作成され、無効にしたときに削除されます。そのままにしてください。ThunderPhone で編集または削除された場合は、Zap を無効にしてから再度有効にし、新しいものを作成してください。
管理者 API キーを使用すると、
[`GET /v1/developer/webhook-deliveries`](/api-reference/webhook-deliveries)
で最近の配信試行を確認できます。

<Note>
  通話後ではなく通話中に、エージェントで Zapier アクションを使用したい場合は、**接続 → MCP** で Zapier MCP エンドポイントを接続してください。
  [MCP サーバー](/ja/guides/mcp-servers)を参照してください。同じ通話イベントを独自のサーバーに送信するには、[Webhook エンドポイント](/ja/webhooks/endpoints)を参照してください。
</Note>
