diff --git a/docs.json b/docs.json index dee8851..949205d 100644 --- a/docs.json +++ b/docs.json @@ -40,7 +40,7 @@ ] }, { - "group": "SDKs", + "group": "SDKs and CLI", "icon": "code", "pages": [ "sdks/index", @@ -49,13 +49,14 @@ "sdks/go", "sdks/php", "sdks/ruby", - "sdks/versioning-support" + "sdks/versioning-support", + "cli/index" ] }, { - "group": "CLI", - "icon": "square-terminal", - "pages": ["cli/index"] + "group": "Use cases", + "icon": "bullseye", + "pages": ["use-cases/cold-email-outreach"] }, { "group": "Integrations", @@ -83,7 +84,8 @@ "pages": [ "guides/teams-access", "guides/account-settings", - "guides/api-keys" + "guides/api-keys", + "guides/billing" ] }, { @@ -114,11 +116,6 @@ "icon": "chart-line", "pages": ["guides/dashboard-logs", "guides/deliverability"] }, - { - "group": "Billing", - "icon": "credit-card", - "pages": ["guides/billing"] - }, { "group": "Webhooks", "icon": "link", diff --git a/guides/sending-accounts.mdx b/guides/sending-accounts.mdx index 9398b52..ef36ee9 100644 --- a/guides/sending-accounts.mdx +++ b/guides/sending-accounts.mdx @@ -226,4 +226,11 @@ Each team starts with **200 sending accounts** that you add yourself. The manage > Watch bounce, complaint, and provider health signals. + + Set up a pool of your own inboxes for outreach and GTM. + diff --git a/guides/sending-via-http.mdx b/guides/sending-via-http.mdx index 491e7bd..08d15d2 100644 --- a/guides/sending-via-http.mdx +++ b/guides/sending-via-http.mdx @@ -20,8 +20,10 @@ Use the HTTP Sending API for new integrations, batch sending, and retry-safe req - A team with sending access. - A send-only key or mailbox key with `email.send`. - Enough team balance for the messages you send. -- A verified sending-only or sending & receiving custom domain, unless you are - testing with the shared domain. +- A verified sending-only or sending & receiving custom domain **if you send + through the managed account**, unless you are testing with the shared domain. + Sends through your own sending accounts do not need one, because each account + already authenticates at its own provider. ## Send one email diff --git a/images/use-cases/cold-email-account-advanced.png b/images/use-cases/cold-email-account-advanced.png new file mode 100644 index 0000000..b6e65fd Binary files /dev/null and b/images/use-cases/cold-email-account-advanced.png differ diff --git a/images/use-cases/cold-email-accounts-list.png b/images/use-cases/cold-email-accounts-list.png new file mode 100644 index 0000000..10bf1f1 Binary files /dev/null and b/images/use-cases/cold-email-accounts-list.png differ diff --git a/images/use-cases/cold-email-mcp-consent-sending-only.png b/images/use-cases/cold-email-mcp-consent-sending-only.png new file mode 100644 index 0000000..c252405 Binary files /dev/null and b/images/use-cases/cold-email-mcp-consent-sending-only.png differ diff --git a/images/use-cases/cold-email-sending-key.png b/images/use-cases/cold-email-sending-key.png new file mode 100644 index 0000000..3899d12 Binary files /dev/null and b/images/use-cases/cold-email-sending-key.png differ diff --git a/index.mdx b/index.mdx index 945e7b4..2197348 100644 --- a/index.mdx +++ b/index.mdx @@ -104,6 +104,13 @@ Sendmux gives your product or AI agent one workspace to send, receive, route, an Make retries safe for mutating API requests. + + Route outreach through inboxes you own and run it from an AI tool. + ## Monitor and automate diff --git a/style.css b/style.css index 30192a7..c02f25b 100644 --- a/style.css +++ b/style.css @@ -1,5 +1,5 @@ :root { - font-size: 105%; + font-size: 103%; } .antialiased { diff --git a/use-cases/cold-email-outreach.mdx b/use-cases/cold-email-outreach.mdx new file mode 100644 index 0000000..1a65684 --- /dev/null +++ b/use-cases/cold-email-outreach.mdx @@ -0,0 +1,290 @@ +--- +title: "Cold email outreach and GTM from your own inboxes" +sidebarTitle: "Cold email outreach" +description: "Sendmux is an email layer that routes cold outreach through inboxes you own. Add sending accounts, set per-account caps, and run your GTM motion from an AI tool." +keywords: + [ + "cold email outreach", + "AI GTM", + "GTM automation", + "GTM AI agent", + "cold email infrastructure", + "sending accounts", + ] +"og:title": "Cold email outreach and GTM from your own inboxes" +"og:description": "Add your own cold email inboxes to Sendmux, set caps and sender details, create a sending key, and connect an AI agent with a Sending-only grant." +--- + +import SharedSesPolicy from "/snippets/shared-ses-policy.mdx"; + +Sendmux is an email layer that routes cold outreach through sending accounts you already own. You add each inbox, set its sender details and its per-hour and per-day caps, then create one sending key. Sendmux picks an eligible account for every message and holds anything over that account's current cap. + +That makes it the send rail underneath a GTM motion. Your tools pick the targets and write the copy. Sendmux decides which inbox carries each message and how fast. + + + You need a Sendmux team, at least one inbox you can supply SMTP credentials + for or a Gmail or Outlook account you can authorise, and a prospect list you + may lawfully contact. + + + + +## Do you need a domain for cold email? + +No. You do not add or verify a domain in Sendmux when you send through your own accounts. Each account already authenticates for its own domain at its own provider, so Sendmux hands the message to that provider and the provider signs it. + +| What you want to do | Domain needed in Sendmux | +| --- | --- | +| Send through your own accounts | No | +| Send through the managed SES from Sendmux | Yes | +| Receive mail or host mailboxes in Sendmux | Yes | + + + One failure mode is worth knowing. If the managed account is the only eligible + provider for a send and the sender domain is not verified, Sendmux rejects the + message and records it in [Logs](/guides/dashboard-logs#delivery-logs) rather + than returning a bounce. + + +## Set up cold outreach in Sendmux + + + + Open **Accounts** and select **Add Account**, then choose **Custom SMTP**, + **Gmail**, or **Outlook / Microsoft 365**. Run **Test Connection** on SMTP + accounts before you route real traffic through them. + + Any inbox provider that gives you SMTP credentials works as a Custom SMTP + account, including Mission Inbox, ScaledMail, Zapmail, and others. There is + no vendor-specific connector for these. You supply the host, port, username, + and password, and Sendmux treats the account like any other. + + + The Sendmux Add Account panel showing Custom SMTP, Gmail and Outlook connection types + + + Running a pool of inboxes? Use **Import Accounts** with the CSV template + instead of adding them one at a time. See + [Import accounts from a file](/guides/sending-accounts#import-accounts-from-a-file). + + + The Sendmux Accounts table listing several SMTP sending accounts with their delivery group, throughput caps and status + + + Then set the per-account details that make a pool behave like separate + senders: + + | Setting | What to set it to | + | --- | --- | + | **From email** and **From name** | The persona that owns this inbox. | + | **Reply-To** | Where replies should land. | + | **Quotas** | Per-second, minute, hour, or day caps. `0` means unlimited, and a range such as `5-10` is accepted. | + | **Distribution percentage** | `0` to `100`, default `100`. Weights traffic when several accounts are eligible. | + + + Advanced settings for one Sendmux sending account showing From Email, From Name, Reply-To, quotas, distribution percentage and delivery group + + + Full reference: + [Add your own account](/guides/sending-accounts#add-your-own-account) and + [Advanced settings](/guides/sending-accounts#advanced-settings). + + + + Your sending route decides which credential you need, so choose before you + create anything. + + | Route | Credential | + | --- | --- | + | SMTP, from an outreach tool or script | A sending key | + | HTTP, from your own code | A sending key | + | An AI client over hosted MCP | None. You authorise a connected app instead | + + Sending through more than one route is fine. Create a key for the routes + that need one and authorise MCP separately. + + + + Skip this step if you only plan to send over hosted MCP. + + Open **API Keys**, select **Create API Key**, and choose the **Sending key** + type. Pick whether the key routes through all providers, selected providers, + or a delivery group. + + + The Sendmux Create API Key dialog with Infrastructure Key, Sending Key and Mailbox Key options, with Sending Key selected + + + Copy the `smx_mbx_` value straight into your secrets manager. It is shown + once. See [Create a key](/guides/api-keys#create-a-key) and + [Key types](/guides/api-keys#key-types). + + Then send: + + - **SMTP.** Host `smtp.sendmux.ai`, port `587` with STARTTLS, password is + your sending key. See [Sending by SMTP](/guides/sending-via-smtp). + - **HTTP.** `POST` to the Sending API. See + [Sending by HTTP](/guides/sending-via-http). + + + + Hosted MCP authorises a connected app and issues its own short-lived tokens. + It does not use a sending key, and connected apps never create `smx_mbx_` + secrets. See [Connected apps](/guides/api-keys#connected-apps) and the next + section. + + + + + Contact only people you have a lawful basis to email. Say who you are, keep + the message relevant to the recipient, honour every suppression record, and + give people a clear way to stop hearing from you. + + +## Run your GTM motion from an AI tool + +Connect Sendmux to Claude or another MCP client and your agent can send through the same accounts, with the same caps, without you pasting a key into it. + + + + Add `https://mcp.sendmux.ai/mcp` in your client. Per-client instructions are + in [Hosted OAuth clients](/guides/mcp-clients#hosted-oauth-clients). + + + Sendmux asks you to pick a team, then which product lines the app may use. + + + Confirm the sending tools are listed. See + [Verify the connection](/guides/mcp-clients#verify-the-connection). + + + + + **Grant Sending API only.** Every product line is ticked when the + authorisation screen opens. Untick **Mailbox API** and **Management API** so + **Sending API** is the only one left. A Sending-only grant never asks you to + choose mailboxes, and you do not need to create one. Add **Mailbox API** later + if you also want the agent to read replies. + + + + The Sendmux authorise connected app screen with Mailbox API and Management API unticked and Sending API ticked + + +For what each surface covers and how long tokens last, see [MCP](/guides/mcp). + +## What each part does + +Keeping the boundary clear saves a lot of debugging later. + +| Your GTM stack | Sendmux | +| --- | --- | +| Prospect list, segments, and enrichment | Eligible account selection | +| Message copy and personalisation | Sender details applied per account | +| Send schedule and follow-up timing | Per-second, minute, hour, and day caps | +| Reply reading and CRM updates | Delivery log, bounce and complaint events | + +## Choose fixed caps or ranges + +Use a fixed cap when you want one predictable ceiling per account. Use a range when you would rather the ceiling move inside boundaries you set. Sendmux picks a value when account information refreshes and holds that cap until the next refresh. + +A range varies the ceiling. It does not add a delay between individual messages, and it does not guarantee inbox placement. Targeting, authenticated sender domains, message quality, and account history all still decide what happens after Sendmux hands the message over. + +## Spread sends across several inboxes + +Distribution percentage weights traffic between accounts that are eligible for the same send. Delivery groups go further and keep a stream of traffic on a chosen subset of accounts. The key you authenticate with decides which applies. See [How routing works](/guides/delivery-groups#how-routing-works). + + + Put each campaign, or each customer, on its own delivery group. One inbox + going bad then affects that group and nothing else. + + +## Add replies later + +Replies land wherever the **Reply-To** on each account points, which by default is the inbox provider you own. Nothing in Sendmux is required for that. + +You only need a Sendmux domain and mailbox when you want replies inside Sendmux, so an agent can read and act on them. That is also when the **Mailbox API** grant becomes worth adding to your MCP connection. See [Domain management](/guides/domain-management) and [Mailboxes](/guides/mailboxes). + +## Check before your first campaign + +- Every account tested and active. +- From, Reply-To, and caps reviewed on each account, not just the first one. +- Sending key stored in a secrets manager and scoped to the right providers, if + you send over SMTP or HTTP. +- MCP grant limited to Sending API, unless you deliberately want mailbox access. +- Prospect sourcing, suppression, and opt-out handling settled. +- The opening message and every follow-up read end to end. + +Start small. Read the logs, watch bounces and complaints, then raise volume. + +## Common questions + + + + No, not when you send through your own accounts. Each account authenticates + at its own provider. A verified domain in Sendmux is needed only for the + managed account, or to receive mail. + + + + Any provider that gives you SMTP credentials, plus Gmail and Outlook or + Microsoft 365 through the connected-account flow. Cold email inbox providers + such as Mission Inbox, ScaledMail, and Zapmail connect as Custom SMTP + accounts. + + + + No. A Sending-only grant does not ask you to choose a mailbox, and you do not + need to create one. Add the Mailbox API product line only when you + want an agent to read replies. + + + + Each team starts with 200 accounts you add yourself. The managed account does + not count towards that. See + [Account limits](/guides/sending-accounts#account-limits) and + [Default limits](/guides/team-limits#default-limits). + + + + No. Managed Amazon SES is for transactional email only. Cold outreach, + marketing, and bulk promotional sending must go through accounts you own. + + + + Open **Logs**. You can filter by status, account, and recipient, and export + the result. See [Filter logs](/guides/dashboard-logs#filter-logs). + + + +## Related guides + + + + Add accounts and set sender defaults, caps, and routing. + + + Create, scope, rotate, and revoke the key your outreach tool uses. + + + Connect Claude and other AI clients to your sending accounts. + + + Watch bounce rates, complaint rates, and account health. + +