{"id":51846,"plugin_id":"plugin_asdk_app_6ac773e202f0819199f20c6665fcfcde","kind":"skill","collection_source":"plugin_package","comparison_source":null,"observed_at":"2026-10-24T13:47:45.253Z","digest":"5e371163a9b58172a285f52bb8bab7235aec6f9b100622c5d5d126ae6befa556","against":null,"payload":{"description":"This skill should be used when the user asks to \"set up Emailit\", \"connect Emailit\", \"get started with Emailit\", \"send my first email\", \"is Emailit connected\", or has just installed the Emailit plugin. Walks through connecting the hosted MCP server with OAuth, confirming the workspace, checking a sending domain, and sending a first test email.","included_files":[{"relative_path":"references/connect.md","size_in_bytes":3703}],"name":"emailit-get-started","skill_md_contents":"---\nname: emailit-get-started\ndescription: This skill should be used when the user asks to \"set up Emailit\", \"connect Emailit\", \"get started with Emailit\", \"send my first email\", \"is Emailit connected\", or has just installed the Emailit plugin. Walks through connecting the hosted MCP server with OAuth, confirming the workspace, checking a sending domain, and sending a first test email.\n---\n\n# Get started with Emailit\n\nUse this flow the first time a user works with Emailit in this client, or whenever the Emailit tools are missing or failing to authenticate. Keep each step short and tell the user what you found before moving on.\n\n## 1. Check the connection\n\nCall `get-current-workspace`.\n\n- **It works**: say \"You're connected to the <name> workspace (<id>) with <scope> access.\" and go to step 2.\n- **The tool does not exist**: the MCP server is not connected. Give the user the steps for their client from `references/connect.md`, then stop until they confirm.\n- **401 or an auth error**: the sign in expired or was revoked. Ask the user to reconnect (most clients have a \"Reconnect\" or \"Authenticate\" button next to the server).\n\nWith OAuth, the user chose which workspaces this connection may use: all of them, or a selected set. Call `list-workspaces` to show them with the user's role in each. To act in one of them, pass `workspace` to the tool call (\"In Acme Client, list my domains\"), or call `switch-workspace` to change the default. A workspace that is missing can be added under **Account > Connected apps > Edit access** in the Emailit dashboard without reconnecting.\n\n## 2. Check for a verified sending domain\n\nCall `list-domains`. It needs the `full` scope, like `get-domain`, `list-emails`, and `get-email` below. If it returns an insufficient scope error, or is missing while `get-current-workspace` works, the connection has `sending` scope only (or the tool list is trimmed). Emailit is still connected: ask the user which verified domain to send from, and see \"Access levels\" to get full access.\n\n- **At least one verified domain**: note its name. Emails must be sent from an address on that domain.\n- **A domain that is not verified**: call `get-domain` and list the DNS records still pending. Offer the `emailit-domain-setup` skill.\n- **No domains**: ask which domain or subdomain they want to send from. Recommend a subdomain such as `mail.example.com` so marketing and transactional reputation stay separate from the root domain. Then follow `emailit-domain-setup`.\n\nDo not continue to a real send until a domain is verified.\n\n## 3. Send a test email to the user\n\nAsk for the user's own address, or use one they already gave you. Propose the email first:\n\n```\nFrom:    Emailit Test <test@<verified-domain>>\nTo:      <user's address>\nSubject: Emailit is connected\nBody:    A short HTML and plain text message.\n```\n\nAfter the user confirms, call `send-email` with `from`, `to`, `subject`, `html`, and `text`. Report the returned `id` (`em_...`) and status.\n\nWait a few seconds, then call `get-email` with that ID (full scope). A `delivered` status means it worked. If it is `bounced`, `failed`, or `rejected`, read the reason from the email and load `emailit-deliverability`. With sending scope only, ask the user to check their inbox instead.\n\n## 4. Suggest next steps\n\nOffer two or three of these, based on what the user said they want:\n\n- Add the API to their app: `emailit-sdk` (Node, Python, PHP, Laravel, Go, Ruby, Java, .NET, Rust, or SMTP).\n- Receive delivery and bounce events: `emailit-webhooks`.\n- Build an audience and send a campaign, or set up an automation: `emailit-campaigns`.\n- Check DMARC reports and reputation: `emailit-deliverability`.\n- Create a template with variables: `create-template`, then `publish-template`.\n\n## Access levels\n\nThe AI client requests the scopes when it connects; unless it asks for fewer, it gets both. The consent page lists what the client will be able to do, and the user chooses the workspaces there, not the scopes.\n\n- **Sending**: send email and manage sent email (`send-email`, `update-email`, `cancel-email`, `retry-email`, `forward-email`), plus `get-current-workspace`, `list-workspaces`, and `switch-workspace`. Enough for an agent that only sends; it cannot read emails back or check domains.\n- **Full**: everything else, including reading emails, domains, contacts, campaigns, automations, webhooks, and API keys.\n\n`get-current-workspace` shows the granted scope. If a tool returns an insufficient scope error, explain that the connection has sending access only and the user can reconnect so the client requests full access.\n\n## API key option\n\nSome clients cannot run OAuth, such as the xAI API or a CI job. In that case the user creates an API key on the **API Keys** page of the Emailit dashboard and sends it as `Authorization: Bearer <key>` to `https://api.emailit.com/mcp`. Keep the key in an environment variable or the client's secret store. Never ask the user to paste it into the chat.\n\n## Troubleshooting\n\n| Symptom | Likely cause | Fix |\n| --- | --- | --- |\n| No Emailit tools | Server not added, or plugin not enabled | Follow `references/connect.md` |\n| 401 on every call | Token expired or connection revoked | Reconnect the server |\n| Fewer tools than expected | Toolsets trimmed, read only mode, or a sending API key | Check the server URL query and headers, or use full access |\n| \"Domain not verified\" on send | DNS not published or not verified yet | `emailit-domain-setup` |\n| \"Workspace not verified\" (`unverified_workspace_recipient`) on send | New workspaces can only send to their members' account emails until Emailit verifies the workspace | Send the test to the address the user signs in with |\n| \"Pending verification\" (`pending_review`) with all records valid | On pay as you go plans, domains registered less than 30 days ago get a manual review | Wait for the review, or upgrade to Pro or Business |\n"},"changes":[],"summary":"First saved snapshot. No earlier version is available for comparison.","summary_kind":"deterministic","summary_metadata":{}}