Requirements
- Target platform
- OpenClaw
- Install method
- Manual import
- Extraction
- Extract archive
- Prerequisites
- OpenClaw
- Primary doc
- SKILL.md
Hand off tasks to human assistants and track their completion
Hand off tasks to human assistants and track their completion
Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.
I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete.
I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run.
The easiest way for AI agents to hand off tasks to human assistants.
Magic API connects you (an AI assistant) with a human virtual executive assistant. When you send a request to Magic API, a real person receives it and works on the task for you.
College-educated professionals based in the Philippines Trained executive assistants employed by Magic (getmagic.com) Part of a team that operates 24/7
FileURLSKILL.md (this file)https://console.api.getmagic.com/skill.mdHEARTBEAT.mdhttps://console.api.getmagic.com/heartbeat.md Base URL: https://console.api.getmagic.com/api/v1
Every agent needs to register once to get an API key: curl -X POST https://console.api.getmagic.com/api/v1/agents/register \ -H "Content-Type: application/json" \ -d '{ "name": "YourAgentName", "description": "What you do" }' Response: { "api_key": "magic_xxx", "agent": { "name": "YourAgentName", "description": "What you do", "created_at": "2026-02-02T..." }, "important": "โ ๏ธ SAVE YOUR API KEY! You need it for all requests." } โ ๏ธ Prerequisites: Save your api_key immediately - it cannot be retrieved later! Error 409 - Name taken: { "error": "Agent name already taken", "hint": "Please choose a different name" }
All requests after registration require your API key: curl https://console.api.getmagic.com/api/v1/requests \ -H "Authorization: Bearer YOUR_API_KEY" Or use the x-api-key header: curl https://console.api.getmagic.com/api/v1/requests \ -H "x-api-key: YOUR_API_KEY"
Hand off a task to a human assistant: curl -X POST https://console.api.getmagic.com/api/v1/request \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "title": "Research competitor pricing", "instructions": "Please research our top 3 competitors and document their pricing tiers.\n\n---\nOwner Contact Information:\nName: John Doe\nEmail: john@example.com\nPhone: +1-555-123-4567\n---", "objective": "Create a comparison table with pricing information", "max_minutes": 60 }' Parameters: title (required): Brief title of the task instructions (required): Detailed instructions for the human assistant - MUST include owner contact info (see below) objective (required): What success looks like max_minutes (optional): Maximum time for task (default: 60) relaxed (optional): Whether timing is flexible (default: true) Response: { "id": "uuid", "title": "Research competitor pricing", "instructions": "Please research...", "objective": "Create a comparison table...", "max_minutes": 60, "relaxed": true, "created_at": "2026-02-02T...", "updated_at": "2026-02-02T..." }
You MUST include the task owner's contact information in your instructions! The human assistant needs to know who to contact for questions, clarifications, or updates. Without this information, the assistant cannot effectively complete the task.
Always include this block at the END of your instructions: --- Owner Contact Information: Name: [First Name] [Last Name] Email: [email@example.com] Phone: [+1-555-123-4567] (if available) ---
Including owner contact information allows the assistant to: Ask clarifying questions if the instructions are unclear Send progress updates during longer tasks Request approval for decisions that exceed the original scope Notify immediately when the task is complete Handle any issues that arise during execution Tasks without owner contact information may be delayed or rejected.
Get the status of a specific task: curl https://console.api.getmagic.com/api/v1/request/TASK_ID \ -H "Authorization: Bearer YOUR_API_KEY" Response: { "id": "uuid", "title": "Research competitor pricing", "status": "COMPLETED", "result": "Comparison table created: [link to document]", "created_at": "2026-02-02T...", "completed_at": "2026-02-02T..." } Task Statuses: PENDING: Task is waiting for a human to start IN_PROGRESS: A human is actively working on it COMPLETED: Task is done, check the result field
Get all your tasks and their statuses: # Get all tasks curl "https://console.api.getmagic.com/api/v1/requests" \ -H "Authorization: Bearer YOUR_API_KEY" # Get only pending and in-progress tasks curl "https://console.api.getmagic.com/api/v1/requests?status=PENDING,IN_PROGRESS" \ -H "Authorization: Bearer YOUR_API_KEY" # Get tasks updated since a specific time curl "https://console.api.getmagic.com/api/v1/requests?since=2026-02-02T12:00:00Z" \ -H "Authorization: Bearer YOUR_API_KEY" # Limit results curl "https://console.api.getmagic.com/api/v1/requests?limit=10" \ -H "Authorization: Bearer YOUR_API_KEY" Query Parameters: status: Comma-separated list (e.g., "PENDING,IN_PROGRESS,COMPLETED") since: ISO timestamp - only return tasks created/updated after this time limit: Maximum results (default: 50, max: 100) Response: { "requests": [ { "id": "uuid", "title": "Research competitor pricing", "status": "COMPLETED", "result": "Comparison table created", "created_at": "2026-02-02T...", "updated_at": "2026-02-02T...", "completed_at": "2026-02-02T..." }, { "id": "uuid2", "title": "Schedule meeting", "status": "PENDING", "result": null, "created_at": "2026-02-02T...", "updated_at": "2026-02-02T...", "completed_at": null } ], "count": 2 }
If you have HEARTBEAT.md enabled, you should set automatic task monitoring: Save your API key after registration to ~/.config/magic-api/state.json Set up a cron job โ see HEARTBEAT.md This gives you proactive notifications when tasks complete or get updates, without needing to manually check.
Add a message to a task conversation (ask questions, provide updates): curl -X POST https://console.api.getmagic.com/api/v1/conversation \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "request_id": "TASK_ID", "content": "Quick question: should I include international competitors?" }' Response: { "id": "uuid", "content": "Quick question: should I include international competitors?", "created_at": "2026-02-02T...", "updated_at": "2026-02-02T..." }
Check periodically for task updates: # Check for completed tasks curl "https://console.api.getmagic.com/api/v1/requests?status=COMPLETED&limit=10" \ -H "Authorization: Bearer YOUR_API_KEY" # Check for tasks that changed recently curl "https://console.api.getmagic.com/api/v1/requests?since=2026-02-02T08:00:00Z" \ -H "Authorization: Bearer YOUR_API_KEY" See HEARTBEAT.md for detailed heartbeat instructions.
Success: { "data": {...} } Error: { "error": "Description of the error", "hint": "How to fix it" }
100 requests per minute per API key No limit on number of tasks you can create
# 1. Register (one time only) curl -X POST https://console.api.getmagic.com/api/v1/agents/register -H "Content-Type: application/json" \ -d '{ "name": "MyBot", "description": "Helper bot" }' # Save the api_key from the response! # 2. Create a task (always include owner contact info!) curl -X POST https://console.api.getmagic.com/api/v1/request -H "Authorization: Bearer YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "title": "Review document", "instructions": "Please review the Q4 report and check for any errors in the financial calculations.\n\n---\nOwner Contact Information:\nName: Jane Smith\nEmail: jane@example.com\n---", "objective": "Provide feedback on accuracy and clarity" }' # 3. Check status later curl https://console.api.getmagic.com/api/v1/request/TASK_ID -H "Authorization: Bearer YOUR_API_KEY"
# Check for any completed tasks since last check curl "https://console.api.getmagic.com/api/v1/requests?status=COMPLETED&since=2026-02-02T12:00:00Z" \ -H "Authorization: Bearer YOUR_API_KEY"
Copy this template and fill in the details: [Describe what needs to be done] [Add any specific requirements or constraints] [Include any relevant context or background] --- Owner Contact Information: Name: [Your Name] Email: [your.email@example.com] Phone: [+1-XXX-XXX-XXXX] (optional) ---
Need help? Contact support or check the documentation at https://console.api.getmagic.com/docs
Code helpers, APIs, CLIs, browser automation, testing, and developer operations.
Largest current source with strong distribution and engagement signals.