{"id":"dcbffce4-831b-48ea-96f4-c7b95f72bb69","entityType":"agent","slug":"clawhub-skills-alex-tradequo-whatsapp-automation-a2a-moltflow-a","name":"moltflow-a2a","canonicalUrl":"https://www.xpersona.co/agent/clawhub-skills-alex-tradequo-whatsapp-automation-a2a-moltflow-a","canonicalPath":"/agent/clawhub-skills-alex-tradequo-whatsapp-automation-a2a-moltflow-a","generatedAt":"2026-10-10T07:00:48.946Z","source":"CLAWHUB","claimStatus":"UNCLAIMED","verificationTier":"NONE","summary":{"evidence":{"source":"editorial-content","verified":true,"confidence":"high","updatedAt":"2026-04-15T00:45:39.800Z","emptyReason":null},"description":"Agent-to-Agent protocol for MoltFlow: agent discovery, encrypted messaging, group management, content policy. Use when: a2a, agent card, agent message, encrypted, content policy, agent discovery. --- name: moltflow-a2a description: \"Agent-to-Agent protocol for MoltFlow: agent discovery, encrypted messaging, group management, content policy. Use when: a2a, agent card, agent message, encrypted, content policy, agent discovery.\" source: \"MoltFlow Team\" version: \"2.15.1\" risk: safe requiredEnv: - MOLTFLOW_API_KEY primaryEnv: MOLTFLOW_API_KEY disable-model-invocation: true --- **MoltFlow** -- WhatsApp Business aut","descriptionLabel":"Technical summary","evidenceSummary":"Capability contract not published. No trust telemetry is available yet. Last updated 4/15/2026.","installCommand":"clawhub skill install skills:alex-tradequo:whatsapp-automation-a2a:moltflow-a2a","sourceUrl":"https://github.com/openclaw/skills/tree/main/skills/alex-tradequo/whatsapp-automation-a2a/moltflow-a2a","homepage":null,"primaryLinks":[{"label":"View on ClawHub","url":"https://github.com/openclaw/skills/tree/main/skills/alex-tradequo/whatsapp-automation-a2a/moltflow-a2a","kind":"source"}],"safetyScore":84,"overallRank":62,"popularityScore":50,"trustScore":null,"claimedByName":null,"isOwner":false,"seoDescription":"Agent-to-Agent protocol for MoltFlow: agent discovery, encrypted messaging, group management, content policy. Use when: a2a, agent card, agent message, encrypte"},"coverage":{"evidence":{"source":"public-profile","verified":false,"confidence":"medium","updatedAt":"2026-04-15T00:45:39.800Z","emptyReason":null},"protocols":[{"protocol":"A2A","label":"A2A","status":"self-declared","notes":"Declared in the public agent profile."}],"capabilities":[{"label":"send","status":"self-declared"},{"label":"agent","status":"self-declared"},{"label":"team","status":"self-declared"},{"label":"limit","status":"self-declared"}],"verifiedCount":0,"selfDeclaredCount":5,"capabilityMatrix":{"rows":[{"key":"A2A","type":"protocol","support":"unknown","confidenceSource":"profile","notes":"Listed on profile"},{"key":"send","type":"capability","support":"supported","confidenceSource":"profile","notes":"Declared in agent profile metadata"},{"key":"agent","type":"capability","support":"supported","confidenceSource":"profile","notes":"Declared in agent profile metadata"},{"key":"team","type":"capability","support":"supported","confidenceSource":"profile","notes":"Declared in agent profile metadata"},{"key":"limit","type":"capability","support":"supported","confidenceSource":"profile","notes":"Declared in agent profile metadata"}],"flattenedTokens":"protocol:A2A|unknown|profile capability:send|supported|profile capability:agent|supported|profile capability:team|supported|profile capability:limit|supported|profile"}},"adoption":{"evidence":{"source":"no-adoption-signals","verified":false,"confidence":"low","updatedAt":"2026-04-15T00:45:39.800Z","emptyReason":"No source adoption metrics were available."},"stars":null,"forks":null,"downloads":null,"packageName":null,"latestVersion":null,"tractionLabel":null},"release":{"evidence":{"source":"agent-index","verified":false,"confidence":"medium","updatedAt":"2026-02-25T05:58:24.403Z","emptyReason":null},"lastUpdatedAt":"2026-04-15T00:45:39.800Z","lastCrawledAt":"2026-02-25T05:58:24.403Z","lastIndexedAt":null,"nextCrawlAt":"2026-02-26T05:58:24.403Z","lastVerifiedAt":null,"highlights":[]},"execution":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No published capability contract is available yet."},"installCommand":"clawhub skill install skills:alex-tradequo:whatsapp-automation-a2a:moltflow-a2a","setupComplexity":"low","setupSteps":["Setup 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."],"contract":{"contractStatus":"missing","authModes":[],"requires":[],"forbidden":[],"supportsMcp":false,"supportsA2a":false,"supportsStreaming":false,"inputSchemaRef":null,"outputSchemaRef":null,"dataRegion":null,"contractUpdatedAt":null,"sourceUpdatedAt":null,"freshnessSeconds":null},"invocationGuide":{"preferredApi":{"snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-skills-alex-tradequo-whatsapp-automation-a2a-moltflow-a/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-skills-alex-tradequo-whatsapp-automation-a2a-moltflow-a/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-skills-alex-tradequo-whatsapp-automation-a2a-moltflow-a/trust"},"curlExamples":["curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-skills-alex-tradequo-whatsapp-automation-a2a-moltflow-a/snapshot\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-skills-alex-tradequo-whatsapp-automation-a2a-moltflow-a/contract\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-skills-alex-tradequo-whatsapp-automation-a2a-moltflow-a/trust\""],"jsonRequestTemplate":{"query":"summarize this repo","constraints":{"maxLatencyMs":2000,"protocolPreference":["A2A"]}},"jsonResponseTemplate":{"ok":true,"result":{"summary":"...","confidence":0.9},"meta":{"source":"CLAWHUB","generatedAt":"2026-10-10T07:00:48.946Z"}},"retryPolicy":{"maxAttempts":3,"backoffMs":[500,1500,3500],"retryableConditions":["HTTP_429","HTTP_503","NETWORK_TIMEOUT"]}},"endpoints":{"dossierUrl":"https://www.xpersona.co/api/v1/agents/clawhub-skills-alex-tradequo-whatsapp-automation-a2a-moltflow-a/dossier","snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-skills-alex-tradequo-whatsapp-automation-a2a-moltflow-a/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-skills-alex-tradequo-whatsapp-automation-a2a-moltflow-a/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-skills-alex-tradequo-whatsapp-automation-a2a-moltflow-a/trust"}},"reliability":{"evidence":{"source":"runtime-metrics","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No trust, reliability, or runtime telemetry is available."},"trust":{"status":"unavailable","handshakeStatus":"UNKNOWN","verificationFreshnessHours":null,"reputationScore":null,"p95LatencyMs":null,"successRate30d":null,"fallbackRate":null,"attempts30d":null,"trustUpdatedAt":null,"trustConfidence":"unknown","sourceUpdatedAt":null,"freshnessSeconds":null},"decisionGuardrails":{"doNotUseIf":["Contract metadata is missing or unavailable for deterministic execution."],"safeUseWhen":[],"riskFlags":["missing_or_unavailable_contract","trust_data_unavailable","schema_references_missing"],"operationalConfidence":"low"},"executionMetrics":{"observedLatencyMsP50":null,"observedLatencyMsP95":null,"estimatedCostUsd":null,"uptime30d":null,"rateLimitRpm":null,"rateLimitBurst":null,"lastVerifiedAt":null,"verificationSource":null},"runtimeMetrics":{"successRate":null,"avgLatencyMs":null,"avgCostUsd":null,"hallucinationRate":null,"retryRate":null,"disputeRate":null,"p50Latency":null,"p95Latency":null,"lastUpdated":null}},"benchmarks":{"evidence":{"source":"no-benchmark-data","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No benchmark suites or observed failure patterns are available."},"suites":[],"failurePatterns":[]},"artifacts":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"high","updatedAt":"2026-04-15T00:45:39.800Z","emptyReason":null},"readme":"---\nname: moltflow-a2a\ndescription: \"Agent-to-Agent protocol for MoltFlow: agent discovery, encrypted messaging, group management, content policy. Use when: a2a, agent card, agent message, encrypted, content policy, agent discovery.\"\nsource: \"MoltFlow Team\"\nversion: \"2.15.1\"\nrisk: safe\nrequiredEnv:\n  - MOLTFLOW_API_KEY\nprimaryEnv: MOLTFLOW_API_KEY\ndisable-model-invocation: true\n---\n\n> **MoltFlow** -- WhatsApp Business automation for teams. Connect, monitor, and automate WhatsApp at scale.\n> ***Due to high demand and a recent registration issue, we're offering our top-tier Business plan with unlimited quotas for just $19.90/month on yearly billing — for a limited time only.*** [**Claim the deal**](https://buy.stripe.com/cNifZibX7gpQebJ0nsfnO00)\n> Free tier available. [Sign up](https://molt.waiflow.app/checkout?plan=free)\n\n# MoltFlow A2A (Agent-to-Agent) Protocol\n\nEnables AI agents to communicate securely through MoltFlow using the A2A protocol. Supports agent discovery, encrypted messaging, group management, and configurable content policies.\n\n## When to Use\n\n- \"Discover an agent\" or \"get agent card\"\n- \"Send A2A message\" or \"agent-to-agent communication\"\n- \"Get encryption public key\" or \"rotate keys\"\n- \"Set content policy\" or \"configure content filter\"\n- \"Create agent group\" or \"invite agent to group\"\n- \"Test content against policy\" or \"check policy stats\"\n- \"Set up webhook via A2A\" or \"manage agent webhooks\"\n\n## Prerequisites\n\n1. **MOLTFLOW_API_KEY** -- Generate from the [MoltFlow Dashboard](https://molt.waiflow.app) under Settings > API Keys\n2. Base URL: `https://apiv2.waiflow.app/api/v2`\n3. Agent discovery endpoint: `https://apiv2.waiflow.app/.well-known/agent.json`\n4. Encryption keys are managed server-side -- external agents only need the API key\n\n## On-Chain Registration\n\nMoltFlow is registered as [Agent #25477](https://8004agents.ai/ethereum/agent/25477) on Ethereum mainnet via ERC-8004.\nAgent card: `https://molt.waiflow.app/.well-known/erc8004-agent.json`\n\n## Required API Key Scopes\n\n| Scope | Access |\n|-------|--------|\n| `a2a` | `read/manage` |\n\n## Authentication\n\nEvery request must include one of:\n\n```\nAuthorization: Bearer <jwt_token>\n```\n\nor\n\n```\nX-API-Key: <your_api_key>\n```\n\n---\n\n## Agent Discovery\n\nDiscover MoltFlow agent capabilities using the standard `.well-known` endpoint.\n\n| Method | Endpoint | Description |\n|--------|----------|-------------|\n| GET | `/.well-known/agent.json` | Agent card (capabilities, skills, public key) |\n\n### Agent Card\n\n**GET** `https://apiv2.waiflow.app/.well-known/agent.json`\n\n```json\n{\n  \"name\": \"MoltFlow\",\n  \"description\": \"WhatsApp Business automation agent\",\n  \"url\": \"https://apiv2.waiflow.app\",\n  \"version\": \"1.2.0\",\n  \"capabilities\": {\n    \"messaging\": true,\n    \"groups\": true,\n    \"encryption\": \"X25519-ECDH-AES-256-GCM\",\n    \"webhooks\": true\n  },\n  \"skills\": [\n    \"agent.message.send\",\n    \"agent.group.create\",\n    \"agent.group.invite\",\n    \"agent.group.list\",\n    \"group.getContext\",\n    \"webhook_manager\"\n  ],\n  \"public_key\": \"base64-encoded-X25519-public-key\"\n}\n```\n\n---\n\n## Encryption\n\nMoltFlow uses X25519 ECDH key exchange with AES-256-GCM encryption for A2A message confidentiality. Keys are managed server-side -- you do not need to handle cryptographic operations directly.\n\n| Method | Endpoint | Description |\n|--------|----------|-------------|\n| GET | `/agent/public-key` | Get platform X25519 public key |\n| GET | `/agent/peer/{tenant_id}/public-key` | Get a tenant's public key |\n| POST | `/agent/rotate-keys` | Rotate encryption keys |\n| GET | `/agent/capabilities` | Get encryption capabilities |\n| POST | `/agent/initialize` | Initialize encryption for tenant |\n| GET | `/agent/bootstrap` | Skill bootstrap info |\n\n### Get Public Key\n\n**GET** `/agent/public-key`\n\n```json\n{\"public_key\": \"base64-encoded-X25519-public-key\", \"algorithm\": \"X25519\", \"created_at\": \"2026-02-11T10:00:00Z\"}\n```\n\n**GET** `/agent/peer/{tenant_id}/public-key` -- Retrieve another tenant's public key for encrypted communication.\n\n### How Encryption Works\n\nEach tenant has an X25519 keypair generated on initialization. When sending A2A messages, the server performs ECDH key exchange, encrypts with AES-256-GCM, and decrypts on the receiving end. All key management is server-side -- API clients send plaintext and the platform handles encryption transparently.\n\n---\n\n## A2A JSON-RPC\n\nThe core A2A endpoint accepts JSON-RPC 2.0 requests. All agent-to-agent operations go through this single endpoint. Use the fully scoped URL from your webhook configuration.\n\n| Method | Endpoint | Description |\n|--------|----------|-------------|\n| POST | `/a2a/{tenant_id}/{session_id}/{webhook_id}` | Fully scoped endpoint (preferred) |\n| POST | `/a2a/{tenant_id}/{session_id}` | Tenant + session scoped |\n| POST | `/a2a/{session_id}` | Session scoped |\n| POST | `/a2a` | Generic (first active session) |\n| GET | `/a2a/schema` | Get A2A method schema |\n\n### Request Format\n\n```json\n{\n  \"jsonrpc\": \"2.0\",\n  \"method\": \"agent.message.send\",\n  \"params\": { ... },\n  \"id\": 1\n}\n```\n\n### Response Format\n\n```json\n{\n  \"jsonrpc\": \"2.0\",\n  \"result\": { ... },\n  \"id\": 1\n}\n```\n\n### Available Methods\n\n| Method | Description |\n|--------|-------------|\n| `agent.message.send` | Send a WhatsApp message via A2A |\n| `agent.group.create` | Create a new WhatsApp group |\n| `agent.group.invite` | Invite participants to a group |\n| `agent.group.list` | List available groups |\n| `group.getContext` | Get group metadata and recent activity |\n| `webhook_manager` | Manage webhooks via A2A |\n\n---\n\n### agent.message.send\n\nSend a WhatsApp message through the A2A protocol.\n\n**Request:**\n\n```json\n{\n  \"jsonrpc\": \"2.0\",\n  \"method\": \"agent.message.send\",\n  \"params\": {\n    \"session_id\": \"a1b2c3d4-...\",\n    \"to\": \"+5511999999999\",\n    \"message\": \"Hello from Agent!\",\n    \"metadata\": {\n      \"source_agent\": \"my-crm-agent\",\n      \"correlation_id\": \"req-123\"\n    }\n  },\n  \"id\": 1\n}\n```\n\n**Parameters:**\n\n| Field | Type | Required | Description |\n|-------|------|----------|-------------|\n| `session_id` | string | Yes | UUID of the WhatsApp session |\n| `to` | string | Yes | E.164 phone number (e.g., `+5511999999999`) |\n| `message` | string | Yes | Message text (max 4096 chars) |\n| `metadata` | object | No | Arbitrary metadata for tracking |\n\n**Response:**\n\n```json\n{\n  \"jsonrpc\": \"2.0\",\n  \"result\": {\n    \"message_id\": \"wa-msg-id-...\",\n    \"status\": \"sent\",\n    \"timestamp\": \"2026-02-11T10:05:00Z\"\n  },\n  \"id\": 1\n}\n```\n\n### agent.group.create / agent.group.invite / agent.group.list\n\nGroup management methods share a common pattern:\n\n```json\n// Create group\n{\"jsonrpc\":\"2.0\",\"method\":\"agent.group.create\",\"params\":{\"session_id\":\"...\",\"name\":\"Support Team\",\"participants\":[\"+5511999999999\"]},\"id\":2}\n\n// Invite to group\n{\"jsonrpc\":\"2.0\",\"method\":\"agent.group.invite\",\"params\":{\"session_id\":\"...\",\"group_id\":\"120363012345678901@g.us\",\"participants\":[\"+5511777777777\"]},\"id\":3}\n\n// List groups (supports limit/offset pagination)\n{\"jsonrpc\":\"2.0\",\"method\":\"agent.group.list\",\"params\":{\"session_id\":\"...\",\"limit\":20,\"offset\":0},\"id\":4}\n```\n\n### group.getContext\n\nRetrieve group metadata and recent activity for a monitored group.\n\n```json\n{\"jsonrpc\":\"2.0\",\"method\":\"group.getContext\",\"params\":{\"session_id\":\"...\",\"group_id\":\"120363012345678901@g.us\",\"limit\":50},\"id\":5}\n```\n\n### webhook_manager\n\nManage webhooks via A2A. Actions: `create`, `list`, `update`, `delete`\n\n```json\n{\"jsonrpc\":\"2.0\",\"method\":\"webhook_manager\",\"params\":{\"action\":\"create\",\"webhook\":{\"name\":\"Agent Events\",\"url\":\"https://my-agent.com/events\",\"events\":[\"message.received\"]}},\"id\":6}\n```\n\n---\n\n### JSON-RPC Error Codes\n\n| Code | Meaning |\n|------|---------|\n| -32600 | Invalid request |\n| -32601 | Method not found |\n| -32602 | Invalid params |\n| -32603 | Internal error |\n| -32000 | Rate limited |\n| -32001 | Content policy violation |\n| -32002 | Safeguard blocked |\n\n**Error response:**\n\n```json\n{\n  \"jsonrpc\": \"2.0\",\n  \"error\": {\n    \"code\": -32602,\n    \"message\": \"Invalid phone number format. Expected E.164 (e.g., +5511999999999)\"\n  },\n  \"id\": 1\n}\n```\n\n---\n\n## Content Policy\n\nConfigure content filtering rules for A2A communications. Policies control what content agents can send and receive.\n\n| Method | Endpoint | Description |\n|--------|----------|-------------|\n| GET | `/a2a-policy/settings` | Get policy settings |\n| PUT | `/a2a-policy/settings` | Update policy settings |\n| POST | `/a2a-policy/rules` | Create a custom rule |\n| PUT | `/a2a-policy/rules/{rule_id}` | Update a rule |\n| DELETE | `/a2a-policy/rules/{rule_id}` | Delete a rule |\n| POST | `/a2a-policy/rules/{rule_id}/toggle` | Enable/disable a rule |\n| POST | `/a2a-policy/test` | Test content against policy |\n| POST | `/a2a-policy/reset` | Reset policy to defaults |\n| GET | `/a2a-policy/stats` | Get policy enforcement stats |\n| GET | `/a2a-policy/safeguards` | Get safeguard configuration |\n\n### Get / Update Settings\n\n**GET** `/a2a-policy/settings` returns current policy. **PUT** `/a2a-policy/settings` updates it.\n\n```json\n{\n  \"enabled\": true,\n  \"input_sanitization_enabled\": true,\n  \"output_filtering_enabled\": true,\n  \"block_urls\": false,\n  \"block_phone_numbers\": false,\n  \"max_message_length\": 4096,\n  \"allowed_languages\": [\"en\", \"pt\", \"es\"]\n}\n```\n\n### Create Custom Rule\n\n**POST** `/a2a-policy/rules`\n\n```json\n{\n  \"name\": \"Block competitor mentions\",\n  \"pattern\": \"\\\\b(competitor1|competitor2)\\\\b\",\n  \"action\": \"block\",\n  \"description\": \"Prevent mentions of competitor brands\"\n}\n```\n\n**Response** `200 OK`:\n\n```json\n{\n  \"id\": \"rule-uuid-...\",\n  \"name\": \"Block competitor mentions\",\n  \"pattern\": \"\\\\b(competitor1|competitor2)\\\\b\",\n  \"action\": \"block\",\n  \"is_active\": true,\n  \"created_at\": \"2026-02-11T10:00:00Z\"\n}\n```\n\n### Test Content\n\n**POST** `/a2a-policy/test` -- Test a message against your policy without sending it.\n\n```json\n// Request\n{\"content\": \"Check out https://example.com for more info\"}\n\n// Response\n{\"allowed\": false, \"blocked_reason\": \"URL detected and block_urls is enabled\", \"matched_rules\": [\"built-in:block_urls\"], \"filtered_content\": \"Check out [URL REMOVED] for more info\"}\n```\n\n### Policy Stats\n\n**GET** `/a2a-policy/stats` -- Returns `total_checked`, `total_blocked`, `total_filtered`, and `top_rules` with hit counts.\n\n---\n\n## Rate Limits (A2A)\n\nA2A methods have per-method rate limits:\n\n| Method | Limit |\n|--------|-------|\n| `agent.message.send` | 30/min |\n| `agent.group.create` | 5/min |\n| `agent.group.invite` | 10/min |\n| `agent.group.list` | 60/min |\n| `group.getContext` | 30/min |\n| `webhook_manager` | 20/min |\n\nRate limit errors return JSON-RPC error code `-32000`.\n\n---\n\n## Examples\n\n### Discover the MoltFlow agent\n\n```bash\ncurl https://apiv2.waiflow.app/.well-known/agent.json\n```\n\n### Send a message via A2A\n\n```bash\n# Use your scoped endpoint: /a2a/{tenant_id}/{session_id}/{webhook_id}\ncurl -X POST https://apiv2.waiflow.app/api/v2/a2a/{tenant_id}/{session_id}/{webhook_id} \\\n  -H \"X-API-Key: $MOLTFLOW_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"jsonrpc\": \"2.0\",\n    \"method\": \"agent.message.send\",\n    \"params\": {\n      \"session_id\": \"a1b2c3d4-...\",\n      \"to\": \"+5511999999999\",\n      \"message\": \"Hello from my AI agent!\"\n    },\n    \"id\": 1\n  }'\n```\n\n### Set up a content policy rule\n\n```bash\ncurl -X POST https://apiv2.waiflow.app/api/v2/a2a-policy/rules \\\n  -H \"X-API-Key: $MOLTFLOW_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"name\": \"No external links\",\n    \"pattern\": \"https?://\",\n    \"action\": \"block\",\n    \"description\": \"Block all URLs in A2A messages\"\n  }'\n```\n\n### Test content against policy\n\n```bash\ncurl -X POST https://apiv2.waiflow.app/api/v2/a2a-policy/test \\\n  -H \"X-API-Key: $MOLTFLOW_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"content\": \"Visit https://example.com for details\"\n  }'\n```\n\n---\n\n## Security Model\n\nSecurity layers: TLS 1.3 (transport) -> X25519 ECDH (key exchange) -> AES-256-GCM (message encryption) -> API Key/JWT (auth) -> AgentSafeguard (input validation) -> A2AContentFilter (content policy) -> TieredRateLimiter (rate limits) -> AuditLog (full audit trail).\n\nAll encryption key management is handled server-side. External agents authenticate with `MOLTFLOW_API_KEY` and the platform handles everything else transparently.\n\n---\n\n## Error Responses\n\nStandard HTTP errors: `400` (bad request), `401` (unauthorized), `403` (policy violation), `404` (not found), `429` (rate limited). JSON-RPC errors use codes listed above.\n\n---\n\n## Related Skills\n\n- **moltflow** -- Core API: sessions, messaging, groups, labels, webhooks\n- **moltflow-outreach** -- Bulk Send, Scheduled Messages, Custom Groups\n- **moltflow-leads** -- Lead detection, pipeline tracking, bulk operations, CSV/JSON export\n- **moltflow-ai** -- AI-powered auto-replies, voice transcription, RAG knowledge base, style profiles\n- **moltflow-reviews** -- Review collection and testimonial management\n- **moltflow-admin** -- Platform administration, user management, plan configuration\n","readmeExcerpt":"--- name: moltflow-a2a description: \"Agent-to-Agent protocol for MoltFlow: agent discovery, encrypted messaging, group management, content policy. Use when: a2a, agent card, agent message, encrypted, content policy, agent discovery.\" source: \"MoltFlow Team\" version: \"2.15.1\" risk: safe requiredEnv: - MOLTFLOW_API_KEY primaryEnv: MOLTFLOW_API_KEY disable-model-invocation: true --- **MoltFlow** -- WhatsApp Business aut","codeSnippets":[],"executableExamples":[{"language":"text","snippet":"Authorization: Bearer <jwt_token>"},{"language":"text","snippet":"X-API-Key: <your_api_key>"},{"language":"json","snippet":"{\n  \"name\": \"MoltFlow\",\n  \"description\": \"WhatsApp Business automation agent\",\n  \"url\": \"https://apiv2.waiflow.app\",\n  \"version\": \"1.2.0\",\n  \"capabilities\": {\n    \"messaging\": true,\n    \"groups\": true,\n    \"encryption\": \"X25519-ECDH-AES-256-GCM\",\n    \"webhooks\": true\n  },\n  \"skills\": [\n    \"agent.message.send\",\n    \"agent.group.create\",\n    \"agent.group.invite\",\n    \"agent.group.list\",\n    \"group.getContext\",\n    \"webhook_manager\"\n  ],\n  \"public_key\": \"base64-encoded-X25519-public-key\"\n}"},{"language":"json","snippet":"{\"public_key\": \"base64-encoded-X25519-public-key\", \"algorithm\": \"X25519\", \"created_at\": \"2026-02-11T10:00:00Z\"}"},{"language":"json","snippet":"{\n  \"jsonrpc\": \"2.0\",\n  \"method\": \"agent.message.send\",\n  \"params\": { ... },\n  \"id\": 1\n}"},{"language":"json","snippet":"{\n  \"jsonrpc\": \"2.0\",\n  \"result\": { ... },\n  \"id\": 1\n}"}],"parameters":{},"dependencies":[],"permissions":[],"extractedFiles":[],"languages":["typescript"],"docsSourceLabel":"CLAWHUB","editorialOverview":"Agent-to-Agent protocol for MoltFlow: agent discovery, encrypted messaging, group management, content policy. Use when: a2a, agent card, agent message, encrypted, content policy, agent discovery. --- name: moltflow-a2a description: \"Agent-to-Agent protocol for MoltFlow: agent discovery, encrypted messaging, group management, content policy. Use when: a2a, agent card, agent message, encrypted, content policy, agent discovery.\" source: \"MoltFlow Team\" version: \"2.15.1\" risk: safe requiredEnv: - MOLTFLOW_API_KEY primaryEnv: MOLTFLOW_API_KEY disable-model-invocation: true --- **MoltFlow** -- WhatsApp Business aut","editorialQuality":{"score":100,"threshold":65,"status":"ready","wordCount":382,"uniquenessScore":61,"reasons":[]}},"media":{"evidence":{"source":"no-media","verified":false,"confidence":"low","updatedAt":"2026-04-15T00:45:39.800Z","emptyReason":"No screenshots, media assets, or demo links are available."},"primaryImageUrl":null,"mediaAssetCount":0,"assets":[],"demoUrl":null},"ownerResources":{"evidence":{"source":"unclaimed","verified":false,"confidence":"low","updatedAt":"2026-04-15T00:45:39.800Z","emptyReason":"This page has not been claimed by the agent owner."},"hasCustomPage":false,"customPageUpdatedAt":null,"customLinks":[],"structuredLinks":{"docsUrl":null,"demoUrl":null,"supportUrl":null,"pricingUrl":null,"statusUrl":null},"customPage":null},"relatedAgents":{"evidence":{"source":"protocol-neighbors","verified":false,"confidence":"medium","updatedAt":"2026-10-10T07:00:48.946Z","emptyReason":null},"items":[{"id":"8f814e38-9dbd-42fb-acf2-b040e098e26a","entityType":"agent","canonicalPath":"/agent/clawhub-skills-alex-tradequo-whatsapp-automation-a2a","slug":"clawhub-skills-alex-tradequo-whatsapp-automation-a2a","name":"WhatsApp Ultimate — No Meta API | Lead Mining, Bulk Send, Scheduled Reminders & Follow-ups","description":"Documentation-only WhatsApp API reference — zero executables, zero install scripts, zero local file writes. All actions require explicit user invocation. Provides 90+ API endpoints for sending messages, capturing leads, running campaigns, scheduling reports, tracking campaign analytics, and managing clients. MOLTFLOW_API_KEY is the only credential required — generate a scoped key from the MoltFlow dashboard (Settings > API Keys). AI features (voice transcription, RAG, style profiles) use the user's own LLM API key configured via the MoltFlow web dashboard, never passed through this skill.","url":"https://github.com/openclaw/skills/tree/main/skills/alex-tradequo/whatsapp-automation-a2a","homepage":"https://molt.waiflow.app","source":"CLAWHUB","protocols":["A2A","MCP","OPENCLAW"],"capabilities":["to","help","send","questions"],"safetyScore":80,"overallRank":62,"updatedAt":"2026-04-15T00:45:39.800Z","createdAt":"2026-02-25T03:33:24.755Z","downloads":null},{"id":"1fa6cc98-420e-4991-b97f-a59206b71472","entityType":"agent","canonicalPath":"/agent/clawhub-skills-0xm1kr-doppel-erc-8004","slug":"clawhub-skills-0xm1kr-doppel-erc-8004","name":"doppel-erc-8004","description":"Register your agent onchain with ERC-8004. Set up a wallet, fund it, register on the Identity Registry, and link your onchain identity back to the Doppel hub for verifiable reputation and token allocation.","url":"https://github.com/openclaw/skills/tree/main/skills/0xm1kr/doppel-erc-8004","homepage":null,"source":"CLAWHUB","protocols":["A2A"],"capabilities":["read","discover","add","verify","update","call","have"],"safetyScore":80,"overallRank":62,"updatedAt":"2026-04-15T00:45:39.800Z","createdAt":"2026-02-25T03:24:04.054Z","downloads":null},{"id":"3b8cb527-aa65-4c3a-af30-a1b2ba28dfd6","entityType":"agent","canonicalPath":"/agent/clawhub-skills-amargotta-theagora","slug":"clawhub-skills-amargotta-theagora","name":"theagora","description":"Agent-to-agent service commerce. Browse a live marketplace, purchase with atomic escrow, sell services and earn USDC, check per-function reputation, trade on the exchange. 27 MCP tools for buying, selling, and verifying agent services.","url":"https://github.com/openclaw/skills/tree/main/skills/amargotta/theagora","homepage":null,"source":"CLAWHUB","protocols":["A2A","MCP"],"capabilities":["purchase"],"safetyScore":80,"overallRank":62,"updatedAt":"2026-04-15T00:45:39.800Z","createdAt":"2026-02-25T03:36:02.459Z","downloads":null},{"id":"69828f6d-166d-4094-8420-88e9f9c90daa","entityType":"agent","canonicalPath":"/agent/curated-amoghacloud-openclaws","slug":"curated-amoghacloud-openclaws","name":"openclaws","description":"Join the first decentralized social network for AI agents.","url":"https://github.com/openclaw/skills/tree/main/skills/amoghacloud/openclaws","homepage":null,"source":"CLAWHUB","protocols":["A2A","OPENCLAW"],"capabilities":["latest"],"safetyScore":80,"overallRank":62,"updatedAt":"2026-04-15T00:45:39.800Z","createdAt":"2026-02-25T03:36:11.064Z","downloads":null}],"links":{"hub":"/agent","source":"/agent/source/clawhub","protocols":[{"label":"A2A","href":"/agent/protocol/a2a"}]}}}