mirror of
https://github.com/crewAIInc/crewAI.git
synced 2025-12-16 04:18:35 +00:00
docs: clarify webhook URL parameter in HITL workflows (#3660)
This commit is contained in:
@@ -421,6 +421,7 @@
|
|||||||
"en/api-reference/introduction",
|
"en/api-reference/introduction",
|
||||||
"en/api-reference/inputs",
|
"en/api-reference/inputs",
|
||||||
"en/api-reference/kickoff",
|
"en/api-reference/kickoff",
|
||||||
|
"en/api-reference/resume",
|
||||||
"en/api-reference/status"
|
"en/api-reference/status"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
@@ -827,6 +828,7 @@
|
|||||||
"pt-BR/api-reference/introduction",
|
"pt-BR/api-reference/introduction",
|
||||||
"pt-BR/api-reference/inputs",
|
"pt-BR/api-reference/inputs",
|
||||||
"pt-BR/api-reference/kickoff",
|
"pt-BR/api-reference/kickoff",
|
||||||
|
"pt-BR/api-reference/resume",
|
||||||
"pt-BR/api-reference/status"
|
"pt-BR/api-reference/status"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
@@ -1239,6 +1241,7 @@
|
|||||||
"ko/api-reference/introduction",
|
"ko/api-reference/introduction",
|
||||||
"ko/api-reference/inputs",
|
"ko/api-reference/inputs",
|
||||||
"ko/api-reference/kickoff",
|
"ko/api-reference/kickoff",
|
||||||
|
"ko/api-reference/resume",
|
||||||
"ko/api-reference/status"
|
"ko/api-reference/status"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -40,6 +40,28 @@ Human-In-The-Loop (HITL) is a powerful approach that combines artificial intelli
|
|||||||
<Frame>
|
<Frame>
|
||||||
<img src="/images/enterprise/crew-resume-endpoint.png" alt="Crew Resume Endpoint" />
|
<img src="/images/enterprise/crew-resume-endpoint.png" alt="Crew Resume Endpoint" />
|
||||||
</Frame>
|
</Frame>
|
||||||
|
|
||||||
|
<Warning>
|
||||||
|
**Critical: Webhook URLs Must Be Provided Again**:
|
||||||
|
You **must** provide the same webhook URLs (`taskWebhookUrl`, `stepWebhookUrl`, `crewWebhookUrl`) in the resume call that you used in the kickoff call. Webhook configurations are **NOT** automatically carried over from kickoff - they must be explicitly included in the resume request to continue receiving notifications for task completion, agent steps, and crew completion.
|
||||||
|
</Warning>
|
||||||
|
|
||||||
|
Example resume call with webhooks:
|
||||||
|
```bash
|
||||||
|
curl -X POST {BASE_URL}/resume \
|
||||||
|
-H "Authorization: Bearer YOUR_API_TOKEN" \
|
||||||
|
-H "Content-Type: application/json" \
|
||||||
|
-d '{
|
||||||
|
"execution_id": "abcd1234-5678-90ef-ghij-klmnopqrstuv",
|
||||||
|
"task_id": "research_task",
|
||||||
|
"human_feedback": "Great work! Please add more details.",
|
||||||
|
"is_approve": true,
|
||||||
|
"taskWebhookUrl": "https://your-server.com/webhooks/task",
|
||||||
|
"stepWebhookUrl": "https://your-server.com/webhooks/step",
|
||||||
|
"crewWebhookUrl": "https://your-server.com/webhooks/crew"
|
||||||
|
}'
|
||||||
|
```
|
||||||
|
|
||||||
<Warning>
|
<Warning>
|
||||||
**Feedback Impact on Task Execution**:
|
**Feedback Impact on Task Execution**:
|
||||||
It's crucial to exercise care when providing feedback, as the entire feedback content will be incorporated as additional context for further task executions.
|
It's crucial to exercise care when providing feedback, as the entire feedback content will be incorporated as additional context for further task executions.
|
||||||
@@ -76,4 +98,4 @@ HITL workflows are particularly valuable for:
|
|||||||
- Complex decision-making scenarios
|
- Complex decision-making scenarios
|
||||||
- Sensitive or high-stakes operations
|
- Sensitive or high-stakes operations
|
||||||
- Creative tasks requiring human judgment
|
- Creative tasks requiring human judgment
|
||||||
- Compliance and regulatory reviews
|
- Compliance and regulatory reviews
|
||||||
|
|||||||
@@ -79,6 +79,28 @@ Human-in-the-Loop (HITL) is a powerful approach that combines artificial intelli
|
|||||||
<Frame>
|
<Frame>
|
||||||
<img src="/images/enterprise/crew-resume-endpoint.png" alt="Crew Resume Endpoint" />
|
<img src="/images/enterprise/crew-resume-endpoint.png" alt="Crew Resume Endpoint" />
|
||||||
</Frame>
|
</Frame>
|
||||||
|
|
||||||
|
<Warning>
|
||||||
|
**Critical: Webhook URLs Must Be Provided Again**:
|
||||||
|
You **must** provide the same webhook URLs (`taskWebhookUrl`, `stepWebhookUrl`, `crewWebhookUrl`) in the resume call that you used in the kickoff call. Webhook configurations are **NOT** automatically carried over from kickoff - they must be explicitly included in the resume request to continue receiving notifications for task completion, agent steps, and crew completion.
|
||||||
|
</Warning>
|
||||||
|
|
||||||
|
Example resume call with webhooks:
|
||||||
|
```bash
|
||||||
|
curl -X POST {BASE_URL}/resume \
|
||||||
|
-H "Authorization: Bearer YOUR_API_TOKEN" \
|
||||||
|
-H "Content-Type: application/json" \
|
||||||
|
-d '{
|
||||||
|
"execution_id": "abcd1234-5678-90ef-ghij-klmnopqrstuv",
|
||||||
|
"task_id": "research_task",
|
||||||
|
"human_feedback": "Great work! Please add more details.",
|
||||||
|
"is_approve": true,
|
||||||
|
"taskWebhookUrl": "https://your-server.com/webhooks/task",
|
||||||
|
"stepWebhookUrl": "https://your-server.com/webhooks/step",
|
||||||
|
"crewWebhookUrl": "https://your-server.com/webhooks/crew"
|
||||||
|
}'
|
||||||
|
```
|
||||||
|
|
||||||
<Warning>
|
<Warning>
|
||||||
**Feedback Impact on Task Execution**:
|
**Feedback Impact on Task Execution**:
|
||||||
It's crucial to exercise care when providing feedback, as the entire feedback content will be incorporated as additional context for further task executions.
|
It's crucial to exercise care when providing feedback, as the entire feedback content will be incorporated as additional context for further task executions.
|
||||||
|
|||||||
@@ -276,6 +276,134 @@ paths:
|
|||||||
'500':
|
'500':
|
||||||
$ref: '#/components/responses/ServerError'
|
$ref: '#/components/responses/ServerError'
|
||||||
|
|
||||||
|
/resume:
|
||||||
|
post:
|
||||||
|
summary: Resume Crew Execution with Human Feedback
|
||||||
|
description: |
|
||||||
|
**📋 Reference Example Only** - *This shows the request format. To test with your actual crew, copy the cURL example and replace the URL + token with your real values.*
|
||||||
|
|
||||||
|
Resume a paused crew execution with human feedback for Human-in-the-Loop (HITL) workflows.
|
||||||
|
When a task with `human_input=True` completes, the crew execution pauses and waits for human feedback.
|
||||||
|
|
||||||
|
**IMPORTANT**: You must provide the same webhook URLs (`taskWebhookUrl`, `stepWebhookUrl`, `crewWebhookUrl`)
|
||||||
|
that were used in the original kickoff call. Webhook configurations are NOT automatically carried over -
|
||||||
|
they must be explicitly provided in the resume request to continue receiving notifications.
|
||||||
|
operationId: resumeCrewExecution
|
||||||
|
requestBody:
|
||||||
|
required: true
|
||||||
|
content:
|
||||||
|
application/json:
|
||||||
|
schema:
|
||||||
|
type: object
|
||||||
|
required:
|
||||||
|
- execution_id
|
||||||
|
- task_id
|
||||||
|
- human_feedback
|
||||||
|
- is_approve
|
||||||
|
properties:
|
||||||
|
execution_id:
|
||||||
|
type: string
|
||||||
|
format: uuid
|
||||||
|
description: The unique identifier for the crew execution (from kickoff)
|
||||||
|
example: "abcd1234-5678-90ef-ghij-klmnopqrstuv"
|
||||||
|
task_id:
|
||||||
|
type: string
|
||||||
|
description: The ID of the task that requires human feedback
|
||||||
|
example: "research_task"
|
||||||
|
human_feedback:
|
||||||
|
type: string
|
||||||
|
description: Your feedback on the task output. This will be incorporated as additional context for subsequent task executions.
|
||||||
|
example: "Great research! Please add more details about recent developments in the field."
|
||||||
|
is_approve:
|
||||||
|
type: boolean
|
||||||
|
description: "Whether you approve the task output: true = positive feedback (continue), false = negative feedback (retry task)"
|
||||||
|
example: true
|
||||||
|
taskWebhookUrl:
|
||||||
|
type: string
|
||||||
|
format: uri
|
||||||
|
description: Callback URL executed after each task completion. MUST be provided to continue receiving task notifications.
|
||||||
|
example: "https://your-server.com/webhooks/task"
|
||||||
|
stepWebhookUrl:
|
||||||
|
type: string
|
||||||
|
format: uri
|
||||||
|
description: Callback URL executed after each agent thought/action. MUST be provided to continue receiving step notifications.
|
||||||
|
example: "https://your-server.com/webhooks/step"
|
||||||
|
crewWebhookUrl:
|
||||||
|
type: string
|
||||||
|
format: uri
|
||||||
|
description: Callback URL executed when the crew execution completes. MUST be provided to receive completion notification.
|
||||||
|
example: "https://your-server.com/webhooks/crew"
|
||||||
|
examples:
|
||||||
|
approve_and_continue:
|
||||||
|
summary: Approve task and continue execution
|
||||||
|
value:
|
||||||
|
execution_id: "abcd1234-5678-90ef-ghij-klmnopqrstuv"
|
||||||
|
task_id: "research_task"
|
||||||
|
human_feedback: "Excellent research! Proceed to the next task."
|
||||||
|
is_approve: true
|
||||||
|
taskWebhookUrl: "https://api.example.com/webhooks/task"
|
||||||
|
stepWebhookUrl: "https://api.example.com/webhooks/step"
|
||||||
|
crewWebhookUrl: "https://api.example.com/webhooks/crew"
|
||||||
|
request_revision:
|
||||||
|
summary: Request task revision with feedback
|
||||||
|
value:
|
||||||
|
execution_id: "abcd1234-5678-90ef-ghij-klmnopqrstuv"
|
||||||
|
task_id: "analysis_task"
|
||||||
|
human_feedback: "Please include more quantitative data and cite your sources."
|
||||||
|
is_approve: false
|
||||||
|
taskWebhookUrl: "https://api.example.com/webhooks/task"
|
||||||
|
crewWebhookUrl: "https://api.example.com/webhooks/crew"
|
||||||
|
responses:
|
||||||
|
'200':
|
||||||
|
description: Execution resumed successfully
|
||||||
|
content:
|
||||||
|
application/json:
|
||||||
|
schema:
|
||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
status:
|
||||||
|
type: string
|
||||||
|
enum: ["resumed", "retrying", "completed"]
|
||||||
|
description: Status of the resumed execution
|
||||||
|
example: "resumed"
|
||||||
|
message:
|
||||||
|
type: string
|
||||||
|
description: Human-readable message about the resume operation
|
||||||
|
example: "Execution resumed successfully"
|
||||||
|
examples:
|
||||||
|
resumed:
|
||||||
|
summary: Execution resumed with positive feedback
|
||||||
|
value:
|
||||||
|
status: "resumed"
|
||||||
|
message: "Execution resumed successfully"
|
||||||
|
retrying:
|
||||||
|
summary: Task will be retried with negative feedback
|
||||||
|
value:
|
||||||
|
status: "retrying"
|
||||||
|
message: "Task will be retried with your feedback"
|
||||||
|
'400':
|
||||||
|
description: Invalid request body or execution not in pending state
|
||||||
|
content:
|
||||||
|
application/json:
|
||||||
|
schema:
|
||||||
|
$ref: '#/components/schemas/Error'
|
||||||
|
example:
|
||||||
|
error: "Invalid Request"
|
||||||
|
message: "Execution is not in pending human input state"
|
||||||
|
'401':
|
||||||
|
$ref: '#/components/responses/UnauthorizedError'
|
||||||
|
'404':
|
||||||
|
description: Execution ID or Task ID not found
|
||||||
|
content:
|
||||||
|
application/json:
|
||||||
|
schema:
|
||||||
|
$ref: '#/components/schemas/Error'
|
||||||
|
example:
|
||||||
|
error: "Not Found"
|
||||||
|
message: "Execution ID not found"
|
||||||
|
'500':
|
||||||
|
$ref: '#/components/responses/ServerError'
|
||||||
|
|
||||||
components:
|
components:
|
||||||
securitySchemes:
|
securitySchemes:
|
||||||
BearerAuth:
|
BearerAuth:
|
||||||
|
|||||||
@@ -276,6 +276,134 @@ paths:
|
|||||||
'500':
|
'500':
|
||||||
$ref: '#/components/responses/ServerError'
|
$ref: '#/components/responses/ServerError'
|
||||||
|
|
||||||
|
/resume:
|
||||||
|
post:
|
||||||
|
summary: Resume Crew Execution with Human Feedback
|
||||||
|
description: |
|
||||||
|
**📋 Reference Example Only** - *This shows the request format. To test with your actual crew, copy the cURL example and replace the URL + token with your real values.*
|
||||||
|
|
||||||
|
Resume a paused crew execution with human feedback for Human-in-the-Loop (HITL) workflows.
|
||||||
|
When a task with `human_input=True` completes, the crew execution pauses and waits for human feedback.
|
||||||
|
|
||||||
|
**IMPORTANT**: You must provide the same webhook URLs (`taskWebhookUrl`, `stepWebhookUrl`, `crewWebhookUrl`)
|
||||||
|
that were used in the original kickoff call. Webhook configurations are NOT automatically carried over -
|
||||||
|
they must be explicitly provided in the resume request to continue receiving notifications.
|
||||||
|
operationId: resumeCrewExecution
|
||||||
|
requestBody:
|
||||||
|
required: true
|
||||||
|
content:
|
||||||
|
application/json:
|
||||||
|
schema:
|
||||||
|
type: object
|
||||||
|
required:
|
||||||
|
- execution_id
|
||||||
|
- task_id
|
||||||
|
- human_feedback
|
||||||
|
- is_approve
|
||||||
|
properties:
|
||||||
|
execution_id:
|
||||||
|
type: string
|
||||||
|
format: uuid
|
||||||
|
description: The unique identifier for the crew execution (from kickoff)
|
||||||
|
example: "abcd1234-5678-90ef-ghij-klmnopqrstuv"
|
||||||
|
task_id:
|
||||||
|
type: string
|
||||||
|
description: The ID of the task that requires human feedback
|
||||||
|
example: "research_task"
|
||||||
|
human_feedback:
|
||||||
|
type: string
|
||||||
|
description: Your feedback on the task output. This will be incorporated as additional context for subsequent task executions.
|
||||||
|
example: "Great research! Please add more details about recent developments in the field."
|
||||||
|
is_approve:
|
||||||
|
type: boolean
|
||||||
|
description: "Whether you approve the task output: true = positive feedback (continue), false = negative feedback (retry task)"
|
||||||
|
example: true
|
||||||
|
taskWebhookUrl:
|
||||||
|
type: string
|
||||||
|
format: uri
|
||||||
|
description: Callback URL executed after each task completion. MUST be provided to continue receiving task notifications.
|
||||||
|
example: "https://your-server.com/webhooks/task"
|
||||||
|
stepWebhookUrl:
|
||||||
|
type: string
|
||||||
|
format: uri
|
||||||
|
description: Callback URL executed after each agent thought/action. MUST be provided to continue receiving step notifications.
|
||||||
|
example: "https://your-server.com/webhooks/step"
|
||||||
|
crewWebhookUrl:
|
||||||
|
type: string
|
||||||
|
format: uri
|
||||||
|
description: Callback URL executed when the crew execution completes. MUST be provided to receive completion notification.
|
||||||
|
example: "https://your-server.com/webhooks/crew"
|
||||||
|
examples:
|
||||||
|
approve_and_continue:
|
||||||
|
summary: Approve task and continue execution
|
||||||
|
value:
|
||||||
|
execution_id: "abcd1234-5678-90ef-ghij-klmnopqrstuv"
|
||||||
|
task_id: "research_task"
|
||||||
|
human_feedback: "Excellent research! Proceed to the next task."
|
||||||
|
is_approve: true
|
||||||
|
taskWebhookUrl: "https://api.example.com/webhooks/task"
|
||||||
|
stepWebhookUrl: "https://api.example.com/webhooks/step"
|
||||||
|
crewWebhookUrl: "https://api.example.com/webhooks/crew"
|
||||||
|
request_revision:
|
||||||
|
summary: Request task revision with feedback
|
||||||
|
value:
|
||||||
|
execution_id: "abcd1234-5678-90ef-ghij-klmnopqrstuv"
|
||||||
|
task_id: "analysis_task"
|
||||||
|
human_feedback: "Please include more quantitative data and cite your sources."
|
||||||
|
is_approve: false
|
||||||
|
taskWebhookUrl: "https://api.example.com/webhooks/task"
|
||||||
|
crewWebhookUrl: "https://api.example.com/webhooks/crew"
|
||||||
|
responses:
|
||||||
|
'200':
|
||||||
|
description: Execution resumed successfully
|
||||||
|
content:
|
||||||
|
application/json:
|
||||||
|
schema:
|
||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
status:
|
||||||
|
type: string
|
||||||
|
enum: ["resumed", "retrying", "completed"]
|
||||||
|
description: Status of the resumed execution
|
||||||
|
example: "resumed"
|
||||||
|
message:
|
||||||
|
type: string
|
||||||
|
description: Human-readable message about the resume operation
|
||||||
|
example: "Execution resumed successfully"
|
||||||
|
examples:
|
||||||
|
resumed:
|
||||||
|
summary: Execution resumed with positive feedback
|
||||||
|
value:
|
||||||
|
status: "resumed"
|
||||||
|
message: "Execution resumed successfully"
|
||||||
|
retrying:
|
||||||
|
summary: Task will be retried with negative feedback
|
||||||
|
value:
|
||||||
|
status: "retrying"
|
||||||
|
message: "Task will be retried with your feedback"
|
||||||
|
'400':
|
||||||
|
description: Invalid request body or execution not in pending state
|
||||||
|
content:
|
||||||
|
application/json:
|
||||||
|
schema:
|
||||||
|
$ref: '#/components/schemas/Error'
|
||||||
|
example:
|
||||||
|
error: "Invalid Request"
|
||||||
|
message: "Execution is not in pending human input state"
|
||||||
|
'401':
|
||||||
|
$ref: '#/components/responses/UnauthorizedError'
|
||||||
|
'404':
|
||||||
|
description: Execution ID or Task ID not found
|
||||||
|
content:
|
||||||
|
application/json:
|
||||||
|
schema:
|
||||||
|
$ref: '#/components/schemas/Error'
|
||||||
|
example:
|
||||||
|
error: "Not Found"
|
||||||
|
message: "Execution ID not found"
|
||||||
|
'500':
|
||||||
|
$ref: '#/components/responses/ServerError'
|
||||||
|
|
||||||
components:
|
components:
|
||||||
securitySchemes:
|
securitySchemes:
|
||||||
BearerAuth:
|
BearerAuth:
|
||||||
|
|||||||
@@ -120,6 +120,134 @@ paths:
|
|||||||
'500':
|
'500':
|
||||||
$ref: '#/components/responses/ServerError'
|
$ref: '#/components/responses/ServerError'
|
||||||
|
|
||||||
|
/resume:
|
||||||
|
post:
|
||||||
|
summary: Resume Crew Execution with Human Feedback
|
||||||
|
description: |
|
||||||
|
**📋 Reference Example Only** - *This shows the request format. To test with your actual crew, copy the cURL example and replace the URL + token with your real values.*
|
||||||
|
|
||||||
|
Resume a paused crew execution with human feedback for Human-in-the-Loop (HITL) workflows.
|
||||||
|
When a task with `human_input=True` completes, the crew execution pauses and waits for human feedback.
|
||||||
|
|
||||||
|
**IMPORTANT**: You must provide the same webhook URLs (`taskWebhookUrl`, `stepWebhookUrl`, `crewWebhookUrl`)
|
||||||
|
that were used in the original kickoff call. Webhook configurations are NOT automatically carried over -
|
||||||
|
they must be explicitly provided in the resume request to continue receiving notifications.
|
||||||
|
operationId: resumeCrewExecution
|
||||||
|
requestBody:
|
||||||
|
required: true
|
||||||
|
content:
|
||||||
|
application/json:
|
||||||
|
schema:
|
||||||
|
type: object
|
||||||
|
required:
|
||||||
|
- execution_id
|
||||||
|
- task_id
|
||||||
|
- human_feedback
|
||||||
|
- is_approve
|
||||||
|
properties:
|
||||||
|
execution_id:
|
||||||
|
type: string
|
||||||
|
format: uuid
|
||||||
|
description: The unique identifier for the crew execution (from kickoff)
|
||||||
|
example: "abcd1234-5678-90ef-ghij-klmnopqrstuv"
|
||||||
|
task_id:
|
||||||
|
type: string
|
||||||
|
description: The ID of the task that requires human feedback
|
||||||
|
example: "research_task"
|
||||||
|
human_feedback:
|
||||||
|
type: string
|
||||||
|
description: Your feedback on the task output. This will be incorporated as additional context for subsequent task executions.
|
||||||
|
example: "Great research! Please add more details about recent developments in the field."
|
||||||
|
is_approve:
|
||||||
|
type: boolean
|
||||||
|
description: "Whether you approve the task output: true = positive feedback (continue), false = negative feedback (retry task)"
|
||||||
|
example: true
|
||||||
|
taskWebhookUrl:
|
||||||
|
type: string
|
||||||
|
format: uri
|
||||||
|
description: Callback URL executed after each task completion. MUST be provided to continue receiving task notifications.
|
||||||
|
example: "https://your-server.com/webhooks/task"
|
||||||
|
stepWebhookUrl:
|
||||||
|
type: string
|
||||||
|
format: uri
|
||||||
|
description: Callback URL executed after each agent thought/action. MUST be provided to continue receiving step notifications.
|
||||||
|
example: "https://your-server.com/webhooks/step"
|
||||||
|
crewWebhookUrl:
|
||||||
|
type: string
|
||||||
|
format: uri
|
||||||
|
description: Callback URL executed when the crew execution completes. MUST be provided to receive completion notification.
|
||||||
|
example: "https://your-server.com/webhooks/crew"
|
||||||
|
examples:
|
||||||
|
approve_and_continue:
|
||||||
|
summary: Approve task and continue execution
|
||||||
|
value:
|
||||||
|
execution_id: "abcd1234-5678-90ef-ghij-klmnopqrstuv"
|
||||||
|
task_id: "research_task"
|
||||||
|
human_feedback: "Excellent research! Proceed to the next task."
|
||||||
|
is_approve: true
|
||||||
|
taskWebhookUrl: "https://api.example.com/webhooks/task"
|
||||||
|
stepWebhookUrl: "https://api.example.com/webhooks/step"
|
||||||
|
crewWebhookUrl: "https://api.example.com/webhooks/crew"
|
||||||
|
request_revision:
|
||||||
|
summary: Request task revision with feedback
|
||||||
|
value:
|
||||||
|
execution_id: "abcd1234-5678-90ef-ghij-klmnopqrstuv"
|
||||||
|
task_id: "analysis_task"
|
||||||
|
human_feedback: "Please include more quantitative data and cite your sources."
|
||||||
|
is_approve: false
|
||||||
|
taskWebhookUrl: "https://api.example.com/webhooks/task"
|
||||||
|
crewWebhookUrl: "https://api.example.com/webhooks/crew"
|
||||||
|
responses:
|
||||||
|
'200':
|
||||||
|
description: Execution resumed successfully
|
||||||
|
content:
|
||||||
|
application/json:
|
||||||
|
schema:
|
||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
status:
|
||||||
|
type: string
|
||||||
|
enum: ["resumed", "retrying", "completed"]
|
||||||
|
description: Status of the resumed execution
|
||||||
|
example: "resumed"
|
||||||
|
message:
|
||||||
|
type: string
|
||||||
|
description: Human-readable message about the resume operation
|
||||||
|
example: "Execution resumed successfully"
|
||||||
|
examples:
|
||||||
|
resumed:
|
||||||
|
summary: Execution resumed with positive feedback
|
||||||
|
value:
|
||||||
|
status: "resumed"
|
||||||
|
message: "Execution resumed successfully"
|
||||||
|
retrying:
|
||||||
|
summary: Task will be retried with negative feedback
|
||||||
|
value:
|
||||||
|
status: "retrying"
|
||||||
|
message: "Task will be retried with your feedback"
|
||||||
|
'400':
|
||||||
|
description: Invalid request body or execution not in pending state
|
||||||
|
content:
|
||||||
|
application/json:
|
||||||
|
schema:
|
||||||
|
$ref: '#/components/schemas/Error'
|
||||||
|
example:
|
||||||
|
error: "Invalid Request"
|
||||||
|
message: "Execution is not in pending human input state"
|
||||||
|
'401':
|
||||||
|
$ref: '#/components/responses/UnauthorizedError'
|
||||||
|
'404':
|
||||||
|
description: Execution ID or Task ID not found
|
||||||
|
content:
|
||||||
|
application/json:
|
||||||
|
schema:
|
||||||
|
$ref: '#/components/schemas/Error'
|
||||||
|
example:
|
||||||
|
error: "Not Found"
|
||||||
|
message: "Execution ID not found"
|
||||||
|
'500':
|
||||||
|
$ref: '#/components/responses/ServerError'
|
||||||
|
|
||||||
components:
|
components:
|
||||||
securitySchemes:
|
securitySchemes:
|
||||||
BearerAuth:
|
BearerAuth:
|
||||||
|
|||||||
@@ -156,6 +156,134 @@ paths:
|
|||||||
'500':
|
'500':
|
||||||
$ref: '#/components/responses/ServerError'
|
$ref: '#/components/responses/ServerError'
|
||||||
|
|
||||||
|
/resume:
|
||||||
|
post:
|
||||||
|
summary: Resume Crew Execution with Human Feedback
|
||||||
|
description: |
|
||||||
|
**📋 Reference Example Only** - *This shows the request format. To test with your actual crew, copy the cURL example and replace the URL + token with your real values.*
|
||||||
|
|
||||||
|
Resume a paused crew execution with human feedback for Human-in-the-Loop (HITL) workflows.
|
||||||
|
When a task with `human_input=True` completes, the crew execution pauses and waits for human feedback.
|
||||||
|
|
||||||
|
**IMPORTANT**: You must provide the same webhook URLs (`taskWebhookUrl`, `stepWebhookUrl`, `crewWebhookUrl`)
|
||||||
|
that were used in the original kickoff call. Webhook configurations are NOT automatically carried over -
|
||||||
|
they must be explicitly provided in the resume request to continue receiving notifications.
|
||||||
|
operationId: resumeCrewExecution
|
||||||
|
requestBody:
|
||||||
|
required: true
|
||||||
|
content:
|
||||||
|
application/json:
|
||||||
|
schema:
|
||||||
|
type: object
|
||||||
|
required:
|
||||||
|
- execution_id
|
||||||
|
- task_id
|
||||||
|
- human_feedback
|
||||||
|
- is_approve
|
||||||
|
properties:
|
||||||
|
execution_id:
|
||||||
|
type: string
|
||||||
|
format: uuid
|
||||||
|
description: The unique identifier for the crew execution (from kickoff)
|
||||||
|
example: "abcd1234-5678-90ef-ghij-klmnopqrstuv"
|
||||||
|
task_id:
|
||||||
|
type: string
|
||||||
|
description: The ID of the task that requires human feedback
|
||||||
|
example: "research_task"
|
||||||
|
human_feedback:
|
||||||
|
type: string
|
||||||
|
description: Your feedback on the task output. This will be incorporated as additional context for subsequent task executions.
|
||||||
|
example: "Great research! Please add more details about recent developments in the field."
|
||||||
|
is_approve:
|
||||||
|
type: boolean
|
||||||
|
description: "Whether you approve the task output: true = positive feedback (continue), false = negative feedback (retry task)"
|
||||||
|
example: true
|
||||||
|
taskWebhookUrl:
|
||||||
|
type: string
|
||||||
|
format: uri
|
||||||
|
description: Callback URL executed after each task completion. MUST be provided to continue receiving task notifications.
|
||||||
|
example: "https://your-server.com/webhooks/task"
|
||||||
|
stepWebhookUrl:
|
||||||
|
type: string
|
||||||
|
format: uri
|
||||||
|
description: Callback URL executed after each agent thought/action. MUST be provided to continue receiving step notifications.
|
||||||
|
example: "https://your-server.com/webhooks/step"
|
||||||
|
crewWebhookUrl:
|
||||||
|
type: string
|
||||||
|
format: uri
|
||||||
|
description: Callback URL executed when the crew execution completes. MUST be provided to receive completion notification.
|
||||||
|
example: "https://your-server.com/webhooks/crew"
|
||||||
|
examples:
|
||||||
|
approve_and_continue:
|
||||||
|
summary: Approve task and continue execution
|
||||||
|
value:
|
||||||
|
execution_id: "abcd1234-5678-90ef-ghij-klmnopqrstuv"
|
||||||
|
task_id: "research_task"
|
||||||
|
human_feedback: "Excellent research! Proceed to the next task."
|
||||||
|
is_approve: true
|
||||||
|
taskWebhookUrl: "https://api.example.com/webhooks/task"
|
||||||
|
stepWebhookUrl: "https://api.example.com/webhooks/step"
|
||||||
|
crewWebhookUrl: "https://api.example.com/webhooks/crew"
|
||||||
|
request_revision:
|
||||||
|
summary: Request task revision with feedback
|
||||||
|
value:
|
||||||
|
execution_id: "abcd1234-5678-90ef-ghij-klmnopqrstuv"
|
||||||
|
task_id: "analysis_task"
|
||||||
|
human_feedback: "Please include more quantitative data and cite your sources."
|
||||||
|
is_approve: false
|
||||||
|
taskWebhookUrl: "https://api.example.com/webhooks/task"
|
||||||
|
crewWebhookUrl: "https://api.example.com/webhooks/crew"
|
||||||
|
responses:
|
||||||
|
'200':
|
||||||
|
description: Execution resumed successfully
|
||||||
|
content:
|
||||||
|
application/json:
|
||||||
|
schema:
|
||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
status:
|
||||||
|
type: string
|
||||||
|
enum: ["resumed", "retrying", "completed"]
|
||||||
|
description: Status of the resumed execution
|
||||||
|
example: "resumed"
|
||||||
|
message:
|
||||||
|
type: string
|
||||||
|
description: Human-readable message about the resume operation
|
||||||
|
example: "Execution resumed successfully"
|
||||||
|
examples:
|
||||||
|
resumed:
|
||||||
|
summary: Execution resumed with positive feedback
|
||||||
|
value:
|
||||||
|
status: "resumed"
|
||||||
|
message: "Execution resumed successfully"
|
||||||
|
retrying:
|
||||||
|
summary: Task will be retried with negative feedback
|
||||||
|
value:
|
||||||
|
status: "retrying"
|
||||||
|
message: "Task will be retried with your feedback"
|
||||||
|
'400':
|
||||||
|
description: Invalid request body or execution not in pending state
|
||||||
|
content:
|
||||||
|
application/json:
|
||||||
|
schema:
|
||||||
|
$ref: '#/components/schemas/Error'
|
||||||
|
example:
|
||||||
|
error: "Invalid Request"
|
||||||
|
message: "Execution is not in pending human input state"
|
||||||
|
'401':
|
||||||
|
$ref: '#/components/responses/UnauthorizedError'
|
||||||
|
'404':
|
||||||
|
description: Execution ID or Task ID not found
|
||||||
|
content:
|
||||||
|
application/json:
|
||||||
|
schema:
|
||||||
|
$ref: '#/components/schemas/Error'
|
||||||
|
example:
|
||||||
|
error: "Not Found"
|
||||||
|
message: "Execution ID not found"
|
||||||
|
'500':
|
||||||
|
$ref: '#/components/responses/ServerError'
|
||||||
|
|
||||||
components:
|
components:
|
||||||
securitySchemes:
|
securitySchemes:
|
||||||
BearerAuth:
|
BearerAuth:
|
||||||
|
|||||||
@@ -40,6 +40,28 @@ mode: "wide"
|
|||||||
<Frame>
|
<Frame>
|
||||||
<img src="/images/enterprise/crew-resume-endpoint.png" alt="Crew Resume Endpoint" />
|
<img src="/images/enterprise/crew-resume-endpoint.png" alt="Crew Resume Endpoint" />
|
||||||
</Frame>
|
</Frame>
|
||||||
|
|
||||||
|
<Warning>
|
||||||
|
**중요: Webhook URL을 다시 제공해야 합니다**:
|
||||||
|
kickoff 호출에서 사용한 것과 동일한 webhook URL(`taskWebhookUrl`, `stepWebhookUrl`, `crewWebhookUrl`)을 resume 호출에서 **반드시** 제공해야 합니다. Webhook 설정은 kickoff에서 자동으로 전달되지 **않으므로**, 작업 완료, 에이전트 단계, crew 완료에 대한 알림을 계속 받으려면 resume 요청에 명시적으로 포함해야 합니다.
|
||||||
|
</Warning>
|
||||||
|
|
||||||
|
Webhook을 포함한 resume 호출 예시:
|
||||||
|
```bash
|
||||||
|
curl -X POST {BASE_URL}/resume \
|
||||||
|
-H "Authorization: Bearer YOUR_API_TOKEN" \
|
||||||
|
-H "Content-Type: application/json" \
|
||||||
|
-d '{
|
||||||
|
"execution_id": "abcd1234-5678-90ef-ghij-klmnopqrstuv",
|
||||||
|
"task_id": "research_task",
|
||||||
|
"human_feedback": "훌륭한 작업입니다! 더 자세한 내용을 추가해주세요.",
|
||||||
|
"is_approve": true,
|
||||||
|
"taskWebhookUrl": "https://your-server.com/webhooks/task",
|
||||||
|
"stepWebhookUrl": "https://your-server.com/webhooks/step",
|
||||||
|
"crewWebhookUrl": "https://your-server.com/webhooks/crew"
|
||||||
|
}'
|
||||||
|
```
|
||||||
|
|
||||||
<Warning>
|
<Warning>
|
||||||
**피드백이 작업 실행에 미치는 영향**:
|
**피드백이 작업 실행에 미치는 영향**:
|
||||||
피드백 전체 내용이 이후 작업 실행을 위한 추가 컨텍스트로 통합되므로 피드백 제공 시 신중함이 매우 중요합니다.
|
피드백 전체 내용이 이후 작업 실행을 위한 추가 컨텍스트로 통합되므로 피드백 제공 시 신중함이 매우 중요합니다.
|
||||||
@@ -76,4 +98,4 @@ HITL 워크플로우는 특히 다음과 같은 경우에 유용합니다:
|
|||||||
- 복잡한 의사 결정 시나리오
|
- 복잡한 의사 결정 시나리오
|
||||||
- 민감하거나 위험도가 높은 작업
|
- 민감하거나 위험도가 높은 작업
|
||||||
- 인간의 판단이 필요한 창의적 작업
|
- 인간의 판단이 필요한 창의적 작업
|
||||||
- 준수 및 규제 검토
|
- 준수 및 규제 검토
|
||||||
|
|||||||
@@ -40,6 +40,28 @@ mode: "wide"
|
|||||||
<Frame>
|
<Frame>
|
||||||
<img src="/images/enterprise/crew-resume-endpoint.png" alt="Crew Resume Endpoint" />
|
<img src="/images/enterprise/crew-resume-endpoint.png" alt="Crew Resume Endpoint" />
|
||||||
</Frame>
|
</Frame>
|
||||||
|
|
||||||
|
<Warning>
|
||||||
|
**중요: Webhook URL을 다시 제공해야 합니다**:
|
||||||
|
kickoff 호출에서 사용한 것과 동일한 webhook URL(`taskWebhookUrl`, `stepWebhookUrl`, `crewWebhookUrl`)을 resume 호출에서 **반드시** 제공해야 합니다. Webhook 설정은 kickoff에서 자동으로 전달되지 **않으므로**, 작업 완료, 에이전트 단계, crew 완료에 대한 알림을 계속 받으려면 resume 요청에 명시적으로 포함해야 합니다.
|
||||||
|
</Warning>
|
||||||
|
|
||||||
|
Webhook을 포함한 resume 호출 예시:
|
||||||
|
```bash
|
||||||
|
curl -X POST {BASE_URL}/resume \
|
||||||
|
-H "Authorization: Bearer YOUR_API_TOKEN" \
|
||||||
|
-H "Content-Type: application/json" \
|
||||||
|
-d '{
|
||||||
|
"execution_id": "abcd1234-5678-90ef-ghij-klmnopqrstuv",
|
||||||
|
"task_id": "research_task",
|
||||||
|
"human_feedback": "훌륭한 작업입니다! 더 자세한 내용을 추가해주세요.",
|
||||||
|
"is_approve": true,
|
||||||
|
"taskWebhookUrl": "https://your-server.com/webhooks/task",
|
||||||
|
"stepWebhookUrl": "https://your-server.com/webhooks/step",
|
||||||
|
"crewWebhookUrl": "https://your-server.com/webhooks/crew"
|
||||||
|
}'
|
||||||
|
```
|
||||||
|
|
||||||
<Warning>
|
<Warning>
|
||||||
**피드백이 작업 실행에 미치는 영향**:
|
**피드백이 작업 실행에 미치는 영향**:
|
||||||
피드백의 전체 내용이 추가 컨텍스트로서 이후 작업 실행에 통합되므로, 피드백 제공 시 신중을 기하는 것이 매우 중요합니다.
|
피드백의 전체 내용이 추가 컨텍스트로서 이후 작업 실행에 통합되므로, 피드백 제공 시 신중을 기하는 것이 매우 중요합니다.
|
||||||
@@ -76,4 +98,4 @@ HITL 워크플로우는 다음과 같은 경우에 특히 유용합니다:
|
|||||||
- 복잡한 의사결정 시나리오
|
- 복잡한 의사결정 시나리오
|
||||||
- 민감하거나 고위험 작업
|
- 민감하거나 고위험 작업
|
||||||
- 인간의 판단이 필요한 창의적 과제
|
- 인간의 판단이 필요한 창의적 과제
|
||||||
- 컴플라이언스 및 규제 검토
|
- 컴플라이언스 및 규제 검토
|
||||||
|
|||||||
@@ -40,6 +40,28 @@ Human-In-The-Loop (HITL) é uma abordagem poderosa que combina inteligência art
|
|||||||
<Frame>
|
<Frame>
|
||||||
<img src="/images/enterprise/crew-resume-endpoint.png" alt="Crew Resume Endpoint" />
|
<img src="/images/enterprise/crew-resume-endpoint.png" alt="Crew Resume Endpoint" />
|
||||||
</Frame>
|
</Frame>
|
||||||
|
|
||||||
|
<Warning>
|
||||||
|
**Crítico: URLs de Webhook Devem Ser Fornecidas Novamente**:
|
||||||
|
Você **deve** fornecer as mesmas URLs de webhook (`taskWebhookUrl`, `stepWebhookUrl`, `crewWebhookUrl`) na chamada de resume que você usou na chamada de kickoff. As configurações de webhook **NÃO** são automaticamente transferidas do kickoff - elas devem ser explicitamente incluídas na solicitação de resume para continuar recebendo notificações de conclusão de tarefa, etapas do agente e conclusão do crew.
|
||||||
|
</Warning>
|
||||||
|
|
||||||
|
Exemplo de chamada resume com webhooks:
|
||||||
|
```bash
|
||||||
|
curl -X POST {BASE_URL}/resume \
|
||||||
|
-H "Authorization: Bearer YOUR_API_TOKEN" \
|
||||||
|
-H "Content-Type: application/json" \
|
||||||
|
-d '{
|
||||||
|
"execution_id": "abcd1234-5678-90ef-ghij-klmnopqrstuv",
|
||||||
|
"task_id": "research_task",
|
||||||
|
"human_feedback": "Ótimo trabalho! Por favor, adicione mais detalhes.",
|
||||||
|
"is_approve": true,
|
||||||
|
"taskWebhookUrl": "https://your-server.com/webhooks/task",
|
||||||
|
"stepWebhookUrl": "https://your-server.com/webhooks/step",
|
||||||
|
"crewWebhookUrl": "https://your-server.com/webhooks/crew"
|
||||||
|
}'
|
||||||
|
```
|
||||||
|
|
||||||
<Warning>
|
<Warning>
|
||||||
**Impacto do Feedback na Execução da Tarefa**:
|
**Impacto do Feedback na Execução da Tarefa**:
|
||||||
É crucial ter cuidado ao fornecer o feedback, pois todo o conteúdo do feedback será incorporado como contexto adicional para as próximas execuções da tarefa.
|
É crucial ter cuidado ao fornecer o feedback, pois todo o conteúdo do feedback será incorporado como contexto adicional para as próximas execuções da tarefa.
|
||||||
@@ -76,4 +98,4 @@ Workflows HITL são particularmente valiosos para:
|
|||||||
- Cenários de tomada de decisão complexa
|
- Cenários de tomada de decisão complexa
|
||||||
- Operações sensíveis ou de alto risco
|
- Operações sensíveis ou de alto risco
|
||||||
- Tarefas criativas que exigem julgamento humano
|
- Tarefas criativas que exigem julgamento humano
|
||||||
- Revisões de conformidade e regulatórias
|
- Revisões de conformidade e regulatórias
|
||||||
|
|||||||
@@ -40,6 +40,28 @@ Human-in-the-Loop (HITL) é uma abordagem poderosa que combina a inteligência a
|
|||||||
<Frame>
|
<Frame>
|
||||||
<img src="/images/enterprise/crew-resume-endpoint.png" alt="Endpoint de Retomada Crew" />
|
<img src="/images/enterprise/crew-resume-endpoint.png" alt="Endpoint de Retomada Crew" />
|
||||||
</Frame>
|
</Frame>
|
||||||
|
|
||||||
|
<Warning>
|
||||||
|
**Crítico: URLs de Webhook Devem Ser Fornecidas Novamente**:
|
||||||
|
Você **deve** fornecer as mesmas URLs de webhook (`taskWebhookUrl`, `stepWebhookUrl`, `crewWebhookUrl`) na chamada de resume que você usou na chamada de kickoff. As configurações de webhook **NÃO** são automaticamente transferidas do kickoff - elas devem ser explicitamente incluídas na solicitação de resume para continuar recebendo notificações de conclusão de tarefa, etapas do agente e conclusão do crew.
|
||||||
|
</Warning>
|
||||||
|
|
||||||
|
Exemplo de chamada resume com webhooks:
|
||||||
|
```bash
|
||||||
|
curl -X POST {BASE_URL}/resume \
|
||||||
|
-H "Authorization: Bearer YOUR_API_TOKEN" \
|
||||||
|
-H "Content-Type: application/json" \
|
||||||
|
-d '{
|
||||||
|
"execution_id": "abcd1234-5678-90ef-ghij-klmnopqrstuv",
|
||||||
|
"task_id": "research_task",
|
||||||
|
"human_feedback": "Ótimo trabalho! Por favor, adicione mais detalhes.",
|
||||||
|
"is_approve": true,
|
||||||
|
"taskWebhookUrl": "https://your-server.com/webhooks/task",
|
||||||
|
"stepWebhookUrl": "https://your-server.com/webhooks/step",
|
||||||
|
"crewWebhookUrl": "https://your-server.com/webhooks/crew"
|
||||||
|
}'
|
||||||
|
```
|
||||||
|
|
||||||
<Warning>
|
<Warning>
|
||||||
**Impacto do Feedback na Execução da Tarefa**:
|
**Impacto do Feedback na Execução da Tarefa**:
|
||||||
É fundamental ter cuidado ao fornecer feedback, pois todo o conteúdo do feedback será incorporado como contexto adicional para execuções futuras da tarefa.
|
É fundamental ter cuidado ao fornecer feedback, pois todo o conteúdo do feedback será incorporado como contexto adicional para execuções futuras da tarefa.
|
||||||
@@ -76,4 +98,4 @@ Workflows HITL são particularmente valiosos para:
|
|||||||
- Cenários de tomada de decisão complexa
|
- Cenários de tomada de decisão complexa
|
||||||
- Operações sensíveis ou de alto risco
|
- Operações sensíveis ou de alto risco
|
||||||
- Tarefas criativas que requerem julgamento humano
|
- Tarefas criativas que requerem julgamento humano
|
||||||
- Revisões de conformidade e regulamentação
|
- Revisões de conformidade e regulamentação
|
||||||
|
|||||||
Reference in New Issue
Block a user