{"id":"4a14bc61-d5bb-40e1-9596-3c495fb8b16c","entityType":"agent","slug":"clawhub-sendmux-ai-sendmux-management","name":"sendmux-management","canonicalUrl":"https://www.xpersona.co/agent/clawhub-sendmux-ai-sendmux-management","canonicalPath":"/agent/clawhub-sendmux-ai-sendmux-management","generatedAt":"2026-10-10T11:52:08.873Z","source":"CLAWHUB","claimStatus":"UNCLAIMED","verificationTier":"NONE","summary":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-10T09:28:21.091Z","emptyReason":null},"description":"Manage Sendmux domains, mailboxes, mailbox keys, sending accounts, webhooks, logs, billing, and account-level setup.","descriptionLabel":"Source description","evidenceSummary":"Capability contract not published. No trust telemetry is available yet. 1.5K downloads reported by the source. Last updated 10/10/2026.","installCommand":"clawhub skill install s175c163jct9mhsx0mrfbz64j989s00r:sendmux-management","sourceUrl":"https://clawhub.ai/sendmux.ai/sendmux-management","homepage":"https://clawhub.ai/sendmux.ai/skills/sendmux-management","primaryLinks":[{"label":"View on ClawHub","url":"https://clawhub.ai/sendmux.ai/sendmux-management","kind":"source"},{"label":"Homepage","url":"https://clawhub.ai/sendmux.ai/skills/sendmux-management","kind":"homepage"}],"safetyScore":84,"overallRank":62,"popularityScore":64,"trustScore":null,"claimedByName":null,"isOwner":false,"seoDescription":"sendmux-management technical dossier on Xpersona with agent coverage, OPENCLEW support, and live trust metadata."},"coverage":{"evidence":{"source":"public-profile","verified":false,"confidence":"medium","updatedAt":"2026-10-10T09:28:21.091Z","emptyReason":null},"protocols":[{"protocol":"OPENCLEW","label":"OpenClaw","status":"self-declared","notes":"Declared in the public agent profile."}],"capabilities":[],"verifiedCount":0,"selfDeclaredCount":1,"capabilityMatrix":{"rows":[{"key":"OPENCLEW","type":"protocol","support":"unknown","confidenceSource":"profile","notes":"Listed on profile"}],"flattenedTokens":"protocol:OPENCLEW|unknown|profile"}},"adoption":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-10T09:28:21.091Z","emptyReason":null},"stars":null,"forks":null,"downloads":1525,"packageName":null,"latestVersion":"1.0.10","tractionLabel":"1.5K downloads"},"release":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-10T09:28:21.091Z","emptyReason":null},"lastUpdatedAt":"2026-10-10T09:28:21.091Z","lastCrawledAt":"2026-10-10T09:28:21.091Z","lastIndexedAt":null,"nextCrawlAt":"2026-10-11T09:28:21.091Z","lastVerifiedAt":null,"highlights":[{"version":"1.0.10","createdAt":"2026-10-02T04:23:04.082Z","changelog":"sendmux-management 1.0.10 - Updated skill documentation (SKILL.md) with minor version bump from 1.7.0 to 1.7.1. - Removed obsolete skill-card.md file. - No changes to logic or functionality; this is a documentation and metadata maintenance release.","fileCount":3,"zipByteSize":5833},{"version":"1.0.9","createdAt":"2026-09-30T12:02:44.348Z","changelog":"Version 1.7.0 - Updated documentation and version number in SKILL.md. - Removed the file skill-card.md.","fileCount":3,"zipByteSize":5837},{"version":"1.0.8","createdAt":"2026-09-18T05:52:11.428Z","changelog":"sendmux-management 1.0.8 - Updated SKILL.md with expanded connection validation and permission mapping instructions. - Documented how to interpret and explain the `management:get-connection` CLI response. - Clarified OAuth login, token lifecycle, agent self-registration, and management access handoffs. - Expanded API scope and permission guidance for management operations. - Removed obsolete skill-card.md file.","fileCount":3,"zipByteSize":5994},{"version":"1.0.7","createdAt":"2026-09-11T04:00:00.342Z","changelog":"- Add support and guidance for using OAuth profiles with Management access, in addition to root API key. - Document the use of `sendmux management:get-connection` to validate a selected profile's Management access. - Update mailbox and resource creation notes with OAuth workflows and scope limitations. - Remove references to the obsolete skill-card.md file. - Bump version to 1.5.0.","fileCount":3,"zipByteSize":5017},{"version":"1.0.6","createdAt":"2026-09-01T10:37:22.293Z","changelog":"- Version incremented to 1.4.2. - Updated SKILL.md to reflect new version. - No functional or behavioral changes; documentation version bump only.","fileCount":3,"zipByteSize":4828},{"version":"1.0.5","createdAt":"2026-09-01T10:28:22.910Z","changelog":"- Updated version to 1.4.1 in SKILL.md. - Minor documentation changes in SKILL.md (no functional or API changes described). - Removed file: skill-card.md.","fileCount":3,"zipByteSize":4799},{"version":"1.0.4","createdAt":"2026-09-01T06:05:37.161Z","changelog":"sendmux-management 1.4.0 - Updated documentation to clarify that agent self-registration does not require Management API or root keys; directed such use cases to `sendmux-getting-started` and `sendmux agent:register`. - Explicitly separated owner-administered mailbox/key creation from self-registration flows. - Removed file: skill-card.md. - Bumped version to 1.4.0.","fileCount":3,"zipByteSize":4940},{"version":"1.0.3","createdAt":"2026-07-09T03:58:36.807Z","changelog":"sendmux-management 1.3.0 - Updated version from 1.2.0 to 1.3.0 in SKILL.md. - No user-facing feature or behavior changes; documentation version bump only.","fileCount":3,"zipByteSize":4572}]},"execution":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No published capability contract is available yet."},"installCommand":"clawhub skill install s175c163jct9mhsx0mrfbz64j989s00r:sendmux-management","setupComplexity":"low","setupSteps":["Install using `clawhub skill install s175c163jct9mhsx0mrfbz64j989s00r:sendmux-management` in an isolated environment before connecting it to live workloads.","No published capability contract is available yet, so validate auth and request/response behavior manually.","Review the upstream CLAWHUB listing at https://clawhub.ai/sendmux.ai/sendmux-management before using production credentials."],"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-sendmux-ai-sendmux-management/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-sendmux-ai-sendmux-management/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-sendmux-ai-sendmux-management/trust"},"curlExamples":["curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-sendmux-ai-sendmux-management/snapshot\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-sendmux-ai-sendmux-management/contract\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-sendmux-ai-sendmux-management/trust\""],"jsonRequestTemplate":{"query":"summarize this repo","constraints":{"maxLatencyMs":2000,"protocolPreference":["OPENCLEW"]}},"jsonResponseTemplate":{"ok":true,"result":{"summary":"...","confidence":0.9},"meta":{"source":"CLAWHUB","generatedAt":"2026-10-10T11:52:08.870Z"}},"retryPolicy":{"maxAttempts":3,"backoffMs":[500,1500,3500],"retryableConditions":["HTTP_429","HTTP_503","NETWORK_TIMEOUT"]}},"endpoints":{"dossierUrl":"https://www.xpersona.co/api/v1/agents/clawhub-sendmux-ai-sendmux-management/dossier","snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-sendmux-ai-sendmux-management/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-sendmux-ai-sendmux-management/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-sendmux-ai-sendmux-management/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":"medium","updatedAt":"2026-10-10T09:28:21.091Z","emptyReason":null},"readme":"Skill: sendmux-management\n\nOwner: sendmux.ai\n\nSummary: Manage Sendmux domains, mailboxes, mailbox keys, sending accounts, webhooks, logs, billing, and account-level setup.\n\nTags: latest:1.0.10\n\nVersion history:\n\nv1.0.10 | 2026-10-02T04:23:04.082Z | auto\n\nsendmux-management 1.0.10\n\n- Updated skill documentation (SKILL.md) with minor version bump from 1.7.0 to 1.7.1.\n- Removed obsolete skill-card.md file.\n- No changes to logic or functionality; this is a documentation and metadata maintenance release.\n\nv1.0.9 | 2026-09-30T12:02:44.348Z | auto\n\nVersion 1.7.0\n\n- Updated documentation and version number in SKILL.md.\n- Removed the file skill-card.md.\n\nv1.0.8 | 2026-09-18T05:52:11.428Z | auto\n\nsendmux-management 1.0.8\n\n- Updated SKILL.md with expanded connection validation and permission mapping instructions.\n- Documented how to interpret and explain the `management:get-connection` CLI response.\n- Clarified OAuth login, token lifecycle, agent self-registration, and management access handoffs.\n- Expanded API scope and permission guidance for management operations.\n- Removed obsolete skill-card.md file.\n\nv1.0.7 | 2026-09-11T04:00:00.342Z | auto\n\n- Add support and guidance for using OAuth profiles with Management access, in addition to root API key.\n- Document the use of `sendmux management:get-connection` to validate a selected profile's Management access.\n- Update mailbox and resource creation notes with OAuth workflows and scope limitations.\n- Remove references to the obsolete skill-card.md file.\n- Bump version to 1.5.0.\n\nv1.0.6 | 2026-09-01T10:37:22.293Z | auto\n\n- Version incremented to 1.4.2.\n- Updated SKILL.md to reflect new version.\n- No functional or behavioral changes; documentation version bump only.\n\nv1.0.5 | 2026-09-01T10:28:22.910Z | auto\n\n- Updated version to 1.4.1 in SKILL.md.\n- Minor documentation changes in SKILL.md (no functional or API changes described).\n- Removed file: skill-card.md.\n\nv1.0.4 | 2026-09-01T06:05:37.161Z | auto\n\nsendmux-management 1.4.0\n\n- Updated documentation to clarify that agent self-registration does not require Management API or root keys; directed such use cases to `sendmux-getting-started` and `sendmux agent:register`.\n- Explicitly separated owner-administered mailbox/key creation from self-registration flows.\n- Removed file: skill-card.md.\n- Bumped version to 1.4.0.\n\nv1.0.3 | 2026-07-09T03:58:36.807Z | auto\n\nsendmux-management 1.3.0\n\n- Updated version from 1.2.0 to 1.3.0 in SKILL.md.\n- No user-facing feature or behavior changes; documentation version bump only.\n\nv1.0.2 | 2026-07-09T01:46:20.587Z | auto\n\nsendmux-management 1.2.0\n\n- Version bumped from 1.1.0 to 1.2.0 in SKILL.md.\n- Documentation and instructions in SKILL.md updated; may include new details or clarifications.\n- skill-card.md file removed.\n\nv1.0.1 | 2026-07-06T01:36:58.172Z | auto\n\nVersion 1.1.0\n\n- Updated SKILL.md version number from 1.0.0 to 1.1.0.\n- No functional or documentation changes outside of metadata versioning.\n\nv1.0.0 | 2026-07-03T09:06:17.601Z | auto\n\nInitial release of sendmux-management skill.\n\n- Provides administration for Sendmux domains, mailboxes, mailbox keys, sending accounts, webhooks, logs, billing, and account-level setup.\n- Emphasizes safe handling of secrets and confirmation on destructive actions.\n- Offers guidance on preferred surfaces (MCP UI, CLI, SDK) for various management tasks.\n- Details efficient use patterns, common API parameters, and workflow boundaries.\n- Includes CLI and SDK usage examples for primary management operations.\n\nArchive index:\n\nArchive v1.0.10: 3 files, 5833 bytes\n\nFiles: skill-card.md (1892b), SKILL.md (12835b), _meta.json (138b)\n\nFile v1.0.10:SKILL.md\n\n---\nname: \"sendmux-management\"\ndescription: \"Manage Sendmux domains, mailboxes, mailbox keys, sending accounts, webhooks, logs, billing, and account-level setup.\"\nversion: \"1.7.1\"\nmetadata:\n  openclaw:\n    skillKey: \"sendmux-management\"\n    homepage: \"https://github.com/Sendmux/skills\"\n    primaryEnv: \"SENDMUX_API_KEY\"\n    envVars:\n      - name: \"SENDMUX_API_KEY\"\n        required: false\n        description: \"Optional Sendmux API key or scoped agent token used by CLI, SDK, HTTP, or MCP examples.\"\n      - name: \"SENDMUX_ROOT_KEY\"\n        required: false\n        description: \"Optional Sendmux root key for account-level Management API setup.\"\n---\n\n# Sendmux management\n\n## ClawHub account note\n\nThis ClawHub skill connects OpenClaw agents to Sendmux. Some workflows require a Sendmux account and an appropriate Sendmux API key or agent token. Sendmux account usage is external to ClawHub; do not ask users to paste secrets into chat.\n\nUse this skill for team administration with an `smx_root_` key or a REST OAuth grant with Management access.\n\n## Boundaries\n\n- Do not ask the user to paste an API key or one-time secret.\n- Use a root API-key profile or OAuth profile with Management access and the operation's required scopes. OAuth remains limited by the authorising user's current team permissions.\n- Agent self-registration does not require Management or a root key. Route a user who only wants an agent inbox to `sendmux-getting-started` and `sendmux agent:register`.\n- Do not use management calls to read, triage, sync, or reply from a mailbox; route those tasks to `sendmux-mailbox-agent`.\n- Treat create-key and webhook-secret responses as sensitive one-time values. Put them only in the user's chosen secret store or secure output path.\n- Confirm destructive operations before deleting domains, mailboxes, mailbox keys, sending accounts, or webhooks.\n- Confirm the target resource before suspend, resume, rotate-secret, or test-delivery operations.\n\n## Surface choice\n\n| Task | Preferred surface |\n| --- | --- |\n| Domains | MCP for list/create/get/zone-file/verify; CLI or SDK for update/delete/filter rules. |\n| Mailboxes | MCP for list/create/get/update/suspend/resume/key create/key delete; CLI or SDK for delete and filters. |\n| Sending accounts | CLI or SDK. MCP does not curate provider tools yet. |\n| Webhooks | MCP for list/create/test; CLI or SDK for get/update/delete/rotate-secret/deliveries/payloads. |\n| Billing and spend | MCP `management_get_spend_summary`; CLI or SDK for balance and transactions. |\n| Outbound delivery logs and metrics | MCP for list/get logs and metrics; CLI or SDK also work. |\n| Incoming logs | CLI or SDK. MCP does not curate incoming-log tools yet. |\n\nFor terminal work, use the `sendmux` CLI with `--json`. For application code, use `@sendmux/management` and `createManagementClient`.\n\nSDK clients accept `accessToken` instead of `apiKey`, including a provider that resolves the current token before each request.\n\n## Check connection and permissions\n\nExplain the selected connection in this order:\n\n1. Validate it with `sendmux management:get-connection --profile work --json`, replacing `work` with the selected profile. This check requires Management access but no additional read permission.\n2. Interpret the response using the schema example below. `data.credential.type` identifies `api_key`, `oauth`, or `agent_token`; `data.permissions` contains effective permission names. `data.label` is a server-provided connection display label, not the local CLI profile name. Explain fields without exposing account metadata unnecessarily.\n3. Match the requested operation to its advertised scopes and the authorising user's current team permissions. Use the operation-specific mappings in this skill or inspect that operation's `security` entry in the public Management OpenAPI before naming its scope. Scope names cannot be inferred from an operation's name. Login/re-consent chooses requested scopes; automatic token refresh preserves the existing grant rather than choosing extra permissions.\n4. Close with the handoffs: OAuth login and token lifecycle → `sendmux-cli`; agent self-registration → `sendmux-getting-started`; mailbox read, search, sync, triage, or replies → `sendmux-mailbox-agent`. Management access does not replace those workflows.\n\nThis synthetic example shows the CLI response shape, not a verified account:\n\n```json\n{\n  \"ok\": true,\n  \"meta\": { \"request_id\": \"EXAMPLE_REQUEST_ID\" },\n  \"data\": {\n    \"credential\": { \"id\": \"EXAMPLE_CREDENTIAL_ID\", \"name\": \"Example connection\", \"type\": \"oauth\" },\n    \"label\": \"Example connection\",\n    \"team\": { \"id\": \"EXAMPLE_TEAM_ID\", \"name\": \"Example team\" },\n    \"mailboxes\": [{ \"id\": \"EXAMPLE_MAILBOX_ID\", \"email\": \"agent@example.com\" }],\n    \"permissions\": [\"domain.read\", \"billing.read\"]\n  }\n}\n```\n\n## Efficient defaults\n\n- Use small `limit` values on list endpoints and follow `pagination.next_cursor` only when more rows are needed.\n- Use `Idempotency-Key` on create, suspend, resume, rotate-secret, and test mutations that accept it.\n- Use `If-None-Match` for repeated detail reads that return `ETag`.\n- Use `If-Match` for update or replace operations when the API exposes optimistic concurrency.\n- For questions about counts or trends, use summary or metrics endpoints before log lists.\n- For one email or webhook delivery, list with filters first, then fetch the selected record.\n\n## Domains\n\nUse domains for sending setup and hosted mailbox domains. The two domain modes are `send_only` for outbound DNS verification and `send_receive` for outbound plus MX verification. Hosted mailboxes require `send_receive`.\n\nMCP tools:\n\n| Action | Tool |\n| --- | --- |\n| List | `management_list_domains` |\n| Create | `management_create_domain` |\n| Inspect | `management_get_domain` |\n| DNS records | `management_get_domain_zone_file` |\n| Verify DNS | `management_verify_domain` |\n\nCLI:\n\n```bash\nSENDMUX_API_KEY=\"$SENDMUX_ROOT_KEY\" sendmux management:create-domain \\\n  --idempotency-key \"$IDEMPOTENCY_KEY\" \\\n  --body '{\"domain\":\"example.com\",\"mode\":\"send_receive\"}' \\\n  --json\n\nSENDMUX_API_KEY=\"$SENDMUX_ROOT_KEY\" sendmux management:get-domain-zone-file \\\n  --path public_id=mdom_abc \\\n  --json\n\nSENDMUX_API_KEY=\"$SENDMUX_ROOT_KEY\" sendmux management:verify-domain \\\n  --path public_id=mdom_abc \\\n  --json\n```\n\nSDK:\n\n```ts\nimport {\n  createManagementClient,\n  managementCreateDomain,\n  managementGetDomainZoneFile,\n  managementVerifyDomain,\n} from \"@sendmux/management\";\n\nconst client = createManagementClient({ apiKey: process.env.SENDMUX_API_KEY! });\n\nawait managementCreateDomain({\n  client,\n  headers: { \"Idempotency-Key\": process.env.IDEMPOTENCY_KEY! },\n  body: { domain: \"example.com\", mode: \"send_receive\" },\n});\n\nconst zone = await managementGetDomainZoneFile({\n  client,\n  path: { public_id: \"mdom_abc\" },\n});\n\nawait managementVerifyDomain({\n  client,\n  path: { public_id: \"mdom_abc\" },\n});\n```\n\nUse CLI `management:update-domain` or SDK `managementUpdateDomain` with `If-Match` for mode upgrades. Confirm before delete.\n\n## Mailboxes and keys\n\nFor API-key setup, create mailboxes with a root key and use mailbox keys afterwards for agent mailbox work. A Management OAuth profile needs `mailbox.admin.create` to create a mailbox, but `mailbox.admin.manage` to create or revoke its mailbox keys. Mailbox runtime needs its own approved access.\n\nThis owner-administered path is separate from self-registration. When explaining self-registration, state that it needs no existing account or API key and saves a durable CLI profile that can read and receive mail without expiry while the registration remains active; full revocation ends that access. Do not create or expose a root key merely to give that agent an inbox.\n\nMCP tools:\n\n| Action | Tool |\n| --- | --- |\n| List | `management_list_mailboxes` |\n| Create | `management_create_mailbox` |\n| Inspect | `management_get_mailbox` |\n| Update | `management_update_mailbox` |\n| Suspend | `management_suspend_mailbox` |\n| Resume | `management_resume_mailbox` |\n| Create mailbox key | `management_create_mailbox_key` |\n| Delete mailbox key | `management_delete_mailbox_key` |\n\nCLI:\n\n```bash\nSENDMUX_API_KEY=\"$SENDMUX_ROOT_KEY\" sendmux management:create-mailbox \\\n  --idempotency-key \"$IDEMPOTENCY_KEY\" \\\n  --body '{\n    \"email\": \"agent@example.com\",\n    \"display_name\": \"Agent Inbox\",\n    \"quota_bytes\": 1073741824\n  }' \\\n  --json\n\nSENDMUX_API_KEY=\"$SENDMUX_ROOT_KEY\" sendmux management:create-mailbox-key \\\n  --path public_id=mbx_abc \\\n  --idempotency-key \"$IDEMPOTENCY_KEY\" \\\n  --body '{\"app_name\":\"agent-runtime\"}' \\\n  --json\n```\n\nAfter creating a mailbox key, hand mailbox read/search/reply work to `sendmux-mailbox-agent` with the new `smx_mbx_` key.\n\nSuspend keeps the mailbox and messages but blocks mailbox access. Delete removes the mailbox and revokes associated keys; confirm deletion explicitly.\n\n## Sending accounts\n\nSending-account management is full CLI/SDK territory until MCP curates provider tools.\n\nCLI commands:\n\n| Action | Command |\n| --- | --- |\n| List | `sendmux management:providers:list --json` |\n| Create | `sendmux management:create-provider --json` |\n| Inspect | `sendmux management:get-provider --json` |\n| Update | `sendmux management:update-provider --json` |\n| Activate | `sendmux management:activate-provider --json` |\n| Deactivate | `sendmux management:deactivate-provider --json` |\n| Test | `sendmux management:test-provider --json` |\n| Limits | `sendmux management:get-provider-limits --json` |\n| Stats | `sendmux management:get-provider-stats --json` |\n| Usage | `sendmux management:get-provider-usage --json` |\n\nSDK helpers include `managementListProviders`, `managementCreateProvider`, `managementGetProvider`, `managementUpdateProvider`, `managementActivateProvider`, `managementDeactivateProvider`, `managementTestProvider`, `managementGetProviderLimits`, `managementGetProviderStats`, and `managementGetProviderUsage`.\n\nDo not print provider credentials. Put secrets in the user's chosen secret store.\n\n## Webhooks\n\nOAuth scopes are `webhook.read` for list, inspect, deliveries and payload reads; `webhook.create` for creation; `webhook.update` for updates; `webhook.delete` for deletion; and `webhook.manage` for secret rotation and test delivery.\n\nMCP covers the common create-and-test path:\n\n| Action | Tool |\n| --- | --- |\n| List | `management_list_webhooks` |\n| Create | `management_create_webhook` |\n| Test | `management_test_webhook` |\n\nUse CLI or SDK for full lifecycle work:\n\n| Action | CLI command | SDK helper |\n| --- | --- | --- |\n| Inspect | `management:get-webhook` | `managementGetWebhook` |\n| Update | `management:update-webhook` | `managementUpdateWebhook` |\n| Delete | `management:delete-webhook` | `managementDeleteWebhook` |\n| Rotate secret | `management:rotate-webhook-secret` | `managementRotateWebhookSecret` |\n| List deliveries | `management:list-delivery` | `managementListDelivery` |\n| Get delivery payload | `management:get-delivery-payload` | `managementGetDeliveryPayload` |\n\nUse `Idempotency-Key` on create, rotate-secret, and test. Store the webhook signing secret at creation or rotation time; it cannot be retrieved later.\n\n## Billing, logs, and metrics\n\nUse read-only summary endpoints before broad log reads.\n\n| Question | Preferred call |\n| --- | --- |\n| Spend trend | `management_get_spend_summary`, CLI `management:get-spend-summary`, SDK `managementGetSpendSummary`. |\n| Current balance | CLI `management:list-balance`, SDK `managementListBalance`. |\n| Transaction history | CLI `management:list-transactions`, SDK `managementListTransactions`. |\n| Outbound delivery logs | `management_list_email_logs`, CLI `management:list-email-logs`, SDK `managementListEmailLogs`. |\n| One outbound log | `management_get_email_log`, CLI `management:get-email-log`, SDK `managementGetEmailLog`. |\n| Delivery metrics | `management_get_email_metrics`, CLI `management:get-email-metrics`, SDK `managementGetEmailMetrics`. |\n| Incoming logs | CLI `management:list-inbox-logs` / `management:get-inbox-log`, SDK `managementListInboxLogs` / `managementGetInboxLog`. |\n\nCLI:\n\n```bash\nSENDMUX_API_KEY=\"$SENDMUX_ROOT_KEY\" sendmux management:get-spend-summary \\\n  --query days=30 \\\n  --json\n\nSENDMUX_API_KEY=\"$SENDMUX_ROOT_KEY\" sendmux management:list-email-logs \\\n  --query status=failed \\\n  --query limit=20 \\\n  --json\n\nSENDMUX_API_KEY=\"$SENDMUX_ROOT_KEY\" sendmux management:get-email-log \\\n  --path public_id=dlog_abc \\\n  --header If-None-Match=\"$ETAG\" \\\n  --json\n```\n\n## Routing\n\n- First setup/auth check: `sendmux-getting-started`.\n- Single or batch transactional sending: `sendmux-send-email`.\n- Mailbox read, search, sync, triage, or reply: `sendmux-mailbox-agent`.\n- CLI command details: `sendmux-cli`.\n- MCP connection setup: `sendmux-mcp-setup`.\n- Cheapest-call doctrine: `sendmux-token-efficient-usage`.\n\nFile v1.0.10:_meta.json\n\n{\n  \"ownerId\": \"kn77z51yqhw8mt9vjfkpt8w74989rfb3\",\n  \"slug\": \"sendmux-management\",\n  \"version\": \"1.0.10\",\n  \"publishedAt\": 1790914984082\n}\n\nFile v1.0.10:skill-card.md\n\n## Description:\n\nManage Sendmux domains, mailboxes, mailbox keys, sending accounts, webhooks, logs, billing, and account-level setup.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[sendmux.ai](https://clawhub.ai/user/sendmux.ai)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nSendmux account administrators and developers use this skill to manage domains, mailboxes, sending accounts, webhooks, billing, and delivery diagnostics through authorized management connections.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Management credentials or one-time secrets may be exposed.\n\nMitigation: Use scoped OAuth or least-privileged keys, store root keys and generated secrets securely, and never request secrets in chat.\n\nRisk: Destructive or access-changing account actions may affect service or users.\n\nMitigation: Check the target and permissions, and obtain explicit confirmation before deletions, suspensions, key changes, webhook secret rotations, or provider changes.\n\n## Reference(s):\n\n- [Sendmux skill homepage (listed in metadata)](https://github.com/Sendmux/skills)\n- [Sendmux Management on ClawHub](https://clawhub.ai/sendmux.ai/skills/sendmux-management)\n\n## Skill Output:\n\n**Output Type(s):** [Guidance, Shell commands, Code, Configuration instructions]\n\n**Output Format:** [Markdown with CLI, API, and SDK examples]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Requires an authorized Sendmux management connection for account operations.]\n\n## Skill Version(s):\n\n1.0.10 (source: ClawHub release; artifact frontmatter: 1.7.1)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nArchive v1.0.9: 3 files, 5837 bytes\n\nFiles: skill-card.md (1930b), SKILL.md (12835b), _meta.json (137b)\n\nFile v1.0.9:SKILL.md\n\n---\nname: \"sendmux-management\"\ndescription: \"Manage Sendmux domains, mailboxes, mailbox keys, sending accounts, webhooks, logs, billing, and account-level setup.\"\nversion: \"1.7.0\"\nmetadata:\n  openclaw:\n    skillKey: \"sendmux-management\"\n    homepage: \"https://github.com/Sendmux/skills\"\n    primaryEnv: \"SENDMUX_API_KEY\"\n    envVars:\n      - name: \"SENDMUX_API_KEY\"\n        required: false\n        description: \"Optional Sendmux API key or scoped agent token used by CLI, SDK, HTTP, or MCP examples.\"\n      - name: \"SENDMUX_ROOT_KEY\"\n        required: false\n        description: \"Optional Sendmux root key for account-level Management API setup.\"\n---\n\n# Sendmux management\n\n## ClawHub account note\n\nThis ClawHub skill connects OpenClaw agents to Sendmux. Some workflows require a Sendmux account and an appropriate Sendmux API key or agent token. Sendmux account usage is external to ClawHub; do not ask users to paste secrets into chat.\n\nUse this skill for team administration with an `smx_root_` key or a REST OAuth grant with Management access.\n\n## Boundaries\n\n- Do not ask the user to paste an API key or one-time secret.\n- Use a root API-key profile or OAuth profile with Management access and the operation's required scopes. OAuth remains limited by the authorising user's current team permissions.\n- Agent self-registration does not require Management or a root key. Route a user who only wants an agent inbox to `sendmux-getting-started` and `sendmux agent:register`.\n- Do not use management calls to read, triage, sync, or reply from a mailbox; route those tasks to `sendmux-mailbox-agent`.\n- Treat create-key and webhook-secret responses as sensitive one-time values. Put them only in the user's chosen secret store or secure output path.\n- Confirm destructive operations before deleting domains, mailboxes, mailbox keys, sending accounts, or webhooks.\n- Confirm the target resource before suspend, resume, rotate-secret, or test-delivery operations.\n\n## Surface choice\n\n| Task | Preferred surface |\n| --- | --- |\n| Domains | MCP for list/create/get/zone-file/verify; CLI or SDK for update/delete/filter rules. |\n| Mailboxes | MCP for list/create/get/update/suspend/resume/key create/key delete; CLI or SDK for delete and filters. |\n| Sending accounts | CLI or SDK. MCP does not curate provider tools yet. |\n| Webhooks | MCP for list/create/test; CLI or SDK for get/update/delete/rotate-secret/deliveries/payloads. |\n| Billing and spend | MCP `management_get_spend_summary`; CLI or SDK for balance and transactions. |\n| Outbound delivery logs and metrics | MCP for list/get logs and metrics; CLI or SDK also work. |\n| Incoming logs | CLI or SDK. MCP does not curate incoming-log tools yet. |\n\nFor terminal work, use the `sendmux` CLI with `--json`. For application code, use `@sendmux/management` and `createManagementClient`.\n\nSDK clients accept `accessToken` instead of `apiKey`, including a provider that resolves the current token before each request.\n\n## Check connection and permissions\n\nExplain the selected connection in this order:\n\n1. Validate it with `sendmux management:get-connection --profile work --json`, replacing `work` with the selected profile. This check requires Management access but no additional read permission.\n2. Interpret the response using the schema example below. `data.credential.type` identifies `api_key`, `oauth`, or `agent_token`; `data.permissions` contains effective permission names. `data.label` is a server-provided connection display label, not the local CLI profile name. Explain fields without exposing account metadata unnecessarily.\n3. Match the requested operation to its advertised scopes and the authorising user's current team permissions. Use the operation-specific mappings in this skill or inspect that operation's `security` entry in the public Management OpenAPI before naming its scope. Scope names cannot be inferred from an operation's name. Login/re-consent chooses requested scopes; automatic token refresh preserves the existing grant rather than choosing extra permissions.\n4. Close with the handoffs: OAuth login and token lifecycle → `sendmux-cli`; agent self-registration → `sendmux-getting-started`; mailbox read, search, sync, triage, or replies → `sendmux-mailbox-agent`. Management access does not replace those workflows.\n\nThis synthetic example shows the CLI response shape, not a verified account:\n\n```json\n{\n  \"ok\": true,\n  \"meta\": { \"request_id\": \"EXAMPLE_REQUEST_ID\" },\n  \"data\": {\n    \"credential\": { \"id\": \"EXAMPLE_CREDENTIAL_ID\", \"name\": \"Example connection\", \"type\": \"oauth\" },\n    \"label\": \"Example connection\",\n    \"team\": { \"id\": \"EXAMPLE_TEAM_ID\", \"name\": \"Example team\" },\n    \"mailboxes\": [{ \"id\": \"EXAMPLE_MAILBOX_ID\", \"email\": \"agent@example.com\" }],\n    \"permissions\": [\"domain.read\", \"billing.read\"]\n  }\n}\n```\n\n## Efficient defaults\n\n- Use small `limit` values on list endpoints and follow `pagination.next_cursor` only when more rows are needed.\n- Use `Idempotency-Key` on create, suspend, resume, rotate-secret, and test mutations that accept it.\n- Use `If-None-Match` for repeated detail reads that return `ETag`.\n- Use `If-Match` for update or replace operations when the API exposes optimistic concurrency.\n- For questions about counts or trends, use summary or metrics endpoints before log lists.\n- For one email or webhook delivery, list with filters first, then fetch the selected record.\n\n## Domains\n\nUse domains for sending setup and hosted mailbox domains. The two domain modes are `send_only` for outbound DNS verification and `send_receive` for outbound plus MX verification. Hosted mailboxes require `send_receive`.\n\nMCP tools:\n\n| Action | Tool |\n| --- | --- |\n| List | `management_list_domains` |\n| Create | `management_create_domain` |\n| Inspect | `management_get_domain` |\n| DNS records | `management_get_domain_zone_file` |\n| Verify DNS | `management_verify_domain` |\n\nCLI:\n\n```bash\nSENDMUX_API_KEY=\"$SENDMUX_ROOT_KEY\" sendmux management:create-domain \\\n  --idempotency-key \"$IDEMPOTENCY_KEY\" \\\n  --body '{\"domain\":\"example.com\",\"mode\":\"send_receive\"}' \\\n  --json\n\nSENDMUX_API_KEY=\"$SENDMUX_ROOT_KEY\" sendmux management:get-domain-zone-file \\\n  --path public_id=mdom_abc \\\n  --json\n\nSENDMUX_API_KEY=\"$SENDMUX_ROOT_KEY\" sendmux management:verify-domain \\\n  --path public_id=mdom_abc \\\n  --json\n```\n\nSDK:\n\n```ts\nimport {\n  createManagementClient,\n  managementCreateDomain,\n  managementGetDomainZoneFile,\n  managementVerifyDomain,\n} from \"@sendmux/management\";\n\nconst client = createManagementClient({ apiKey: process.env.SENDMUX_API_KEY! });\n\nawait managementCreateDomain({\n  client,\n  headers: { \"Idempotency-Key\": process.env.IDEMPOTENCY_KEY! },\n  body: { domain: \"example.com\", mode: \"send_receive\" },\n});\n\nconst zone = await managementGetDomainZoneFile({\n  client,\n  path: { public_id: \"mdom_abc\" },\n});\n\nawait managementVerifyDomain({\n  client,\n  path: { public_id: \"mdom_abc\" },\n});\n```\n\nUse CLI `management:update-domain` or SDK `managementUpdateDomain` with `If-Match` for mode upgrades. Confirm before delete.\n\n## Mailboxes and keys\n\nFor API-key setup, create mailboxes with a root key and use mailbox keys afterwards for agent mailbox work. A Management OAuth profile needs `mailbox.admin.create` to create a mailbox, but `mailbox.admin.manage` to create or revoke its mailbox keys. Mailbox runtime needs its own approved access.\n\nThis owner-administered path is separate from self-registration. When explaining self-registration, state that it needs no existing account or API key and saves a durable CLI profile that can read and receive mail without expiry while the registration remains active; full revocation ends that access. Do not create or expose a root key merely to give that agent an inbox.\n\nMCP tools:\n\n| Action | Tool |\n| --- | --- |\n| List | `management_list_mailboxes` |\n| Create | `management_create_mailbox` |\n| Inspect | `management_get_mailbox` |\n| Update | `management_update_mailbox` |\n| Suspend | `management_suspend_mailbox` |\n| Resume | `management_resume_mailbox` |\n| Create mailbox key | `management_create_mailbox_key` |\n| Delete mailbox key | `management_delete_mailbox_key` |\n\nCLI:\n\n```bash\nSENDMUX_API_KEY=\"$SENDMUX_ROOT_KEY\" sendmux management:create-mailbox \\\n  --idempotency-key \"$IDEMPOTENCY_KEY\" \\\n  --body '{\n    \"email\": \"agent@example.com\",\n    \"display_name\": \"Agent Inbox\",\n    \"quota_bytes\": 1073741824\n  }' \\\n  --json\n\nSENDMUX_API_KEY=\"$SENDMUX_ROOT_KEY\" sendmux management:create-mailbox-key \\\n  --path public_id=mbx_abc \\\n  --idempotency-key \"$IDEMPOTENCY_KEY\" \\\n  --body '{\"app_name\":\"agent-runtime\"}' \\\n  --json\n```\n\nAfter creating a mailbox key, hand mailbox read/search/reply work to `sendmux-mailbox-agent` with the new `smx_mbx_` key.\n\nSuspend keeps the mailbox and messages but blocks mailbox access. Delete removes the mailbox and revokes associated keys; confirm deletion explicitly.\n\n## Sending accounts\n\nSending-account management is full CLI/SDK territory until MCP curates provider tools.\n\nCLI commands:\n\n| Action | Command |\n| --- | --- |\n| List | `sendmux management:providers:list --json` |\n| Create | `sendmux management:create-provider --json` |\n| Inspect | `sendmux management:get-provider --json` |\n| Update | `sendmux management:update-provider --json` |\n| Activate | `sendmux management:activate-provider --json` |\n| Deactivate | `sendmux management:deactivate-provider --json` |\n| Test | `sendmux management:test-provider --json` |\n| Limits | `sendmux management:get-provider-limits --json` |\n| Stats | `sendmux management:get-provider-stats --json` |\n| Usage | `sendmux management:get-provider-usage --json` |\n\nSDK helpers include `managementListProviders`, `managementCreateProvider`, `managementGetProvider`, `managementUpdateProvider`, `managementActivateProvider`, `managementDeactivateProvider`, `managementTestProvider`, `managementGetProviderLimits`, `managementGetProviderStats`, and `managementGetProviderUsage`.\n\nDo not print provider credentials. Put secrets in the user's chosen secret store.\n\n## Webhooks\n\nOAuth scopes are `webhook.read` for list, inspect, deliveries and payload reads; `webhook.create` for creation; `webhook.update` for updates; `webhook.delete` for deletion; and `webhook.manage` for secret rotation and test delivery.\n\nMCP covers the common create-and-test path:\n\n| Action | Tool |\n| --- | --- |\n| List | `management_list_webhooks` |\n| Create | `management_create_webhook` |\n| Test | `management_test_webhook` |\n\nUse CLI or SDK for full lifecycle work:\n\n| Action | CLI command | SDK helper |\n| --- | --- | --- |\n| Inspect | `management:get-webhook` | `managementGetWebhook` |\n| Update | `management:update-webhook` | `managementUpdateWebhook` |\n| Delete | `management:delete-webhook` | `managementDeleteWebhook` |\n| Rotate secret | `management:rotate-webhook-secret` | `managementRotateWebhookSecret` |\n| List deliveries | `management:list-delivery` | `managementListDelivery` |\n| Get delivery payload | `management:get-delivery-payload` | `managementGetDeliveryPayload` |\n\nUse `Idempotency-Key` on create, rotate-secret, and test. Store the webhook signing secret at creation or rotation time; it cannot be retrieved later.\n\n## Billing, logs, and metrics\n\nUse read-only summary endpoints before broad log reads.\n\n| Question | Preferred call |\n| --- | --- |\n| Spend trend | `management_get_spend_summary`, CLI `management:get-spend-summary`, SDK `managementGetSpendSummary`. |\n| Current balance | CLI `management:list-balance`, SDK `managementListBalance`. |\n| Transaction history | CLI `management:list-transactions`, SDK `managementListTransactions`. |\n| Outbound delivery logs | `management_list_email_logs`, CLI `management:list-email-logs`, SDK `managementListEmailLogs`. |\n| One outbound log | `management_get_email_log`, CLI `management:get-email-log`, SDK `managementGetEmailLog`. |\n| Delivery metrics | `management_get_email_metrics`, CLI `management:get-email-metrics`, SDK `managementGetEmailMetrics`. |\n| Incoming logs | CLI `management:list-inbox-logs` / `management:get-inbox-log`, SDK `managementListInboxLogs` / `managementGetInboxLog`. |\n\nCLI:\n\n```bash\nSENDMUX_API_KEY=\"$SENDMUX_ROOT_KEY\" sendmux management:get-spend-summary \\\n  --query days=30 \\\n  --json\n\nSENDMUX_API_KEY=\"$SENDMUX_ROOT_KEY\" sendmux management:list-email-logs \\\n  --query status=failed \\\n  --query limit=20 \\\n  --json\n\nSENDMUX_API_KEY=\"$SENDMUX_ROOT_KEY\" sendmux management:get-email-log \\\n  --path public_id=dlog_abc \\\n  --header If-None-Match=\"$ETAG\" \\\n  --json\n```\n\n## Routing\n\n- First setup/auth check: `sendmux-getting-started`.\n- Single or batch transactional sending: `sendmux-send-email`.\n- Mailbox read, search, sync, triage, or reply: `sendmux-mailbox-agent`.\n- CLI command details: `sendmux-cli`.\n- MCP connection setup: `sendmux-mcp-setup`.\n- Cheapest-call doctrine: `sendmux-token-efficient-usage`.\n\nFile v1.0.9:_meta.json\n\n{\n  \"ownerId\": \"kn77z51yqhw8mt9vjfkpt8w74989rfb3\",\n  \"slug\": \"sendmux-management\",\n  \"version\": \"1.0.9\",\n  \"publishedAt\": 1790769764348\n}\n\nFile v1.0.9:skill-card.md\n\n## Description:\n\nManage Sendmux domains, mailboxes, mailbox keys, sending accounts, webhooks, logs, billing, and account-level setup.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[sendmux.ai](https://clawhub.ai/user/sendmux.ai)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nDevelopers and account administrators use this skill to guide Sendmux team administration, including domain and mailbox setup, sending accounts, webhooks, billing, and delivery monitoring.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Broad management credentials can change account resources and permissions.\n\nMitigation: Prefer scoped OAuth or a limited profile; check access before each operation.\n\nRisk: Root keys and one-time secrets could be exposed during setup.\n\nMitigation: Store secrets securely and never request or reveal them in chat.\n\nRisk: Deletion, suspension, provider changes, secret rotation, and webhook tests can disrupt service.\n\nMitigation: Confirm the target and review the action with the user before execution.\n\n## Reference(s):\n\n- [Sendmux Management on ClawHub](https://clawhub.ai/sendmux.ai/skills/sendmux-management)\n- [Sendmux skills homepage (skill metadata)](https://github.com/Sendmux/skills)\n\n## Skill Output:\n\n**Output Type(s):** [Guidance, Shell commands, Code, Configuration instructions]\n\n**Output Format:** [Markdown with CLI and SDK examples]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Requires appropriate Sendmux access for account-management operations.]\n\n## Skill Version(s):\n\n1.0.9 (source: ClawHub release metadata; skill frontmatter lists 1.7.0)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nArchive v1.0.8: 3 files, 5994 bytes\n\nFiles: skill-card.md (2372b), SKILL.md (12835b), _meta.json (137b)\n\nFile v1.0.8:SKILL.md\n\n---\nname: \"sendmux-management\"\ndescription: \"Manage Sendmux domains, mailboxes, mailbox keys, sending accounts, webhooks, logs, billing, and account-level setup.\"\nversion: \"1.6.0\"\nmetadata:\n  openclaw:\n    skillKey: \"sendmux-management\"\n    homepage: \"https://github.com/Sendmux/skills\"\n    primaryEnv: \"SENDMUX_API_KEY\"\n    envVars:\n      - name: \"SENDMUX_API_KEY\"\n        required: false\n        description: \"Optional Sendmux API key or scoped agent token used by CLI, SDK, HTTP, or MCP examples.\"\n      - name: \"SENDMUX_ROOT_KEY\"\n        required: false\n        description: \"Optional Sendmux root key for account-level Management API setup.\"\n---\n\n# Sendmux management\n\n## ClawHub account note\n\nThis ClawHub skill connects OpenClaw agents to Sendmux. Some workflows require a Sendmux account and an appropriate Sendmux API key or agent token. Sendmux account usage is external to ClawHub; do not ask users to paste secrets into chat.\n\nUse this skill for team administration with an `smx_root_` key or a REST OAuth grant with Management access.\n\n## Boundaries\n\n- Do not ask the user to paste an API key or one-time secret.\n- Use a root API-key profile or OAuth profile with Management access and the operation's required scopes. OAuth remains limited by the authorising user's current team permissions.\n- Agent self-registration does not require Management or a root key. Route a user who only wants an agent inbox to `sendmux-getting-started` and `sendmux agent:register`.\n- Do not use management calls to read, triage, sync, or reply from a mailbox; route those tasks to `sendmux-mailbox-agent`.\n- Treat create-key and webhook-secret responses as sensitive one-time values. Put them only in the user's chosen secret store or secure output path.\n- Confirm destructive operations before deleting domains, mailboxes, mailbox keys, sending accounts, or webhooks.\n- Confirm the target resource before suspend, resume, rotate-secret, or test-delivery operations.\n\n## Surface choice\n\n| Task | Preferred surface |\n| --- | --- |\n| Domains | MCP for list/create/get/zone-file/verify; CLI or SDK for update/delete/filter rules. |\n| Mailboxes | MCP for list/create/get/update/suspend/resume/key create/key delete; CLI or SDK for delete and filters. |\n| Sending accounts | CLI or SDK. MCP does not curate provider tools yet. |\n| Webhooks | MCP for list/create/test; CLI or SDK for get/update/delete/rotate-secret/deliveries/payloads. |\n| Billing and spend | MCP `management_get_spend_summary`; CLI or SDK for balance and transactions. |\n| Outbound delivery logs and metrics | MCP for list/get logs and metrics; CLI or SDK also work. |\n| Incoming logs | CLI or SDK. MCP does not curate incoming-log tools yet. |\n\nFor terminal work, use the `sendmux` CLI with `--json`. For application code, use `@sendmux/management` and `createManagementClient`.\n\nSDK clients accept `accessToken` instead of `apiKey`, including a provider that resolves the current token before each request.\n\n## Check connection and permissions\n\nExplain the selected connection in this order:\n\n1. Validate it with `sendmux management:get-connection --profile work --json`, replacing `work` with the selected profile. This check requires Management access but no additional read permission.\n2. Interpret the response using the schema example below. `data.credential.type` identifies `api_key`, `oauth`, or `agent_token`; `data.permissions` contains effective permission names. `data.label` is a server-provided connection display label, not the local CLI profile name. Explain fields without exposing account metadata unnecessarily.\n3. Match the requested operation to its advertised scopes and the authorising user's current team permissions. Use the operation-specific mappings in this skill or inspect that operation's `security` entry in the public Management OpenAPI before naming its scope. Scope names cannot be inferred from an operation's name. Login/re-consent chooses requested scopes; automatic token refresh preserves the existing grant rather than choosing extra permissions.\n4. Close with the handoffs: OAuth login and token lifecycle → `sendmux-cli`; agent self-registration → `sendmux-getting-started`; mailbox read, search, sync, triage, or replies → `sendmux-mailbox-agent`. Management access does not replace those workflows.\n\nThis synthetic example shows the CLI response shape, not a verified account:\n\n```json\n{\n  \"ok\": true,\n  \"meta\": { \"request_id\": \"EXAMPLE_REQUEST_ID\" },\n  \"data\": {\n    \"credential\": { \"id\": \"EXAMPLE_CREDENTIAL_ID\", \"name\": \"Example connection\", \"type\": \"oauth\" },\n    \"label\": \"Example connection\",\n    \"team\": { \"id\": \"EXAMPLE_TEAM_ID\", \"name\": \"Example team\" },\n    \"mailboxes\": [{ \"id\": \"EXAMPLE_MAILBOX_ID\", \"email\": \"agent@example.com\" }],\n    \"permissions\": [\"domain.read\", \"billing.read\"]\n  }\n}\n```\n\n## Efficient defaults\n\n- Use small `limit` values on list endpoints and follow `pagination.next_cursor` only when more rows are needed.\n- Use `Idempotency-Key` on create, suspend, resume, rotate-secret, and test mutations that accept it.\n- Use `If-None-Match` for repeated detail reads that return `ETag`.\n- Use `If-Match` for update or replace operations when the API exposes optimistic concurrency.\n- For questions about counts or trends, use summary or metrics endpoints before log lists.\n- For one email or webhook delivery, list with filters first, then fetch the selected record.\n\n## Domains\n\nUse domains for sending setup and hosted mailbox domains. The two domain modes are `send_only` for outbound DNS verification and `send_receive` for outbound plus MX verification. Hosted mailboxes require `send_receive`.\n\nMCP tools:\n\n| Action | Tool |\n| --- | --- |\n| List | `management_list_domains` |\n| Create | `management_create_domain` |\n| Inspect | `management_get_domain` |\n| DNS records | `management_get_domain_zone_file` |\n| Verify DNS | `management_verify_domain` |\n\nCLI:\n\n```bash\nSENDMUX_API_KEY=\"$SENDMUX_ROOT_KEY\" sendmux management:create-domain \\\n  --idempotency-key \"$IDEMPOTENCY_KEY\" \\\n  --body '{\"domain\":\"example.com\",\"mode\":\"send_receive\"}' \\\n  --json\n\nSENDMUX_API_KEY=\"$SENDMUX_ROOT_KEY\" sendmux management:get-domain-zone-file \\\n  --path public_id=mdom_abc \\\n  --json\n\nSENDMUX_API_KEY=\"$SENDMUX_ROOT_KEY\" sendmux management:verify-domain \\\n  --path public_id=mdom_abc \\\n  --json\n```\n\nSDK:\n\n```ts\nimport {\n  createManagementClient,\n  managementCreateDomain,\n  managementGetDomainZoneFile,\n  managementVerifyDomain,\n} from \"@sendmux/management\";\n\nconst client = createManagementClient({ apiKey: process.env.SENDMUX_API_KEY! });\n\nawait managementCreateDomain({\n  client,\n  headers: { \"Idempotency-Key\": process.env.IDEMPOTENCY_KEY! },\n  body: { domain: \"example.com\", mode: \"send_receive\" },\n});\n\nconst zone = await managementGetDomainZoneFile({\n  client,\n  path: { public_id: \"mdom_abc\" },\n});\n\nawait managementVerifyDomain({\n  client,\n  path: { public_id: \"mdom_abc\" },\n});\n```\n\nUse CLI `management:update-domain` or SDK `managementUpdateDomain` with `If-Match` for mode upgrades. Confirm before delete.\n\n## Mailboxes and keys\n\nFor API-key setup, create mailboxes with a root key and use mailbox keys afterwards for agent mailbox work. A Management OAuth profile needs `mailbox.admin.create` to create a mailbox, but `mailbox.admin.manage` to create or revoke its mailbox keys. Mailbox runtime needs its own approved access.\n\nThis owner-administered path is separate from self-registration. When explaining self-registration, state that it needs no existing account or API key and saves a durable CLI profile that can read and receive mail without expiry while the registration remains active; full revocation ends that access. Do not create or expose a root key merely to give that agent an inbox.\n\nMCP tools:\n\n| Action | Tool |\n| --- | --- |\n| List | `management_list_mailboxes` |\n| Create | `management_create_mailbox` |\n| Inspect | `management_get_mailbox` |\n| Update | `management_update_mailbox` |\n| Suspend | `management_suspend_mailbox` |\n| Resume | `management_resume_mailbox` |\n| Create mailbox key | `management_create_mailbox_key` |\n| Delete mailbox key | `management_delete_mailbox_key` |\n\nCLI:\n\n```bash\nSENDMUX_API_KEY=\"$SENDMUX_ROOT_KEY\" sendmux management:create-mailbox \\\n  --idempotency-key \"$IDEMPOTENCY_KEY\" \\\n  --body '{\n    \"email\": \"agent@example.com\",\n    \"display_name\": \"Agent Inbox\",\n    \"quota_bytes\": 1073741824\n  }' \\\n  --json\n\nSENDMUX_API_KEY=\"$SENDMUX_ROOT_KEY\" sendmux management:create-mailbox-key \\\n  --path public_id=mbx_abc \\\n  --idempotency-key \"$IDEMPOTENCY_KEY\" \\\n  --body '{\"app_name\":\"agent-runtime\"}' \\\n  --json\n```\n\nAfter creating a mailbox key, hand mailbox read/search/reply work to `sendmux-mailbox-agent` with the new `smx_mbx_` key.\n\nSuspend keeps the mailbox and messages but blocks mailbox access. Delete removes the mailbox and revokes associated keys; confirm deletion explicitly.\n\n## Sending accounts\n\nSending-account management is full CLI/SDK territory until MCP curates provider tools.\n\nCLI commands:\n\n| Action | Command |\n| --- | --- |\n| List | `sendmux management:providers:list --json` |\n| Create | `sendmux management:create-provider --json` |\n| Inspect | `sendmux management:get-provider --json` |\n| Update | `sendmux management:update-provider --json` |\n| Activate | `sendmux management:activate-provider --json` |\n| Deactivate | `sendmux management:deactivate-provider --json` |\n| Test | `sendmux management:test-provider --json` |\n| Limits | `sendmux management:get-provider-limits --json` |\n| Stats | `sendmux management:get-provider-stats --json` |\n| Usage | `sendmux management:get-provider-usage --json` |\n\nSDK helpers include `managementListProviders`, `managementCreateProvider`, `managementGetProvider`, `managementUpdateProvider`, `managementActivateProvider`, `managementDeactivateProvider`, `managementTestProvider`, `managementGetProviderLimits`, `managementGetProviderStats`, and `managementGetProviderUsage`.\n\nDo not print provider credentials. Put secrets in the user's chosen secret store.\n\n## Webhooks\n\nOAuth scopes are `webhook.read` for list, inspect, deliveries and payload reads; `webhook.create` for creation; `webhook.update` for updates; `webhook.delete` for deletion; and `webhook.manage` for secret rotation and test delivery.\n\nMCP covers the common create-and-test path:\n\n| Action | Tool |\n| --- | --- |\n| List | `management_list_webhooks` |\n| Create | `management_create_webhook` |\n| Test | `management_test_webhook` |\n\nUse CLI or SDK for full lifecycle work:\n\n| Action | CLI command | SDK helper |\n| --- | --- | --- |\n| Inspect | `management:get-webhook` | `managementGetWebhook` |\n| Update | `management:update-webhook` | `managementUpdateWebhook` |\n| Delete | `management:delete-webhook` | `managementDeleteWebhook` |\n| Rotate secret | `management:rotate-webhook-secret` | `managementRotateWebhookSecret` |\n| List deliveries | `management:list-delivery` | `managementListDelivery` |\n| Get delivery payload | `management:get-delivery-payload` | `managementGetDeliveryPayload` |\n\nUse `Idempotency-Key` on create, rotate-secret, and test. Store the webhook signing secret at creation or rotation time; it cannot be retrieved later.\n\n## Billing, logs, and metrics\n\nUse read-only summary endpoints before broad log reads.\n\n| Question | Preferred call |\n| --- | --- |\n| Spend trend | `management_get_spend_summary`, CLI `management:get-spend-summary`, SDK `managementGetSpendSummary`. |\n| Current balance | CLI `management:list-balance`, SDK `managementListBalance`. |\n| Transaction history | CLI `management:list-transactions`, SDK `managementListTransactions`. |\n| Outbound delivery logs | `management_list_email_logs`, CLI `management:list-email-logs`, SDK `managementListEmailLogs`. |\n| One outbound log | `management_get_email_log`, CLI `management:get-email-log`, SDK `managementGetEmailLog`. |\n| Delivery metrics | `management_get_email_metrics`, CLI `management:get-email-metrics`, SDK `managementGetEmailMetrics`. |\n| Incoming logs | CLI `management:list-inbox-logs` / `management:get-inbox-log`, SDK `managementListInboxLogs` / `managementGetInboxLog`. |\n\nCLI:\n\n```bash\nSENDMUX_API_KEY=\"$SENDMUX_ROOT_KEY\" sendmux management:get-spend-summary \\\n  --query days=30 \\\n  --json\n\nSENDMUX_API_KEY=\"$SENDMUX_ROOT_KEY\" sendmux management:list-email-logs \\\n  --query status=failed \\\n  --query limit=20 \\\n  --json\n\nSENDMUX_API_KEY=\"$SENDMUX_ROOT_KEY\" sendmux management:get-email-log \\\n  --path public_id=dlog_abc \\\n  --header If-None-Match=\"$ETAG\" \\\n  --json\n```\n\n## Routing\n\n- First setup/auth check: `sendmux-getting-started`.\n- Single or batch transactional sending: `sendmux-send-email`.\n- Mailbox read, search, sync, triage, or reply: `sendmux-mailbox-agent`.\n- CLI command details: `sendmux-cli`.\n- MCP connection setup: `sendmux-mcp-setup`.\n- Cheapest-call doctrine: `sendmux-token-efficient-usage`.\n\nFile v1.0.8:_meta.json\n\n{\n  \"ownerId\": \"kn77z51yqhw8mt9vjfkpt8w74989rfb3\",\n  \"slug\": \"sendmux-management\",\n  \"version\": \"1.0.8\",\n  \"publishedAt\": 1789710731428\n}\n\nFile v1.0.8:skill-card.md\n\n## Description:\n\nManage Sendmux domains, mailboxes, mailbox keys, sending accounts, webhooks, logs, billing, and account-level setup.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[sendmux.ai](https://clawhub.ai/user/sendmux.ai)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nDevelopers and operations administrators use this skill to guide Sendmux account-management work across domains, mailboxes, sending accounts, webhooks, logs, billing, and permission checks. It helps an agent choose the right Sendmux surface, produce CLI or SDK examples, and route mailbox or setup tasks to the appropriate companion skill.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: An agent using broad Sendmux credentials could perform account-level management actions beyond the user's immediate task.\n\nMitigation: Use the narrowest Sendmux credential or OAuth scopes that fit the requested operation, and keep root keys in a secret store.\n\nRisk: Destructive or sensitive operations such as deletes, suspensions, key changes, webhook secret rotations, or test sends could affect the wrong resource.\n\nMitigation: Verify resource names and ask for confirmation before approving those operations.\n\nRisk: One-time mailbox keys or webhook secrets could be exposed if printed into chat or reused incorrectly.\n\nMitigation: Write one-time secrets only to the user's chosen secret store or secure output path.\n\n## Reference(s):\n\n- [Sendmux skills repository](https://github.com/Sendmux/skills)\n- [ClawHub skill page](https://clawhub.ai/sendmux.ai/skills/sendmux-management)\n- [Publisher profile](https://clawhub.ai/user/sendmux.ai)\n\n## Skill Output:\n\n**Output Type(s):** [Guidance, Markdown, Code, Shell commands, Configuration]\n\n**Output Format:** [Markdown guidance with inline bash, JSON, and TypeScript examples]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Includes credential-scope, routing, confirmation, and secret-handling guidance for Sendmux management operations.]\n\n## Skill Version(s):\n\n1.0.8 (source: ClawHub release evidence)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nArchive v1.0.7: 3 files, 5017 bytes\n\nFiles: skill-card.md (2123b), SKILL.md (10613b), _meta.json (137b)\n\nFile v1.0.7:SKILL.md\n\n---\nname: \"sendmux-management\"\ndescription: \"Manage Sendmux domains, mailboxes, mailbox keys, sending accounts, webhooks, logs, billing, and account-level setup.\"\nversion: \"1.5.0\"\nmetadata:\n  openclaw:\n    skillKey: \"sendmux-management\"\n    homepage: \"https://github.com/Sendmux/skills\"\n    primaryEnv: \"SENDMUX_API_KEY\"\n    envVars:\n      - name: \"SENDMUX_API_KEY\"\n        required: false\n        description: \"Optional Sendmux API key or scoped agent token used by CLI, SDK, HTTP, or MCP examples.\"\n      - name: \"SENDMUX_ROOT_KEY\"\n        required: false\n        description: \"Optional Sendmux root key for account-level Management API setup.\"\n---\n\n# Sendmux management\n\n## ClawHub account note\n\nThis ClawHub skill connects OpenClaw agents to Sendmux. Some workflows require a Sendmux account and an appropriate Sendmux API key or agent token. Sendmux account usage is external to ClawHub; do not ask users to paste secrets into chat.\n\nUse this skill for team administration with an `smx_root_` key or a REST OAuth grant with Management access.\n\n## Boundaries\n\n- Do not ask the user to paste an API key or one-time secret.\n- Use a root API-key profile or OAuth profile with Management access and the operation's required scopes. OAuth remains limited by the authorising user's current team permissions.\n- Agent self-registration does not require Management or a root key. Route a user who only wants an agent inbox to `sendmux-getting-started` and `sendmux agent:register`.\n- Do not use management calls to read, triage, sync, or reply from a mailbox; route those tasks to `sendmux-mailbox-agent`.\n- Treat create-key and webhook-secret responses as sensitive one-time values. Put them only in the user's chosen secret store or secure output path.\n- Confirm destructive operations before deleting domains, mailboxes, mailbox keys, sending accounts, or webhooks.\n- Confirm the target resource before suspend, resume, rotate-secret, or test-delivery operations.\n\n## Surface choice\n\n| Task | Preferred surface |\n| --- | --- |\n| Domains | MCP for list/create/get/zone-file/verify; CLI or SDK for update/delete/filter rules. |\n| Mailboxes | MCP for list/create/get/update/suspend/resume/key create/key delete; CLI or SDK for delete and filters. |\n| Sending accounts | CLI or SDK. MCP does not curate provider tools yet. |\n| Webhooks | MCP for list/create/test; CLI or SDK for get/update/delete/rotate-secret/deliveries/payloads. |\n| Billing and spend | MCP `management_get_spend_summary`; CLI or SDK for balance and transactions. |\n| Outbound delivery logs and metrics | MCP for list/get logs and metrics; CLI or SDK also work. |\n| Incoming logs | CLI or SDK. MCP does not curate incoming-log tools yet. |\n\nFor terminal work, use the `sendmux` CLI with `--json`. For application code, use `@sendmux/management` and `createManagementClient`.\n\nValidate the selected profile with `sendmux management:get-connection --profile work --json` before reading resources. This check requires Management access but no additional read permission. For OAuth login and token lifecycle, use `sendmux-cli`; SDK clients accept `accessToken` instead of `apiKey`, including a provider that resolves the current token before each request.\n\n## Efficient defaults\n\n- Use small `limit` values on list endpoints and follow `pagination.next_cursor` only when more rows are needed.\n- Use `Idempotency-Key` on create, suspend, resume, rotate-secret, and test mutations that accept it.\n- Use `If-None-Match` for repeated detail reads that return `ETag`.\n- Use `If-Match` for update or replace operations when the API exposes optimistic concurrency.\n- For questions about counts or trends, use summary or metrics endpoints before log lists.\n- For one email or webhook delivery, list with filters first, then fetch the selected record.\n\n## Domains\n\nUse domains for sending setup and hosted mailbox domains.\n\nMCP tools:\n\n| Action | Tool |\n| --- | --- |\n| List | `management_list_domains` |\n| Create | `management_create_domain` |\n| Inspect | `management_get_domain` |\n| DNS records | `management_get_domain_zone_file` |\n| Verify DNS | `management_verify_domain` |\n\nCLI:\n\n```bash\nSENDMUX_API_KEY=\"$SENDMUX_ROOT_KEY\" sendmux management:create-domain \\\n  --idempotency-key \"$IDEMPOTENCY_KEY\" \\\n  --body '{\"domain\":\"example.com\",\"mode\":\"send_receive\"}' \\\n  --json\n\nSENDMUX_API_KEY=\"$SENDMUX_ROOT_KEY\" sendmux management:get-domain-zone-file \\\n  --path public_id=mdom_abc \\\n  --json\n\nSENDMUX_API_KEY=\"$SENDMUX_ROOT_KEY\" sendmux management:verify-domain \\\n  --path public_id=mdom_abc \\\n  --json\n```\n\nSDK:\n\n```ts\nimport {\n  createManagementClient,\n  managementCreateDomain,\n  managementGetDomainZoneFile,\n  managementVerifyDomain,\n} from \"@sendmux/management\";\n\nconst client = createManagementClient({ apiKey: process.env.SENDMUX_API_KEY! });\n\nawait managementCreateDomain({\n  client,\n  headers: { \"Idempotency-Key\": process.env.IDEMPOTENCY_KEY! },\n  body: { domain: \"example.com\", mode: \"send_receive\" },\n});\n\nconst zone = await managementGetDomainZoneFile({\n  client,\n  path: { public_id: \"mdom_abc\" },\n});\n\nawait managementVerifyDomain({\n  client,\n  path: { public_id: \"mdom_abc\" },\n});\n```\n\nUse CLI `management:update-domain` or SDK `managementUpdateDomain` with `If-Match` for mode upgrades. Confirm before delete.\n\n## Mailboxes and keys\n\nFor API-key setup, create mailboxes with a root key and use mailbox keys afterwards for agent mailbox work. A Management OAuth profile can provision with the required scopes; Mailbox runtime needs its own approved access.\n\nThis owner-administered path is separate from self-registration. A self-registering agent uses a durable CLI profile without an existing account or API key; do not create or expose a root key merely to give that agent an inbox.\n\nMCP tools:\n\n| Action | Tool |\n| --- | --- |\n| List | `management_list_mailboxes` |\n| Create | `management_create_mailbox` |\n| Inspect | `management_get_mailbox` |\n| Update | `management_update_mailbox` |\n| Suspend | `management_suspend_mailbox` |\n| Resume | `management_resume_mailbox` |\n| Create mailbox key | `management_create_mailbox_key` |\n| Delete mailbox key | `management_delete_mailbox_key` |\n\nCLI:\n\n```bash\nSENDMUX_API_KEY=\"$SENDMUX_ROOT_KEY\" sendmux management:create-mailbox \\\n  --idempotency-key \"$IDEMPOTENCY_KEY\" \\\n  --body '{\n    \"email\": \"agent@example.com\",\n    \"display_name\": \"Agent Inbox\",\n    \"quota_bytes\": 1073741824\n  }' \\\n  --json\n\nSENDMUX_API_KEY=\"$SENDMUX_ROOT_KEY\" sendmux management:create-mailbox-key \\\n  --path public_id=mbx_abc \\\n  --idempotency-key \"$IDEMPOTENCY_KEY\" \\\n  --body '{\"name\":\"agent-runtime\"}' \\\n  --json\n```\n\nAfter creating a mailbox key, hand mailbox read/search/reply work to `sendmux-mailbox-agent` with the new `smx_mbx_` key.\n\nSuspend keeps the mailbox and messages but blocks mailbox access. Delete removes the mailbox and revokes associated keys; confirm deletion explicitly.\n\n## Sending accounts\n\nSending-account management is full CLI/SDK territory until MCP curates provider tools.\n\nCLI commands:\n\n| Action | Command |\n| --- | --- |\n| List | `sendmux management:providers:list --json` |\n| Create | `sendmux management:create-provider --json` |\n| Inspect | `sendmux management:get-provider --json` |\n| Update | `sendmux management:update-provider --json` |\n| Activate | `sendmux management:activate-provider --json` |\n| Deactivate | `sendmux management:deactivate-provider --json` |\n| Test | `sendmux management:test-provider --json` |\n| Limits | `sendmux management:get-provider-limits --json` |\n| Stats | `sendmux management:get-provider-stats --json` |\n| Usage | `sendmux management:get-provider-usage --json` |\n\nSDK helpers include `managementListProviders`, `managementCreateProvider`, `managementGetProvider`, `managementUpdateProvider`, `managementActivateProvider`, `managementDeactivateProvider`, `managementTestProvider`, `managementGetProviderLimits`, `managementGetProviderStats`, and `managementGetProviderUsage`.\n\nDo not print provider credentials. Put secrets in the user's chosen secret store.\n\n## Webhooks\n\nMCP covers the common create-and-test path:\n\n| Action | Tool |\n| --- | --- |\n| List | `management_list_webhooks` |\n| Create | `management_create_webhook` |\n| Test | `management_test_webhook` |\n\nUse CLI or SDK for full lifecycle work:\n\n| Action | CLI command | SDK helper |\n| --- | --- | --- |\n| Inspect | `management:get-webhook` | `managementGetWebhook` |\n| Update | `management:update-webhook` | `managementUpdateWebhook` |\n| Delete | `management:delete-webhook` | `managementDeleteWebhook` |\n| Rotate secret | `management:rotate-webhook-secret` | `managementRotateWebhookSecret` |\n| List deliveries | `management:list-delivery` | `managementListDelivery` |\n| Get delivery payload | `management:get-delivery-payload` | `managementGetDeliveryPayload` |\n\nUse `Idempotency-Key` on create, rotate-secret, and test. Store the webhook signing secret at creation or rotation time; it cannot be retrieved later.\n\n## Billing, logs, and metrics\n\nUse read-only summary endpoints before broad log reads.\n\n| Question | Preferred call |\n| --- | --- |\n| Spend trend | `management_get_spend_summary`, CLI `management:get-spend-summary`, SDK `managementGetSpendSummary`. |\n| Current balance | CLI `management:list-balance`, SDK `managementListBalance`. |\n| Transaction history | CLI `management:list-transactions`, SDK `managementListTransactions`. |\n| Outbound delivery logs | `management_list_email_logs`, CLI `management:list-email-logs`, SDK `managementListEmailLogs`. |\n| One outbound log | `management_get_email_log`, CLI `management:get-email-log`, SDK `managementGetEmailLog`. |\n| Delivery metrics | `management_get_email_metrics`, CLI `management:get-email-metrics`, SDK `managementGetEmailMetrics`. |\n| Incoming logs | CLI `management:list-inbox-logs` / `management:get-inbox-log`, SDK `managementListInboxLogs` / `managementGetInboxLog`. |\n\nCLI:\n\n```bash\nSENDMUX_API_KEY=\"$SENDMUX_ROOT_KEY\" sendmux management:get-spend-summary \\\n  --query days=30 \\\n  --json\n\nSENDMUX_API_KEY=\"$SENDMUX_ROOT_KEY\" sendmux management:list-email-logs \\\n  --query status=failed \\\n  --query limit=20 \\\n  --json\n\nSENDMUX_API_KEY=\"$SENDMUX_ROOT_KEY\" sendmux management:get-email-log \\\n  --path public_id=dlog_abc \\\n  --header If-None-Match=\"$ETAG\" \\\n  --json\n```\n\n## Routing\n\n- First setup/auth check: `sendmux-getting-started`.\n- Single or batch transactional sending: `sendmux-send-email`.\n- Mailbox read, search, sync, triage, or reply: `sendmux-mailbox-agent`.\n- CLI command details: `sendmux-cli`.\n- MCP connection setup: `sendmux-mcp-setup`.\n- Cheapest-call doctrine: `sendmux-token-efficient-usage`.\n\nFile v1.0.7:_meta.json\n\n{\n  \"ownerId\": \"kn77z51yqhw8mt9vjfkpt8w74989rfb3\",\n  \"slug\": \"sendmux-management\",\n  \"version\": \"1.0.7\",\n  \"publishedAt\": 1789099200342\n}\n\nFile v1.0.7:skill-card.md\n\n## Description:\n\nManage Sendmux domains, mailboxes, mailbox keys, sending accounts, webhooks, logs, billing, and account-level setup.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[sendmux.ai](https://clawhub.ai/user/sendmux.ai)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nDevelopers and administrators use this skill to help an agent manage Sendmux account resources such as domains, mailboxes, sending accounts, webhooks, delivery logs, billing, and setup checks.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: The skill can guide privileged Sendmux account-management actions, including deletes, suspensions, secret rotations, provider tests, and webhook tests.\n\nMitigation: Use the least-privileged Sendmux profile that can complete the task and review confirmations carefully before account-changing operations.\n\nRisk: Root keys, mailbox keys, provider credentials, and webhook secrets can be exposed if handled in chat or printed output.\n\nMitigation: Keep root keys in a secret store, do not paste secrets into chat, and write one-time secrets only to the user's chosen secure output path.\n\n## Reference(s):\n\n- [Sendmux Skills](https://github.com/Sendmux/skills)\n- [ClawHub skill page](https://clawhub.ai/sendmux.ai/skills/sendmux-management)\n- [Sendmux publisher profile](https://clawhub.ai/user/sendmux.ai)\n\n## Skill Output:\n\n**Output Type(s):** [guidance, markdown, shell commands, code, configuration]\n\n**Output Format:** [Markdown with inline bash, TypeScript, and tool-name examples]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Outputs may reference sensitive Sendmux credentials and destructive account-management actions that require confirmation.]\n\n## Skill Version(s):\n\n1.0.7 (source: server release metadata; artifact frontmatter reports 1.5.0)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nArchive v1.0.6: 3 files, 4828 bytes\n\nFiles: skill-card.md (2234b), SKILL.md (9924b), _meta.json (137b)\n\nFile v1.0.6:SKILL.md\n\n---\nname: \"sendmux-management\"\ndescription: \"Manage Sendmux domains, mailboxes, mailbox keys, sending accounts, webhooks, logs, billing, and account-level setup.\"\nversion: \"1.4.2\"\nmetadata:\n  openclaw:\n    skillKey: \"sendmux-management\"\n    homepage: \"https://github.com/Sendmux/skills\"\n    primaryEnv: \"SENDMUX_API_KEY\"\n    envVars:\n      - name: \"SENDMUX_API_KEY\"\n        required: false\n        description: \"Optional Sendmux API key or scoped agent token used by CLI, SDK, HTTP, or MCP examples.\"\n      - name: \"SENDMUX_ROOT_KEY\"\n        required: false\n        description: \"Optional Sendmux root key for account-level Management API setup.\"\n---\n\n# Sendmux management\n\n## ClawHub account note\n\nThis ClawHub skill connects OpenClaw agents to Sendmux. Some workflows require a Sendmux account and an appropriate Sendmux API key or agent token. Sendmux account usage is external to ClawHub; do not ask users to paste secrets into chat.\n\nUse this skill for team administration with an `smx_root_` key.\n\n## Boundaries\n\n- Do not ask the user to paste an API key or one-time secret.\n- Use `smx_root_` keys for Management API calls.\n- Agent self-registration does not require Management or a root key. Route a user who only wants an agent inbox to `sendmux-getting-started` and `sendmux agent:register`.\n- Do not use management calls to read, triage, sync, or reply from a mailbox; route those tasks to `sendmux-mailbox-agent`.\n- Treat create-key and webhook-secret responses as sensitive one-time values. Put them only in the user's chosen secret store or secure output path.\n- Confirm destructive operations before deleting domains, mailboxes, mailbox keys, sending accounts, or webhooks.\n- Confirm the target resource before suspend, resume, rotate-secret, or test-delivery operations.\n\n## Surface choice\n\n| Task | Preferred surface |\n| --- | --- |\n| Domains | MCP for list/create/get/zone-file/verify; CLI or SDK for update/delete/filter rules. |\n| Mailboxes | MCP for list/create/get/update/suspend/resume/key create/key delete; CLI or SDK for delete and filters. |\n| Sending accounts | CLI or SDK. MCP does not curate provider tools yet. |\n| Webhooks | MCP for list/create/test; CLI or SDK for get/update/delete/rotate-secret/deliveries/payloads. |\n| Billing and spend | MCP `management_get_spend_summary`; CLI or SDK for balance and transactions. |\n| Outbound delivery logs and metrics | MCP for list/get logs and metrics; CLI or SDK also work. |\n| Incoming logs | CLI or SDK. MCP does not curate incoming-log tools yet. |\n\nFor terminal work, use the `sendmux` CLI with `--json`. For application code, use `@sendmux/management` and `createManagementClient`.\n\n## Efficient defaults\n\n- Use small `limit` values on list endpoints and follow `pagination.next_cursor` only when more rows are needed.\n- Use `Idempotency-Key` on create, suspend, resume, rotate-secret, and test mutations that accept it.\n- Use `If-None-Match` for repeated detail reads that return `ETag`.\n- Use `If-Match` for update or replace operations when the API exposes optimistic concurrency.\n- For questions about counts or trends, use summary or metrics endpoints before log lists.\n- For one email or webhook delivery, list with filters first, then fetch the selected record.\n\n## Domains\n\nUse domains for sending setup and hosted mailbox domains.\n\nMCP tools:\n\n| Action | Tool |\n| --- | --- |\n| List | `management_list_domains` |\n| Create | `management_create_domain` |\n| Inspect | `management_get_domain` |\n| DNS records | `management_get_domain_zone_file` |\n| Verify DNS | `management_verify_domain` |\n\nCLI:\n\n```bash\nSENDMUX_API_KEY=\"$SENDMUX_ROOT_KEY\" sendmux management:create-domain \\\n  --idempotency-key \"$IDEMPOTENCY_KEY\" \\\n  --body '{\"domain\":\"example.com\",\"mode\":\"send_receive\"}' \\\n  --json\n\nSENDMUX_API_KEY=\"$SENDMUX_ROOT_KEY\" sendmux management:get-domain-zone-file \\\n  --path public_id=mdom_abc \\\n  --json\n\nSENDMUX_API_KEY=\"$SENDMUX_ROOT_KEY\" sendmux management:verify-domain \\\n  --path public_id=mdom_abc \\\n  --json\n```\n\nSDK:\n\n```ts\nimport {\n  createManagementClient,\n  managementCreateDomain,\n  managementGetDomainZoneFile,\n  managementVerifyDomain,\n} from \"@sendmux/management\";\n\nconst client = createManagementClient({ apiKey: process.env.SENDMUX_API_KEY! });\n\nawait managementCreateDomain({\n  client,\n  headers: { \"Idempotency-Key\": process.env.IDEMPOTENCY_KEY! },\n  body: { domain: \"example.com\", mode: \"send_receive\" },\n});\n\nconst zone = await managementGetDomainZoneFile({\n  client,\n  path: { public_id: \"mdom_abc\" },\n});\n\nawait managementVerifyDomain({\n  client,\n  path: { public_id: \"mdom_abc\" },\n});\n```\n\nUse CLI `management:update-domain` or SDK `managementUpdateDomain` with `If-Match` for mode upgrades. Confirm before delete.\n\n## Mailboxes and keys\n\nCreate mailboxes with a root key; use mailbox keys afterwards for agent mailbox work.\n\nThis owner-administered path is separate from self-registration. A self-registering agent uses a durable CLI profile without an existing account or API key; do not create or expose a root key merely to give that agent an inbox.\n\nMCP tools:\n\n| Action | Tool |\n| --- | --- |\n| List | `management_list_mailboxes` |\n| Create | `management_create_mailbox` |\n| Inspect | `management_get_mailbox` |\n| Update | `management_update_mailbox` |\n| Suspend | `management_suspend_mailbox` |\n| Resume | `management_resume_mailbox` |\n| Create mailbox key | `management_create_mailbox_key` |\n| Delete mailbox key | `management_delete_mailbox_key` |\n\nCLI:\n\n```bash\nSENDMUX_API_KEY=\"$SENDMUX_ROOT_KEY\" sendmux management:create-mailbox \\\n  --idempotency-key \"$IDEMPOTENCY_KEY\" \\\n  --body '{\n    \"email\": \"agent@example.com\",\n    \"display_name\": \"Agent Inbox\",\n    \"quota_bytes\": 1073741824\n  }' \\\n  --json\n\nSENDMUX_API_KEY=\"$SENDMUX_ROOT_KEY\" sendmux management:create-mailbox-key \\\n  --path public_id=mbx_abc \\\n  --idempotency-key \"$IDEMPOTENCY_KEY\" \\\n  --body '{\"name\":\"agent-runtime\"}' \\\n  --json\n```\n\nAfter creating a mailbox key, hand mailbox read/search/reply work to `sendmux-mailbox-agent` with the new `smx_mbx_` key.\n\nSuspend keeps the mailbox and messages but blocks mailbox access. Delete removes the mailbox and revokes associated keys; confirm deletion explicitly.\n\n## Sending accounts\n\nSending-account management is full CLI/SDK territory until MCP curates provider tools.\n\nCLI commands:\n\n| Action | Command |\n| --- | --- |\n| List | `sendmux management:providers:list --json` |\n| Create | `sendmux management:create-provider --json` |\n| Inspect | `sendmux management:get-provider --json` |\n| Update | `sendmux management:update-provider --json` |\n| Activate | `sendmux management:activate-provider --json` |\n| Deactivate | `sendmux management:deactivate-provider --json` |\n| Test | `sendmux management:test-provider --json` |\n| Limits | `sendmux management:get-provider-limits --json` |\n| Stats | `sendmux management:get-provider-stats --json` |\n| Usage | `sendmux management:get-provider-usage --json` |\n\nSDK helpers include `managementListProviders`, `managementCreateProvider`, `managementGetProvider`, `managementUpdateProvider`, `managementActivateProvider`, `managementDeactivateProvider`, `managementTestProvider`, `managementGetProviderLimits`, `managementGetProviderStats`, and `managementGetProviderUsage`.\n\nDo not print provider credentials. Put secrets in the user's chosen secret store.\n\n## Webhooks\n\nMCP covers the common create-and-test path:\n\n| Action | Tool |\n| --- | --- |\n| List | `management_list_webhooks` |\n| Create | `management_create_webhook` |\n| Test | `management_test_webhook` |\n\nUse CLI or SDK for full lifecycle work:\n\n| Action | CLI command | SDK helper |\n| --- | --- | --- |\n| Inspect | `management:get-webhook` | `managementGetWebhook` |\n| Update | `management:update-webhook` | `managementUpdateWebhook` |\n| Delete | `management:delete-webhook` | `managementDeleteWebhook` |\n| Rotate secret | `management:rotate-webhook-secret` | `managementRotateWebhookSecret` |\n| List deliveries | `management:list-delivery` | `managementListDelivery` |\n| Get delivery payload | `management:get-delivery-payload` | `managementGetDeliveryPayload` |\n\nUse `Idempotency-Key` on create, rotate-secret, and test. Store the webhook signing secret at creation or rotation time; it cannot be retrieved later.\n\n## Billing, logs, and metrics\n\nUse read-only summary endpoints before broad log reads.\n\n| Question | Preferred call |\n| --- | --- |\n| Spend trend | `management_get_spend_summary`, CLI `management:get-spend-summary`, SDK `managementGetSpendSummary`. |\n| Current balance | CLI `management:list-balance`, SDK `managementListBalance`. |\n| Transaction history | CLI `management:list-transactions`, SDK `managementListTransactions`. |\n| Outbound delivery logs | `management_list_email_logs`, CLI `management:list-email-logs`, SDK `managementListEmailLogs`. |\n| One outbound log | `management_get_email_log`, CLI `management:get-email-log`, SDK `managementGetEmailLog`. |\n| Delivery metrics | `management_get_email_metrics`, CLI `management:get-email-metrics`, SDK `managementGetEmailMetrics`. |\n| Incoming logs | CLI `management:list-inbox-logs` / `management:get-inbox-log`, SDK `managementListInboxLogs` / `managementGetInboxLog`. |\n\nCLI:\n\n```bash\nSENDMUX_API_KEY=\"$SENDMUX_ROOT_KEY\" sendmux management:get-spend-summary \\\n  --query days=30 \\\n  --json\n\nSENDMUX_API_KEY=\"$SENDMUX_ROOT_KEY\" sendmux management:list-email-logs \\\n  --query status=failed \\\n  --query limit=20 \\\n  --json\n\nSENDMUX_API_KEY=\"$SENDMUX_ROOT_KEY\" sendmux management:get-email-log \\\n  --path public_id=dlog_abc \\\n  --header If-None-Match=\"$ETAG\" \\\n  --json\n```\n\n## Routing\n\n- First setup/auth check: `sendmux-getting-started`.\n- Single or batch transactional sending: `sendmux-send-email`.\n- Mailbox read, search, sync, triage, or reply: `sendmux-mailbox-agent`.\n- CLI command details: `sendmux-cli`.\n- MCP connection setup: `sendmux-mcp-setup`.\n- Cheapest-call doctrine: `sendmux-token-efficient-usage`.\n\nFile v1.0.6:_meta.json\n\n{\n  \"ownerId\": \"kn77z51yqhw8mt9vjfkpt8w74989rfb3\",\n  \"slug\": \"sendmux-management\",\n  \"version\": \"1.0.6\",\n  \"publishedAt\": 1788259042293\n}\n\nFile v1.0.6:skill-card.md\n\n## Description:\n\nManage Sendmux domains, mailboxes, mailbox keys, sending accounts, webhooks, logs, billing, and account-level setup.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[sendmux.ai](https://clawhub.ai/user/sendmux.ai)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nDevelopers and administrators use this skill to guide Sendmux account-management workflows across domains, mailboxes, mailbox keys, sending accounts, webhooks, billing, logs, and metrics. It helps agents choose between MCP tools, CLI commands, and SDK examples while preserving secret-handling and confirmation boundaries.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: The skill supports sensitive Sendmux account-administration workflows, including root-key setup and generated mailbox or webhook secrets.\n\nMitigation: Use scoped tokens where possible, keep root keys out of chat, and store generated mailbox keys or webhook secrets only in the user's chosen secret store.\n\nRisk: The skill can guide destructive or disruptive account actions such as deleting resources, suspending or resuming mailboxes, rotating secrets, or testing delivery.\n\nMitigation: Confirm the target resource and user intent before delete, suspend, resume, rotate-secret, and test-delivery operations.\n\n## Reference(s):\n\n- [Sendmux skills repository](https://github.com/Sendmux/skills)\n- [ClawHub skill page](https://clawhub.ai/sendmux.ai/skills/sendmux-management)\n\n## Skill Output:\n\n**Output Type(s):** [Guidance, Markdown, Code, Shell commands, Configuration]\n\n**Output Format:** [Markdown with command tables, bash examples, TypeScript examples, and MCP tool names]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Uses Sendmux API credentials when the user provides them through an appropriate environment or secret store.]\n\n## Skill Version(s):\n\n1.0.6 (source: server release metadata; artifact frontmatter reports 1.4.2)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nArchive v1.0.5: 3 files, 4799 bytes\n\nFiles: skill-card.md (2091b), SKILL.md (9924b), _meta.json (137b)\n\nFile v1.0.5:SKILL.md\n\n---\nname: \"sendmux-management\"\ndescription: \"Manage Sendmux domains, mailboxes, mailbox keys, sending accounts, webhooks, logs, billing, and account-level setup.\"\nversion: \"1.4.1\"\nmetadata:\n  openclaw:\n    skillKey: \"sendmux-management\"\n    homepage: \"https://github.com/Sendmux/skills\"\n    primaryEnv: \"SENDMUX_API_KEY\"\n    envVars:\n      - name: \"SENDMUX_API_KEY\"\n        required: false\n        description: \"Optional Sendmux API key or scoped agent token used by CLI, SDK, HTTP, or MCP examples.\"\n      - name: \"SENDMUX_ROOT_KEY\"\n        required: false\n        description: \"Optional Sendmux root key for account-level Management API setup.\"\n---\n\n# Sendmux management\n\n## ClawHub account note\n\nThis ClawHub skill connects OpenClaw agents to Sendmux. Some workflows require a Sendmux account and an appropriate Sendmux API key or agent token. Sendmux account usage is external to ClawHub; do not ask users to paste secrets into chat.\n\nUse this skill for team administration with an `smx_root_` key.\n\n## Boundaries\n\n- Do not ask the user to paste an API key or one-time secret.\n- Use `smx_root_` keys for Management API calls.\n- Agent self-registration does not require Management or a root key. Route a user who only wants an agent inbox to `sendmux-getting-started` and `sendmux agent:register`.\n- Do not use management calls to read, triage, sync, or reply from a mailbox; route those tasks to `sendmux-mailbox-agent`.\n- Treat create-key and webhook-secret responses as sensitive one-time values. Put them only in the user's chosen secret store or secure output path.\n- Confirm destructive operations before deleting domains, mailboxes, mailbox keys, sending accounts, or webhooks.\n- Confirm the target resource before suspend, resume, rotate-secret, or test-delivery operations.\n\n## Surface choice\n\n| Task | Preferred surface |\n| --- | --- |\n| Domains | MCP for list/create/get/zone-file/verify; CLI or SDK for update/delete/filter rules. |\n| Mailboxes | MCP for list/create/get/update/suspend/resume/key create/key delete; CLI or SDK for delete and filters. |\n| Sending accounts | CLI or SDK. MCP does not curate provider tools yet. |\n| Webhooks | MCP for list/create/test; CLI or SDK for get/update/delete/rotate-secret/deliveries/payloads. |\n| Billing and spend | MCP `management_get_spend_summary`; CLI or SDK for balance and transactions. |\n| Outbound delivery logs and metrics | MCP for list/get logs and metrics; CLI or SDK also work. |\n| Incoming logs | CLI or SDK. MCP does not curate incoming-log tools yet. |\n\nFor terminal work, use the `sendmux` CLI with `--json`. For application code, use `@sendmux/management` and `createManagementClient`.\n\n## Efficient defaults\n\n- Use small `limit` values on list endpoints and follow `pagination.next_cursor` only when more rows are needed.\n- Use `Idempotency-Key` on create, suspend, resume, rotate-secret, and test mutations that accept it.\n- Use `If-None-Match` for repeated detail reads that return `ETag`.\n- Use `If-Match` for update or replace operations when the API exposes optimistic concurrency.\n- For questions about counts or trends, use summary or metrics endpoints before log lists.\n- For one email or webhook delivery, list with filters first, then fetch the selected record.\n\n## Domains\n\nUse domains for sending setup and hosted mailbox domains.\n\nMCP tools:\n\n| Action | Tool |\n| --- | --- |\n| List | `management_list_domains` |\n| Create | `management_create_domain` |\n| Inspect | `management_get_domain` |\n| DNS records | `management_get_domain_zone_file` |\n| Verify DNS | `management_verify_domain` |\n\nCLI:\n\n```bash\nSENDMUX_API_KEY=\"$SENDMUX_ROOT_KEY\" sendmux management:create-domain \\\n  --idempotency-key \"$IDEMPOTENCY_KEY\" \\\n  --body '{\"domain\":\"example.com\",\"mode\":\"send_receive\"}' \\\n  --json\n\nSENDMUX_API_KEY=\"$SENDMUX_ROOT_KEY\" sendmux management:get-domain-zone-file \\\n  --path public_id=mdom_abc \\\n  --json\n\nSENDMUX_API_KEY=\"$SENDMUX_ROOT_KEY\" sendmux management:verify-domain \\\n  --path public_id=mdom_abc \\\n  --json\n```\n\nSDK:\n\n```ts\nimport {\n  createManagementClient,\n  managementCreateDomain,\n  managementGetDomainZoneFile,\n  managementVerifyDomain,\n} from \"@sendmux/management\";\n\nconst client = createManagementClient({ apiKey: process.env.SENDMUX_API_KEY! });\n\nawait managementCreateDomain({\n  client,\n  headers: { \"Idempotency-Key\": process.env.IDEMPOTENCY_KEY! },\n  body: { domain: \"example.com\", mode: \"send_receive\" },\n});\n\nconst zone = await managementGetDomainZoneFile({\n  client,\n  path: { public_id: \"mdom_abc\" },\n});\n\nawait managementVerifyDomain({\n  client,\n  path: { public_id: \"mdom_abc\" },\n});\n```\n\nUse CLI `management:update-domain` or SDK `managementUpdateDomain` with `If-Match` for mode upgrades. Confirm before delete.\n\n## Mailboxes and keys\n\nCreate mailboxes with a root key; use mailbox keys afterwards for agent mailbox work.\n\nThis owner-administered path is separate from self-registration. A self-registering agent uses a durable CLI profile without an existing account or API key; do not create or expose a root key merely to give that agent an inbox.\n\nMCP tools:\n\n| Action | Tool |\n| --- | --- |\n| List | `management_list_mailboxes` |\n| Create | `management_create_mailbox` |\n| Inspect | `management_get_mailbox` |\n| Update | `management_update_mailbox` |\n| Suspend | `management_suspend_mailbox` |\n| Resume | `management_resume_mailbox` |\n| Create mailbox key | `management_create_mailbox_key` |\n| Delete mailbox key | `management_delete_mailbox_key` |\n\nCLI:\n\n```bash\nSENDMUX_API_KEY=\"$SENDMUX_ROOT_KEY\" sendmux management:create-mailbox \\\n  --idempotency-key \"$IDEMPOTENCY_KEY\" \\\n  --body '{\n    \"email\": \"agent@example.com\",\n    \"display_name\": \"Agent Inbox\",\n    \"quota_bytes\": 1073741824\n  }' \\\n  --json\n\nSENDMUX_API_KEY=\"$SENDMUX_ROOT_KEY\" sendmux management:create-mailbox-key \\\n  --path public_id=mbx_abc \\\n  --idempotency-key \"$IDEMPOTENCY_KEY\" \\\n  --body '{\"name\":\"agent-runtime\"}' \\\n  --json\n```\n\nAfter creating a mailbox key, hand mailbox read/search/reply work to `sendmux-mailbox-agent` with the new `smx_mbx_` key.\n\nSuspend keeps the mailbox and messages but blocks mailbox access. Delete removes the mailbox and revokes associated keys; confirm deletion explicitly.\n\n## Sending accounts\n\nSending-account management is full CLI/SDK territory until MCP curates provider tools.\n\nCLI commands:\n\n| Action | Command |\n| --- | --- |\n| List | `sendmux management:providers:list --json` |\n| Create | `sendmux management:create-provider --json` |\n| Inspect | `sendmux management:get-provider --json` |\n| Update | `sendmux management:update-provider --json` |\n| Activate | `sendmux management:activate-provider --json` |\n| Deactivate | `sendmux management:deactivate-provider --json` |\n| Test | `sendmux management:test-provider --json` |\n| Limits | `sendmux management:get-provider-limits --json` |\n| Stats | `sendmux management:get-provider-stats --json` |\n| Usage | `sendmux management:get-provider-usage --json` |\n\nSDK helpers include `managementListProviders`, `managementCreateProvider`, `managementGetProvider`, `managementUpdateProvider`, `managementActivateProvider`, `managementDeactivateProvider`, `managementTestProvider`, `managementGetProviderLimits`, `managementGetProviderStats`, and `managementGetProviderUsage`.\n\nDo not print provider credentials. Put secrets in the user's chosen secret store.\n\n## Webhooks\n\nMCP covers the common create-and-test path:\n\n| Action | Tool |\n| --- | --- |\n| List | `management_list_webhooks` |\n| Create | `management_create_webhook` |\n| Test | `management_test_webhook` |\n\nUse CLI or SDK for full lifecycle work:\n\n| Action | CLI command | SDK helper |\n| --- | --- | --- |\n| Inspect | `management:get-webhook` | `managementGetWebhook` |\n| Update | `management:update-webhook` | `managementUpdateWebhook` |\n| Delete | `management:delete-webhook` | `managementDeleteWebhook` |\n| Rotate secret | `management:rotate-webhook-secret` | `managementRotateWebhookSecret` |\n| List deliveries | `management:list-delivery` | `managementListDelivery` |\n| Get delivery payload | `management:get-delivery-payload` | `managementGetDeliveryPayload` |\n\nUse `Idempotency-Key` on create, rotate-secret, and test. Store the webhook signing secret at creation or rotation time; it cannot be retrieved later.\n\n## Billing, logs, and metrics\n\nUse read-only summary endpoints before broad log reads.\n\n| Question | Preferred call |\n| --- | --- |\n| Spend trend | `management_get_spend_summary`, CLI `management:get-spend-summary`, SDK `managementGetSpendSummary`. |\n| Current balance | CLI `management:list-balance`, SDK `managementListBalance`. |\n| Transaction history | CLI `management:list-transactions`, SDK `managementListTransactions`. |\n| Outbound delivery logs | `management_list_email_logs`, CLI `management:list-email-logs`, SDK `managementListEmailLogs`. |\n| One outbound log | `management_get_email_log`, CLI `management:get-email-log`, SDK `managementGetEmailLog`. |\n| Delivery metrics | `management_get_email_metrics`, CLI `management:get-email-metrics`, SDK `managementGetEmailMetrics`. |\n| Incoming logs | CLI `management:list-inbox-logs` / `management:get-inbox-log`, SDK `managementListInboxLogs` / `managementGetInboxLog`. |\n\nCLI:\n\n```bash\nSENDMUX_API_KEY=\"$SENDMUX_ROOT_KEY\" sendmux management:get-spend-summary \\\n  --query days=30 \\\n  --json\n\nSENDMUX_API_KEY=\"$SENDMUX_ROOT_KEY\" sendmux management:list-email-logs \\\n  --query status=failed \\\n  --query limit=20 \\\n  --json\n\nSENDMUX_API_KEY=\"$SENDMUX_ROOT_KEY\" sendmux management:get-email-log \\\n  --path public_id=dlog_abc \\\n  --header If-None-Match=\"$ETAG\" \\\n  --json\n```\n\n## Routing\n\n- First setup/auth check: `sendmux-getting-started`.\n- Single or batch transactional sending: `sendmux-send-email`.\n- Mailbox read, search, sync, triage, or reply: `sendmux-mailbox-agent`.\n- CLI command details: `sendmux-cli`.\n- MCP connection setup: `sendmux-mcp-setup`.\n- Cheapest-call doctrine: `sendmux-token-efficient-usage`.\n\nFile v1.0.5:_meta.json\n\n{\n  \"ownerId\": \"kn77z51yqhw8mt9vjfkpt8w74989rfb3\",\n  \"slug\": \"sendmux-management\",\n  \"version\": \"1.0.5\",\n  \"publishedAt\": 1788258502910\n}\n\nFile v1.0.5:skill-card.md\n\n## Description:\n\nManage Sendmux domains, mailboxes, mailbox keys, sending accounts, webhooks, logs, billing, and account-level setup.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[sendmux.ai](https://clawhub.ai/user/sendmux.ai)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nDevelopers and account administrators use this skill to guide OpenClaw agents through Sendmux account-management tasks such as domain setup, mailbox administration, webhook lifecycle work, logs, metrics, billing checks, and provider configuration.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: The skill supports account-management workflows that may use sensitive Sendmux API keys, root keys, mailbox keys, and webhook secrets.\n\nMitigation: Use scoped credentials where possible, keep root keys and one-time secrets in a secret store or secure output path, and do not paste secrets into chat.\n\nRisk: Administrative operations can delete, suspend, resume, rotate secrets, test webhooks, or change sending-provider behavior.\n\nMitigation: Confirm the target resource and operation before destructive or state-changing actions, especially deletes, suspends, secret rotations, webhook tests, and provider changes.\n\n## Reference(s):\n\n- [Sendmux Skills Homepage](https://github.com/Sendmux/skills)\n- [ClawHub Skill Page](https://clawhub.ai/sendmux.ai/skills/sendmux-management)\n\n## Skill Output:\n\n**Output Type(s):** [Guidance, Shell commands, Code, Configuration]\n\n**Output Format:** [Markdown with inline bash and TypeScript code blocks]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Includes operational guidance for Sendmux CLI, SDK, HTTP, and MCP workflows.]\n\n## Skill Version(s):\n\n1.0.5 (source: ClawHub release metadata; artifact frontmatter reports 1.4.1)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nArchive v1.0.4: 3 files, 4940 bytes\n\nFiles: skill-card.md (2633b), SKILL.md (9924b), _meta.json (137b)\n\nFile v1.0.4:SKILL.md\n\n---\nname: \"sendmux-management\"\ndescription: \"Manage Sendmux domains, mailboxes, mailbox keys, sending accounts, webhooks, logs, billing, and account-level setup.\"\nversion: \"1.4.0\"\nmetadata:\n  openclaw:\n    skillKey: \"sendmux-management\"\n    homepage: \"https://github.com/Sendmux/skills\"\n    primaryEnv: \"SENDMUX_API_KEY\"\n    envVars:\n      - name: \"SENDMUX_API_KEY\"\n        required: false\n        description: \"Optional Sendmux API key or scoped agent token used by CLI, SDK, HTTP, or MCP examples.\"\n      - name: \"SENDMUX_ROOT_KEY\"\n        required: false\n        description: \"Optional Sendmux root key for account-level Management API setup.\"\n---\n\n# Sendmux management\n\n## ClawHub account note\n\nThis ClawHub skill connects OpenClaw agents to Sendmux. Some workflows require a Sendmux account and an appropriate Sendmux API key or agent token. Sendmux account usage is external to ClawHub; do not ask users to paste secrets into chat.\n\nUse this skill for team administration with an `smx_root_` key.\n\n## Boundaries\n\n- Do not ask the user to paste an API key or one-time secret.\n- Use `smx_root_` keys for Management API calls.\n- Agent self-registration does not require Management or a root key. Route a user who only wants an agent inbox to `sendmux-getting-started` and `sendmux agent:register`.\n- Do not use management calls to read, triage, sync, or reply from a mailbox; route those tasks to `sendmux-mailbox-agent`.\n- Treat create-key and webhook-secret responses as sensitive one-time values. Put them only in the user's chosen secret store or secure output path.\n- Confirm destructive operations before deleting domains, mailboxes, mailbox keys, sending accounts, or webhooks.\n- Confirm the target resource before suspend, resume, rotate-secret, or test-delivery operations.\n\n## Surface choice\n\n| Task | Preferred surface |\n| --- | --- |\n| Domains | MCP for list/create/get/zone-file/verify; CLI or SDK for update/delete/filter rules. |\n| Mailboxes | MCP for list/create/get/update/suspend/resume/key create/key delete; CLI or SDK for delete and filters. |\n| Sending accounts | CLI or SDK. MCP does not curate provider tools yet. |\n| Webhooks | MCP for list/create/test; CLI or SDK for get/update/delete/rotate-secret/deliveries/payloads. |\n| Billing and spend | MCP `management_get_spend_summary`; CLI or SDK for balance and transactions. |\n| Outbound delivery logs and metrics | MCP for list/get logs and metrics; CLI or SDK also work. |\n| Incoming logs | CLI or SDK. MCP does not curate incoming-log tools yet. |\n\nFor terminal work, use the `sendmux` CLI with `--json`. For application code, use `@sendmux/management` and `createManagementClient`.\n\n## Efficient defaults\n\n- Use small `limit` values on list endpoints and follow `pagination.next_cursor` only when more rows are needed.\n- Use `Idempotency-Key` on create, suspend, resume, rotate-secret, and test mutations that accept it.\n- Use `If-None-Match` for repeated detail reads that return `ETag`.\n- Use `If-Match` for update or replace operations when the API exposes optimistic concurrency.\n- For questions about counts or trends, use summary or metrics endpoints before log lists.\n- For one email or webhook delivery, list with filters first, then fetch the selected record.\n\n## Domains\n\nUse domains for sending setup and hosted mailbox domains.\n\nMCP tools:\n\n| Action | Tool |\n| --- | --- |\n| List | `management_list_domains` |\n| Create | `management_create_domain` |\n| Inspect | `management_get_domain` |\n| DNS records | `management_get_domain_zone_file` |\n| Verify DNS | `management_verify_domain` |\n\nCLI:\n\n```bash\nSENDMUX_API_KEY=\"$SENDMUX_ROOT_KEY\" sendmux management:create-domain \\\n  --idempotency-key \"$IDEMPOTENCY_KEY\" \\\n  --body '{\"domain\":\"example.com\",\"mode\":\"send_receive\"}' \\\n  --json\n\nSENDMUX_API_KEY=\"$SENDMUX_ROOT_KEY\" sendmux management:get-domain-zone-file \\\n  --path public_id=mdom_abc \\\n  --json\n\nSENDMUX_API_KEY=\"$SENDMUX_ROOT_KEY\" sendmux management:verify-domain \\\n  --path public_id=mdom_abc \\\n  --json\n```\n\nSDK:\n\n```ts\nimport {\n  createManagementClient,\n  managementCreateDomain,\n  managementGetDomainZoneFile,\n  managementVerifyDomain,\n} from \"@sendmux/management\";\n\nconst client = createManagementClient({ apiKey: process.env.SENDMUX_API_KEY! });\n\nawait managementCreateDomain({\n  client,\n  headers: { \"Idempotency-Key\": process.env.IDEMPOTENCY_KEY! },\n  body: { domain: \"example.com\", mode: \"send_receive\" },\n});\n\nconst zone = await managementGetDomainZoneFile({\n  client,\n  path: { public_id: \"mdom_abc\" },\n});\n\nawait managementVerifyDomain({\n  client,\n  path: { public_id: \"mdom_abc\" },\n});\n```\n\nUse CLI `management:update-domain` or SDK `managementUpdateDomain` with `If-Match` for mode upgrades. Confirm before delete.\n\n## Mailboxes and keys\n\nCreate mailboxes with a root key; use mailbox keys afterwards for agent mailbox work.\n\nThis owner-administered path is separate from self-registration. A self-registering agent uses a durable CLI profile without an existing account or API key; do not create or expose a root key merely to give that agent an inbox.\n\nMCP tools:\n\n| Action | Tool |\n| --- | --- |\n| List | `management_list_mailboxes` |\n| Create | `management_create_mailbox` |\n| Inspect | `management_get_mailbox` |\n| Update | `management_update_mailbox` |\n| Suspend | `management_suspend_mailbox` |\n| Resume | `management_resume_mailbox` |\n| Create mailbox key | `management_create_mailbox_key` |\n| Delete mailbox key | `management_delete_mailbox_key` |\n\nCLI:\n\n```bash\nSENDMUX_API_KEY=\"$SENDMUX_ROOT_KEY\" sendmux management:create-mailbox \\\n  --idempotency-key \"$IDEMPOTENCY_KEY\" \\\n  --body '{\n    \"email\": \"agent@example.com\",\n    \"display_name\": \"Agent Inbox\",\n    \"quota_bytes\": 1073741824\n  }' \\\n  --json\n\nSENDMUX_API_KEY=\"$SENDMUX_ROOT_KEY\" sendmux management:create-mailbox-key \\\n  --path public_id=mbx_abc \\\n  --idempotency-key \"$IDEMPOTENCY_KEY\" \\\n  --body '{\"name\":\"agent-runtime\"}' \\\n  --json\n```\n\nAfter creating a mailbox key, hand mailbox read/search/reply work to `sendmux-mailbox-agent` with the new `smx_mbx_` key.\n\nSuspend keeps the mailbox and messages but blocks mailbox access. Delete removes the mailbox and revokes associated keys; confirm deletion explicitly.\n\n## Sending accounts\n\nSending-account management is full CLI/SDK territory until MCP curates provider tools.\n\nCLI commands:\n\n| Action | Command |\n| --- | --- |\n| List | `sendmux management:providers:list --json` |\n| Create | `sendmux management:create-provider --json` |\n| Inspect | `sendmux management:get-provider --json` |\n| Update | `sendmux management:update-provider --json` |\n| Activate | `sendmux management:activate-provider --json` |\n| Deactivate | `sendmux management:deactivate-provider --json` |\n| Test | `sendmux management:test-provider --json` |\n| Limits | `sendmux management:get-provider-limits --json` |\n| Stats | `sendmux management:get-provider-stats --json` |\n| Usage | `sendmux management:get-provider-usage --json` |\n\nSDK helpers include `managementListProviders`, `managementCreateProvider`, `managementGetProvider`, `managementUpdateProvider`, `managementActivateProvider`, `managementDeactivateProvider`, `managementTestProvider`, `managementGetProviderLimits`, `managementGetProviderStats`, and `managementGetProviderUsage`.\n\nDo not print provider credentials. Put secrets in the user's chosen secret store.\n\n## Webhooks\n\nMCP covers the common create-and-test path:\n\n| Action | Tool |\n| --- | --- |\n| List | `management_list_webhooks` |\n| Create | `management_create_webhook` |\n| Test | `management_test_webhook` |\n\nUse CLI or SDK for full lifecycle work:\n\n| Action | CLI command | SDK helper |\n| --- | --- | --- |\n| Inspect | `management:get-webhook` | `managementGetWebhook` |\n| Update | `management:update-webhook` | `managementUpdateWebhook` |\n| Delete | `management:delete-webhook` | `managementDeleteWebhook` |\n| Rotate secret | `management:rotate-webhook-secret` | `managementRotateWebhookSecret` |\n| List deliveries | `management:list-delivery` | `managementListDelivery` |\n| Get delivery payload | `management:get-delivery-payload` | `managementGetDeliveryPayload` |\n\nUse `Idempotency-Key` on create, rotate-secret, and test. Store the webhook signing secret at creation or rotation time; it cannot be retrieved later.\n\n## Billing, logs, and metrics\n\nUse read-only summary endpoints before broad log reads.\n\n| Question | Preferred call |\n| --- | --- |\n| Spend trend | `management_get_spend_summary`, CLI `management:get-spend-summary`, SDK `managementGetSpendSummary`. |\n| Current balance | CLI `management:list-balance`, SDK `managementListBalance`. |\n| Transaction history | CLI `management:list-transactions`, SDK `managementListTransactions`. |\n| Outbound delivery logs | `management_list_email_logs`, CLI `management:list-email-logs`, SDK `managementListEmailLogs`. |\n| One outbound log | `management_get_email_log`, CLI `management:get-email-log`, SDK `managementGetEmailLog`. |\n| Delivery metrics | `management_get_email_metrics`, CLI `management:get-email-metrics`, SDK `managementGetEmailMetrics`. |\n| Incoming logs | CLI `management:list-inbox-logs` / `management:get-inbox-log`, SDK `managementListInboxLogs` / `managementGetInboxLog`. |\n\nCLI:\n\n```bash\nSENDMUX_API_KEY=\"$SENDMUX_ROOT_KEY\" sendmux management:get-spend-summary \\\n  --query days=30 \\\n  --json\n\nSENDMUX_API_KEY=\"$SENDMUX_ROOT_KEY\" sendmux management:list-email-logs \\\n  --query status=failed \\\n  --query limit=20 \\\n  --json\n\nSENDMUX_API_KEY=\"$SENDMUX_ROOT_KEY\" sendmux management:get-email-log \\\n  --path public_id=dlog_abc \\\n  --header If-None-Match=\"$ETAG\" \\\n  --json\n```\n\n## Routing\n\n- First setup/auth check: `sendmux-getting-started`.\n- Single or batch transactional sending: `sendmux-send-email`.\n- Mailbox read, search, sync, triage, or reply: `sendmux-mailbox-agent`.\n- CLI command details: `sendmux-cli`.\n- MCP connection setup: `sendmux-mcp-setup`.\n- Cheapest-call doctrine: `sendmux-token-efficient-usage`.\n\nFile v1.0.4:_meta.json\n\n{\n  \"ownerId\": \"kn77z51yqhw8mt9vjfkpt8w74989rfb3\",\n  \"slug\": \"sendmux-management\",\n  \"version\": \"1.0.4\",\n  \"publishedAt\": 1788242737161\n}\n\nFile v1.0.4:skill-card.md\n\n## Description:\n\nManage Sendmux domains, mailboxes, mailbox keys, sending accounts, webhooks, logs, billing, and account-level setup.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[sendmux.ai](https://clawhub.ai/user/sendmux.ai)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nDevelopers, operators, and team administrators use this skill to manage Sendmux account resources such as domains, mailboxes, mailbox keys, sending accounts, webhooks, logs, billing, and metrics. It is intended for owner-administered account management, not mailbox reading or agent self-registration flows.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: The skill can guide account-management actions using Sendmux API keys, root keys, mailbox keys, provider credentials, and webhook secrets.\n\nMitigation: Use scoped tokens where possible, keep root keys and one-time secrets in a secret store, and avoid pasting or printing secrets in chat.\n\nRisk: The skill can guide destructive or sensitive operations such as deleting resources, suspending mailboxes, changing providers, and rotating webhook secrets.\n\nMitigation: Require explicit confirmation of the target resource and operation before deletes, suspensions, provider changes, test deliveries, or secret rotations.\n\nRisk: Using account-management flows for mailbox runtime work or agent self-registration can over-scope credentials.\n\nMitigation: Route mailbox read, search, sync, triage, and reply tasks to the mailbox skill, and route self-registration to the getting-started flow instead of exposing a root key.\n\n## Reference(s):\n\n- [Sendmux Skills](https://github.com/Sendmux/skills)\n- [ClawHub sendmux-management Skill](https://clawhub.ai/sendmux.ai/skills/sendmux-management)\n- [Sendmux Publisher Profile](https://clawhub.ai/user/sendmux.ai)\n\n## Skill Output:\n\n**Output Type(s):** [text, markdown, code, shell commands, configuration, guidance]\n\n**Output Format:** [Markdown guidance with inline bash and TypeScript examples, API operation names, and configuration notes.]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [May propose CLI, SDK, HTTP, or MCP operations; destructive account actions and secret-handling steps require user review.]\n\n## Skill Version(s):\n\n1.0.4 (source: server release metadata; artifact frontmatter states 1.4.0)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nArchive v1.0.3: 3 files, 4572 bytes\n\nFiles: skill-card.md (2162b), SKILL.md (9524b), _meta.json (137b)\n\nFile v1.0.3:SKILL.md\n\n---\nname: \"sendmux-management\"\ndescription: \"Manage Sendmux domains, mailboxes, mailbox keys, sending accounts, webhooks, logs, billing, and account-level setup.\"\nversion: \"1.3.0\"\nmetadata:\n  openclaw:\n    skillKey: \"sendmux-management\"\n    homepage: \"https://github.com/Sendmux/skills\"\n    primaryEnv: \"SENDMUX_API_KEY\"\n    envVars:\n      - name: \"SENDMUX_API_KEY\"\n        required: false\n        description: \"Optional Sendmux API key or scoped agent token used by CLI, SDK, HTTP, or MCP examples.\"\n      - name: \"SENDMUX_ROOT_KEY\"\n        required: false\n        description: \"Optional Sendmux root key for account-level Management API setup.\"\n---\n\n# Sendmux management\n\n## ClawHub account note\n\nThis ClawHub skill connects OpenClaw agents to Sendmux. Some workflows require a Sendmux account and an appropriate Sendmux API key or agent token. Sendmux account usage is external to ClawHub; do not ask users to paste secrets into chat.\n\nUse this skill for team administration with an `smx_root_` key.\n\n## Boundaries\n\n- Do not ask the user to paste an API key or one-time secret.\n- Use `smx_root_` keys for Management API calls.\n- Do not use management calls to read, triage, sync, or reply from a mailbox; route those tasks to `sendmux-mailbox-agent`.\n- Treat create-key and webhook-secret responses as sensitive one-time values. Put them only in the user's chosen secret store or secure output path.\n- Confirm destructive operations before deleting domains, mailboxes, mailbox keys, sending accounts, or webhooks.\n- Confirm the target resource before suspend, resume, rotate-secret, or test-delivery operations.\n\n## Surface choice\n\n| Task | Preferred surface |\n| --- | --- |\n| Domains | MCP for list/create/get/zone-file/verify; CLI or SDK for update/delete/filter rules. |\n| Mailboxes | MCP for list/create/get/update/suspend/resume/key create/key delete; CLI or SDK for delete and filters. |\n| Sending accounts | CLI or SDK. MCP does not curate provider tools yet. |\n| Webhooks | MCP for list/create/test; CLI or SDK for get/update/delete/rotate-secret/deliveries/payloads. |\n| Billing and spend | MCP `management_get_spend_summary`; CLI or SDK for balance and transactions. |\n| Outbound delivery logs and metrics | MCP for list/get logs and metrics; CLI or SDK also work. |\n| Incoming logs | CLI or SDK. MCP does not curate incoming-log tools yet. |\n\nFor terminal work, use the `sendmux` CLI with `--json`. For application code, use `@sendmux/management` and `createManagementClient`.\n\n## Efficient defaults\n\n- Use small `limit` values on list endpoints and follow `pagination.next_cursor` only when more rows are needed.\n- Use `Idempotency-Key` on create, suspend, resume, rotate-secret, and test mutations that accept it.\n- Use `If-None-Match` for repeated detail reads that return `ETag`.\n- Use `If-Match` for update or replace operations when the API exposes optimistic concurrency.\n- For questions about counts or trends, use summary or metrics endpoints before log lists.\n- For one email or webhook delivery, list with filters first, then fetch the selected record.\n\n## Domains\n\nUse domains for sending setup and hosted mailbox domains.\n\nMCP tools:\n\n| Action | Tool |\n| --- | --- |\n| List | `management_list_domains` |\n| Create | `management_create_domain` |\n| Inspect | `management_get_domain` |\n| DNS records | `management_get_domain_zone_file` |\n| Verify DNS | `management_verify_domain` |\n\nCLI:\n\n```bash\nSENDMUX_API_KEY=\"$SENDMUX_ROOT_KEY\" sendmux management:create-domain \\\n  --idempotency-key \"$IDEMPOTENCY_KEY\" \\\n  --body '{\"domain\":\"example.com\",\"mode\":\"send_receive\"}' \\\n  --json\n\nSENDMUX_API_KEY=\"$SENDMUX_ROOT_KEY\" sendmux management:get-domain-zone-file \\\n  --path public_id=mdom_abc \\\n  --json\n\nSENDMUX_API_KEY=\"$SENDMUX_ROOT_KEY\" sendmux management:verify-domain \\\n  --path public_id=mdom_abc \\\n  --json\n```\n\nSDK:\n\n```ts\nimport {\n  createManagementClient,\n  managementCreateDomain,\n  managementGetDomainZoneFile,\n  managementVerifyDomain,\n} from \"@sendmux/management\";\n\nconst client = createManagementClient({ apiKey: process.env.SENDMUX_API_KEY! });\n\nawait managementCreateDomain({\n  client,\n  headers: { \"Idempotency-Key\": process.env.IDEMPOTENCY_KEY! },\n  body: { domain: \"example.com\", mode: \"send_receive\" },\n});\n\nconst zone = await managementGetDomainZoneFile({\n  client,\n  path: { public_id: \"mdom_abc\" },\n});\n\nawait managementVerifyDomain({\n  client,\n  path: { public_id: \"mdom_abc\" },\n});\n```\n\nUse CLI `management:update-domain` or SDK `managementUpdateDomain` with `If-Match` for mode upgrades. Confirm before delete.\n\n## Mailboxes and keys\n\nCreate mailboxes with a root key; use mailbox keys afterwards for agent mailbox work.\n\nMCP tools:\n\n| Action | Tool |\n| --- | --- |\n| List | `management_list_mailboxes` |\n| Create | `management_create_mailbox` |\n| Inspect | `management_get_mailbox` |\n| Update | `management_update_mailbox` |\n| Suspend | `management_suspend_mailbox` |\n| Resume | `management_resume_mailbox` |\n| Create mailbox key | `management_create_mailbox_key` |\n| Delete mailbox key | `management_delete_mailbox_key` |\n\nCLI:\n\n```bash\nSENDMUX_API_KEY=\"$SENDMUX_ROOT_KEY\" sendmux management:create-mailbox \\\n  --idempotency-key \"$IDEMPOTENCY_KEY\" \\\n  --body '{\n    \"email\": \"agent@example.com\",\n    \"display_name\": \"Agent Inbox\",\n    \"quota_bytes\": 1073741824\n  }' \\\n  --json\n\nSENDMUX_API_KEY=\"$SENDMUX_ROOT_KEY\" sendmux management:create-mailbox-key \\\n  --path public_id=mbx_abc \\\n  --idempotency-key \"$IDEMPOTENCY_KEY\" \\\n  --body '{\"name\":\"agent-runtime\"}' \\\n  --json\n```\n\nAfter creating a mailbox key, hand mailbox read/search/reply work to `sendmux-mailbox-agent` with the new `smx_mbx_` key.\n\nSuspend keeps the mailbox and messages but blocks mailbox access. Delete removes the mailbox and revokes associated keys; confirm deletion explicitly.\n\n## Sending accounts\n\nSending-account management is full CLI/SDK territory until MCP curates provider tools.\n\nCLI commands:\n\n| Action | Command |\n| --- | --- |\n| List | `sendmux management:providers:list --json` |\n| Create | `sendmux management:create-provider --json` |\n| Inspect | `sendmux management:get-provider --json` |\n| Update | `sendmux management:update-provider --json` |\n| Activate | `sendmux management:activate-provider --json` |\n| Deactivate | `sendmux management:deactivate-provider --json` |\n| Test | `sendmux management:test-provider --json` |\n| Limits | `sendmux management:get-provider-limits --json` |\n| Stats | `sendmux management:get-provider-stats --json` |\n| Usage | `sendmux management:get-provider-usage --json` |\n\nSDK helpers include `managementListProviders`, `managementCreateProvider`, `managementGetProvider`, `managementUpdateProvider`, `managementActivateProvider`, `managementDeactivateProvider`, `managementTestProvider`, `managementGetProviderLimits`, `managementGetProviderStats`, and `managementGetProviderUsage`.\n\nDo not print provider credentials. Put secrets in the user's chosen secret store.\n\n## Webhooks\n\nMCP covers the common create-and-test path:\n\n| Action | Tool |\n| --- | --- |\n| List | `management_list_webhooks` |\n| Create | `management_create_webhook` |\n| Test | `management_test_webhook` |\n\nUse CLI or SDK for full lifecycle work:\n\n| Action | CLI command | SDK helper |\n| --- | --- | --- |\n| Inspect | `management:get-webhook` | `managementGetWebhook` |\n| Update | `management:update-webhook` | `managementUpdateWebhook` |\n| Delete | `management:delete-webhook` | `managementDeleteWebhook` |\n| Rotate secret | `management:rotate-webhook-secret` | `managementRotateWebhookSecret` |\n| List deliveries | `management:list-delivery` | `managementListDelivery` |\n| Get delivery payload | `management:get-delivery-payload` | `managementGetDeliveryPayload` |\n\nUse `Idempotency-Key` on create, rotate-secret, and test. Store the webhook signing secret at creation or rotation time; it cannot be retrieved later.\n\n## Billing, logs, and metrics\n\nUse read-only summary endpoints before broad log reads.\n\n| Question | Preferred call |\n| --- | --- |\n| Spend trend | `management_get_spend_summary`, CLI `management:get-spend-summary`, SDK `managementGetSpendSummary`. |\n| Current balance | CLI `management:list-balance`, SDK `managementListBalance`. |\n| Transaction history | CLI `management:list-transactions`, SDK `managementListTransactions`. |\n| Outbound delivery logs | `management_list_email_logs`, CLI `management:list-email-logs`, SDK `managementListEmailLogs`. |\n| One outbound log | `management_get_email_log`, CLI `management:get-email-log`, SDK `managementGetEmailLog`. |\n| Delivery metrics | `management_get_email_metrics`, CLI `management:get-email-metrics`, SDK `managementGetEmailMetrics`. |\n| Incoming logs | CLI `management:list-inbox-logs` / `management:get-inbox-log`, SDK `managementListInboxLogs` / `managementGetInboxLog`. |\n\nCLI:\n\n```bash\nSENDMUX_API_KEY=\"$SENDMUX_ROOT_KEY\" sendmux management:get-spend-summary \\\n  --query days=30 \\\n  --json\n\nSENDMUX_API_KEY=\"$SENDMUX_ROOT_KEY\" sendmux management:list-email-logs \\\n  --query status=failed \\\n  --query limit=20 \\\n  --json\n\nSENDMUX_API_KEY=\"$SENDMUX_ROOT_KEY\" sendmux management:get-email-log \\\n  --path public_id=dlog_abc \\\n  --header If-None-Match=\"$ETAG\" \\\n  --json\n```\n\n## Routing\n\n- First setup/auth check: `sendmux-getting-started`.\n- Single or batch transactional sending: `sendmux-send-email`.\n- Mailbox read, search, sync, triage, or reply: `sendmux-mailbox-agent`.\n- CLI command details: `sendmux-cli`.\n- MCP connection setup: `sendmux-mcp-setup`.\n- Cheapest-call doctrine: `sendmux-token-efficient-usage`.\n\nFile v1.0.3:_meta.json\n\n{\n  \"ownerId\": \"kn77z51yqhw8mt9vjfkpt8w74989rfb3\",\n  \"slug\": \"sendmux-management\",\n  \"version\": \"1.0.3\",\n  \"publishedAt\": 1783569516807\n}\n\nFile v1.0.3:skill-card.md\n\n## Description: <br>\nManage Sendmux domains, mailboxes, mailbox keys, sending accounts, webhooks, logs, billing, and account-level setup. <br>\n\nThis skill is ready for commercial/non-commercial use. <br>\n\n## Publisher: <br>\n[sendmux.ai](https://clawhub.ai/user/sendmux.ai) <br>\n\n### License/Terms of Use: <br>\nMIT-0 <br>\n\n\n## Use Case: <br>\nDevelopers, operators, and team administrators use this skill to manage Sendmux account resources, including domains, mailboxes, mailbox keys, sending accounts, webhooks, logs, billing, and account-level setup. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: Sendmux root credentials can administer account-level resources and expose sensitive one-time secrets. <br>\nMitigation: Use scoped Sendmux credentials where possible, keep root keys and generated secrets in a secret store, and do not paste secrets into chat. <br>\nRisk: Administrative actions can delete, suspend, rotate, test, or expose account resources, billing data, and logs. <br>\nMitigation: Review confirmations carefully and verify target resources before destructive, high-impact, billing, log, or secret-rotation operations. <br>\n\n\n## Reference(s): <br>\n- [ClawHub Skill Page](https://clawhub.ai/sendmux.ai/skills/sendmux-management) <br>\n- [Sendmux Skills Homepage](https://github.com/Sendmux/skills) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [text, markdown, code, shell commands, configuration, guidance] <br>\n**Output Format:** [Markdown guidance with CLI commands, TypeScript code examples, MCP tool names, and configuration notes] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [Includes guidance for handling Sendmux credentials, confirmations, pagination, idempotency keys, and concurrency headers.] <br>\n\n## Skill Version(s): <br>\n1.0.3 (source: server release metadata) <br>\n\n## Ethical Considerations: <br>\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment. <br>\n\nArchive v1.0.2: 3 files, 4694 bytes\n\nFiles: skill-card.md (2401b), SKILL.md (9524b), _meta.json (137b)\n\nFile v1.0.2:SKILL.md\n\n---\nname: \"sendmux-management\"\ndescription: \"Manage Sendmux domains, mailboxes, mailbox keys, sending accounts, webhooks, logs, billing, and account-level setup.\"\nversion: \"1.2.0\"\nmetadata:\n  openclaw:\n    skillKey: \"sendmux-management\"\n    homepage: \"https://github.com/Sendmux/skills\"\n    primaryEnv: \"SENDMUX_API_KEY\"\n    envVars:\n      - name: \"SENDMUX_API_KEY\"\n        required: false\n        description: \"Optional Sendmux API key or scoped agent token used by CLI, SDK, HTTP, or MCP examples.\"\n      - name: \"SENDMUX_ROOT_KEY\"\n        required: false\n        description: \"Optional Sendmux root key for account-level Management API setup.\"\n---\n\n# Sendmux management\n\n## ClawHub account note\n\nThis ClawHub skill connects OpenClaw agents to Sendmux. Some workflows require a Sendmux account and an appropriate Sendmux API key or agent token. Sendmux account usage is external to ClawHub; do not ask users to paste secrets into chat.\n\nUse this skill for team administration with an `smx_root_` key.\n\n## Boundaries\n\n- Do not ask the user to paste an API key or one-time secret.\n- Use `smx_root_` keys for Management API calls.\n- Do not use management calls to read, triage, sync, or reply from a mailbox; route those tasks to `sendmux-mailbox-agent`.\n- Treat create-key and webhook-secret responses as sensitive one-time values. Put them only in the user's chosen secret store or secure output path.\n- Confirm destructive operations before deleting domains, mailboxes, mailbox keys, sending accounts, or webhooks.\n- Confirm the target resource before suspend, resume, rotate-secret, or test-delivery operations.\n\n## Surface choice\n\n| Task | Preferred surface |\n| --- | --- |\n| Domains | MCP for list/create/get/zone-file/verify; CLI or SDK for update/delete/filter rules. |\n| Mailboxes | MCP for list/create/get/update/suspend/resume/key create/key delete; CLI or SDK for delete and filters. |\n| Sending accounts | CLI or SDK. MCP does not curate provider tools yet. |\n| Webhooks | MCP for list/create/test; CLI or SDK for get/update/delete/rotate-secret/deliveries/payloads. |\n| Billing and spend | MCP `management_get_spend_summary`; CLI or SDK for balance and transactions. |\n| Outbound delivery logs and metrics | MCP for list/get logs and metrics; CLI or SDK also work. |\n| Incoming logs | CLI or SDK. MCP does not curate incoming-log tools yet. |\n\nFor terminal work, use the `sendmux` CLI with `--json`. For application code, use `@sendmux/management` and `createManagementClient`.\n\n## Efficient defaults\n\n- Use small `limit` values on list endpoints and follow `pagination.next_cursor` only when more rows are needed.\n- Use `Idempotency-Key` on create, suspend, resume, rotate-secret, and test mutations that accept it.\n- Use `If-None-Match` for repeated detail reads that return `ETag`.\n- Use `If-Match` for update or replace operations when the API exposes optimistic concurrency.\n- For questions about counts or trends, use summary or metrics endpoints before log lists.\n- For one email or webhook delivery, list with filters first, then fetch the selected record.\n\n## Domains\n\nUse domains for sending setup and hosted mailbox domains.\n\nMCP tools:\n\n| Action | Tool |\n| --- | --- |\n| List | `management_list_domains` |\n| Create | `management_create_domain` |\n| Inspect | `management_get_domain` |\n| DNS records | `management_get_domain_zone_file` |\n| Verify DNS | `management_verify_domain` |\n\nCLI:\n\n```bash\nSENDMUX_API_KEY=\"$SENDMUX_ROOT_KEY\" sendmux management:create-domain \\\n  --idempotency-key \"$IDEMPOTENCY_KEY\" \\\n  --body '{\"domain\":\"example.com\",\"mode\":\"send_receive\"}' \\\n  --json\n\nSENDMUX_API_KEY=\"$SENDMUX_ROOT_KEY\" sendmux management:get-domain-zone-file \\\n  --path public_id=mdom_abc \\\n  --json\n\nSENDMUX_API_KEY=\"$SENDMUX_ROOT_KEY\" sendmux management:verify-domain \\\n  --path public_id=mdom_abc \\\n  --json\n```\n\nSDK:\n\n```ts\nimport {\n  createManagementClient,\n  managementCreateDomain,\n  managementGetDomainZoneFile,\n  managementVerifyDomain,\n} from \"@sendmux/management\";\n\nconst client = createManagementClient({ apiKey: process.env.SENDMUX_API_KEY! });\n\nawait managementCreateDomain({\n  client,\n  headers: { \"Idempotency-Key\": process.env.IDEMPOTENCY_KEY! },\n  body: { domain: \"example.com\", mode: \"send_receive\" },\n});\n\nconst zone = await managementGetDomainZoneFile({\n  client,\n  path: { public_id: \"mdom_abc\" },\n});\n\nawait managementVerifyDomain({\n  client,\n  path: { public_id: \"mdom_abc\" },\n});\n```\n\nUse CLI `management:update-domain` or SDK `managementUpdateDomain` with `If-Match` for mode upgrades. Confirm before delete.\n\n## Mailboxes and keys\n\nCreate mailboxes with a root key; use mailbox keys afterwards for agent mailbox work.\n\nMCP tools:\n\n| Action | Tool |\n| --- | --- |\n| List | `management_list_mailboxes` |\n| Create | `management_create_mailbox` |\n| Inspect | `management_get_mailbox` |\n| Update | `management_update_mailbox` |\n| Suspend | `management_suspend_mailbox` |\n| Resume | `management_resume_mailbox` |\n| Create mailbox key | `management_create_mailbox_key` |\n| Delete mailbox key | `management_delete_mailbox_key` |\n\nCLI:\n\n```bash\nSENDMUX_API_KEY=\"$SENDMUX_ROOT_KEY\" sendmux management:create-mailbox \\\n  --idempotency-key \"$IDEMPOTENCY_KEY\" \\\n  --body '{\n    \"email\": \"agent@example.com\",\n    \"display_name\": \"Agent Inbox\",\n    \"quota_bytes\": 1073741824\n  }' \\\n  --json\n\nSENDMUX_API_KEY=\"$SENDMUX_ROOT_KEY\" sendmux management:create-mailbox-key \\\n  --path public_id=mbx_abc \\\n  --idempotency-key \"$IDEMPOTENCY_KEY\" \\\n  --body '{\"name\":\"agent-runtime\"}' \\\n  --json\n```\n\nAfter creating a mailbox key, hand mailbox read/search/reply work to `sendmux-mailbox-agent` with the new `smx_mbx_` key.\n\nSuspend keeps the mailbox and messages but blocks mailbox access. Delete removes the mailbox and revokes associated keys; confirm deletion explicitly.\n\n## Sending accounts\n\nSending-account management is full CLI/SDK territory until MCP curates provider tools.\n\nCLI commands:\n\n| Action | Command |\n| --- | --- |\n| List | `sendmux management:providers:list --json` |\n| Create | `sendmux management:create-provider --json` |\n| Inspect | `sendmux management:get-provider --json` |\n| Update | `sendmux management:update-provider --json` |\n| Activate | `sendmux management:activate-provider --json` |\n| Deactivate | `sendmux management:deactivate-provider --json` |\n| Test | `sendmux management:test-provider --json` |\n| Limits | `sendmux management:get-provider-limits --json` |\n| Stats | `sendmux management:get-provider-stats --json` |\n| Usage | `sendmux management:get-provider-usage --json` |\n\nSDK helpers include `managementListProviders`, `managementCreateProvider`, `managementGetProvider`, `managementUpdateProvider`, `managementActivateProvider`, `managementDeactivateProvider`, `managementTestProvider`, `managementGetProviderLimits`, `managementGetProviderStats`, and `managementGetProviderUsage`.\n\nDo not print provider credentials. Put secrets in the user's chosen secret store.\n\n## Webhooks\n\nMCP covers the common create-and-test path:\n\n| Action | Tool |\n| --- | --- |\n| List | `management_list_webhooks` |\n| Create | `management_create_webhook` |\n| Test | `management_test_webhook` |\n\nUse CLI or SDK for full lifecycle work:\n\n| Action | CLI command | SDK helper |\n| --- | --- | --- |\n| Inspect | `management:get-webhook` | `managementGetWebhook` |\n| Update | `management:update-webhook` | `managementUpdateWebhook` |\n| Delete | `management:delete-webhook` | `managementDeleteWebhook` |\n| Rotate secret | `management:rotate-webhook-secret` | `managementRotateWebhookSecret` |\n| List deliveries | `management:list-delivery` | `managementListDelivery` |\n| Get delivery payload | `management:get-delivery-payload` | `managementGetDeliveryPayload` |\n\nUse `Idempotency-Key` on create, rotate-secret, and test. Store the webhook signing secret at creation or rotation time; it cannot be retrieved later.\n\n## Billing, logs, and metrics\n\nUse read-only summary endpoints before broad log reads.\n\n| Question | Preferred call |\n| --- | --- |\n| Spend trend | `management_get_spend_summary`, CLI `management:get-spend-summary`, SDK `managementGetSpendSummary`. |\n| Current balance | CLI `management:list-balance`, SDK `managementListBalance`. |\n| Transaction history | CLI `management:list-transactions`, SDK `managementListTransactions`. |\n| Outbound delivery logs | `management_list_email_logs`, CLI `management:list-email-logs`, SDK `managementListEmailLogs`. |\n| One outbound log | `management_get_email_log`, CLI `management:get-email-log`, SDK `managementGetEmailLog`. |\n| Delivery metrics | `management_get_email_metrics`, CLI `management:get-email-metrics`, SDK `managementGetEmailMetrics`. |\n| Incoming logs | CLI `management:list-inbox-logs` / `management:get-inbox-log`, SDK `managementListInboxLogs` / `managementGetInboxLog`. |\n\nCLI:\n\n```bash\nSENDMUX_API_KEY=\"$SENDMUX_ROOT_KEY\" sendmux management:get-spend-summary \\\n  --query days=30 \\\n  --json\n\nSENDMUX_API_KEY=\"$SENDMUX_ROOT_KEY\" sendmux management:list-email-logs \\\n  --query status=failed \\\n  --query limit=20 \\\n  --json\n\nSENDMUX_API_KEY=\"$SENDMUX_ROOT_KEY\" sendmux management:get-email-log \\\n  --path public_id=dlog_abc \\\n  --header If-None-Match=\"$ETAG\" \\\n  --json\n```\n\n## Routing\n\n- First setup/auth check: `sendmux-getting-started`.\n- Single or batch transactional sending: `sendmux-send-email`.\n- Mailbox read, search, sync, triage, or reply: `sendmux-mailbox-agent`.\n- CLI command details: `sendmux-cli`.\n- MCP connection setup: `sendmux-mcp-setup`.\n- Cheapest-call doctrine: `sendmux-token-efficient-usage`.\n\nFile v1.0.2:_meta.json\n\n{\n  \"ownerId\": \"kn77z51yqhw8mt9vjfkpt8w74989rfb3\",\n  \"slug\": \"sendmux-management\",\n  \"version\": \"1.0.2\",\n  \"publishedAt\": 1783561580587\n}\n\nFile v1.0.2:skill-card.md\n\n## Description: <br>\nManage Sendmux domains, mailboxes, mailbox keys, sending accounts, webhooks, logs, billing, and account-level setup. <br>\n\nThis skill is ready for commercial/non-commercial use. <br>\n\n## Publisher: <br>\n[sendmux.ai](https://clawhub.ai/user/sendmux.ai) <br>\n\n### License/Terms of Use: <br>\nMIT-0 <br>\n\n\n## Use Case: <br>\nDevelopers and administrators use this skill to manage Sendmux account resources, including domains, mailboxes, mailbox keys, sending accounts, webhooks, logs, billing, and account-level setup. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: Sendmux API keys and one-time secrets may be exposed if pasted into chat or printed in ordinary output. <br>\nMitigation: Use least-privileged Sendmux keys, keep root keys in a secret store, and write returned keys or webhook secrets only to the user's chosen secure destination. <br>\nRisk: Administrative operations can delete, suspend, resume, rotate, or otherwise change Sendmux resources. <br>\nMitigation: Confirm the target resource before destructive or sensitive operations and use idempotency or concurrency headers where the Sendmux API supports them. <br>\nRisk: Billing, log, and delivery lookups can expose sensitive account or message-delivery information. <br>\nMitigation: Use scoped credentials, small result limits, and summary endpoints before broad log queries. <br>\n\n\n## Reference(s): <br>\n- [Sendmux skills homepage](https://github.com/Sendmux/skills) <br>\n- [ClawHub skill page](https://clawhub.ai/sendmux.ai/skills/sendmux-management) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [guidance, markdown, code, shell commands, configuration] <br>\n**Output Format:** [Markdown guidance with tables and inline bash and TypeScript examples] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [No executable code; examples require Sendmux credentials and explicit confirmation for destructive or sensitive account-management actions.] <br>\n\n## Skill Version(s): <br>\n1.0.2 (source: server release metadata; artifact frontmatter lists 1.2.0) <br>\n\n## Ethical Considerations: <br>\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment. <br>\n\nArchive v1.0.1: 3 files, 4650 bytes\n\nFiles: skill-card.md (2309b), SKILL.md (9524b), _meta.json (137b)\n\nFile v1.0.1:SKILL.md\n\n---\nname: \"sendmux-management\"\ndescription: \"Manage Sendmux domains, mailboxes, mailbox keys, sending accounts, webhooks, logs, billing, and account-level setup.\"\nversion: \"1.1.0\"\nmetadata:\n  openclaw:\n    skillKey: \"sendmux-management\"\n    homepage: \"https://github.com/Sendmux/skills\"\n    primaryEnv: \"SENDMUX_API_KEY\"\n    envVars:\n      - name: \"SENDMUX_API_KEY\"\n        required: false\n        description: \"Optional Sendmux API key or scoped agent token used by CLI, SDK, HTTP, or MCP examples.\"\n      - name: \"SENDMUX_ROOT_KEY\"\n        required: false\n        description: \"Optional Sendmux root key for account-level Management API setup.\"\n---\n\n# Sendmux management\n\n## ClawHub account note\n\nThis ClawHub skill connects OpenClaw agents to Sendmux. Some workflows require a Sendmux account and an appropriate Sendmux API key or agent token. Sendmux account usage is external to ClawHub; do not ask users to paste secrets into chat.\n\nUse this skill for team administration with an `smx_root_` key.\n\n## Boundaries\n\n- Do not ask the user to paste an API key or one-time secret.\n- Use `smx_root_` keys for Management API calls.\n- Do not use management calls to read, triage, sync, or reply from a mailbox; route those tasks to `sendmux-mailbox-agent`.\n- Treat create-key and webhook-secret responses as sensitive one-time values. Put them only in the user's chosen secret store or secure output path.\n- Confirm destructive operations before deleting domains, mailboxes, mailbox keys, sending accounts, or webhooks.\n- Confirm the target resource before suspend, resume, rotate-secret, or test-delivery operations.\n\n## Surface choice\n\n| Task | Preferred surface |\n| --- | --- |\n| Domains | MCP for list/create/get/zone-file/verify; CLI or SDK for update/delete/filter rules. |\n| Mailboxes | MCP for list/create/get/update/suspend/resume/key create/key delete; CLI or SDK for delete and filters. |\n| Sending accounts | CLI or SDK. MCP does not curate provider tools yet. |\n| Webhooks | MCP for list/create/test; CLI or SDK for get/update/delete/rotate-secret/deliveries/payloads. |\n| Billing and spend | MCP `management_get_spend_summary`; CLI or SDK for balance and transactions. |\n| Outbound delivery logs and metrics | MCP for list/get logs and metrics; CLI or SDK also work. |\n| Incoming logs | CLI or SDK. MCP does not curate incoming-log tools yet. |\n\nFor terminal work, use the `sendmux` CLI with `--json`. For application code, use `@sendmux/management` and `createManagementClient`.\n\n## Efficient defaults\n\n- Use small `limit` values on list endpoints and follow `pagination.next_cursor` only when more rows are needed.\n- Use `Idempotency-Key` on create, suspend, resume, rotate-secret, and test mutations that accept it.\n- Use `If-None-Match` for repeated detail reads that return `ETag`.\n- Use `If-Match` for update or replace operations when the API exposes optimistic concurrency.\n- For questions about counts or trends, use summary or metrics endpoints before log lists.\n- For one email or webhook delivery, list with filters first, then fetch the selected record.\n\n## Domains\n\nUse domains for sending setup and hosted mailbox domains.\n\nMCP tools:\n\n| Action | Tool |\n| --- | --- |\n| List | `management_list_domains` |\n| Create | `management_create_domain` |\n| Inspect | `management_get_domain` |\n| DNS records | `management_get_domain_zone_file` |\n| Verify DNS | `management_verify_domain` |\n\nCLI:\n\n```bash\nSENDMUX_API_KEY=\"$SENDMUX_ROOT_KEY\" sendmux management:create-domain \\\n  --idempotency-key \"$IDEMPOTENCY_KEY\" \\\n  --body '{\"domain\":\"example.com\",\"mode\":\"send_receive\"}' \\\n  --json\n\nSENDMUX_API_KEY=\"$SENDMUX_ROOT_KEY\" sendmux management:get-domain-zone-file \\\n  --path public_id=mdom_abc \\\n  --json\n\nSENDMUX_API_KEY=\"$SENDMUX_ROOT_KEY\" sendmux management:verify-domain \\\n  --path public_id=mdom_abc \\\n  --json\n```\n\nSDK:\n\n```ts\nimport {\n  createManagementClient,\n  managementCreateDomain,\n  managementGetDomainZoneFile,\n  managementVerifyDomain,\n} from \"@sendmux/management\";\n\nconst client = createManagementClient({ apiKey: process.env.SENDMUX_API_KEY! });\n\nawait managementCreateDomain({\n  client,\n  headers: { \"Idempotency-Key\": process.env.IDEMPOTENCY_KEY! },\n  body: { domain: \"example.com\", mode: \"send_receive\" },\n});\n\nconst zone = await managementGetDomainZoneFile({\n  client,\n  path: { public_id: \"mdom_abc\" },\n});\n\nawait managementVerifyDomain({\n  client,\n  path: { public_id: \"mdom_abc\" },\n});\n```\n\nUse CLI `management:update-domain` or SDK `managementUpdateDomain` with `If-Match` for mode upgrades. Confirm before delete.\n\n## Mailboxes and keys\n\nCreate mailboxes with a root key; use mailbox keys afterwards for agent mailbox work.\n\nMCP tools:\n\n| Action | Tool |\n| --- | --- |\n| List | `management_list_mailboxes` |\n| Create | `management_create_mailbox` |\n| Inspect | `management_get_mailbox` |\n| Update | `management_update_mailbox` |\n| Suspend | `management_suspend_mailbox` |\n| Resume | `management_resume_mailbox` |\n| Create mailbox key | `management_create_mailbox_key` |\n| Delete mailbox key | `management_delete_mailbox_key` |\n\nCLI:\n\n```bash\nSENDMUX_API_KEY=\"$SENDMUX_ROOT_KEY\" sendmux management:create-mailbox \\\n  --idempotency-key \"$IDEMPOTENCY_KEY\" \\\n  --body '{\n    \"email\": \"agent@example.com\",\n    \"display_name\": \"Agent Inbox\",\n    \"quota_bytes\": 1073741824\n  }' \\\n  --json\n\nSENDMUX_API_KEY=\"$SENDMUX_ROOT_KEY\" sendmux management:create-mailbox-key \\\n  --path public_id=mbx_abc \\\n  --idempotency-key \"$IDEMPOTENCY_KEY\" \\\n  --body '{\"name\":\"agent-runtime\"}' \\\n  --json\n```\n\nAfter creating a mailbox key, hand mailbox read/search/reply work to `sendmux-mailbox-agent` with the new `smx_mbx_` key.\n\nSuspend keeps the mailbox and messages but blocks mailbox access. Delete removes the mailbox and revokes associated keys; confirm deletion explicitly.\n\n## Sending accounts\n\nSending-account management is full CLI/SDK territory until MCP curates provider tools.\n\nCLI commands:\n\n| Action | Command |\n| --- | --- |\n| List | `sendmux management:providers:list --json` |\n| Create | `sendmux management:create-provider --json` |\n| Inspect | `sendmux management:get-provider --json` |\n| Update | `sendmux management:update-provider --json` |\n| Activate | `sendmux management:activate-provider --json` |\n| Deactivate | `sendmux management:deactivate-provider --json` |\n| Test | `sendmux management:test-provider --json` |\n| Limits | `sendmux management:get-provider-limits --json` |\n| Stats | `sendmux management:get-provider-stats --json` |\n| Usage | `sendmux management:get-provider-usage --json` |\n\nSDK helpers include `managementListProviders`, `managementCreateProvider`, `managementGetProvider`, `managementUpdateProvider`, `managementActivateProvider`, `managementDeactivateProvider`, `managementTestProvider`, `managementGetProviderLimits`, `managementGetProviderStats`, and `managementGetProviderUsage`.\n\nDo not print provider credentials. Put secrets in the user's chosen secret store.\n\n## Webhooks\n\nMCP covers the common create-and-test path:\n\n| Action | Tool |\n| --- | --- |\n| List | `management_list_webhooks` |\n| Create | `management_create_webhook` |\n| Test | `management_test_webhook` |\n\nUse CLI or SDK for full lifecycle work:\n\n| Action | CLI command | SDK helper |\n| --- | --- | --- |\n| Inspect | `management:get-webhook` | `managementGetWebhook` |\n| Update | `management:update-webhook` | `managementUpdateWebhook` |\n| Delete | `management:delete-webhook` | `managementDeleteWebhook` |\n| Rotate secret | `management:rotate-webhook-secret` | `managementRotateWebhookSecret` |\n| List deliveries | `management:list-delivery` | `managementListDelivery` |\n| Get delivery payload | `management:get-delivery-payload` | `managementGetDeliveryPayload` |\n\nUse `Idempotency-Key` on create, rotate-secret, and test. Store the webhook signing secret at creation or rotation time; it cannot be retrieved later.\n\n## Billing, logs, and metrics\n\nUse read-only summary endpoints before broad log reads.\n\n| Question | Preferred call |\n| --- | --- |\n| Spend trend | `management_get_spend_summary`, CLI `management:get-spend-summary`, SDK `managementGetSpendSummary`. |\n| Current balance | CLI `management:list-balance`, SDK `managementListBalance`. |\n| Transaction history | CLI `management:list-transactions`, SDK `managementListTransactions`. |\n| Outbound delivery logs | `management_list_email_logs`, CLI `management:list-email-logs`, SDK `managementListEmailLogs`. |\n| One outbound log | `management_get_email_log`, CLI `management:get-email-log`, SDK `managementGetEmailLog`. |\n| Delivery metrics | `management_get_email_metrics`, CLI `management:get-email-metrics`, SDK `managementGetEmailMetrics`. |\n| Incoming logs | CLI `management:list-inbox-logs` / `management:get-inbox-log`, SDK `managementListInboxLogs` / `managementGetInboxLog`. |\n\nCLI:\n\n```bash\nSENDMUX_API_KEY=\"$SENDMUX_ROOT_KEY\" sendmux management:get-spend-summary \\\n  --query days=30 \\\n  --json\n\nSENDMUX_API_KEY=\"$SENDMUX_ROOT_KEY\" sendmux management:list-email-logs \\\n  --query status=failed \\\n  --query limit=20 \\\n  --json\n\nSENDMUX_API_KEY=\"$SENDMUX_ROOT_KEY\" sendmux management:get-email-log \\\n  --path public_id=dlog_abc \\\n  --header If-None-Match=\"$ETAG\" \\\n  --json\n```\n\n## Routing\n\n- First setup/auth check: `sendmux-getting-started`.\n- Single or batch transactional sending: `sendmux-send-email`.\n- Mailbox read, search, sync, triage, or reply: `sendmux-mailbox-agent`.\n- CLI command details: `sendmux-cli`.\n- MCP connection setup: `sendmux-mcp-setup`.\n- Cheapest-call doctrine: `sendmux-token-efficient-usage`.\n\nFile v1.0.1:_meta.json\n\n{\n  \"ownerId\": \"kn77z51yqhw8mt9vjfkpt8w74989rfb3\",\n  \"slug\": \"sendmux-management\",\n  \"version\": \"1.0.1\",\n  \"publishedAt\": 1783301818172\n}\n\nFile v1.0.1:skill-card.md\n\n## Description: <br>\nManage Sendmux domains, mailboxes, mailbox keys, sending accounts, webhooks, logs, billing, and account-level setup. <br>\n\nThis skill is ready for commercial/non-commercial use. <br>\n\n## Publisher: <br>\n[sendmux.ai](https://clawhub.ai/user/sendmux.ai) <br>\n\n### License/Terms of Use: <br>\nMIT-0 <br>\n\n\n## Use Case: <br>\nDevelopers and operations teams use this skill to administer Sendmux account resources, including domains, mailboxes, sending accounts, webhooks, billing, logs, and delivery metrics. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: The skill can direct account-level Sendmux administration actions such as deletes, suspensions, secret rotations, webhook tests, and provider changes. <br>\nMitigation: Review confirmations carefully before destructive or account-level changes, and confirm the target resource before suspend, resume, rotate-secret, or test-delivery operations. <br>\nRisk: Sendmux root keys, scoped tokens, mailbox keys, provider credentials, and webhook secrets may expose sensitive account capabilities. <br>\nMitigation: Use scoped Sendmux tokens when possible, keep root keys out of chat, avoid printing provider credentials, and store generated secrets only in the user's chosen secret store or secure output path. <br>\n\n\n## Reference(s): <br>\n- [Sendmux skills repository](https://github.com/Sendmux/skills) <br>\n- [Sendmux Management on ClawHub](https://clawhub.ai/sendmux.ai/skills/sendmux-management) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [guidance, shell commands, code, configuration] <br>\n**Output Format:** [Markdown with CLI examples, SDK snippets, MCP tool names, and operational guidance] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [May reference Sendmux API keys, root keys, scoped tokens, idempotency keys, ETags, and secure secret storage choices.] <br>\n\n## Skill Version(s): <br>\n1.0.1 (source: server release metadata); artifact frontmatter reports 1.1.0 <br>\n\n## Ethical Considerations: <br>\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment. <br>","readmeExcerpt":"Skill: sendmux-management Owner: sendmux.ai Summary: Manage Sendmux domains, mailboxes, mailbox keys, sending accounts, webhooks, logs, billing, and account-level setup. Tags: latest:1.0.10 Version history: v1.0.10 | 2026-10-02T04:23:04.082Z | auto sendmux-management 1.0.10 - Updated skill documentation (SKILL.md) with minor version bump from 1.7.0 to 1.7.1. - Removed obsolete skill-card.md file. - No changes to logi","codeSnippets":[],"executableExamples":[{"language":"json","snippet":"{\n  \"ok\": true,\n  \"meta\": { \"request_id\": \"EXAMPLE_REQUEST_ID\" },\n  \"data\": {\n    \"credential\": { \"id\": \"EXAMPLE_CREDENTIAL_ID\", \"name\": \"Example connection\", \"type\": \"oauth\" },\n    \"label\": \"Example connection\",\n    \"team\": { \"id\": \"EXAMPLE_TEAM_ID\", \"name\": \"Example team\" },\n    \"mailboxes\": [{ \"id\": \"EXAMPLE_MAILBOX_ID\", \"email\": \"agent@example.com\" }],\n    \"permissions\": [\"domain.read\", \"billing.read\"]\n  }\n}"},{"language":"bash","snippet":"SENDMUX_API_KEY=\"$SENDMUX_ROOT_KEY\" sendmux management:create-domain \\\n  --idempotency-key \"$IDEMPOTENCY_KEY\" \\\n  --body '{\"domain\":\"example.com\",\"mode\":\"send_receive\"}' \\\n  --json\n\nSENDMUX_API_KEY=\"$SENDMUX_ROOT_KEY\" sendmux management:get-domain-zone-file \\\n  --path public_id=mdom_abc \\\n  --json\n\nSENDMUX_API_KEY=\"$SENDMUX_ROOT_KEY\" sendmux management:verify-domain \\\n  --path public_id=mdom_abc \\\n  --json"},{"language":"ts","snippet":"import {\n  createManagementClient,\n  managementCreateDomain,\n  managementGetDomainZoneFile,\n  managementVerifyDomain,\n} from \"@sendmux/management\";\n\nconst client = createManagementClient({ apiKey: process.env.SENDMUX_API_KEY! });\n\nawait managementCreateDomain({\n  client,\n  headers: { \"Idempotency-Key\": process.env.IDEMPOTENCY_KEY! },\n  body: { domain: \"example.com\", mode: \"send_receive\" },\n});\n\nconst zone = await managementGetDomainZoneFile({\n  client,\n  path: { public_id: \"mdom_abc\" },\n});\n\nawait managementVerifyDomain({\n  client,\n  path: { public_id: \"mdom_abc\" },\n});"},{"language":"bash","snippet":"SENDMUX_API_KEY=\"$SENDMUX_ROOT_KEY\" sendmux management:create-mailbox \\\n  --idempotency-key \"$IDEMPOTENCY_KEY\" \\\n  --body '{\n    \"email\": \"agent@example.com\",\n    \"display_name\": \"Agent Inbox\",\n    \"quota_bytes\": 1073741824\n  }' \\\n  --json\n\nSENDMUX_API_KEY=\"$SENDMUX_ROOT_KEY\" sendmux management:create-mailbox-key \\\n  --path public_id=mbx_abc \\\n  --idempotency-key \"$IDEMPOTENCY_KEY\" \\\n  --body '{\"app_name\":\"agent-runtime\"}' \\\n  --json"},{"language":"bash","snippet":"SENDMUX_API_KEY=\"$SENDMUX_ROOT_KEY\" sendmux management:get-spend-summary \\\n  --query days=30 \\\n  --json\n\nSENDMUX_API_KEY=\"$SENDMUX_ROOT_KEY\" sendmux management:list-email-logs \\\n  --query status=failed \\\n  --query limit=20 \\\n  --json\n\nSENDMUX_API_KEY=\"$SENDMUX_ROOT_KEY\" sendmux management:get-email-log \\\n  --path public_id=dlog_abc \\\n  --header If-None-Match=\"$ETAG\" \\\n  --json"},{"language":"json","snippet":"{\n  \"ok\": true,\n  \"meta\": { \"request_id\": \"EXAMPLE_REQUEST_ID\" },\n  \"data\": {\n    \"credential\": { \"id\": \"EXAMPLE_CREDENTIAL_ID\", \"name\": \"Example connection\", \"type\": \"oauth\" },\n    \"label\": \"Example connection\",\n    \"team\": { \"id\": \"EXAMPLE_TEAM_ID\", \"name\": \"Example team\" },\n    \"mailboxes\": [{ \"id\": \"EXAMPLE_MAILBOX_ID\", \"email\": \"agent@example.com\" }],\n    \"permissions\": [\"domain.read\", \"billing.read\"]\n  }\n}"}],"parameters":null,"dependencies":[],"permissions":[],"extractedFiles":[{"path":"SKILL.md","content":"---\nname: \"sendmux-management\"\ndescription: \"Manage Sendmux domains, mailboxes, mailbox keys, sending accounts, webhooks, logs, billing, and account-level setup.\"\nversion: \"1.7.1\"\nmetadata:\n  openclaw:\n    skillKey: \"sendmux-management\"\n    homepage: \"https://github.com/Sendmux/skills\"\n    primaryEnv: \"SENDMUX_API_KEY\"\n    envVars:\n      - name: \"SENDMUX_API_KEY\"\n        required: false\n        description: \"Optional Sendmux API key or scoped agent token used by CLI, SDK, HTTP, or MCP examples.\"\n      - name: \"SENDMUX_ROOT_KEY\"\n        required: false\n        description: \"Optional Sendmux root key for account-level Management API setup.\"\n---\n\n# Sendmux management\n\n## ClawHub account note\n\nThis ClawHub skill connects OpenClaw agents to Sendmux. Some workflows require a Sendmux account and an appropriate Sendmux API key or agent token. Sendmux account usage is external to ClawHub; do not ask users to paste secrets into chat.\n\nUse this skill for team administration with an `smx_root_` key or a REST OAuth grant with Management access.\n\n## Boundaries\n\n- Do not ask the user to paste an API key or one-time secret.\n- Use a root API-key profile or OAuth profile with Management access and the operation's required scopes. OAuth remains limited by the authorising user's current team permissions.\n- Agent self-registration does not require Management or a root key. Route a user who only wants an agent inbox to `sendmux-getting-started` and `sendmux agent:register`.\n- Do not use management calls to read, triage, sync, or reply from a mailbox; route those tasks to `sendmux-mailbox-agent`.\n- Treat create-key and webhook-secret responses as sensitive one-time values. Put them only in the user's chosen secret store or secure output path.\n- Confirm destructive operations before deleting domains, mailboxes, mailbox keys, sending accounts, or webhooks.\n- Confirm the target resource before suspend, resume, rotate-secret, or test-delivery operations.\n\n## Surface choice\n\n| Task | Preferred surface |\n| --- | --- |\n| Domains | MCP for list/create/get/zone-file/verify; CLI or SDK for update/delete/filter rules. |\n| Mailboxes | MCP for list/create/get/update/suspend/resume/key create/key delete; CLI or SDK for delete and filters. |\n| Sending accounts | CLI or SDK. MCP does not curate provider tools yet. |\n| Webhooks | MCP for list/create/test; CLI or SDK for get/update/delete/rotate-secret/deliveries/payloads. |\n| Billing and spend | MCP `management_get_spend_summary`; CLI or SDK for balance and transactions. |\n| Outbound delivery logs and metrics | MCP for list/get logs and metrics; CLI or SDK also work. |\n| Incoming logs | CLI or SDK. MCP does not curate incoming-log tools yet. |\n\nFor terminal work, use the `sendmux` CLI with `--json`. For application code, use `@sendmux/management` and `createManagementClient`.\n\nSDK clients accept `accessToken` instead of `apiKey`, including a provider that resolves the current token before each request.\n\n## Check connection and permissi"},{"path":"_meta.json","content":"{\n  \"ownerId\": \"kn77z51yqhw8mt9vjfkpt8w74989rfb3\",\n  \"slug\": \"sendmux-management\",\n  \"version\": \"1.0.10\",\n  \"publishedAt\": 1790914984082\n}"},{"path":"skill-card.md","content":"## Description:\n\nManage Sendmux domains, mailboxes, mailbox keys, sending accounts, webhooks, logs, billing, and account-level setup.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[sendmux.ai](https://clawhub.ai/user/sendmux.ai)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nSendmux account administrators and developers use this skill to manage domains, mailboxes, sending accounts, webhooks, billing, and delivery diagnostics through authorized management connections.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Management credentials or one-time secrets may be exposed.\n\nMitigation: Use scoped OAuth or least-privileged keys, store root keys and generated secrets securely, and never request secrets in chat.\n\nRisk: Destructive or access-changing account actions may affect service or users.\n\nMitigation: Check the target and permissions, and obtain explicit confirmation before deletions, suspensions, key changes, webhook secret rotations, or provider changes.\n\n## Reference(s):\n\n- [Sendmux skill homepage (listed in metadata)](https://github.com/Sendmux/skills)\n- [Sendmux Management on ClawHub](https://clawhub.ai/sendmux.ai/skills/sendmux-management)\n\n## Skill Output:\n\n**Output Type(s):** [Guidance, Shell commands, Code, Configuration instructions]\n\n**Output Format:** [Markdown with CLI, API, and SDK examples]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Requires an authorized Sendmux management connection for account operations.]\n\n## Skill Version(s):\n\n1.0.10 (source: ClawHub release; artifact frontmatter: 1.7.1)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment."}],"languages":[],"docsSourceLabel":"CLAWHUB","editorialOverview":null,"editorialQuality":{"score":100,"threshold":65,"status":"thin","wordCount":1312,"uniquenessScore":43,"reasons":["uniqueness-below-45"]}},"media":{"evidence":{"source":"no-media","verified":false,"confidence":"low","updatedAt":"2026-10-10T09:28:21.091Z","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-10-10T09:28:21.091Z","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-10T11:52:08.873Z","emptyReason":null},"items":[{"id":"8ebccd8e-3863-4187-8355-c3f14e1f9edf","entityType":"agent","canonicalPath":"/agent/iofficeai-aionui","slug":"iofficeai-aionui","name":"AionUi","description":"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!","url":"https://github.com/iOfficeAI/AionUi","homepage":"https://www.aionui.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-10-09T19:11:12.944Z","createdAt":"2026-02-25T03:38:16.584Z","downloads":null},{"id":"b917f68a-ebff-438e-84f8-3f4b2494c0bc","entityType":"agent","canonicalPath":"/agent/activepieces-activepieces","slug":"activepieces-activepieces","name":"activepieces","description":"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","url":"https://github.com/activepieces/activepieces","homepage":"https://www.activepieces.com","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-15T02:22:12.426Z","createdAt":"2026-02-25T03:38:12.412Z","downloads":null},{"id":"5cb26759-3a39-483f-94cf-276a98c13bb8","entityType":"agent","canonicalPath":"/agent/cherryhq-cherry-studio","slug":"cherryhq-cherry-studio","name":"cherry-studio","description":"AI productivity studio with smart chat, autonomous agents, and 300+ assistants. Unified access to frontier LLMs","url":"https://github.com/CherryHQ/cherry-studio","homepage":"https://cherry-ai.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-11T14:38:40.986Z","createdAt":"2026-02-25T03:38:19.379Z","downloads":null},{"id":"6f6582d0-5d76-4f0f-b81d-86520247950b","entityType":"agent","canonicalPath":"/agent/copilotkit-copilotkit","slug":"copilotkit-copilotkit","name":"CopilotKit","description":"The Frontend for Agents & Generative UI. React + Angular","url":"https://github.com/CopilotKit/CopilotKit","homepage":"https://docs.copilotkit.ai","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-03-25T09:50:57.846Z","createdAt":"2026-02-25T03:39:14.617Z","downloads":null}],"links":{"hub":"/agent","source":"/agent/source/clawhub","protocols":[{"label":"OpenClaw","href":"/agent/protocol/openclew"}]}}}