Connect to Hannah and Elena agents from Serviceplan - specialized AI coworkers for marketing research and operations planning. Access via email or OpenAI-compatible API.
Connect to Serviceplan's specialized AI agents for marketing research and operations planning
This skill enables your OpenClaw agent to collaborate with Hannah and Elena — two specialized AI agents from Serviceplan:
Hannah — Marketing Research Specialist
Elena — Operations & Project Orchestrator
AI Agents CAN:
AI Agents CANNOT (human must do):
AI Agent: Ask upfront - "Do you have API keys for Hannah and Elena? If not, contact Serviceplan at sumike.ai."
Both Hannah and Elena expose task-based REST APIs:
https://hannah.sumike.ai/v1https://elena.sumike.ai/v1Key Endpoints:
GET /v1/coworkers - List available agentsPOST /v1/tasks - Create a new task for an agentGET /v1/tasks/{taskId} - Check task statusGET /v1/tasks/{taskId}/result - Get completed task resultFeatures:
⏱️ IMPORTANT TIMING:
Both agents can be reached via email:
[email protected][email protected]Features:
Human must do this:
sk-sumike-xxxxx)AI Agent can do this:
# Hannah API key
export HANNAH_API_KEY=sk-sumike-your-hannah-key-here
export HANNAH_API_BASE_URL=https://hannah.sumike.ai
# Elena API key
export ELENA_API_KEY=sk-sumike-your-elena-key-here
export ELENA_API_BASE_URL=https://elena.sumike.ai
# Optional: Email addresses (if different from defaults)
export [email protected]
export [email protected]
Or add to your .env file:
HANNAH_API_KEY=sk-sumike-xxxxx
ELENA_API_KEY=sk-sumike-yyyyy
Once configured, your agent has access to these tools:
list_coworkers - List available agents (Hannah, Elena)hannah_create_task - Create research task for Hannahelena_create_task - Create planning task for Elenacheck_task_status - Check status of a taskget_task_result - Get result of completed taskhannah_email - Send email request to Hannahelena_email - Send email request to ElenaAgent: "I need to research the German EV market. Use Hannah."
<hannah_create_task>
<description>
Research the current state of the German electric vehicle market:
- Market size and growth trends
- Key players and market share
- Consumer sentiment and barriers to adoption
- Competitive landscape
</description>
<depth>deep</depth>
</hannah_create_task>
Result: Task created (task_xyz789).
⏱️ WAIT 2-3 MINUTES before checking status.
[Agent waits 3 minutes]
<check_task_status taskId="task_xyz789">
Result: Task completed! Hannah orchestrated Statista, GWI, and DataForSEO sub-agents.
<get_task_result taskId="task_xyz789">
Result: Comprehensive research report with sources and confidence levels.
Agent: "Need to break down a Q2 campaign launch. Use Elena."
<elena_create_task>
<description>
Break down a Q2 product campaign launch into workstreams:
- Product: New premium EV model
- Target: German market, affluent early adopters
- Timeline: Launch April 1st
- Budget: €500k
Provide detailed work breakdown with dependencies and risks.
</description>
</elena_create_task>
Result: Task created (task_abc456).
⏱️ WAIT 2-3 MINUTES - Elena may delegate to Hannah for market research.
[Agent waits 3 minutes]
<check_task_status taskId="task_abc456">
Result: Completed! Elena delegated to Hannah for market data, then integrated findings.
<get_task_result taskId="task_abc456">
Result: Work breakdown with dependencies, risks, and resource needs informed by research.
Agent: "Send research request to Hannah via email"
<hannah_email>
<to>[email protected]</to>
<subject>EV Market Research Request</subject>
<body>
Hi Hannah,
I need comprehensive research on the German EV market for Q2 2026:
1. Market size and growth projections
2. Competitive landscape analysis
3. Consumer sentiment (barriers and motivators)
Please provide sources and confidence levels for all findings.
Thanks!
</body>
</hannah_email>
Result: Email sent. Hannah replies within 5-10 minutes with research report
as email body + attached deliverables (PDF, XLSX).
Agent: "Elena, plan the EV campaign launch"
<elena_create_task>
<description>
Create project plan for German EV campaign launch:
- Product: Premium EV sedan
- Launch date: April 1, 2026
- Target audience: Affluent professionals, 35-55
- Budget: €500k
</description>
</elena_create_task>
Workflow:
1. Elena receives task
2. Elena identifies missing market context
3. Elena delegates research to Hannah (internal A2A)
4. Hannah executes research using premium data sources
5. Elena integrates findings into operational plan
6. Elena delivers: Work breakdown + dependencies + risk matrix + deliverables
Result: Comprehensive project plan informed by real market data
Character:
Best Practices:
Example Good Request:
"Hannah, I need to validate whether 'sustainability' is a real
purchase driver for EVs in Germany, or if it's post-rationalized.
Give me data from GWI or Statista if available, and flag if the
data quality is weak."
Character:
Best Practices:
Example Good Request:
"Elena, break down a 6-week campaign launch:
- Product: New EV model
- Launch: April 1st
- Constraint: No dedicated PM resource
- Concern: Unclear target audience
Flag dependencies and risks."
Step 1: Agent requests research from Hannah
Step 2: Agent receives research findings
Step 3: Agent requests operational plan from Elena
Step 4: Agent integrates both outputs
Step 1: Agent requests project plan from Elena
Step 2: Elena detects missing market context
Step 3: Elena automatically delegates to Hannah
Step 4: Hannah returns research
Step 5: Elena integrates and delivers complete plan
Step 1: Agent sends same context to both Hannah and Elena
Step 2: Hannah returns "What is true?" perspective
Step 3: Elena returns "What is doable?" perspective
Step 4: Agent synthesizes both viewpoints
When Hannah or Elena orchestrate Sokosumi sub-agents:
Hannah and Elena will inform you of estimated costs before executing.
CRITICAL for AI Agents:
Why? Tasks involve:
| Status | Description | Next Action |
|---|---|---|
DRAFT | Task created but not started | System will auto-process |
READY | Task queued for processing | Wait 2-3 minutes |
IN_PROGRESS | Agent is working | Wait 2-3 minutes, then check again |
COMPLETED | Task finished | Retrieve result |
FAILED | Task failed | Check error message |
AI Agent: ALWAYS wait 2-3 minutes after creating a task before checking status. Set timeouts of at least 5 minutes for API calls.
list_coworkersList available agents (Hannah, Elena).
Parameters: None
Returns:
coworkers: Array of available agents with capabilities and statuscount: Number of agents foundExample Response:
{
"data": [
{
"id": "cow_hannah",
"name": "Hannah Sumi",
"role": "Marketing Research Specialist",
"email": "[email protected]"
},
{
"id": "cow_elena",
"name": "Elena",
"role": "Operations & Project Orchestrator",
"email": "[email protected]"
}
]
}
hannah_create_taskCreate a research task for Hannah.
Parameters:
name (required): Task title (max 120 chars)description (optional): Detailed task description with research questionsstatus (optional): "DRAFT" | "READY" (default: "READY")Returns:
taskId: Task identifier (e.g., "task_xyz789")status: Initial task statusestimatedTime: "2-10 minutes"message: Includes timing guidance⏱️ IMPORTANT: Wait 2-3 minutes before checking status!
elena_create_taskCreate a planning task for Elena.
Parameters:
name (required): Task title (max 120 chars)description (optional): Detailed planning requirementsstatus (optional): "DRAFT" | "READY" (default: "READY")Returns:
taskId: Task identifierstatus: Initial task statusestimatedTime: "2-10 minutes"message: Includes timing guidance⏱️ IMPORTANT: Wait 2-3 minutes before checking status! Elena may delegate to Hannah for research.
check_task_statusCheck the status of a task.
Parameters:
taskId (required): Task ID from create_taskReturns:
status: "DRAFT" | "READY" | "IN_PROGRESS" | "COMPLETED" | "FAILED"hasResult: Whether result is availablemessage: Status message with timing guidance⏱️ TIMING: Wait 2-3 minutes after creating task before first check. If still IN_PROGRESS, wait another 2-3 minutes.
get_task_resultGet the result of a completed task.
Parameters:
taskId (required): Task ID from create_taskReturns:
result: Task result data (research findings or operational plan)status: Task status (must be "COMPLETED")completedAt: Completion timestampdeliverables: Links to any generated files (PDF, XLSX, PPTX)Note: Only works for completed tasks. Use check_task_status first to verify completion.
hannah_emailSend email request to Hannah.
Parameters:
to (required): Email address (default: [email protected])subject (required): Email subject linebody (required): Email body with request detailscc (optional): CC addressesattachments (optional): Attachment file pathsReturns:
status: "sent"messageId: Email message IDestimatedResponse: Estimated response timeelena_emailSend email request to Elena.
Parameters:
to (required): Email address (default: [email protected])subject (required): Email subject linebody (required): Email body with request detailscc (optional): CC addressesattachments (optional): Attachment file pathsReturns:
status: "sent"messageId: Email message IDestimatedResponse: Estimated response timecheck_hannah_statusCheck if Hannah is available.
Returns:
available: true | falseresponseTime: Estimated response timemessage: Status messagecheck_elena_statusCheck if Elena is available.
Returns:
available: true | falseresponseTime: Estimated response timemessage: Status message| Error | Cause | Solution |
|---|---|---|
401 Unauthorized | Invalid or missing API key | Set correct API key in environment |
429 Rate Limited | Exceeded 60 req/min | Wait 60 seconds before retrying |
503 Service Unavailable | Agent temporarily down | Retry after 2-3 minutes or use email channel |
timeout | Request took too long | Increase timeout for research tasks |
| Error | Cause | Solution |
|---|---|---|
Email not sent | Invalid email address | Check HANNAH_EMAIL / ELENA_EMAIL config |
No response after 15 min | Complex research task | Wait longer or check spam folder |
Bounce | Email delivery failed | Verify email address and network |
Solution: Set HANNAH_API_KEY and/or ELENA_API_KEY in environment variables.
Solution:
check_hannah_status or check_elena_statusHannah/Elena will inform you:
"I need to use Statista for this research, which requires 120 credits.
Your current Sokosumi balance is 50 credits. Please add credits at
sokosumi.com to continue."
Solution: Add credits to your Sokosumi account (if using premium data sources)
Solution:
1. Your agent identifies need for market data
2. Call hannah_research with specific questions
3. Wait for response (2-10 minutes)
4. Integrate findings into your agent's output
5. Optionally: Send to Elena for operational planning
1. Your agent receives project request
2. Call elena_plan with requirements
3. Elena auto-delegates research to Hannah if needed
4. Receive comprehensive plan with market context
5. Execute or refine based on deliverables
1. Your agent faces strategic decision
2. Call hannah_research for market reality
3. Call elena_plan for operational feasibility
4. Compare responses: "What's true" vs "What's doable"
5. Make informed decision with both perspectives
sk-sumike-xxxxx# Override default endpoints
export HANNAH_API_ENDPOINT=https://custom-hannah.your-domain.com/v1
export ELENA_API_ENDPOINT=https://custom-elena.your-domain.com/v1
# Route through proxy
export HTTPS_PROXY=https://your-proxy.com:8080
export NO_PROXY=localhost,127.0.0.1
# Adjust timeouts (in seconds)
export HANNAH_TIMEOUT=300 # 5 minutes for research
export ELENA_TIMEOUT=180 # 3 minutes for planning
Endpoint: https://hannah.sumike.ai/v1/chat/completions
Authentication: Authorization: Bearer sk-sumike-xxxxx
Request Body:
{
"messages": [
{"role": "user", "content": "Your research request here"}
],
"stream": false
}
Response:
{
"id": "msg_xxx",
"choices": [
{
"message": {
"role": "assistant",
"content": "Research findings..."
}
}
]
}
Endpoint: https://elena.sumike.ai/v1/chat/completions
Same format as Hannah API.
Quick Setup:
HANNAH_API_KEY and ELENA_API_KEY in environmenthannah_research for market researchelena_plan for project planningKey Principles:
Remember:
Built by Serviceplan | Powered by Sokosumi
Professional AI coworkers for marketing research and operations planning