---
title: "Make"
description: "TwexAPI 経由で Make Twitter 自動化を構築し、ツイート検索、プロフィール、トレンドツイート、プラットフォーム webhook、カーソル安全なハンドオフを実現する。"
---

X Developer アプリなしで TwexAPI を使った Make Twitter 自動化を構築します。ツイート検索、プロフィール参照、トレンドツイート読み取り、正規化行を Slack、Sheets、Airtable、Notion、CRM にルーティングできます。

TwexAPI は1つの API キーと REST ベース URL `https://api.twexapi.io` を使用します。

## Make 自動化パターンを選択

<CardGroup cols={2}>
  <Card title="HTTP モジュール" icon="link">
    スケジュールまたは webhook 駆動シナリオ向けに、Make の HTTP モジュールから TwexAPI REST を直接呼び出し。
  </Card>

  <Card title="Custom webhook + agent handoff" icon="webhook">
    MCP 対応エージェントから厳密な JSON を受信し、行をビジュアルにルーティング。
  </Card>

  <Card title="プライベートカスタムアプリ" icon="boxes">
    同じ TwexAPI アクションがシナリオ間で繰り返される場合、再利用可能モジュールをパッケージ化。
  </Card>
</CardGroup>

Make ネイティブ X アプリは廃止されました。TwexAPI は HTTP モジュールまたはプライベートカスタムアプリ経由で引き続き利用可能です。

## 前提条件

* [TwexAPI API キー](https://twexapi.io/dashboard)
* Make 組織アカウント
* オプション: Slack、Sheets、Airtable、Notion、CRM モジュール
* オプション: `https://api.twexapi.io/mcp` に接続された MCP 対応エージェント

## 接続

API キーをパスワードフィールドとして保存する再利用可能な接続を作成します。

| フィールド | 設定値 |
| --- | --- |
| Parameter name | `apiKey` |
| Header | `Authorization: Bearer {{apiKey}}` |
| Base URL | `https://api.twexapi.io` |
| Connection test | `GET /balance` |

`GET /balance` でデータを変更せず API キーを検証します。

## 基本 HTTP モジュールパターン

| フィールド | 設定値 |
| --- | --- |
| Method | 選択エンドポイントから `GET` または `POST` |
| URL | `https://api.twexapi.io` に相対パスを追加 |
| Header | `Authorization: Bearer YOUR_API_KEY` |
| Body type | POST リクエストは Raw JSON |

ステータスコードを一貫して処理します。

<CardGroup cols={2}>
  <Card title="401" icon="key-round">
    認証失敗。TwexAPI API キーを確認。
  </Card>

  <Card title="403" icon="shield-check">
    アクセス拒否。アカウントアクセスとクレジットを確認。
  </Card>

  <Card title="429" icon="timer">
    レート制限。リトライ前に待機し、カーソルを保持。
  </Card>

  <Card title="5xx" icon="triangle-alert">
    サービス利用不可。指数バックオフでリトライ。
  </Card>
</CardGroup>

## スターターモジュール

| Module | TwexAPI route |
| --- | --- |
| ツイート検索 | `POST /twitter/advanced_search/page` |
| ユーザープロフィール取得 | `GET /twitter/{screen_name}/about` |
| ユーザー検索 | `GET /twitter/search-user/{keyword}/{target_count}` |
| トレンド取得 | `GET /twitter/global-trending/tweets` |
| フォロワー一覧 | `POST /v3/twitter/users/followers` |
| ツイート作成 | `POST /twitter/tweets/create` |

### ツイート検索例

```json
{
  "url": "https://api.twexapi.io/twitter/advanced_search/page",
  "method": "POST",
  "headers": {
    "Authorization": "Bearer YOUR_API_KEY",
    "Content-Type": "application/json"
  },
  "body": {
    "searchTerms": ["AI agents lang:en"],
    "sortBy": "Latest",
    "nextCursor": ""
  }
}
```

後続の Iterator モジュールで返されたツイートを反復処理します。`has_next_page` または `has_more` が true の場合、Make データストアに `next_cursor` を保存します。

## 出力ハンドオフ

Make シナリオは生 API レスポンスではなく、小さく安定したバンドルを出力すべきです。

<CardGroup cols={2}>
  <Card title="ツイート検索ページ" icon="search">
    クエリを保存。`tweet_id`, `text`, `author_username`, `created_at`, `has_next_page`, `next_cursor` をマップ。
  </Card>

  <Card title="ユーザープロフィールデータ" icon="user-round">
    `user_id`, `username`, `name`, フォロワー数、ルックアップ入力を保存。
  </Card>

  <Card title="トレンドデータ" icon="trending-up">
    国、トピック、コンテンツタグ、シナリオメタデータ付きツイート行を保存。
  </Card>

  <Card title="書き込みアクション" icon="send">
    [CLI](/sdks/cli) `--dry-run` でプレビュー。書き込みアクションには cookie または `auth_token` が必要。
  </Card>
</CardGroup>

## レシピ 1: エージェントハンドオフから Slack

1. カスタム webhook が MCP エージェントから TwexAPI ハンドオフ JSON を受信。
2. Iterator が `tweets` の各項目を処理。
3. キーワードまたは著者でフィルター。
4. Slack モジュールが `author_username`, `text`, 公開 URL を投稿。

推奨エージェントプロンプト:

```text
Use Twexapi MCP to fetch trending tweets for country United States, topic technology, content AI.
Return only JSON with route_used, country, topic, content, has_more, next_cursor, and tweets.
Each tweet must include tweet_id, author_username, text, created_at, like_count, reply_count, and retweet_count.
```

## レシピ 2: 日次検索から Google Sheets

1. シナリオを日次スケジュール。
2. HTTP モジュールが `POST /twitter/advanced_search/page` を呼び出し。
3. Iterator がツイート行を走査。
4. Google Sheets Append Row が `tweet_id`, 著者, 本文, `created_at`, URL を書き込み。

## レシピ 3: フォロワーエクスポートから CRM

1. HTTP モジュールが `POST /v3/twitter/users/followers` を呼び出し。
2. Iterator がフォロワー行を処理。
3. CRM が `user_id` で upsert。
4. データストアが次回シナリオ実行用に `next_cursor` を保存。

## ルーター分岐

| 分岐 | 条件 | アクション |
| --- | --- | --- |
| 空結果 | `tweets` 長さが `0` | 静かに停止。 |
| 高エンゲージメント | `like_count` が閾値超過 | Slack アラート送信。 |
| ページ継続 | `has_more` が `true` | `next_cursor` を保存。 |
| エラー | ステータスが `401`, `403`, `429` | 運用通知にルーティング。 |

## テストチェックリスト

* 小さなページサイズ（例: 5 ツイート）で1回実行。
* Iterator がツイートごとに1バンドルを受信することを確認。
* 行書き込み前に `tweet_id` で重複排除することを確認。
* データストアに最新 `next_cursor` が含まれることを確認。
* シナリオログから API キーをサニタイズ。

## 次のステップ

* [Zapier](/guides/zapier)
* [Pipedream](/guides/pipedream)
* [n8n](/guides/n8n)
* [Agent MCP Handoff](/mcp/agent-handoff)
