> ## Documentation Index
> Fetch the complete documentation index at: https://help.teable.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# HTTPリクエスト

> ワークフローから任意の外部APIを呼び出します

<Tip>
  「スクリプトを実行」は、手動で構築する必要があるものも含め、すべてのアクションの動作を実現できるため、オートメーションの構築に使用することを強く推奨します。チャットで要件をAIに説明するだけです。

  アクションを手動で追加した場合、後からAIが認識または変更することはできません。
</Tip>

## AIで構築する

テーブル右側のサイドバーでAIチャットを開き、実行したい内容を説明します。

適切なトリガーとアクションの選択、フィールドのマッピング、ワークフロー全体の設定はAIが自動的に行います。

目的を一度説明するだけでワークフローが完成し、手動設定は必要ありません。

任意のURLへHTTPリクエストを送り、レスポンスを返します。REST APIの呼び出し、SlackやDiscordへの通知、CRMへのデータ送信、HTTP APIを持つあらゆるサービスとの連携に使用します。

## 設定

| 設定           | 必須  | 説明                                         |
| ------------ | --- | ------------------------------------------ |
| URL          | はい  | 対象エンドポイント。**+** から動的変数を使用できます              |
| メソッド         | はい  | GET、POST、PUT、PATCH、DELETE、HEAD             |
| ヘッダー         | いいえ | キーと値のペアで指定するカスタムHTTPヘッダー                   |
| Content-Type | いいえ | リクエスト本文の形式（以下を参照）                          |
| 本文           | いいえ | リクエストのペイロード。Content-Typeに応じたテキストまたはキーと値のペア |

## 設定方法

1. ワークフローに**HTTPリクエスト**アクションを追加します。
2. APIエンドポイントの **URL** を入力します。**+** を使用すると、URLパスへレコードIDを含めるなど、動的な値を挿入できます。
3. **メソッド**を選択します。
   * **GET** — データを取得します。
   * **POST** — データを送信して何かを作成します。
   * **PUT / PATCH** — 既存のデータを更新します。
   * **DELETE** — データを削除します。
4. APIで必要な場合は、認証トークンやカスタムヘッダーなどの**ヘッダー**を追加します。
5. 必要に応じて **Content-Type** を選び、**本文**を記述します（POST、PUT、PATCHの場合）。
6. アクションを保存します。

## Content-Typeの選択肢

| Content-Type                        | 使用する場合                  | 本文の形式                          |
| ----------------------------------- | ----------------------- | ------------------------------ |
| `application/json`                  | 多くのREST API。構造化データを送ります | JSONテキスト（例：`{"key": "value"}`） |
| `application/x-www-form-urlencoded` | 従来のフォーム送信、一部の旧式API      | キーと値のペア。自動的にURLエンコードされます       |
| `multipart/form-data`               | ファイルのアップロードまたは混合データ     | ファイルに対応するキーと値のペア               |
| `text/plain`                        | 単純なテキストペイロード            | プレーンテキスト文字列                    |

<Tip>使用するContent-Typeが不明な場合は、`application/json` を選択してください。多くの最新APIはJSONを使用します。</Tip>

どれを使用するかわからない場合、多くの最新APIでは `application/json` が適切です。

## 認証の例

多くのAPIには認証が必要です。ヘッダーセクションでは、次の一般的な形式を設定できます。

### Bearer Token

ヘッダーを追加します。

* **キー：** `Authorization`
* **値：** `Bearer your-api-token-here`

Slack、GitHub、Notionなど、多くのAPIで使用できます。

### ヘッダー内のAPIキー

ヘッダーを追加します。

* **キー：** `X-API-Key`（またはAPIが要求する `api-key`、`x-api-token` など）
* **値：** `your-api-key`

### Basic認証

ヘッダーを追加します。

* **キー：** `Authorization`
* **値：** `Basic base64encoded(username:password)`

Teableの外部で認証情報をBase64エンコードするか、スクリプトアクションを使用してヘッダー値を生成します。

## 具体例：Slack通知を送る

目的：新しいレコードが作成されたとき、Slackチャンネルへメッセージを投稿します。

1. **トリガー：** レコードが作成されたとき。
2. **アクション：** 次のHTTPリクエスト。
   * **URL：** `https://hooks.slack.com/services/T00/B00/xxxx`（SlackのWebhook URL）
   * **メソッド：** POST
   * **Content-Type：** `application/json`
   * **本文：**
     ```json theme={null}
     {
       "text": "新しいタスクが作成されました：{{Task Name}} — 優先度：{{Priority}}"
     }
     ```
   **+** をクリックし、`{{Task Name}}` と `{{Priority}}` をトリガーの動的変数に置き換えます。

## 後続ステップでレスポンスデータを使用する

HTTPリクエストの実行後、後続アクションでレスポンスを利用できます。

* **ステータスコード** — HTTPステータス（200、201、404など）。
* **レスポンス本文** — APIが返したデータ。該当する場合はJSONとして解析されます。

後続ステップの **+** 変数選択から、レスポンス内の特定フィールドを参照できます。たとえば、APIが `{"id": "abc123", "status": "created"}` を返した場合、`id` と `status` を個別に参照できます。**+** で動的な値を挿入する際、外部APIが特定のリクエスト形式を要求する場合は、フィールドパスと書式設定も使用できます。

これはAPI呼び出しの連結に役立ちます。たとえば、POSTで項目を作成してIDを受け取り、そのIDを後続の「レコードを更新」または別のHTTPリクエストで使用します。

## 使用例

* **SlackやDiscordへメッセージを投稿する。** 受信Webhook URLを使用してチャンネルへ通知します。
* **CRMやERPとデータを同期する。** 新規または更新されたレコードをSalesforce、HubSpotなどAPIを持つシステムへ送ります。
* **任意のサードパーティAPIを呼び出す。** 決済、配送、分析ツール、社内のカスタムAPIと連携します。
* **外部ワークフローを開始する。** ZapierのWebhook、Make（Integromat）のシナリオ、その他の自動化プラットフォームを呼び出します。
* **外部ソースからデータを取得する。** GETリクエストで為替レート、天気、公開APIのデータをワークフローへ取り込みます。

## ヒント

* 必須ヘッダー、認証、想定される本文形式について、必ずAPIのドキュメントを確認します。
* 多くの最新APIではContent-Typeに `application/json` を使用します。フォームデータが必要なAPIでは `x-www-form-urlencoded` に切り替えます。
* APIが4xxまたは5xxステータスのエラーを返しても、アクション自体は完了しますが、後続ステップにはエラーレスポンスが渡されます。条件処理が必要な場合は、ワークフローでステータスコードを確認します。
* 大きなレスポンスを返すAPIでは、後続ステップで必要なフィールドだけを参照します。
* [ループ（一括）](/ja/basic/automation/actions/logic/loop-run)と組み合わせると、レコードごとに複数のAPI呼び出しを実行できます。外部APIのレート制限に注意してください。
* 1項目につき1回のリクエストではなく、複数項目を1回のリクエストで送信する場合は、[HTTP配列本文](/ja/basic/automation/actions/logic/loop-run)機能を使用します。

## 関連ページ

* [ループ（一括）](/ja/basic/automation/actions/logic/loop-run) — 配列の各項目についてHTTPリクエストを実行します
* [Webhookを受信したとき](/ja/basic/automation/trigger/external/webhook-received) — 外部システムからHTTPリクエストを受け取る側の機能です
* [スクリプトを実行](/ja/basic/automation/ai/scripting/runscript) — カスタムコードによる複雑なAPI連携に使用します
