wyre-ai/msp-claude-plugins/customers-and-domains

Claude Code and agent skill by wyre-ai/msp-claude-plugins

Trust tier 3
  • community
Source check pending

Checking that the SKILL.md file is still in the repository.

Customer lifecycle (create/edit/delete under the reseller), domain creation with the Pending → Active verification flow and verification_token, domain aliases, moving domains between customers, address discovery, and mail routing via email destinations and email sources.

Install

npx vskill@latest install wyre-ai/msp-claude-plugins/customers-and-domains

SKILL.md

Mailprotector Customers & Domains

Overview

Customers are the client organizations under the MSP's reseller; domains hang off customers and carry the actual mail routing. Onboarding a client is: create the customer, create the domain, verify it, then point mail flow at it (destinations for inbound delivery, sources for outbound authorization).

Key Concepts

ConceptDetail
Customer{id, name, provider, reseller, created_at, updated_at} — created with just name and contact email
Domain statusdomain_status: {id: 1, name: "Pending"} or {id: 2, name: "Active"}
verification_tokenReturned on domain create while Pending; null once Active
Domain aliasA domain with parent set to the primary domain; goes through its own Pending/verification
address_discovery_enabledDomain flag; auto-discovers addresses from mail flow (defaults on for new domains)
Email destinationWhere filtered inbound mail is delivered — domain, hostname, or IP, with priority ordering
Email sourceAn IP authorized to relay outbound mail through Mailprotector

Common Workflows

Customer lifecycle
  1. Create: POST /resellers/{reseller_id}/customers with

{"name": "...", "email": "contact@..."} → 201 with the new id (tool: mailprotector_customers_create).

  1. Read: mailprotector_customers_list (from the bound reseller) and

mailprotector_customers_get.

  1. Edit: PUT /customers/{customer_id} with name/email (via

mailprotector_execute_tool).

  1. Delete: DELETE /customers/{customer_id} — **removes all domains and

users under the customer**. Irreversible; confirm explicitly.

Domain creation and verification
  1. POST /customers/{customer_id}/domains with {"name": "domain.com"}

(tool: mailprotector_domains_create).

  1. The response is 201 with domain_status Pending and a

verification_token. Mail is not filtered for a Pending domain.

  1. Surface the verification_token to the operator — ownership is

proven with it before Mailprotector activates the domain. Re-fetch the domain (mailprotector_domains_get) to watch for domain_status id 2 (Active) / verification_token: null.

  1. After activation, add email destinations and sources (below), then

repoint MX records.

Domain aliases

POST /domains/{domain_id}/aliases with {"name": "domain-alias.com"}. The alias appears in GET /domains/{domain_id}/aliases with parent set to the primary domain and its own Pending status + token. Every user under the primary domain automatically accepts mail at the alias domain (user email_addresses extend to each alias), so create aliases before bulk-creating users when you want alias addresses generated.

Moving a domain between customers

POST /domains/{domain_id}/move with {"customer_id": 16998} — only within the same reseller. User groups, users, and rules travel with the domain. Use this to fix a domain created under the wrong customer instead of delete + recreate (which would destroy users).

Mail routing
  • Destinations: GET/POST /domains/{domain_id}/email_destinations

with {"address": "mail.domain.com"} — address may be a domain, hostname, or IP. priority is assigned in creation order (0 first); lower priority is tried first.

  • Sources: GET/POST /domains/{domain_id}/email_sources with

{"address": "192.0.2.1"} — the IPs allowed to relay outbound.

  • Both also exist at user-group scope

(/user_groups/{id}/email_destinations and _sources) for groups that deliver somewhere other than the domain default — the MCP tool takes scope: domain|user_group.

Gotchas

  • Pending domains silently drop the onboarding. Everything after

domain creation (groups, users, MX cutover) can proceed, but no mail is filtered until the domain is verified. Always report the verification state, and never call an onboarding done while domain_status is Pending.

  • Customer delete cascades. Domains and users go with it. Prefer

domain move or user-group edits for restructuring.

  • `PUT /domains/{domain_id}` is for flags like

address_discovery_enabled — you cannot rename a domain; create the correct one and move users.

  • Customer managers (POST /customers/{customer_id}/managers)

create console logins, but roles cannot be assigned via the API — a new manager has an empty roles array until someone assigns the role in the console. Listing customer managers excludes reseller-level managers.

  • Statements (GET /resellers/{id}/statements,

GET /customers/{id}/statements) are billing history (amount, currency, statement_status, billing/due dates) — read them for reconciliation, not for provisioning state.

Related Skills

Security

  • Security scanPassed, 90 of 100Pattern checks on the skill's files.
  • Model reviewPassed

Quality evaluation

  • Task evaluationNot runNo evaluation yet. Run one in Skill Studio.

Source

Popularity

7-day trend score
0

Not refreshed yet.

Works with

Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.

  • Claude Code
  • Cursor
  • GitHub Copilot
  • Windsurf
  • Codex
  • Gemini CLI
  • Cline
  • Amp
  • Roo Code
  • Goose
  • Continue
  • Kilo Code
  • Junie
  • Trae
  • OpenHands
  • Qwen Code
  • AI Agent
  • Tabnine Chat
  • Sourcegraph Cody
  • Amazon Q
  • Firebase Genkit
  • Sweep
  • Devin
  • Phind
  • Mentat
  • Claude Desktop
  • Aider
  • GPT Pilot
  • Plandex
  • bolt.new
  • v0
  • Replit Agent
  • Anse
  • TypingMind
  • BetterChatGPT
  • LibreChat
  • Warp AI
  • Pieces
  • Fig AI
Embed badge
vskill VERIFIED badge
[![vskill VERIFIED](https://verified-skill.com/api/v1/skills/wyre-ai/msp-claude-plugins/customers-and-domains/badge)](https://verified-skill.com/skills/wyre-ai/msp-claude-plugins/customers-and-domains)

Something wrong with this skill or its page? Tell us.