{"id":51470,"plugin_id":"plugin_asdk_app_6ac5f3338d4081918eeefc2733ba5f7a","kind":"skill","collection_source":"plugin_package","comparison_source":null,"observed_at":"2026-10-24T13:46:28.954Z","digest":"74e55241ca72bed714d9a0519a9ea0ba304542f90a219b102d03950f4f707f0e","against":null,"payload":{"description":"Send a one-off or transactional email through MisarMail. Use when the user asks to send, draft-and-send, or reply to an email — including receipts, notifications, welcome messages, and personal outreach.","included_files":[],"name":"send-transactional-email","skill_md_contents":"---\nname: send-transactional-email\ndescription: Send a one-off or transactional email through MisarMail. Use when the user asks to send, draft-and-send, or reply to an email — including receipts, notifications, welcome messages, and personal outreach.\n---\n\n# Send a transactional email\n\n## Before sending\n\n1. **Resolve a verified sender.** Call `list_domains`. `from.email` must belong\n   to a verified domain — an unverified sender is the single most common send\n   failure, and the API rejects it outright.\n2. **Validate unfamiliar recipients.** Call `validate_email` for addresses the\n   user typed by hand. Bounces damage sender reputation far more than the one\n   email is worth.\n3. **Show the draft and wait.** Present subject and body, and get explicit\n   confirmation. Sending is irreversible.\n\n## Sending\n\nCall `send_email` with `from`, `to`, `subject`, and `html` (plus `text` as a\nfallback — some clients and filters penalise HTML-only mail).\n\nPass `idempotency_key` whenever a retry is plausible: without it a network\ntimeout that actually succeeded will deliver the message twice.\n\n## Testing without delivering\n\nIf the user is iterating on wording or a template, suggest sandbox mode: sends\nare captured instead of delivered, and `list_sandbox_sends` shows exactly what\nwould have gone out. `clear_sandbox` resets it.\n\n## Do not\n\n- Send to a list you assembled from `list_contacts` — that is a campaign. Use\n  `create_campaign` + `send_campaign`, which applies unsubscribe handling and\n  rate limiting that `send_email` does not.\n- Invent a sender address. If no verified domain exists, say so and point the\n  user at `add_domain`.\n"},"changes":[],"summary":"First saved snapshot. No earlier version is available for comparison.","summary_kind":"deterministic","summary_metadata":{}}