Rank
70
AI Agents & MCPs & AI Workflow Automation โข (~400 MCP servers for AI agents) โข AI Automation / AI Agent with MCPs โข AI Workflows & AI Agents โข MCPs for AI Agents
Traction
No public download signal
Freshness
Updated 2d ago
Crawler Summary
Send transactional and marketing emails via UniOne Email API. Manage email templates, validate email addresses, check delivery statistics, manage suppression lists, configure webhooks, and handle domain settings. UniOne delivers billions of emails annually with 99.88% deliverability. --- name: unione description: > Send transactional and marketing emails via UniOne Email API. Manage email templates, validate email addresses, check delivery statistics, manage suppression lists, configure webhooks, and handle domain settings. UniOne delivers billions of emails annually with 99.88% deliverability. metadata: openclaw: emoji: "๐ง" source: https://github.com/unione-repo/unione-api-skill homepage: https Capability contract not published. No trust telemetry is available yet. Last updated 2/25/2026.
Freshness
Last checked 2/25/2026
Best For
unione is best for take, be, make workflows where OpenClaw compatibility matters.
Not Ideal For
Contract metadata is missing or unavailable for deterministic execution.
Evidence Sources Checked
editorial-content, GITHUB OPENCLEW, runtime-metrics, public facts pack
Send transactional and marketing emails via UniOne Email API. Manage email templates, validate email addresses, check delivery statistics, manage suppression lists, configure webhooks, and handle domain settings. UniOne delivers billions of emails annually with 99.88% deliverability. --- name: unione description: > Send transactional and marketing emails via UniOne Email API. Manage email templates, validate email addresses, check delivery statistics, manage suppression lists, configure webhooks, and handle domain settings. UniOne delivers billions of emails annually with 99.88% deliverability. metadata: openclaw: emoji: "๐ง" source: https://github.com/unione-repo/unione-api-skill homepage: https
Public facts
4
Change events
1
Artifacts
0
Freshness
Feb 25, 2026
Capability contract not published. No trust telemetry is available yet. Last updated 2/25/2026.
Trust score
Unknown
Compatibility
OpenClaw
Freshness
Feb 25, 2026
Vendor
Unione Repo
Artifacts
0
Benchmarks
0
Last release
Unpublished
Key links, install path, and a quick operational read before the deeper crawl record.
Summary
Capability contract not published. No trust telemetry is available yet. Last updated 2/25/2026.
Setup snapshot
git clone https://github.com/unione-repo/unione-api-skill.gitSetup complexity is LOW. This package is likely designed for quick installation with minimal external side-effects.
Final validation: Expose the agent to a mock request payload inside a sandbox and trace the network egress before allowing access to real customer data.
Everything public we have scraped or crawled about this agent, grouped by evidence type with provenance.
Vendor
Unione Repo
Protocol compatibility
OpenClaw
Handshake status
UNKNOWN
Crawlable docs
6 indexed pages on the official domain
Merged public release, docs, artifact, benchmark, pricing, and trust refresh events.
Extracted files, examples, snippets, parameters, dependencies, permissions, and artifact metadata.
Extracted files
0
Examples
6
Snippets
0
Languages
typescript
Parameters
bash
curl -X POST "https://api.unione.io/en/transactional/api/v1/domain/get-dns-records.json?platform=openclaw" \
-H "Content-Type: application/json" \
-H "X-API-KEY: $UNIONE_API_KEY" \
-d '{"domain": "yourdomain.com"}'bash
curl -X POST "https://api.unione.io/en/transactional/api/v1/domain/get-dns-records.json?platform=openclaw" \
-H "Content-Type: application/json" \
-H "X-API-KEY: $UNIONE_API_KEY" \
-d '{"domain": "yourdomain.com"}'json
{
"status": "success",
"domain": "yourdomain.com",
"verification-record": "unione-validate-hash=483bb362ebdbeedd755cfb1d4d661",
"dkim": "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDo7"
}bash
curl -X POST "https://api.unione.io/en/transactional/api/v1/domain/validate-verification.json?platform=openclaw" \
-H "Content-Type: application/json" \
-H "X-API-KEY: $UNIONE_API_KEY" \
-d '{"domain": "yourdomain.com"}'bash
curl -X POST "https://api.unione.io/en/transactional/api/v1/domain/validate-verification.json?platform=openclaw" \
-H "Content-Type: application/json" \
-H "X-API-KEY: $UNIONE_API_KEY" \
-d '{"domain": "yourdomain.com"}'bash
curl -X POST "https://api.unione.io/en/transactional/api/v1/domain/validate-dkim.json?platform=openclaw" \
-H "Content-Type: application/json" \
-H "X-API-KEY: $UNIONE_API_KEY" \
-d '{"domain": "yourdomain.com"}'Full documentation captured from public sources, including the complete README when available.
Docs source
GITHUB OPENCLEW
Editorial quality
ready
Send transactional and marketing emails via UniOne Email API. Manage email templates, validate email addresses, check delivery statistics, manage suppression lists, configure webhooks, and handle domain settings. UniOne delivers billions of emails annually with 99.88% deliverability. --- name: unione description: > Send transactional and marketing emails via UniOne Email API. Manage email templates, validate email addresses, check delivery statistics, manage suppression lists, configure webhooks, and handle domain settings. UniOne delivers billions of emails annually with 99.88% deliverability. metadata: openclaw: emoji: "๐ง" source: https://github.com/unione-repo/unione-api-skill homepage: https
UniOne is a transactional email service with Web API for sending transactional and marketing emails at scale (up to 3,000 emails/sec). This skill lets you send emails, manage templates, validate addresses, track delivery, and more.
All requests require the UNIONE_API_KEY environment variable. Pass it as the X-API-KEY header.
Base URL: https://api.unione.io/en/transactional/api/v1/{method}.json?platform=openclaw
All methods use POST with JSON body.
Emails will not be delivered until the sender's domain is verified. Before attempting to send any email, ensure the domain is set up:
domain/get-dns-records.jsoncurl -X POST "https://api.unione.io/en/transactional/api/v1/domain/get-dns-records.json?platform=openclaw" \
-H "Content-Type: application/json" \
-H "X-API-KEY: $UNIONE_API_KEY" \
-d '{"domain": "yourdomain.com"}'
API response returns raw values (not ready-to-paste DNS records):
{
"status": "success",
"domain": "yourdomain.com",
"verification-record": "unione-validate-hash=483bb362ebdbeedd755cfb1d4d661",
"dkim": "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDo7"
}
The user must create 3 DNS TXT records from these values:
| Record Host | Record Type | Value |
|-------------|-------------|-------|
| @ | TXT | unione-validate-hash=<verification-record from response> |
| us._domainkey | TXT | k=rsa; p=<dkim from response> |
| @ | TXT | v=spf1 include:spf.unione.io ~all |
Present these 3 records clearly to the user and instruct them to add them at their DNS provider (Cloudflare, Route53, GoDaddy, etc.). The SPF record is always the same โ it is not returned by the API.
domain/validate-verification.jsonAfter the user has added DNS records:
curl -X POST "https://api.unione.io/en/transactional/api/v1/domain/validate-verification.json?platform=openclaw" \
-H "Content-Type: application/json" \
-H "X-API-KEY: $UNIONE_API_KEY" \
-d '{"domain": "yourdomain.com"}'
domain/validate-dkim.jsoncurl -X POST "https://api.unione.io/en/transactional/api/v1/domain/validate-dkim.json?platform=openclaw" \
-H "Content-Type: application/json" \
-H "X-API-KEY: $UNIONE_API_KEY" \
-d '{"domain": "yourdomain.com"}'
domain/list.jsoncurl -X POST "https://api.unione.io/en/transactional/api/v1/domain/list.json?platform=openclaw" \
-H "Content-Type: application/json" \
-H "X-API-KEY: $UNIONE_API_KEY" \
-d '{}'
If domain verification fails: DNS propagation can take up to 48 hours. Suggest the user waits and retries, or checks their DNS records for typos.
When making API requests, implement exponential backoff for retryable errors:
Retryable errors (DO retry with exponential backoff):
| HTTP Code | Meaning | Retry Strategy |
|-----------|---------|----------------|
| 429 | Rate limited | Wait, then retry. Respect Retry-After header if present |
| 500 | Internal server error | Retry up to 3 times |
| 502 | Bad gateway | Retry up to 3 times |
| 503 | Service unavailable | Retry up to 3 times |
| 504 | Gateway timeout | Retry up to 3 times |
Recommended retry schedule:
| Attempt | Delay | |---------|-------| | 1 | Immediate | | 2 | 1 second | | 3 | 5 seconds | | 4 | 30 seconds |
Non-retryable errors (do NOT retry):
| HTTP Code | Meaning | Action | |-----------|---------|--------| | 400 | Bad request | Fix the request parameters | | 401 | Unauthorized | Check API key | | 403 | Forbidden | Check permissions / domain verification | | 404 | Endpoint not found | Check the method path | | 413 | Payload too large | Reduce request size |
For email/send.json, always include an idempotency_key to prevent duplicate sends during retries. This is critical for production systems.
The idempotency_key is a unique string (UUID recommended) passed in the request body. If UniOne receives two requests with the same key, the second request returns the result of the first without sending another email.
Always generate a unique idempotency key per logical send operation, and reuse the same key when retrying the same send.
email/send.jsonSend a transactional or marketing email to one or more recipients. Supports personalization via substitutions, templates, attachments, tracking, and metadata.
curl -X POST "https://api.unione.io/en/transactional/api/v1/email/send.json?platform=openclaw" \
-H "Content-Type: application/json" \
-H "X-API-KEY: $UNIONE_API_KEY" \
-d '{
"idempotency_key": "unique-uuid-here",
"message": {
"recipients": [
{
"email": "recipient@example.com",
"substitutions": {
"to_name": "John Smith"
}
}
],
"body": {
"html": "<h1>Hello, {{to_name}}!</h1><p>Your order has been confirmed.</p>",
"plaintext": "Hello, {{to_name}}! Your order has been confirmed."
},
"subject": "Order Confirmation",
"from_email": "noreply@yourdomain.com",
"from_name": "Your Store"
}
}'
const response = await fetch("https://api.unione.io/en/transactional/api/v1/email/send.json?platform=openclaw", {
method: "POST",
headers: {
"Content-Type": "application/json",
"X-API-KEY": process.env.UNIONE_API_KEY
},
body: JSON.stringify({
idempotency_key: crypto.randomUUID(),
message: {
recipients: [{ email: "recipient@example.com", substitutions: { to_name: "John" } }],
body: {
html: "<h1>Hello, {{to_name}}!</h1><p>Your order has been confirmed.</p>",
plaintext: "Hello, {{to_name}}! Your order has been confirmed."
},
subject: "Order Confirmation",
from_email: "noreply@yourdomain.com",
from_name: "Your Store"
}
})
});
const data = await response.json();
// data.status === "success" โ data.job_id, data.emails
import requests, uuid, os
response = requests.post(
"https://api.unione.io/en/transactional/api/v1/email/send.json?platform=openclaw",
headers={
"Content-Type": "application/json",
"X-API-KEY": os.environ["UNIONE_API_KEY"]
},
json={
"idempotency_key": str(uuid.uuid4()),
"message": {
"recipients": [{"email": "recipient@example.com", "substitutions": {"to_name": "John"}}],
"body": {
"html": "<h1>Hello, {{to_name}}!</h1><p>Your order has been confirmed.</p>",
"plaintext": "Hello, {{to_name}}! Your order has been confirmed."
},
"subject": "Order Confirmation",
"from_email": "noreply@yourdomain.com",
"from_name": "Your Store"
}
}
)
data = response.json() # data["status"] == "success" โ data["job_id"], data["emails"]
package main
import (
"bytes"
"encoding/json"
"fmt"
"net/http"
"os"
"github.com/google/uuid"
)
func sendEmail() error {
payload := map[string]interface{}{
"idempotency_key": uuid.New().String(),
"message": map[string]interface{}{
"recipients": []map[string]interface{}{
{"email": "recipient@example.com", "substitutions": map[string]string{"to_name": "John"}},
},
"body": map[string]string{
"html": "<h1>Hello, {{to_name}}!</h1><p>Your order has been confirmed.</p>",
"plaintext": "Hello, {{to_name}}! Your order has been confirmed.",
},
"subject": "Order Confirmation",
"from_email": "noreply@yourdomain.com",
"from_name": "Your Store",
},
}
body, _ := json.Marshal(payload)
req, _ := http.NewRequest("POST",
"https://api.unione.io/en/transactional/api/v1/email/send.json?platform=openclaw",
bytes.NewReader(body))
req.Header.Set("Content-Type", "application/json")
req.Header.Set("X-API-KEY", os.Getenv("UNIONE_API_KEY"))
resp, err := http.DefaultClient.Do(req)
if err != nil {
return err
}
defer resp.Body.Close()
var result map[string]interface{}
json.NewDecoder(resp.Body).Decode(&result)
fmt.Println(result) // result["status"] == "success"
return nil
}
$ch = curl_init("https://api.unione.io/en/transactional/api/v1/email/send.json?platform=openclaw");
curl_setopt_array($ch, [
CURLOPT_POST => true,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-API-KEY: " . getenv("UNIONE_API_KEY")
],
CURLOPT_POSTFIELDS => json_encode([
"idempotency_key" => bin2hex(random_bytes(16)),
"message" => [
"recipients" => [["email" => "recipient@example.com", "substitutions" => ["to_name" => "John"]]],
"body" => [
"html" => "<h1>Hello, {{to_name}}!</h1><p>Your order has been confirmed.</p>",
"plaintext" => "Hello, {{to_name}}! Your order has been confirmed."
],
"subject" => "Order Confirmation",
"from_email" => "noreply@yourdomain.com",
"from_name" => "Your Store"
]
])
]);
$response = curl_exec($ch);
$data = json_decode($response, true); // $data["status"] === "success"
Success response:
{
"status": "success",
"job_id": "1ZymBc-00041N-9X",
"emails": ["recipient@example.com"]
}
Full parameters for message object:
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| recipients | array | Yes | Array of recipient objects. Each has email (required), substitutions (object), metadata (object) |
| body.html | string | Yes* | HTML content. Use {{variable}} for substitutions |
| body.plaintext | string | No | Plain text version |
| subject | string | Yes* | Email subject line. Supports {{substitutions}} |
| from_email | string | Yes* | Sender email (must be from a verified domain) |
| from_name | string | No | Sender display name |
| reply_to | string | No | Reply-to email address |
| template_id | string | No | Use a stored template instead of body/subject |
| tags | array | No | Tags for categorizing and filtering |
| track_links | 0/1 | No | Enable click tracking (default: 0) |
| track_read | 0/1 | No | Enable open tracking (default: 0) |
| global_language | string | No | Language for unsubscribe footer: en, de, fr, es, it, pl, pt, ru, ua, be |
| template_engine | string | No | "simple" (default) or "velocity" or "liquid" |
| global_substitutions | object | No | Variables available to all recipients |
| attachments | array | No | Array of {type, name, content} where content is base64 |
| skip_unsubscribe | 0/1 | No | Skip unsubscribe footer (use 1 only for transactional) |
| headers | object | No | Custom email headers |
*Not required if template_id is used.
Top-level parameter:
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| idempotency_key | string | Recommended | Unique key (UUID) to prevent duplicate sends on retry. Max 36 chars. |
Send with template:
curl -X POST "https://api.unione.io/en/transactional/api/v1/email/send.json?platform=openclaw" \
-H "Content-Type: application/json" \
-H "X-API-KEY: $UNIONE_API_KEY" \
-d '{
"idempotency_key": "unique-uuid-here",
"message": {
"recipients": [
{
"email": "customer@example.com",
"substitutions": {
"to_name": "Alice",
"order_id": "ORD-12345",
"total": "$59.99"
}
}
],
"template_id": "your-template-id",
"from_email": "shop@yourdomain.com",
"from_name": "My Shop"
}
}'
Send to multiple recipients with personalization:
curl -X POST "https://api.unione.io/en/transactional/api/v1/email/send.json?platform=openclaw" \
-H "Content-Type: application/json" \
-H "X-API-KEY: $UNIONE_API_KEY" \
-d '{
"idempotency_key": "unique-uuid-here",
"message": {
"recipients": [
{"email": "alice@example.com", "substitutions": {"to_name": "Alice"}},
{"email": "bob@example.com", "substitutions": {"to_name": "Bob"}}
],
"body": {
"html": "<p>Hi {{to_name}}, check out our new {{promo_name}}!</p>"
},
"subject": "Special offer for you, {{to_name}}!",
"from_email": "marketing@yourdomain.com",
"from_name": "Marketing Team",
"global_substitutions": {"promo_name": "Summer Sale"},
"track_links": 1,
"track_read": 1,
"tags": ["promo", "summer-2026"]
}
}'
email-validation/single.jsonValidate an email address to check if it exists and is deliverable.
curl -X POST "https://api.unione.io/en/transactional/api/v1/email-validation/single.json?platform=openclaw" \
-H "Content-Type: application/json" \
-H "X-API-KEY: $UNIONE_API_KEY" \
-d '{"email": "user@example.com"}'
Response:
{
"status": "success",
"email": "user@example.com",
"result": "valid",
"local_part": "user",
"domain": "example.com",
"mx_found": true,
"mx_record": "mail.example.com"
}
Possible result values: "valid", "invalid", "unresolvable", "unknown".
template/set.jsoncurl -X POST "https://api.unione.io/en/transactional/api/v1/template/set.json?platform=openclaw" \
-H "Content-Type: application/json" \
-H "X-API-KEY: $UNIONE_API_KEY" \
-d '{
"template": {
"name": "Order Confirmation",
"subject": "Your order {{order_id}} is confirmed",
"template_engine": "simple",
"body": {
"html": "<h1>Thank you, {{to_name}}!</h1><p>Order {{order_id}} total: {{total}}</p>",
"plaintext": "Thank you, {{to_name}}! Order {{order_id}} total: {{total}}"
},
"from_email": "shop@yourdomain.com",
"from_name": "My Shop"
}
}'
Response: {"status": "success", "template": {"id": "generated-template-id"}}
To update an existing template, include the "id" field in the template object.
template/get.jsoncurl -X POST "https://api.unione.io/en/transactional/api/v1/template/get.json?platform=openclaw" \
-H "Content-Type: application/json" \
-H "X-API-KEY: $UNIONE_API_KEY" \
-d '{"id": "template-id-here"}'
template/list.jsoncurl -X POST "https://api.unione.io/en/transactional/api/v1/template/list.json?platform=openclaw" \
-H "Content-Type: application/json" \
-H "X-API-KEY: $UNIONE_API_KEY" \
-d '{"limit": 50, "offset": 0}'
template/delete.jsoncurl -X POST "https://api.unione.io/en/transactional/api/v1/template/delete.json?platform=openclaw" \
-H "Content-Type: application/json" \
-H "X-API-KEY: $UNIONE_API_KEY" \
-d '{"id": "template-id-here"}'
Webhooks send real-time notifications about email events to your URL.
webhook/set.jsoncurl -X POST "https://api.unione.io/en/transactional/api/v1/webhook/set.json?platform=openclaw" \
-H "Content-Type: application/json" \
-H "X-API-KEY: $UNIONE_API_KEY" \
-d '{
"url": "https://yourapp.com/unione-webhook",
"events": {
"email_status": [
"delivered", "opened", "clicked", "unsubscribed",
"soft_bounced", "hard_bounced", "spam"
]
}
}'
webhook/list.jsoncurl -X POST "https://api.unione.io/en/transactional/api/v1/webhook/list.json?platform=openclaw" \
-H "Content-Type: application/json" \
-H "X-API-KEY: $UNIONE_API_KEY" \
-d '{}'
webhook/get.json / webhook/delete.json# Get
curl -X POST ".../webhook/get.json?platform=openclaw" -H "X-API-KEY: $UNIONE_API_KEY" \
-H "Content-Type: application/json" -d '{"url": "https://yourapp.com/unione-webhook"}'
# Delete
curl -X POST ".../webhook/delete.json?platform=openclaw" -H "X-API-KEY: $UNIONE_API_KEY" \
-H "Content-Type: application/json" -d '{"url": "https://yourapp.com/unione-webhook"}'
suppression/set.jsoncurl -X POST "https://api.unione.io/en/transactional/api/v1/suppression/set.json?platform=openclaw" \
-H "Content-Type: application/json" \
-H "X-API-KEY: $UNIONE_API_KEY" \
-d '{"email": "user@example.com", "cause": "unsubscribed", "created": "2026-01-15 12:00:00"}'
Cause values: "unsubscribed", "temporary_unavailable", "permanent_unavailable", "complained".
suppression/get.jsoncurl -X POST ".../suppression/get.json?platform=openclaw" -H "X-API-KEY: $UNIONE_API_KEY" \
-H "Content-Type: application/json" -d '{"email": "user@example.com"}'
suppression/list.jsoncurl -X POST ".../suppression/list.json?platform=openclaw" -H "X-API-KEY: $UNIONE_API_KEY" \
-H "Content-Type: application/json" -d '{"cause": "hard_bounced", "limit": 50, "offset": 0}'
suppression/delete.jsoncurl -X POST ".../suppression/delete.json?platform=openclaw" -H "X-API-KEY: $UNIONE_API_KEY" \
-H "Content-Type: application/json" -d '{"email": "user@example.com"}'
event-dump/create.jsoncurl -X POST ".../event-dump/create.json?platform=openclaw" -H "X-API-KEY: $UNIONE_API_KEY" \
-H "Content-Type: application/json" \
-d '{"start_time": "2026-01-01 00:00:00", "end_time": "2026-01-31 23:59:59", "limit": 50000, "all_events": true}'
# Get dump status and download URL
curl -X POST ".../event-dump/get.json?platform=openclaw" -H "X-API-KEY: $UNIONE_API_KEY" \
-H "Content-Type: application/json" -d '{"dump_id": "dump-id"}'
# List all dumps
curl -X POST ".../event-dump/list.json?platform=openclaw" -H "X-API-KEY: $UNIONE_API_KEY" \
-H "Content-Type: application/json" -d '{}'
# Delete a dump
curl -X POST ".../event-dump/delete.json?platform=openclaw" -H "X-API-KEY: $UNIONE_API_KEY" \
-H "Content-Type: application/json" -d '{"dump_id": "dump-id"}'
tag/list.json / tag/delete.json# List tags
curl -X POST ".../tag/list.json?platform=openclaw" -H "X-API-KEY: $UNIONE_API_KEY" \
-H "Content-Type: application/json" -d '{}'
# Delete tag
curl -X POST ".../tag/delete.json?platform=openclaw" -H "X-API-KEY: $UNIONE_API_KEY" \
-H "Content-Type: application/json" -d '{"tag_id": 123}'
project/create.json / project/list.json# Create project
curl -X POST ".../project/create.json?platform=openclaw" -H "X-API-KEY: $UNIONE_API_KEY" \
-H "Content-Type: application/json" \
-d '{"project": {"name": "My Project", "send_enabled": true}}'
# List projects
curl -X POST ".../project/list.json?platform=openclaw" -H "X-API-KEY: $UNIONE_API_KEY" \
-H "Content-Type: application/json" -d '{}'
system/info.jsoncurl -X POST ".../system/info.json?platform=openclaw" -H "X-API-KEY: $UNIONE_API_KEY" \
-H "Content-Type: application/json" -d '{}'
email/subscribe.jsoncurl -X POST ".../email/subscribe.json?platform=openclaw" -H "X-API-KEY: $UNIONE_API_KEY" \
-H "Content-Type: application/json" \
-d '{"from_email": "newsletter@yourdomain.com", "from_name": "Newsletter", "to_email": "newsubscriber@example.com"}'
domain/list.json to check. If not verified, guide them through the domain setup process (Section: Domain Setup).api.unione.io as the API host for all requests.email/send.json. Wait for the user to approve. This applies to every send โ including test emails and retries with new content.idempotency_key in email/send.json requests. Generate a UUID for each unique send. Reuse the same key when retrying.from_email domain must be verified in their UniOne account.{{variable_name}}.domain/list.json)email/send.json with idempotency_keysystem/info.json to get account statusdomain/list.json to check domain verificationdomain/get-dns-records.json and show required recordsdomain/validate-dkim.json to check DKIMemail-validation/single.jsonwebhook/set.jsonMachine endpoints, protocol fit, contract coverage, invocation examples, and guardrails for agent-to-agent use.
Contract coverage
Status
missing
Auth
None
Streaming
No
Data region
Unspecified
Protocol support
Requires: none
Forbidden: none
Guardrails
Operational confidence: low
curl -s "https://xpersona.co/api/v1/agents/unione-repo-unione-api-skill/snapshot"
curl -s "https://xpersona.co/api/v1/agents/unione-repo-unione-api-skill/contract"
curl -s "https://xpersona.co/api/v1/agents/unione-repo-unione-api-skill/trust"
Trust and runtime signals, benchmark suites, failure patterns, and practical risk constraints.
Trust signals
Handshake
UNKNOWN
Confidence
unknown
Attempts 30d
unknown
Fallback rate
unknown
Runtime metrics
Observed P50
unknown
Observed P95
unknown
Rate limit
unknown
Estimated cost
unknown
Do not use if
Every public screenshot, visual asset, demo link, and owner-provided destination tied to this agent.
Neighboring agents from the same protocol and source ecosystem for comparison and shortlist building.
Rank
70
AI Agents & MCPs & AI Workflow Automation โข (~400 MCP servers for AI agents) โข AI Automation / AI Agent with MCPs โข AI Workflows & AI Agents โข MCPs for AI Agents
Traction
No public download signal
Freshness
Updated 2d ago
Rank
70
AI productivity studio with smart chat, autonomous agents, and 300+ assistants. Unified access to frontier LLMs
Traction
No public download signal
Freshness
Updated 6d ago
Rank
70
Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | ๐ Star if you like it!
Traction
No public download signal
Freshness
Updated 7d ago
Rank
70
The Frontend for Agents & Generative UI. React + Angular
Traction
No public download signal
Freshness
Updated 23d ago
Contract JSON
{
"contractStatus": "missing",
"authModes": [],
"requires": [],
"forbidden": [],
"supportsMcp": false,
"supportsA2a": false,
"supportsStreaming": false,
"inputSchemaRef": null,
"outputSchemaRef": null,
"dataRegion": null,
"contractUpdatedAt": null,
"sourceUpdatedAt": null,
"freshnessSeconds": null
}Invocation Guide
{
"preferredApi": {
"snapshotUrl": "https://xpersona.co/api/v1/agents/unione-repo-unione-api-skill/snapshot",
"contractUrl": "https://xpersona.co/api/v1/agents/unione-repo-unione-api-skill/contract",
"trustUrl": "https://xpersona.co/api/v1/agents/unione-repo-unione-api-skill/trust"
},
"curlExamples": [
"curl -s \"https://xpersona.co/api/v1/agents/unione-repo-unione-api-skill/snapshot\"",
"curl -s \"https://xpersona.co/api/v1/agents/unione-repo-unione-api-skill/contract\"",
"curl -s \"https://xpersona.co/api/v1/agents/unione-repo-unione-api-skill/trust\""
],
"jsonRequestTemplate": {
"query": "summarize this repo",
"constraints": {
"maxLatencyMs": 2000,
"protocolPreference": [
"OPENCLEW"
]
}
},
"jsonResponseTemplate": {
"ok": true,
"result": {
"summary": "...",
"confidence": 0.9
},
"meta": {
"source": "GITHUB_OPENCLEW",
"generatedAt": "2026-04-17T06:20:11.151Z"
}
},
"retryPolicy": {
"maxAttempts": 3,
"backoffMs": [
500,
1500,
3500
],
"retryableConditions": [
"HTTP_429",
"HTTP_503",
"NETWORK_TIMEOUT"
]
}
}Trust JSON
{
"status": "unavailable",
"handshakeStatus": "UNKNOWN",
"verificationFreshnessHours": null,
"reputationScore": null,
"p95LatencyMs": null,
"successRate30d": null,
"fallbackRate": null,
"attempts30d": null,
"trustUpdatedAt": null,
"trustConfidence": "unknown",
"sourceUpdatedAt": null,
"freshnessSeconds": null
}Capability Matrix
{
"rows": [
{
"key": "OPENCLEW",
"type": "protocol",
"support": "unknown",
"confidenceSource": "profile",
"notes": "Listed on profile"
},
{
"key": "take",
"type": "capability",
"support": "supported",
"confidenceSource": "profile",
"notes": "Declared in agent profile metadata"
},
{
"key": "be",
"type": "capability",
"support": "supported",
"confidenceSource": "profile",
"notes": "Declared in agent profile metadata"
},
{
"key": "make",
"type": "capability",
"support": "supported",
"confidenceSource": "profile",
"notes": "Declared in agent profile metadata"
},
{
"key": "personalization",
"type": "capability",
"support": "supported",
"confidenceSource": "profile",
"notes": "Declared in agent profile metadata"
}
],
"flattenedTokens": "protocol:OPENCLEW|unknown|profile capability:take|supported|profile capability:be|supported|profile capability:make|supported|profile capability:personalization|supported|profile"
}Facts JSON
[
{
"factKey": "docs_crawl",
"category": "integration",
"label": "Crawlable docs",
"value": "6 indexed pages on the official domain",
"href": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
"sourceUrl": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
"sourceType": "search_document",
"confidence": "medium",
"observedAt": "2026-04-15T05:03:46.393Z",
"isPublic": true
},
{
"factKey": "vendor",
"category": "vendor",
"label": "Vendor",
"value": "Unione Repo",
"href": "https://github.com/unione-repo/unione-api-skill",
"sourceUrl": "https://github.com/unione-repo/unione-api-skill",
"sourceType": "profile",
"confidence": "medium",
"observedAt": "2026-02-25T01:46:52.971Z",
"isPublic": true
},
{
"factKey": "protocols",
"category": "compatibility",
"label": "Protocol compatibility",
"value": "OpenClaw",
"href": "https://xpersona.co/api/v1/agents/unione-repo-unione-api-skill/contract",
"sourceUrl": "https://xpersona.co/api/v1/agents/unione-repo-unione-api-skill/contract",
"sourceType": "contract",
"confidence": "medium",
"observedAt": "2026-02-25T01:46:52.971Z",
"isPublic": true
},
{
"factKey": "handshake_status",
"category": "security",
"label": "Handshake status",
"value": "UNKNOWN",
"href": "https://xpersona.co/api/v1/agents/unione-repo-unione-api-skill/trust",
"sourceUrl": "https://xpersona.co/api/v1/agents/unione-repo-unione-api-skill/trust",
"sourceType": "trust",
"confidence": "medium",
"observedAt": null,
"isPublic": true
}
]Change Events JSON
[
{
"eventType": "docs_update",
"title": "Docs refreshed: Sign in to GitHub ยท GitHub",
"description": "Fresh crawlable documentation was indexed for the official domain.",
"href": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
"sourceUrl": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
"sourceType": "search_document",
"confidence": "medium",
"observedAt": "2026-04-15T05:03:46.393Z",
"isPublic": true
}
]Sponsored
Ads related to unione and adjacent AI workflows.