Agent Studio
Agent Studio APIを使用すると、Genie、ナレッジベース、スキルなどのAgent Studioアセットをプログラムで作成および管理できます。
レート制限
Agent Studioリソースには、次のレート制限があります:
| タイプ | リソース | 制限 |
|---|---|---|
| GET | Genieを一覧表示: /api/agentic/genies | 1分あたり1,000リクエスト |
| GET | IDでGenieを取得: /api/agentic/genies/:id | 1分あたり1,000リクエスト |
| すべて | その他すべてのGenieエンドポイント | 1分あたり60リクエスト |
| GET | ナレッジベースを一覧表示: /api/agentic/knowledge_bases | 1分あたり1,000リクエスト |
| GET | IDでナレッジベースを取得: /api/agentic/knowledge_bases/:id | 1分あたり1,000リクエスト |
| すべて | その他すべてのナレッジベース エンドポイント | 1分あたり60リクエスト |
| GET | スキルを一覧表示: /api/agentic/skills | 1分あたり1,000リクエスト |
| GET | IDでスキルを取得: api/agentic/skills/:id | 1分あたり1,000リクエスト |
| すべて | その他すべてのスキルエンドポイント | 1分あたり60リクエスト |
クイックリファレンス
Genie
Agent StudioのGenieは、次のエンドポイントと構成をサポートしています:
Genieの一覧表示
Genieのリストを返します。
GET /api/agentic/geniesクエリパラメーター
| 名前 | タイプ | 説明 |
|---|---|---|
| folder_id | string 任意 | Genieが存在するフォルダのID。 |
| project_id | string 任意 | Genieが存在するプロジェクトのID。 |
| state | string 任意 | Genieの状態。 例: activeまたはinactive。 |
| page | integer 任意 | 取得するGenieのページ番号。 最小値は1です。 |
| per_page | integer 任意 | 1ページで返すGenieの数。 最小値は1です。 最大値は50です。 |
サンプルリクエスト
curl -X GET "https://www.workato.com/api/agentic/genies?per_page=10&page=1" \
-H 'Authorization: Bearer <api_token>'サンプルレスポンス
チャネル構成フィールドは常に返され、明示的な構成が設定されていない場合はデフォルト値が使用されます。
[
{
"id": "gin-BWLSPX4z-BaT3D9",
"name": "Customer Support Genie",
"description": "Handles customer support inquiries and provides quick responses.",
"state": "stopped",
"folder_id": 22991030,
"instructions": "You are a helpful, friendly support agent who answers customer questions clearly and politely.",
"ai_provider": "open_ai",
"chat_interface": "slack",
"channel_mode": "dms_only",
"channel_scope": "specific",
"response_mode": "on_mention",
"channel_whitelist": [],
"skills_count": 5,
"knowledge_bases_count": 3,
"user_groups_count": 0,
"active_recipes_count": 0,
"inactive_skills_count": 5,
"logo_url": "https://example.com/logo.png",
"created_at": "2025-07-15T11:07:34.060-07:00",
"updated_at": "2026-02-24T08:38:29.099-08:00"
},
{
"id": "gin-ZWSMPR4a-TaG7S9",
"name": "Customer Support Genie v2",
"description": "Updated to handle billing inquiries in addition to general support.",
"state": "stopped",
"folder_id": 21285720,
"instructions": "You are a knowledgeable, polite support assistant. Always prioritize clear, concise answers.",
"ai_provider": "open_ai",
"chat_interface": "slack",
"channel_mode": "everywhere",
"channel_scope": "all_invited",
"response_mode": "helpdesk",
"channel_whitelist": [],
"skills_count": 5,
"knowledge_bases_count": 3,
"user_groups_count": 0,
"active_recipes_count": 0,
"inactive_skills_count": 5,
"logo_url": "https://example.com/logo.png",
"created_at": "2026-02-24T08:54:34.585-08:00",
"updated_at": "2026-02-25T09:34:14.013-08:00"
}
]Genieを作成する
新しいGenieを作成します。
POST /api/agentic/geniesペイロード
| 名前 | タイプ | 説明 |
|---|---|---|
| name | string 必須 | Genieの名前。 |
| 説明 | string 必須 | Genieの目的の説明。 |
| folder_id | string 必須 | Genieが存在するフォルダのID。 |
| instructions | string 必須 | Genieが目的、パーソナリティ、ジョブの説明を識別するために使用する指示。 |
| ai_provider | string 必須 | Genieを動作させるAIプロバイダー。 使用できる値はanthropicまたはopen_aiです。 |
| shared_account_id | integer 必須 | GenieのコネクションID。 |
| custom_oauth_key_id | integer 必須 | カスタムOAuthキーID。 |
| matrix | boolean 必須 | Workato GOをチャットインターフェイスとして有効にするかどうかを決定します。 使用できる値はtrueまたはfalseです。 |
| channel_mode | string 任意 | Genieが応答する場所を制御します。 使用可能な値はdms_onlyまたはeverywhereです。 デフォルトはdms_onlyです。 |
| channel_scope | string 任意 | Genieが応答するチャネルを決定します。 使用可能な値はspecificまたはall_invitedです。 デフォルトはspecificです。 |
| response_mode | string 任意 | Genieがチャネルでトリガーされる方法を制御します。 使用可能な値はon_mentionまたはhelpdeskです。 デフォルトはon_mentionです。 |
| channel_whitelist | string[] 任意 | Genieによる応答が許可されているSlackチャネルIDの配列です。 channel_scopeがspecificの場合にのみ適用されます。 デフォルトは[]です。 |
サンプルリクエスト
curl -X POST https://www.workato.com/api/agentic/genies \
-H 'Authorization: Bearer <api_token>' \
-H 'Content-Type: application/json' \
-d '{
"name": "Customer Support Genie",
"description": "Handles customer support inquiries and provides quick responses.",
"folder_id": "7498",
"instructions": "You are a helpful, friendly support agent who answers customer questions clearly and politely.",
"ai_provider": "open_ai",
"shared_account_id": 1234,
"custom_oauth_key_id": 5678,
"matrix": true,
"channel_mode": "everywhere",
"channel_scope": "specific",
"response_mode": "helpdesk",
"channel_whitelist": ["C0A9H9EN7J6", "C1B2C3D4E5F"]
}'サンプルレスポンス
{
"id": "gin-BWLSPX4z-BaT3D9"
}Genieを更新
既存のGenieを更新します。
PUT /api/agentic/genies/:idクエリパラメータ
| 名前 | タイプ | 説明 |
|---|---|---|
| id | string 必須 | 更新するGenieのID。 |
| name | string 任意 | Genieの名前。 |
| 説明 | string 任意 | Genieの目的の説明。 |
| folder_id | string 任意 | Genieが存在するフォルダのID。 |
| instructions | string 任意 | Genieが目的、パーソナリティ、ジョブの説明を識別するために使用する指示。 |
| ai_provider | string 任意 | Genieを動作させるAIプロバイダー。 使用できる値はanthropicまたはopen_aiです。 |
| shared_account_id | integer 任意 | GenieのコネクションID。 |
| custom_oauth_key_id | integer 任意 | カスタムOAuthキーID。 |
| matrix | boolean 任意 | Workato GOをチャットインターフェイスとして有効にするかどうかを決定します。 使用できる値はtrueまたはfalseです。 |
| channel_mode | string 任意 | Genieが応答する場所を制御します。 使用可能な値はdms_onlyまたはeverywhereです。 |
| channel_scope | string 任意 | Genieが応答するチャネルを決定します。 使用可能な値はspecificまたはall_invitedです。 |
| response_mode | string 任意 | Genieがチャネルでトリガーされる方法を制御します。 使用可能な値はon_mentionまたはhelpdeskです。 |
| channel_whitelist | string[] 任意 | Genieによる応答が許可されているSlackチャネルIDの配列です。 channel_scopeがspecificの場合にのみ適用されます。 空の配列を渡すと、リストがクリアされます。 |
サンプルリクエスト
curl -X PUT https://www.workato.com/api/agentic/genies/101 \
-H 'Authorization: Bearer <api_token>' \
-H 'Content-Type: application/json' \
-d '{
"name": "Customer Support Genie v2",
"description": "Updated to handle billing inquiries in addition to general support.",
"instructions": "You are a knowledgeable, polite support assistant. Always prioritize clear, concise answers.",
"matrix": false,
"channel_mode": "everywhere",
"channel_scope": "specific",
"response_mode": "on_mention",
"channel_whitelist": ["C0A9H9EN7J6"]
}'サンプルレスポンス
{
"id": "gin-ZWSMPR4a-TaG7S9",
"name": "Customer Support Genie v2",
"description": "Updated to handle billing inquiries in addition to general support.",
"folder_id": "7498",
"project_id": "4567",
"instructions": "You are a knowledgeable, polite support assistant. Always prioritize clear, concise answers.",
"ai_provider": "open_ai",
"shared_account_id": 1234,
"custom_oauth_key_id": 5678,
"matrix": false,
"channel_mode": "everywhere",
"channel_scope": "specific",
"response_mode": "on_mention",
"channel_whitelist": ["C0A9H9EN7J6"]
}IDでGenieを取得
指定したIDに関連付けられているGenieを返します。
GET /api/agentic/genies/:idクエリパラメータ
| 名前 | タイプ | 説明 |
|---|---|---|
| id | string 必須 | 取得するGenieのID。 |
サンプルリクエスト
curl -X GET https://www.workato.com/api/agentic/genies/gin-ZWSMPR4a-TaG7S9 \
-H 'Authorization: Bearer <api_token>'サンプルレスポンス
チャネル構成フィールドは常に返され、明示的な構成が設定されていない場合はデフォルト値が使用されます。
{
"id": "gin-ZWSMPR4a-TaG7S9",
"name": "Customer Support Genie v2",
"description": "Updated to handle billing inquiries in addition to general support.",
"state": "stopped",
"folder_id": 21285720,
"project_id": 93761783,
"instructions": "You are a knowledgeable, polite support assistant. Always prioritize clear, concise answers.",
"ai_provider": "open_ai",
"chat_interface": "slack",
"channel_mode": "dms_only",
"channel_scope": "specific",
"response_mode": "on_mention",
"channel_whitelist": [],
"skills_count": 5,
"knowledge_bases_count": 3,
"user_groups_count": 0,
"active_recipes_count": 0,
"inactive_skills_count": 5,
"custom_oauth_key_id": 5678,
"connection_id": null,
"folders": [
{
"id": 21285720,
"name": "Customer Assistants"
}
],
"logo_url": "https://example.com/logo.png",
"user_groups": [],
"created_at": "2026-02-24T08:54:34.170-08:00",
"updated_at": "2026-02-25T09:34:14.300-08:00"
}Genieを削除
Genieを削除します。
DELETE /api/agentic/genies/:idクエリパラメータ
| 名前 | タイプ | 説明 |
|---|---|---|
| id | string 必須 | 削除するGenieのID。 |
サンプルリクエスト
curl -X DELETE https://www.workato.com/api/agentic/genies/gin-ZWSMPR4a-TaG7S9 \
-H 'Authorization: Bearer <api_token>'サンプルレスポンス
{
"success": "true"
}Genieを開始
指定したIDに関連付けられているGenieを開始します。
POST /api/agentic/genies/:id/startクエリパラメータ
| 名前 | タイプ | 説明 |
|---|---|---|
| id | string 必須 | 開始するGenieのID。 |
サンプルリクエスト
curl -X POST https://www.workato.com/api/agentic/genies/gin-ZWSMPR4a-TaG7S9/start \
-H 'Authorization: Bearer <api_token>'サンプルレスポンス
{
"success": true
}Genieを停止
指定したIDに関連付けられているGenieを停止します。
POST /api/agentic/genies/:id/stopクエリパラメータ
| 名前 | タイプ | 説明 |
|---|---|---|
| id | string 必須 | 停止するGenieのID。 |
サンプルリクエスト
curl -X POST https://www.workato.com/api/agentic/genies/gin-ZWSMPR4a-TaG7S9/stop \
-H 'Authorization: Bearer <api_token>'サンプルレスポンス
{
"success": true
}Genieにスキルを割り当て
指定したIDに関連付けられているGenieにスキルを割り当てます。
POST /api/agentic/genies/:id/assign_skillsクエリパラメータ
| 名前 | タイプ | 説明 |
|---|---|---|
| id | string 必須 | スキルを割り当てるGenieのID。 |
ペイロード
| 名前 | タイプ | 説明 |
|---|---|---|
| skill_ids | stringの配列 必須 | Genieに割り当てるスキルIDの配列。 |
サンプルリクエスト
curl -X POST https://www.workato.com/api/agentic/genies/gin-ZWSMPR4a-TaG7S9/assign_skills \
-H 'Authorization: Bearer <api_token>' \
-H 'Content-Type: application/json' \
-d '{
"skill_ids": ["65001201", "65704499", "65039789"]
}'サンプルレスポンス
{
"skills": [
{
"id": "65001201",
"name": "Sales Lead"
},
{
"id": "65704499",
"name": "Ticket Escalation"
},
{
"id": "65039789",
"name": "Order Tracking"
}
],
}Genieからスキルを削除
指定したIDに関連付けられているGenieからスキルを削除します。
POST /api/agentic/genies/:id/remove_skillsクエリパラメータ
| 名前 | タイプ | 説明 |
|---|---|---|
| id | string 必須 | スキルを削除するGenieのID。 |
ペイロード
| 名前 | タイプ | 説明 |
|---|---|---|
| skill_ids | stringの配列 必須 | Genieから削除するスキルIDの配列。 |
サンプルリクエスト
curl -X POST https://www.workato.com/api/agentic/genies/gin-ZWSMPR4a-TaG7S9/assign_skills \
-H 'Authorization: Bearer <api_token>' \
-H 'Content-Type: application/json' \
-d '{
"skill_ids": ["65001201", "65704499"]
}'サンプルレスポンス
{
"skills": [
{
"id": "65001201",
"name": "Sales Lead"
},
{
"id": "65704499",
"name": "Ticket Escalation"
}
],
}Genieにナレッジベースを割り当て
指定したIDに関連付けられているGenieにナレッジベースを割り当てます。
POST /api/agentic/genies/:id/assign_knowledge_basesクエリパラメータ
| 名前 | タイプ | 説明 |
|---|---|---|
| id | string 必須 | ナレッジベースを割り当てるGenieのID。 |
ペイロード
| 名前 | タイプ | 説明 |
|---|---|---|
| knowledge_base_ids | stringの配列 必須 | Genieに割り当てるナレッジベースIDの配列。 |
サンプルリクエスト
curl -X POST https://www.workato.com/api/agentic/genies/gin-ZWSMPR4a-TaG7S9/assign_knowledge_bases \
-H 'Authorization: Bearer <api_token>' \
-H 'Content-Type: application/json' \
-d '{
"knowledge_base_ids": ["kb-WSm8kore-blMxrh", "kb-ATx0crok-saMvba"]
}'サンプルレスポンス
{
"knowledge_bases": [
{
"id": "kb-WSm8kore-blMxrh",
"name": "Sync Jira"
},
{
"id": "kb-ATx0crok-saMvba",
"name": "PRD sync"
}
],
}Genieからナレッジベースを削除
指定したIDに関連付けられているGenieからナレッジベースを削除します。
POST /api/agentic/genies/:id/remove_knowledge_basesクエリパラメータ
| 名前 | タイプ | 説明 |
|---|---|---|
| id | string 必須 | ナレッジベースを削除するGenieのID。 |
ペイロード
| 名前 | タイプ | 説明 |
|---|---|---|
| knowledge_base_ids | stringの配列 必須 | Genieから削除するナレッジベースIDの配列。 |
サンプルリクエスト
curl -X POST https://www.workato.com/api/agentic/genies/gin-ZWSMPR4a-TaG7S9/remove_knowledge_bases \
-H 'Authorization: Bearer <api_token>' \
-H 'Content-Type: application/json' \
-d '{
"knowledge_base_ids": ["kb-WSm8kore-blMxrh"]
}'サンプルレスポンス
{
"knowledge_bases": [
{
"id": "kb-WSm8kore-blMxrh",
"name": "Sync Jira"
}
],
}Genieにユーザーグループを割り当て
指定したIDに関連付けられているGenieにユーザーグループアクセスを割り当てます。
POST /api/agentic/genies/:id/assign_user_groupsクエリパラメータ
| 名前 | タイプ | 説明 |
|---|---|---|
| id | string 必須 | ユーザーグループアクセスを割り当てるGenieのID。 |
ペイロード
| 名前 | タイプ | 説明 |
|---|---|---|
| user_group_ids | stringの配列 必須 | Genieに追加するユーザーグループIDの配列。 |
サンプルリクエスト
curl -X POST https://www.workato.com/api/agentic/genies/gin-ZWSMPR4a-TaG7S9/assign_user_groups \
-H 'Authorization: Bearer <api_token>' \
-H 'Content-Type: application/json' \
-d '{
"user_group_ids": ["ertXU2Z3sQaL47T8PssX2V, gpzHU1Y3mJaG77W1JbbZ2B"]
}'サンプルレスポンス
{
"user_groups": [
{
"id": "ertXU2Z3sQaL47T8PssX2V",
"name": "Sales"
},
{
"id": "gpzHU1Y3mJaG77W1JbbZ2B",
"name": "Finance"
},
],
}Genieからユーザーグループを削除
指定したIDに関連付けられているGenieからユーザーグループアクセスを削除します。
POST /api/agentic/genies/:id/remove_user_groupsクエリパラメータ
| 名前 | タイプ | 説明 |
|---|---|---|
| id | string 必須 | ユーザーグループアクセスを削除するGenieのID。 |
ペイロード
| 名前 | タイプ | 説明 |
|---|---|---|
| user_group_ids | stringの配列 必須 | Genieから削除するユーザーグループIDの配列。 |
サンプルリクエスト
curl -X POST https://www.workato.com/api/agentic/genies/gin-ZWSMPR4a-TaG7S9/remove_user_groups \
-H 'Authorization: Bearer <api_token>' \
-H 'Content-Type: application/json' \
-d '{
"user_group_ids": ["ertXU2Z3sQaL47T8PssX2V"]
}'サンプルレスポンス
{
"user_groups": [
{
"id": "ertXU2Z3sQaL47T8PssX2V",
"name": "Sales"
}
],
}Genieクライアント
Genieクライアントは、アプリケーションがHeadless APIを通じてGenieを呼び出すために使用するランタイム認証情報を使用します。 クライアントを作成し、Genieにアタッチする必要があります。 クライアントは実行時にAPIキーまたはOAuth 2.0(PKCE)のいずれかで認証します。
GENIEごとに1つのクライアント
Genieは、アタッチされた単一のクライアントをサポートします。 クライアントとGenieの関係は1:1です。すでにクライアントがあるGenieにクライアントをアタッチする場合、または別のGenieにすでにアタッチされているクライアントをアタッチする場合、409競合が返されます。 クライアントの参照先を変更するには、まず既存のペアリングをデタッチします。
Genieクライアントのリスト
ワークスペース内のGenieクライアントを返します。
GET /api/agentic/genies/clientsサンプルリクエスト
curl -X GET https://www.workato.com/api/agentic/genies/clients \
-H 'Authorization: Bearer <api_token>'サンプルレスポンス
{
"data": [
{ "client_id": "gincl-AaBGpLGx-HLdsJL", "client_name": "HR Concierge Web" }
],
"total": 1,
"page": 1,
"per_page": 10
}Genieクライアントの作成
Genieクライアントを作成します。 サーバー間認証情報の場合はauth.typeをapi_keyに、ブラウザーベースのOAuth 2.0(PKCE)クライアントの場合はoauthに設定します。
POST /api/agentic/genies/clientsペイロード
| 名前 | タイプ | 説明 |
|---|---|---|
| client_name | string 必須 | クライアントの名前。 |
| auth | オブジェクト 必須 | 認証設定。 |
| auth.type | string 必須 | 認証タイプ。 使用できる値はapi_keyとoauthです。 |
| auth.oauth_redirect_url | string 任意 | OAuthフローに登録されたリダイレクトURL。 auth.typeがoauthの場合に必須。 |
サンプルリクエスト
curl -X POST https://www.workato.com/api/agentic/genies/clients \
-H 'Authorization: Bearer <api_token>' \
-H 'Content-Type: application/json' \
-d '{ "client_name": "HR Concierge Web", "auth": { "type": "api_key" } }'サンプルレスポンス
APIキーのクライアントは、作成時に1回だけ返される64文字の16進文字列を含むapi_keyを使用します。 すべてのクライアントは公開oauth_client_idも返します。 OAuthクライアントはシークレットを返しません。
{
"data": {
"client_id": "gincl-AaBGpLGx-HLdsJL",
"client_name": "HR Concierge Web",
"oauth_client_id": "MtaJ4c5oIc3_c0TASWnCW0rfmCr6R4UTO7",
"api_key": "<64-character hex string>"
}
}Genieクライアントの更新
Genieクライアントの名前を更新します。
PUT /api/agentic/genies/clients/:client_idペイロード
| 名前 | タイプ | 説明 |
|---|---|---|
| client_name | string 必須 | クライアントの新しい名前。 |
サンプルリクエスト
curl -X PUT https://www.workato.com/api/agentic/genies/clients/gincl-AaBGpLGx-HLdsJL \
-H 'Authorization: Bearer <api_token>' \
-H 'Content-Type: application/json' \
-d '{ "client_name": "HR Concierge Web v2" }'Genieクライアントの削除
Genieクライアントを削除し、その認証情報を無効化します。 Genieクライアントを削除せずにGenieから削除するには、Genieクライアントをデタッチします。
DELETE /api/agentic/genies/clients/:client_idサンプルリクエスト
curl -X DELETE https://www.workato.com/api/agentic/genies/clients/gincl-AaBGpLGx-HLdsJL \
-H 'Authorization: Bearer <api_token>'Genieクライアントキーの再生成
APIキーのクライアントのAPIキーを再生成します。 以前のキーは直ちに無効化され、新しいキーは1回だけ返されます。
POST /api/agentic/genies/clients/:client_id/regenerateサンプルリクエスト
curl -X POST https://www.workato.com/api/agentic/genies/clients/gincl-AaBGpLGx-HLdsJL/regenerate \
-H 'Authorization: Bearer <api_token>'サンプルレスポンス
{
"data": {
"api_key": "<64-character hex string>",
"updated_at": "2026-06-15T06:44:40-07:00"
}
}クライアントのGenieへのアタッチ
指定したGenieにクライアントをアタッチします。 Genieに既存のクライアントがあってはなりません。 クライアントは一度に1つのGenieにのみアタッチできます。
POST /api/agentic/genies/:id/clientsペイロード
| 名前 | タイプ | 説明 |
|---|---|---|
| genie_client_id | string 必須 | アタッチするクライアントのID。 |
サンプルリクエスト
curl -X POST https://www.workato.com/api/agentic/genies/gin-ZWSMPR4a-TaG7S9/clients \
-H 'Authorization: Bearer <api_token>' \
-H 'Content-Type: application/json' \
-d '{ "genie_client_id": "gincl-AaBGpLGx-HLdsJL" }'クライアントのGenieからのデタッチ
指定したGenieからクライアントをデタッチします。 クライアントは削除されず、別のGenieにアタッチできます。
DELETE /api/agentic/genies/:id/clients/:client_idサンプルリクエスト
curl -X DELETE https://www.workato.com/api/agentic/genies/gin-ZWSMPR4a-TaG7S9/clients/gincl-AaBGpLGx-HLdsJL \
-H 'Authorization: Bearer <api_token>'Guardrails
ガードレールを使用すると、コンテンツ安全性ポリシーをGenieにアタッチできます。 ガードレールが存在する場合、モデルが応答する前に、各チャットターンがそのポリシーに照らして評価されます。 各ガードレールには、最初にアタッチされたときに2つのデフォルトポリシーがあります: prompt_attackとharmful_content。
ベータ機能
Guardrails APIエンドポイントはベータ版です。 詳細については、カスタマーマネージャーにお問い合わせください。
ポリシーの無効化または削除
APIを使用してガードレールからポリシーを削除するためのDELETEガードレールエンドポイントはありません。 ポリシーの作成または更新エンドポイントでガードレールを再構成する必要があります。 次の表で、タイプに基づいてポリシーをオフにする方法を確認してください。
| ポリシー種別 | ポリシーをオフにする方法 |
|---|---|
pii_detection, profanity_filter | enabled: falseを設定します。 ポリシーはアタッチされたままですが、アクションは実行されません。 |
harmful_content | 各カテゴリのフィルターをstrength: "NONE"に設定して無効にします。 filtersは空でない状態を維持する必要があります(空の配列は422を返します)。そのため、完全に無効化されたポリシーでは5つすべてのエントリがstrength: "NONE"のままになります。 enabledを送信すると422が返されます。 |
prompt_attack | strength: "NONE"を設定します。 enabledを送信すると422が返されます。 |
custom_word_filter | リストをクリアするにはcustom_words: []を送信します。 |
topic_boundary | topicsは空でない必要があります。 配列を空にするのではなく、トピックを再構成します。 |
NONEは有効なstrength値であり、GenieビルダーUIでprompt_attackとharmful_contentをオフにするために使用されます。 2つのデフォルトポリシーであるprompt_attackとharmful_contentは、ガードレールがアタッチされると常に存在します。 これらのポリシーはstrength: "NONE"でオフにできますが、ポリシーを削除することはできません。
Genieガードレールの取得
指定したIDに関連付けられているGenieのガードレールとそのポリシーを返します。
GET /api/agentic/genies/:genie_id/guardrailsクエリパラメータ
| 名前 | タイプ | 説明 |
|---|---|---|
| genie_id | string 必須 | 取得するガードレールが属するGenieのID。 Genieハンドルはgin-で始まります。 例: gin-aBC123-xYz789-prod1。 |
サンプルリクエスト
curl -sS https://www.workato.com/api/agentic/genies/gin-aBC123-xYz789-prod1/guardrails \
-H 'Authorization: Bearer <api_token>'サンプルレスポンス
{
"data": {
"id": "aigrl-aBC123-xYz789-prod1",
"policies": [
{
"id": "aigrlp-aBC123-pQr456-prod1",
"policy_type": "harmful_content",
"configuration": {
"filters": [
{ "type": "HATE", "strength": "LOW" },
{ "type": "INSULTS", "strength": "LOW" },
{ "type": "SEXUAL", "strength": "LOW" },
{ "type": "VIOLENCE", "strength": "LOW" },
{ "type": "MISCONDUCT", "strength": "LOW" }
]
}
},
{
"id": "aigrlp-aBC123-sTu789-prod1",
"policy_type": "prompt_attack",
"configuration": { "strength": "LOW" }
}
]
}
}サンプルレスポンス
{ "data": { "id": null, "policies": [] } }エラーレスポンス
| Status | 条件 |
|---|---|
401 Unauthorized | APIトークンが欠落しているか無効です。 |
404 Not Found | Genieハンドルが不明である、フォルダスコープ外である、またはgenie_guardrails_enabledフラグがオフです。 |
ポリシーの作成または更新
指定したIDに関連付けられているGenieで、単一のガードレールポリシーを作成または更新します。 指定したpolicy_typeのポリシーが存在しない場合、新しいポリシーが作成されます。 それ以外の場合、既存のポリシーの設定が完全に置き換えられます。 使用する予定の完全な設定を送信する必要があります。 部分更新はサポートされていません。
PUT /api/agentic/genies/:genie_id/guardrails/policies/:policy_typeクエリパラメータ
| 名前 | タイプ | 説明 |
|---|---|---|
| genie_id | string 必須 | 作成または更新するポリシーが属するGenieのID。 |
| policy_type | string 必須 | 作成または更新するポリシーのタイプ。 使用可能な値: harmful_content、prompt_attack、pii_detection、topic_boundary、profanity_filter、custom_word_filter。 |
ペイロード
| 名前 | タイプ | 説明 |
|---|---|---|
| configuration | オブジェクト 必須 | ポリシーの設定。 形式はpolicy_typeによって異なります。 詳細については、ポリシータイプを参照してください。 |
サンプルリクエスト
curl -X PUT https://www.workato.com/api/agentic/genies/gin-aBC123-xYz789-prod1/guardrails/policies/harmful_content \
-H 'Authorization: Bearer <api_token>' \
-H 'Content-Type: application/json' \
-d '{
"configuration": {
"filters": [
{ "type": "HATE", "strength": "HIGH" },
{ "type": "INSULTS", "strength": "HIGH" },
{ "type": "SEXUAL", "strength": "HIGH" },
{ "type": "VIOLENCE", "strength": "MEDIUM" },
{ "type": "MISCONDUCT","strength": "MEDIUM" }
]
}
}'サンプルレスポンス
{
"data": {
"id": "aigrlp-aBC123-pQr456-prod1",
"policy_type": "harmful_content",
"configuration": {
"filters": [
{ "type": "HATE", "strength": "HIGH" },
{ "type": "INSULTS", "strength": "HIGH" },
{ "type": "SEXUAL", "strength": "HIGH" },
{ "type": "VIOLENCE", "strength": "MEDIUM" },
{ "type": "MISCONDUCT", "strength": "MEDIUM" }
]
}
}
}エラーレスポンス
| Status | 条件 |
|---|---|
400 Bad Request | policy_typeが6つの有効な値のいずれでもありません。 |
401 Unauthorized | APIトークンが欠落しているか無効です。 |
404 Not Found | Genieが見つからない、Genieにガードレールがアタッチされていない、または機能フラグがオフです。 |
422 Unprocessable Entity | configurationの検証に失敗しました。 これは、必須フィールドの欠落、不明なキー、無効な列挙値、またはリクエストが制限を超えたことが原因で発生する場合があります。 |
サンプル422レスポンス
{
"errors": [
{
"code": 422,
"title": "Failed to update policy",
"detail": "Configuration contains unknown keys: junk"
}
]
}使用可能なPIIエンティティタイプの一覧表示
pii_detectionポリシーのpii_entities[].typeフィールドで使用できるPIIエンティティタイプ文字列のリストを返します。 このリストは現在のEnvironmentに固有のものではありません。
GET /api/agentic/genies/guardrails/policies/pii_entitiesサンプルリクエスト
curl -sS https://www.workato.com/api/agentic/genies/guardrails/policies/pii_entities \
-H 'Authorization: Bearer <api_token>'サンプルレスポンス
{
"data": [
"ADDRESS", "AGE", "AWS_ACCESS_KEY", "AWS_SECRET_KEY",
"CA_HEALTH_NUMBER", "CA_SOCIAL_INSURANCE_NUMBER",
"CREDIT_DEBIT_CARD_CVV", "CREDIT_DEBIT_CARD_EXPIRY", "CREDIT_DEBIT_CARD_NUMBER",
"DRIVER_ID", "EMAIL", "INTERNATIONAL_BANK_ACCOUNT_NUMBER",
"IP_ADDRESS", "LICENSE_PLATE", "MAC_ADDRESS", "NAME",
"PASSWORD", "PHONE", "PIN", "SWIFT_CODE",
"UK_NATIONAL_HEALTH_SERVICE_NUMBER", "UK_NATIONAL_INSURANCE_NUMBER", "UK_UNIQUE_TAXPAYER_REFERENCE_NUMBER",
"URL", "USERNAME",
"US_BANK_ACCOUNT_NUMBER", "US_BANK_ROUTING_NUMBER",
"US_INDIVIDUAL_TAX_IDENTIFICATION_NUMBER", "US_PASSPORT_NUMBER", "US_SOCIAL_SECURITY_NUMBER",
"VEHICLE_IDENTIFICATION_NUMBER"
]
}ポリシータイプ
各policy_typeは特定のconfiguration形式を受け入れます。 不明なトップレベルキーを送信すると422で失敗します。
harmful_content
有害なコンテンツのカテゴリについて、ユーザー入力とモデル出力をフィルタリングします。
| フィールド | タイプ | 必須 | メモ |
|---|---|---|---|
filters | 配列 | はい | 空でないこと。 各要素は{ "type": <category>, "strength": <strength> }です。 |
filters[].type | string | はい | HATE、INSULTS、SEXUAL、VIOLENCE、MISCONDUCT、PROMPT_ATTACKのいずれか。 |
filters[].strength | string | はい | NONE、LOW、MEDIUM、HIGHのいずれか。 カテゴリを無効にするには、NONEを使用するか、エントリを省略します。 |
{
"configuration": {
"filters": [
{ "type": "HATE", "strength": "HIGH" },
{ "type": "INSULTS", "strength": "HIGH" },
{ "type": "SEXUAL", "strength": "HIGH" },
{ "type": "VIOLENCE", "strength": "MEDIUM" },
{ "type": "MISCONDUCT", "strength": "MEDIUM" }
]
}
}prompt_attack
ユーザーのプロンプト内で、システム指示の上書き、脱獄、またはその他の方法でGenieを操作しようとする試みを検出します。
| フィールド | タイプ | 必須 | メモ |
|---|---|---|---|
strength | string | はい | NONE、LOW、MEDIUM、HIGHのいずれか。 ポリシーをオフにするにはNONEを使用します。 |
{ "configuration": { "strength": "HIGH" } }pii_detection
チャットコンテンツ内のPIIを検出し、ブロック、匿名化、またはトークン化します。 組み込みエンティティタイプ、カスタム正規表現、またはその両方で照合できます。
| フィールド | タイプ | 必須 | メモ |
|---|---|---|---|
enabled | boolean | はい | 機能を有効にします。 falseに設定されている場合、他のフィールドは受け入れられますが無視されます。 |
action | string | はい | BLOCK、ANONYMIZE、TOKENIZEのいずれか。 enabledがfalseの場合でも必須です。 |
pii_entities | 配列 | 条件付き | enabledがtrueで、pii_custom_regexesが空または存在しない場合は必須(空でないこと)。 各要素は{ "type": <entity> }です。 有効な値を確認するには、使用可能なPIIエンティティタイプの一覧表示を使用します。 |
pii_custom_regexes | 配列 | 条件付き | enabledがtrueで、pii_entitiesが空または存在しない場合は必須(空でないこと)。 最大10エントリ。 各エントリは{ "name": <label>, "pattern": <regex> }です。 |
pii_custom_regexes[].name | string | はい | 監査ログに表示される空でないラベル。 |
pii_custom_regexes[].pattern | string | はい | 有効な正規表現。 500文字未満である必要があります。 |
{
"configuration": {
"enabled": true,
"action": "ANONYMIZE",
"pii_entities": [
{ "type": "EMAIL" },
{ "type": "PHONE" },
{ "type": "CREDIT_DEBIT_CARD_NUMBER" },
{ "type": "US_SOCIAL_SECURITY_NUMBER" }
],
"pii_custom_regexes": []
}
}topic_boundary
会話を特定のトピックに制限します。 任意の発話例は、境界線上のケースをモデルが分類するのに役立ちます。
| フィールド | タイプ | 必須 | メモ |
|---|---|---|---|
topics | 配列 | はい | 空でないこと。 最大30トピック。 |
topics[].name | string | はい | 50文字未満である必要があります。 空でないこと。 |
topics[].description | string | いいえ | 300文字未満である必要があります。 |
topics[].examples | 文字列の配列 | いいえ | 最大5件の例。各例は300文字未満である必要があります。 |
{
"configuration": {
"topics": [
{
"name": "Investment advice",
"description": "Refuse to provide personalized financial or investment advice; suggest the user contact a licensed advisor.",
"examples": [
"Should I buy NVDA stock?",
"How should I allocate my 401(k)?",
"Is now a good time to invest in crypto?"
]
}
]
}
}profanity_filter
不適切表現フィルタは有効または無効にできます。
| フィールド | タイプ | 必須 | メモ |
|---|---|---|---|
enabled | boolean | はい | 有効にするにはtrue、無効にするにはfalse。 |
{ "configuration": { "enabled": true } }custom_word_filter
明示的な単語または短いフレーズのリストに含まれるいずれかを含むメッセージをブロックします。
| フィールド | タイプ | 必須 | メモ |
|---|---|---|---|
custom_words | 文字列の配列 | はい | 最大100エントリ。 各エントリは50文字未満である必要があります。 リストをクリアするには空の配列を送信します。 |
{
"configuration": {
"custom_words": ["Project Atlas", "Operation Falcon", "internal-only"]
}
}ナレッジベース
ナレッジベースの一覧表示
ナレッジベースのリストを返します。
GET /api/agentic/knowledge_basesクエリパラメータ
| 名前 | タイプ | 説明 |
|---|---|---|
| folder_id | string 任意 | ナレッジベースが存在するフォルダのID。 |
| project_id | string 任意 | ナレッジベースが存在するプロジェクトのID。 |
| query | string 任意 | 検索クエリ。 |
| page | integer 任意 | 取得するナレッジベースのページ番号。 最小値は1です。 |
| per_page | integer 任意 | 1ページで返すナレッジベースの数。 最小値は1です。 最大値は50です。 |
| sort_term | string 任意 | 結果の並べ替えに使用するフィールドまたは用語。 例: nameまたはlatest_activity。 |
サンプルリクエスト
curl -X GET https://www.workato.com/api/agentic/knowledge_bases \
-H 'Authorization: Bearer <api_token>' \
-H 'Content-Type: application/json' \
-d '{
"per_page": 10,
"page": 1,
"sort_term": "name"
}'サンプルレスポンス
[
{
"id": "kb-WSm8kore-blMxrh",
"name": "Support FAQs",
"description": "Knowledge base with frequently asked customer support questions.",
"folder_id": "7498",
"project_id": "4567"
},
{
"id": "kb-BLm8cove-brMxrh",
"name": "Sales Playbook",
"description": "Guidelines and resources for the sales team.",
"folder_id": "7302",
"project_id": "9876"
}
]ナレッジベースを作成する
新しいナレッジベースを作成します。
POST /api/agentic/knowledge_basesペイロード
| 名前 | タイプ | 説明 |
|---|---|---|
| name | string 必須 | ナレッジベースの名前。 |
| 説明 | string 必須 | ナレッジベースの説明。 |
| folder_id | string 必須 | ナレッジベースが存在するフォルダのID。 |
| source_type | string 必須 | レシピなど、ナレッジベースのソース。 |
| data_sources | string 必須 | ナレッジベースのデータソースを設定します。 |
サンプルリクエスト
curl -X POST https://www.workato.com/api/agentic/knowledge_bases \
-H 'Authorization: Bearer <api_token>' \
-H 'Content-Type: application/json' \
-d '{
"name": "Support FAQs",
"description": "Knowledge base with frequently asked customer support questions.",
"folder_id": "7498",
"source_type": "recipe",
"data_sources": "zendesk_articles"
}'サンプルレスポンス
{
"id": "kb-BRm8coke-rhMxsa",
"name": "Support FAQs",
"description": "Knowledge base with frequently asked customer support questions.",
"folder_id": "7498",
"source_type": "recipe",
"data_sources": "zendesk_articles"IDでナレッジベースを取得
指定したIDに関連付けられているナレッジベースを返します。
GET /api/agentic/knowledge_bases/:idクエリパラメータ
| 名前 | タイプ | 説明 |
|---|---|---|
| id | string 必須 | 取得するナレッジベースのID。 |
サンプルリクエスト
curl -X GET https://www.workato.com/api/agentic/knowledge_bases/kb-WSm8kore-blMxrh \
-H 'Authorization: Bearer <api_token>' \サンプルレスポンス
[
{
"id": "kb-WSm8kore-blMxrh",
"name": "Support FAQs",
"description": "Knowledge base with frequently asked customer support questions.",
"folder_id": "7498",
"project_id": "4567"
}
]ナレッジベースを更新
既存のナレッジベースを更新します。
PUT /api/agentic/knowledge_bases/:idクエリパラメータ
| 名前 | タイプ | 説明 |
|---|---|---|
| id | string 必須 | 更新するナレッジベースのID。 |
| name | string 任意 | ナレッジベースの名前。 |
| 説明 | string 任意 | ナレッジベースの説明。 |
| folder_id | string 任意 | ナレッジベースが存在するフォルダのID。 |
| data_sources | object 任意 | ナレッジベースに設定されているデータソース。 |
サンプルリクエスト
curl -X PUT https://www.workato.com/api/agentic/knowledge_bases/kb-WSm8kore-blMxrh \
-H 'Authorization: Bearer <api_token>' \
-H 'Content-Type: application/json' \
-d '{
"name": "Support FAQs v2",
"description": "Updated to include billing FAQs in addition to support.",
"data_sources": {
"zendesk_articles": true,
"internal_docs": true
}
}'サンプルレスポンス
{
"id": "kb-WSm8kore-blMxrh",
"name": "Support FAQs v2",
"description": "Updated to include billing FAQs in addition to support.",
"folder_id": "7498",
"source_type": "recipe",
"data_sources": {
"zendesk_articles": true,
"internal_docs": true
}
}ナレッジベースを削除
ナレッジベースを削除します。
DELETE /api/agentic/knowledge_bases/:idクエリパラメータ
| 名前 | タイプ | 説明 |
|---|---|---|
| id | string 必須 | 削除するナレッジベースのID。 |
サンプルリクエスト
curl -X DELETE https://www.workato.com/api/agentic/knowledge_bases/kb-WSm8kore-blMxrh \
-H 'Authorization: Bearer <api_token>' \サンプルレスポンス
{
"success": "true"
}ナレッジベースのデータソースを取得
指定したナレッジベースIDに関連付けられているデータソースを返します。
GET /api/agentic/knowledge_bases/:id/data_sourcesクエリパラメータ
| 名前 | タイプ | 説明 |
|---|---|---|
| id | string 必須 | データソースを取得するナレッジベースのID。 |
サンプルリクエスト
curl -X GET https://www.workato.com/api/agentic/knowledge_bases/kb-WSm8kore-blMxrh/data_sources \
-H 'Authorization: Bearer <api_token>'サンプルレスポンス
{
"knowledge_base_id": "kb-WSm8kore-blMxrh",
"data_sources": {
"zendesk_articles": true,
"internal_docs": true,
"slack_channels": false
}
}ナレッジベースのレシピを取得
指定したナレッジベースIDに関連付けられているレシピを返します。
GET /api/agentic/knowledge_bases/:id/recipesクエリパラメータ
| 名前 | タイプ | 説明 |
|---|---|---|
| id | string 必須 | 関連付けられているレシピを取得するナレッジベースのID。 |
| query | string 任意 | 検索クエリ。 |
| page | integer 任意 | 取得するGenieのページ番号。 最小値は1です。 |
| per_page | integer 任意 | 1ページで返すGenieの数。 最小値は1です。 最大値は50です。 |
| sort_term | string 任意 | 結果の並べ替えに使用するフィールドまたは用語。 例: nameまたはlatest_activity。 |
サンプルリクエスト
curl -X GET https://www.workato.com/api/agentic/knowledge_bases/kb-WSm8kore-blMxr/recipes \
-H 'Authorization: Bearer <api_token>' \
-H 'Content-Type: application/json' \
-d '{
"per_page": 10,
"page": 1,
"sort_term": "name"
}'サンプルレスポンス
[
{
"id": 45246391,
"name": "Customer Support Escalation",
"description": "Routes high-priority Zendesk tickets to Slack.",
"knowledge_base_id": "kb-WSm8kore-blMxr/recipes"
},
{
"id": 87654321,
"name": "Billing Notifications",
"description": "Sends alerts for overdue invoices to the finance team.",
"knowledge_base_id": "kb-WSm8kore-blMxr/recipes"
}
]スキル
スキルの一覧表示
スキルのリストを返します。
GET /api/agentic/skillsクエリパラメータ
| 名前 | タイプ | 説明 |
|---|---|---|
| folder_id | string 任意 | Genieが存在するフォルダのID。 |
| project_id | string 任意 | Genieが存在するプロジェクトのID。 |
| query | string 任意 | 検索クエリ。 |
| page | integer 任意 | 取得するGenieのページ番号。 最小値は1です。 |
| per_page | integer 任意 | 1ページで返すGenieの数。 最小値は1です。 最大値は50です。 |
| sort_term | string 任意 | 結果の並べ替えに使用するフィールドまたは用語。 例: nameまたはlatest_activity。 |
サンプルリクエスト
curl -X GET https://www.workato.com/api/agentic/skills \
-H 'Authorization: Bearer <api_token>' \
-H 'Content-Type: application/json' \
-d '{
"per_page": 10,
"page": 1,
"sort_term": "name"
}'サンプルレスポンス
[
{
"id": 65001201,
"name": "Zendesk Ticket Management",
"description": "Skill for handling customer support tickets from Zendesk.",
"folder_id": "7498",
"project_id": "4567"
},
{
"id": 65039789,
"name": "Slack Notifications",
"description": "Skill for sending targeted Slack alerts.",
"folder_id": "7302",
"project_id": "4567"
}
]既存のレシピからスキルを作成
既存のレシピをスキルに変換します。 レシピは、定義済みの入力とアクションを含むStart workflowトリガーを使用する必要があります。 このエンドポイントをrecipe_idで呼び出して、レシピをAgent Studioのスキルとして登録します。
POST /api/agentic/skillsペイロード
| 名前 | タイプ | 説明 |
|---|---|---|
| recipe_id | integer 必須 | スキルに変換するレシピのID。 |
サンプルリクエスト
curl -X POST https://www.workato.com/api/agentic/skills \
-H 'Authorization: Bearer <api_token>' \
-H 'Content-Type: application/json' \
-d '{
"recipe_id": 65039789
}'サンプルレスポンス
{
"name": "Customer Escalation Skill",
"description": "Skill automatically routes high-priority Zendesk tickets to Slack.",
"recipe_id": 65039789,
"folder_id": "7498",
"project_id": "4567"
}IDでスキルを取得
指定したIDに関連付けられているスキルを返します。
GET /api/agentic/skills/:idクエリパラメータ
| 名前 | タイプ | 説明 |
|---|---|---|
| id | string 必須 | 取得するスキルのID。 |
サンプルリクエスト
curl -X GET https://www.workato.com/api/agentic/skills/65039789 \
-H 'Authorization: Bearer <api_token>' \サンプルレスポンス
{
"name": "Customer Escalation Skill",
"description": "Skill automatically routes high-priority Zendesk tickets to Slack.",
"recipe_id": 65039789,
"folder_id": "7498",
"project_id": "4567"
}Last updated: