Skip to content

Commit 805e9fb

Browse files
George-iamclaude
andauthored
docs: add 8 human task types to README (#35)
* Replace alpha access with Quick Start reference in README Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * docs: add human-in-the-loop section with 8 task types Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 parent a8b2f81 commit 805e9fb

1 file changed

Lines changed: 50 additions & 2 deletions

File tree

README.md

Lines changed: 50 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -181,7 +181,56 @@ for event in client.observe(intent["intent_id"]):
181181

182182
---
183183

184-
## Approvals and Human-in-the-Loop
184+
## Human-in-the-Loop (8 Task Types)
185+
186+
AXME supports 8 human task types. Each pauses the workflow and notifies a human via email with a link to a web task page.
187+
188+
| Task type | Use case | Default outcomes |
189+
|-----------|----------|-----------------|
190+
| `approval` | Approve or reject a request | approved, rejected |
191+
| `confirmation` | Confirm a real-world action completed | confirmed, denied |
192+
| `review` | Review content with multiple outcomes | approved, changes_requested, rejected |
193+
| `assignment` | Assign work to a person or team | assigned, declined |
194+
| `form` | Collect structured data via form fields | submitted |
195+
| `clarification` | Request clarification (comment required) | provided, declined |
196+
| `manual_action` | Physical task completion (evidence required) | completed, failed |
197+
| `override` | Override a policy gate (comment required) | override_approved, rejected |
198+
199+
```python
200+
# Create an intent with a human task step
201+
result = client.create_intent(
202+
intent_type="intent.budget.approval.v1",
203+
to_agent="agent://agent_core",
204+
payload={"amount": 32000, "department": "engineering"},
205+
human_task={
206+
"title": "Approve Q3 budget",
207+
"description": "Review and approve the Q3 infrastructure budget.",
208+
"task_type": "approval",
209+
"notify_email": "approver@example.com",
210+
"allowed_outcomes": ["approved", "rejected"],
211+
},
212+
)
213+
```
214+
215+
Task types with forms use `form_schema` to define required fields:
216+
217+
```python
218+
human_task={
219+
"title": "Assign incident commander",
220+
"task_type": "assignment",
221+
"notify_email": "oncall@example.com",
222+
"form_schema": {
223+
"type": "object",
224+
"required": ["assignee"],
225+
"properties": {
226+
"assignee": {"type": "string", "title": "Commander name"},
227+
"priority": {"type": "string", "enum": ["P1", "P2", "P3"]},
228+
},
229+
},
230+
}
231+
```
232+
233+
### Programmatic approvals (inbox API)
185234

186235
```python
187236
# Fetch pending approvals for an agent
@@ -191,7 +240,6 @@ for item in pending.get("items", []):
191240
thread_id = item.get("thread_id")
192241
if not thread_id:
193242
continue
194-
# Approve the inbox thread with a note
195243
client.approve_inbox_thread(
196244
thread_id,
197245
{"note": "LGTM"},

0 commit comments

Comments
 (0)