freshservice-automation について
Composio の Freshservice ツールキットと Rube MCP を通じて、IT サービス管理を自動化するスキルです。チケットの検索、作成、一括更新や、サービスカタログのリクエストを扱います。
主な機能
- 01チケットの一覧表示と検索
- 02チケットの作成
- 03チケットの一括更新
- 04メール通知付きチケットの作成
- 05サービスカタログのリクエスト
活用シーン
- 01条件や更新日でチケットを検索
- 02インシデントやサービスリクエストの登録
- 03複数チケットへの一括変更
- 04カタログ項目のリクエスト送信
MCP 対応
Rube MCP 経由で Composio の Freshservice ツールキットを利用します。RUBE_MANAGE_CONNECTIONS で Freshservice を接続し、RUBE_SEARCH_TOOLS で最新のツールスキーマを取得します。
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ davepoon/ buildwithclaude --skill freshservice-automationインストール後、Claude Code で/freshservice-automationを入力して読み込まれたか確認します。
詳細
Rube MCP による Freshservice の自動化
Rube MCP 経由で Composio の Freshservice ツールキットを使用し、Freshservice の IT サービス管理業務を自動化します。
ツールキットのドキュメント:composio.dev/toolkits/freshservice
前提条件
- Rube MCP に接続済みであること(RUBE_SEARCH_TOOLS を利用可能)
RUBE_MANAGE_CONNECTIONSでツールキットfreshserviceを使用する有効な Freshservice 接続- 現在のツールスキーマを取得するため、必ず最初に
RUBE_SEARCH_TOOLSを呼び出してください
セットアップ
Rube MCP の入手:クライアント設定で https://rube.app/mcp を MCP サーバーとして追加します。API キーは不要です。エンドポイントを追加するだけで動作します。
RUBE_SEARCH_TOOLSが応答することを確認し、Rube MCP が利用可能であることを検証します- ツールキット
freshserviceを指定してRUBE_MANAGE_CONNECTIONSを呼び出します - 接続が ACTIVE でない場合は、返された認証リンクを開いて Freshservice の認証を完了します
- ワークフローを実行する前に、接続ステータスが ACTIVE であることを確認します
主なワークフロー
1. チケットの一覧表示と検索
使用する場面:チケットの検索、一覧表示、または絞り込みを行いたい場合
ツールの呼び出し順序:
FRESHSERVICE_LIST_TICKETS- オプションのフィルタリングとページネーションを使用してチケットを一覧表示します[必須]FRESHSERVICE_GET_TICKET- 特定のチケットの詳細情報を取得します[任意]
一覧表示での主なパラメーター:
filter:定義済みフィルター('all_tickets'、'deleted'、'spam'、'watching')updated_since:この日時以降に更新されたチケットを取得するための ISO 8601 タイムスタンプorder_by:並べ替えフィールド('created_at'、'updated_at'、'status'、'priority')order_type:並べ替え順序('asc' または 'desc')page:ページ番号(1 から始まります)per_page:1 ページあたりの結果数(1~100、デフォルトは 30)include:追加するフィールド('requester'、'stats'、'description'、'conversations'、'assets')
取得での主なパラメーター:
ticket_id:チケットの一意の ID または display_idinclude:含める追加フィールド
注意点:
- デフォルトでは、過去 30 日以内に作成されたチケットのみが返されます
- 古いチケットを取得するには
updated_sinceを使用してください includeの各値は追加の API クレジットを消費しますpageは 1 から始まります。最小値は 1 ですper_pageの最大値は 100、デフォルトは 30 です- チケット ID には、内部 ID または UI に表示される display_id を指定できます
2. チケットの作成
使用する場面:新しいインシデントまたはリクエストを記録したい場合
ツールの呼び出し順序:
FRESHSERVICE_CREATE_TICKET- 新しいチケットを作成します[必須]
主なパラメーター:
subject:チケットの件名(必須)description:チケットの HTML 形式の説明(必須)status:チケットのステータス - 2(Open)、3(Pending)、4(Resolved)、5(Closed)(必須)priority:チケットの優先度 - 1(Low)、2(Medium)、3(High)、4(Urgent)(必須)email:依頼者のメールアドレス(emailまたはrequester_idのいずれかを指定)requester_id:依頼者のユーザー IDtype:チケットの種類('Incident' または 'Service Request')source:チャネル - 1(Email)、2(Portal)、3(Phone)、4(Chat)、5(Twitter)、6(Facebook)impact:影響レベル - 1(Low)、2(Medium)、3(High)urgency:緊急度 - 1(Low)、2(Medium)、3(High)、4(Critical)
注意点:
subject、description、status、priorityはすべて必須です- 依頼者を特定するには、
emailまたはrequester_idのいずれかを指定する必要があります - ステータスと優先度には、文字列名ではなく数値コードを使用します
- 説明には HTML 形式を使用できます
- メールアドレスが既存の連絡先と一致しない場合、新しい連絡先が作成されます
3. チケットの一括更新
使用するタイミング:ユーザーが複数のチケットを一度に更新したい場合
ツールの順序:
FRESHSERVICE_LIST_TICKETS- 更新するチケットを検索します[前提条件]FRESHSERVICE_BULK_UPDATE_TICKETS- 複数のチケットを更新します[必須]
主なパラメーター:
ids:更新するチケットIDの配列(必須)update_fields:更新するフィールドの辞書(必須)- 使用可能なキー:'subject'、'description'、'status'、'priority'、'responder_id'、'group_id'、'type'、'tags'、'custom_fields'
注意点:
- 一括更新は内部で順番に更新を実行するため、大量のチケットを処理すると時間がかかる場合があります
- 指定したすべてのチケットに同じフィールド更新が適用されます
- 1件のチケットの更新に失敗しても、ほかのチケットは更新に成功する場合があります。個々の結果はレスポンスで確認してください
- 1回の呼び出しで、チケットごとに異なるフィールドを選択して更新することはできません
- カスタムフィールドには、表示名ではなく内部フィールド名を使用する必要があります
4. 送信メールによるチケットの作成
使用するタイミング:ユーザーが送信メール通知を送ってチケットを作成したい場合
ツールの順序:
FRESHSERVICE_CREATE_TICKET_OUTBOUND_EMAIL- メール通知付きでチケットを作成します[必須]
主なパラメーター:
email:依頼者のメールアドレス(必須)subject:メールの件名/チケットの件名(必須)description:HTML形式のメール本文status:チケットのステータス(2=オープン、3=保留中、4=解決済み、5=クローズ)priority:チケットの優先度(1=低、2=中、3=高、4=緊急)cc_emails:CCメールアドレスの配列email_config_id:送信元アドレスのメール設定IDname:依頼者名
注意点:
- メールを送信しながら、/api/v2/tickets エンドポイント経由で標準のチケットを作成します
- メールアドレスが既存の連絡先と一致しない場合、指定された名前で新しい連絡先が作成されます
email_config_idによって、通知の送信元として表示されるメールアドレスが決まります
5. サービスリクエストの作成
使用するタイミング:ユーザーがサービスカタログのリクエストを送信したい場合
ツールの順序:
FRESHSERVICE_CREATE_SERVICE_REQUEST- カタログ項目のサービスリクエストを作成します[必須]
主なパラメーター:
item_display_id:カタログ項目の表示ID(必須)email:依頼者のメールアドレスquantity:リクエストする項目数(デフォルト:1)custom_fields:サービス項目フォームのカスタムフィールド値parent_ticket_id:親チケットの表示ID(子リクエストの場合)
注意点:
item_display_idは、Admin > Service Catalog > 項目のURLで確認できます(例:/service_catalog/items/1)- カスタムフィールドのキーは、サービス項目フォームのフィールド名と一致させる必要があります
- 数量を指定しない場合、デフォルトは1です
- サービスリクエストには、カタログ項目に定義された承認ワークフローが適用されます
よく使われるパターン
ステータスコード一覧
| コード | ステータス |
|---|---|
| 2 | オープン |
| 3 | 保留中 |
| 4 | 解決済み |
| 5 | クローズ |
優先度コード一覧
| コード | 優先度 |
|---|---|
| 1 | 低 |
| 2 | 中 |
| 3 | 高 |
| 4 | 緊急 |
ページネーション
page(1始まり)とper_page(最大100)パラメーターを使用します- リクエストごとに
pageを1ずつ増やします - 返された結果数が
per_page未満になるまで続けます - デフォルトのページサイズは30です
日付範囲でチケットを検索する
1. Call FRESHSERVICE_LIST_TICKETS with updated_since='2024-01-01T00:00:00Z'
2. Optionally add order_by='updated_at' and order_type='desc'
3. Paginate through results
既知の注意点
数値コード:
- ステータスと優先度には、文字列ではなく数値を使用します
- ソースチャネルには数値コード(1~6)を使用します
- 影響度と緊急度には数値コード(1~3または1~4)を使用します
日付による絞り込み:
- デフォルトでは、過去30日間のチケットのみが返されます
- それより古いチケットには
updated_sinceパラメーターを使用します - 日付形式はISO 8601です(例:'2024-01-01T00:00:00Z')
レート制限:
- Freshservice APIにはアカウントごとのレート制限があります
- 各
includeオプションは追加のAPIクレジットを消費します - 429レスポンスを受信した場合は、バックオフを実装します
レスポンスの解析:
- レスポンスデータは
dataまたはdata.dataの下にネストされている場合があります - フォールバックパターンを使って、堅牢に解析してください
- チケットIDは数値の整数です
クイックリファレンス
| タスク | ツールスラッグ | 主なパラメーター |
|---|---|---|
| チケットを一覧表示 | FRESHSERVICE_LIST_TICKETS | filter, updated_since, page, per_page |
| チケットを取得 | FRESHSERVICE_GET_TICKET | ticket_id, include |
| チケットを作成 | FRESHSERVICE_CREATE_TICKET | subject, description, status, priority, email |
| 一括更新 | FRESHSERVICE_BULK_UPDATE_TICKETS | ids, update_fields |
| 送信メールチケット | FRESHSERVICE_CREATE_TICKET_OUTBOUND_EMAIL | email, subject, description |
| サービスリクエスト | FRESHSERVICE_CREATE_SERVICE_REQUEST | item_display_id, email, quantity |
Composio 提供