segment-automation について
segment-automation は、Composio の Segment ツールキットと Rube MCP を介して Segment の顧客データ操作を自動化するスキルです。イベントや ID の送信、一括処理、ソース設定に対応します。
主な機能
- 01トラックイベントとページビューの送信
- 02ユーザーの識別と属性更新
- 03複数の Segment 呼び出しの一括処理
- 04ユーザーとグループの関連付け
- 05ユーザー ID の統合
- 06ソース設定の確認と更新
活用シーン
- 01Segment へのプロダクトイベント取り込み
- 02ユーザー属性とページビューの記録
- 03分析メッセージの一括送信
- 04匿名ユーザーと識別済みプロフィールの統合
MCP 対応
Rube MCP 経由で Composio の Segment ツールキットを利用します。Segment 接続を有効にし、RUBE_SEARCH_TOOLS で最新のツールスキーマを取得します。
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ davepoon/ buildwithclaude --skill segment-automationインストール後、Claude Code で/segment-automationを入力して読み込まれたか確認します。
詳細
Rube MCP による Segment の自動化
Rube MCP を介して Composio の Segment ツールキットを使用し、Segment 顧客データプラットフォームの操作を自動化します。
ツールキットのドキュメント:composio.dev/toolkits/segment
前提条件
- Rube MCP が接続されている必要があります(RUBE_SEARCH_TOOLS が利用可能)
RUBE_MANAGE_CONNECTIONSを使って、ツールキットsegmentで有効な Segment 接続を確立します- 現在のツールスキーマを取得するため、必ず最初に
RUBE_SEARCH_TOOLSを呼び出してください
セットアップ
Rube MCP の入手:クライアントの設定で https://rube.app/mcp を MCP サーバーとして追加します。API キーは不要です。エンドポイントを追加するだけで動作します。
RUBE_SEARCH_TOOLSが応答することを確認し、Rube MCP が利用可能であることを確かめます- ツールキット
segmentを指定してRUBE_MANAGE_CONNECTIONSを呼び出します - 接続が ACTIVE でない場合は、返された認証リンクに従って Segment の認証を完了します
- ワークフローを実行する前に、接続ステータスが ACTIVE であることを確認します
主なワークフロー
1. イベントのトラッキング
使用する場合:ユーザーが、後続の送信先に向けて Segment にイベントデータを送信したい場合
ツールの順序:
SEGMENT_TRACK- 単一のトラックイベントを送信します[必須]
主なパラメーター:
userId:ユーザー識別子(anonymousIdがない場合は必須)anonymousId:匿名識別子(userIdがない場合は必須)event:イベント名(例:'Order Completed'、'Button Clicked')properties:イベント固有のプロパティを含むオブジェクトtimestamp:ISO 8601 タイムスタンプ(省略可能。デフォルトはサーバー時刻)context:コンテキストメタデータ(IP、ユーザーエージェントなど)を含むオブジェクト
注意点:
userIdまたはanonymousIdの少なくとも一方が必要ですevent名は必須であり、一貫した命名規則に従う必要があります- プロパティは自由形式のオブジェクトです。イベント間でスキーマに一貫性を持たせてください
- タイムスタンプは ISO 8601 形式である必要があります(例:'2024-01-15T10:30:00Z')
- イベントは非同期で処理されます。API の成功応答は受け付けられたことを意味し、配信済みであることを意味するものではありません
2. ユーザーの識別
使用する場合:ユーザーが、Segment のユーザープロファイルに特性を関連付けたい場合
ツールの順序:
SEGMENT_IDENTIFY- ユーザーの特性と ID を設定します[必須]
主なパラメーター:
userId:ユーザー識別子(anonymousIdがない場合は必須)anonymousId:匿名識別子traits:ユーザープロパティ(メールアドレス、名前、プランなど)を含むオブジェクトtimestamp:ISO 8601 タイムスタンプcontext:コンテキストメタデータ
注意点:
userIdまたはanonymousIdの少なくとも一方が必要です- 特性は既存の特性とマージされ、置き換えられることはありません
- 特性を削除するには、
nullを設定します - 新規ユーザーの場合、track の呼び出しより前に Identify の呼び出しを行ってください
- 送信先での設定がない限り、特性に PII を含めないでください
3. バッチ操作
使用する場合:ユーザーが、複数のイベント、Identify、その他の呼び出しを 1 回のリクエストで送信したい場合
ツールの順序:
SEGMENT_BATCH- 複数の Segment 呼び出しを 1 回のリクエストで送信します[必須]
主なパラメーター:
batch:メッセージオブジェクトの配列。それぞれに以下を含みます:type:メッセージの種類('track'、'identify'、'group'、'page'、'alias')userId/anonymousId:ユーザー識別子- 種類に応じた追加フィールド(event、properties、traits など)
注意点:
- バッチ内の各メッセージには、有効な
typeフィールドが必要です - バッチサイズには上限があります。現在の上限はスキーマで確認してください
- バッチ内のすべてのメッセージは個別に処理されます。1 つの失敗が他のメッセージに影響することはありません
- 各メッセージは、それぞれの種類に応じた要件を個別に満たす必要があります(例:track にはイベント名が必要です)
- 複数の呼び出しを送信するには、バッチが最も効率的です。個別の呼び出しよりもバッチを優先してください
4. ユーザーをグループに追加する
使用するタイミング:ユーザーを会社、チーム、または組織に関連付けたい場合
ツールの順序:
SEGMENT_GROUP- ユーザーをグループに関連付けます[必須]
主なパラメーター:
userId:ユーザー識別子(anonymousIdがない場合は必須)anonymousId:匿名識別子groupId:グループ/組織の識別子(必須)traits:グループのプロパティを含むオブジェクト(name、industry、size、plan)timestamp:ISO 8601 形式のタイムスタンプ
注意点:
groupIdは必須です。会社または組織を識別します- グループの traits は、そのグループの既存の traits とマージされます
- ユーザーは複数のグループに所属できます
- グループの traits はユーザープロファイルではなく、グループプロファイルを更新します
5. ページビューをトラッキングする
使用するタイミング:Segment でページビューイベントを記録したい場合
ツールの順序:
SEGMENT_PAGE- ページビューイベントを送信します[必須]
主なパラメーター:
userId:ユーザー識別子(anonymousIdがない場合は必須)anonymousId:匿名識別子name:ページ名(例:'Home'、'Pricing'、'Dashboard')category:ページのカテゴリ(例:'Docs'、'Marketing')properties:ページ固有のプロパティを含むオブジェクト(url、title、referrer)
注意点:
userIdまたはanonymousIdの少なくとも一方が必要ですnameとcategoryは省略できますが、適切な分析のために指定することをおすすめします- 標準プロパティには
url、title、referrer、path、searchが含まれます - Page 呼び出しは自動化されていることが多く、手動での使用はサーバーサイドのページトラッキングが目的です
6. ユーザーをエイリアス化し、ソースを管理する
使用するタイミング:匿名ユーザーと識別済みユーザーを統合したい場合、またはソース設定を管理したい場合
ツールの順序:
SEGMENT_ALIAS- 2 つのユーザーIDを関連付けます[任意]SEGMENT_LIST_SCHEMA_SETTINGS_IN_SOURCE- ソースのスキーマ設定を表示します[任意]SEGMENT_UPDATE_SOURCE- ソース設定を更新します[任意]
主なパラメーター:
- ALIAS の場合:
userId:新しいユーザー識別子(識別済みのID)previousId:以前のユーザー識別子(匿名ID)
- ソース操作の場合:
sourceId:ソース識別子
注意点:
- ALIAS は一方向の操作で、取り消すことはできません
previousIdは匿名/以前のID、userIdは新しい/識別済みのIDです- すべての宛先が alias 呼び出しをサポートしているわけではありません。宛先のドキュメントを確認してください
- ユーザーが初めて識別されるとき(例:サインアップ時)に、ALIAS を一度だけ呼び出してください
- ソースの更新はデータ収集に影響する場合があります。変更内容を慎重に確認してください
よくあるパターン
ユーザーのライフサイクル
標準的な Segment ユーザーのライフサイクル:
1. Anonymous user visits -> PAGE call with anonymousId
2. User interacts -> TRACK call with anonymousId
3. User signs up -> ALIAS (anonymousId -> userId), then IDENTIFY with traits
4. User takes action -> TRACK call with userId
5. User joins org -> GROUP call linking userId to groupId
バッチ処理の最適化
大量のデータを取り込む場合:
1. Collect events in memory (array of message objects)
2. Each message includes type, userId/anonymousId, and type-specific fields
3. Call SEGMENT_BATCH with the collected messages
4. Check response for any individual message errors
命名規則
Segment では、一貫性のあるイベント命名を推奨しています:
- イベント:「オブジェクト アクション」の形式を使用します(例:'Order Completed'、'Article Viewed')
- プロパティ:snake_case を使用します(例:'order_total'、'product_name')
- Traits:snake_case を使用します(例:'first_name'、'plan_type')
既知の注意点
ID の解決:
- すべての呼び出しに
userIdまたはanonymousIdを必ず含めてください - ユーザーIDの統合ごとに、ALIAS は一度だけ使用してください
- 適切にユーザーを関連付けられるよう、トラッキングの前にユーザーを識別してください
データ品質:
- イベント名はすべてのソースで一貫させてください
- 下流での互換性を確保するため、プロパティは定義済みのスキーマに従う必要があります
- 宛先が対応する設定になっていない限り、機密性の高い PII の送信は避けてください
レート制限:
- レート制限を超えないよう、大量処理には BATCH を使用してください
- 個別の呼び出しには、ソースごとのレート制限が適用されます
- バッチ呼び出しはより効率的で、スロットリングされる可能性も低くなります
レスポンスの解析:
- 成功レスポンスが示すのはリクエストの受け付けであり、宛先への配信ではありません
- レスポンスデータは
dataキーの下にネストされている場合があります - バッチレスポンスでは、個々のメッセージの失敗を示すエラーフィールドを確認してください
タイムスタンプ:
- タイムゾーンを含む ISO 8601 形式で指定する必要があります(例:'2024-01-15T10:30:00Z')
- タイムスタンプを省略すると、サーバーが受信した時刻が使用されます
- 過去のデータをインポートする場合は、タイムスタンプを明示的に指定してください
Quick Reference
| Task | Tool Slug | Key Params |
|---|---|---|
| Track event | SEGMENT_TRACK | userId, event, properties |
| Identify user | SEGMENT_IDENTIFY | userId, traits |
| Batch calls | SEGMENT_BATCH | batch (array of messages) |
| Group user | SEGMENT_GROUP | userId, groupId, traits |
| Page view | SEGMENT_PAGE | userId, name, properties |
| Alias identity | SEGMENT_ALIAS | userId, previousId |
| Source schema | SEGMENT_LIST_SCHEMA_SETTINGS_IN_SOURCE | sourceId |
| Update source | SEGMENT_UPDATE_SOURCE | sourceId |
| Warehouses | SEGMENT_LIST_CONNECTED_WAREHOUSES_FROM_SOURCE | sourceId |
Powered by Composio