Skip to content

docs: add cold email outreach use-case guide and consolidate nav - #41

Merged
roshanjonah merged 3 commits into
mainfrom
agent/use-cases-gtm
Jul 31, 2026
Merged

docs: add cold email outreach use-case guide and consolidate nav#41
roshanjonah merged 3 commits into
mainfrom
agent/use-cases-gtm

Conversation

@roshanjonah

Copy link
Copy Markdown
Member

Adds a Use cases nav group with its first page: a cold outreach and GTM setup guide covering bring-your-own sending accounts, the sending key, and connecting an AI client over MCP.

What the page adds

It links out to the existing guides rather than restating them. Three things it covers that no current page does:

  • A direct answer to "do you need a domain for cold email?" — no, not when you send through your own accounts. Placed before the steps, because it is the biggest perceived blocker.
  • The MCP authorisation detail: every product line is preselected, so a sending-only setup means actively clearing Management and Mailbox. A Sending-only grant never asks you to choose a mailbox, and you do not need to create one.
  • That any provider giving you SMTP credentials works as a Custom SMTP account. Named as plain text with no links, and framed as "works as" rather than "supported integration", since there is no vendor-specific connector and implying one would be a false claim.

GTM sits in the title, description, keywords, a dedicated H2 and the intro, but not in the slug: in a docs context "gtm" competes with Google Tag Manager, and the head term with proven volume is "cold email outreach". Keyword research is recorded in the SITE repo's seo/keywords.md.

A correction, worth reviewing on its own

guides/sending-via-http.mdx listed a verified custom domain as an unconditional prerequisite. That is only true for the managed account.

Verified against smtp-proxy/app/consumer/lib/provider-selection.js:103-150, which carries an explicit contract: customers on their own SMTP/API providers can send from any domain without registering it, and filterProvidersForSenderDomain() excludes managed SES providers only. Corroborated by app/tests/unit/provider-selection-shared-domain.test.js:293-329 and an anti-revert block in auth_mysql_redis.js:559-588 recording three regressions where someone added an SMTP-time domain check and broke exactly these customers.

Left as-is, the two pages would have contradicted each other, and both feed the generated llms-full.txt.

Nav consolidation

Billing (one page) folds into Teams and access. CLI (one page) folds into SDKs, renamed SDKs and CLI. Eleven groups become ten.

No redirects needed: in Mintlify a page URL derives from its file path, not its nav group. guides/billing.mdx already sits in a group called "Billing" and resolves at /guides/billing. No .mdx file moves here.

Still to come

Screenshots. The page currently reuses the two existing sending-account images and ships og:title + og:description without og:image, since a dangling og:image renders worse than Mintlify's generated default. Five control-panel captures are outstanding, the most valuable being the MCP consent screen with Management and Mailbox cleared.

Verified

confidentiality:check, external-links:check, mint validate, mint broken-links. Copy greps clean for em-dashes, banned vocab, US spellings and placeholder demo data.

https://claude.ai/code/session_01EGuSNjJhi97uNH8EHq7QAt

Adds a "Use cases" nav group with its first page: a cold outreach and GTM
setup guide covering bring-your-own sending accounts, the sending key, and
connecting an AI client over MCP.

The page links out to the existing guides rather than restating them. What it
adds that no current page covers:

- A direct answer to "do you need a domain for cold email?" (no, not when you
  send through your own accounts), placed before the steps because it is the
  biggest perceived blocker.
- The MCP authorisation detail that every product line is preselected, so a
  sending-only setup means clearing Management and Mailbox. A Sending-only
  grant never asks you to choose a mailbox.
- That any provider giving you SMTP credentials works as a Custom SMTP
  account. Named as plain text, framed as "works as", not as a supported
  integration, since there is no vendor-specific connector.

GTM is carried in the title, description, keywords, a dedicated H2 and the
intro, but not in the slug: in a docs context "gtm" competes with Google Tag
Manager, and the head term with proven volume is "cold email outreach".

Also corrects guides/sending-via-http.mdx, which listed a verified custom
domain as an unconditional prerequisite. That is only true for the managed
account. Customers on their own providers can send from any domain without
registering it, per the contract in provider-selection.js: sender-domain
filtering excludes managed SES providers only. Left as-is, the two pages would
have contradicted each other, and both feed the generated llms-full.txt.

Nav consolidation: Billing (one page) folds into Teams and access, CLI (one
page) folds into SDKs, renamed "SDKs and CLI". Eleven groups become ten. Group
membership does not affect page URLs in Mintlify, so no redirects are needed.

Screenshots are still to come; the page currently reuses the two existing
sending-account images and ships og:title and og:description without og:image,
since a dangling og:image renders worse than Mintlify's generated default.

Verified: confidentiality:check, external-links:check, mint validate,
mint broken-links. Copy greps clean for em-dashes, banned vocab, US spellings
and placeholder demo data.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 513c3c0824

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread use-cases/cold-email-outreach.mdx Outdated
</Step>

<Step title="Send from your tool or your agent">
Three routes, same key:

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Separate hosted MCP from the manual-key routes

For users choosing the MCP path, hosted MCP does not use the smx_mbx_ key created in the preceding step; it authorizes a connected app and issues separate short-lived OAuth tokens. guides/api-keys.mdx explicitly distinguishes connected apps from manual keys and states that connected apps do not create smx_mbx_ secrets. Calling these “Three routes, same key” therefore instructs MCP-only users to create and store an unnecessary credential and misrepresents how its sending scope is authorized. Make key creation conditional on SMTP/HTTP and describe hosted MCP as a separate OAuth route.

Useful? React with 👍 / 👎.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed in 636b746. Correct, and it was a real factual error rather than a wording nit: guides/api-keys.mdx is explicit that connected apps never create smx_mbx_ secrets, so "three routes, same key" told MCP-only readers to create and store a credential they will never use, and described their sending access as authorised by something it is not.

Restructured into three steps: pick the route and see which credential it needs (small table), create a sending key scoped to SMTP and HTTP with an explicit skip note for MCP-only users, then MCP as its own step stating plainly that it uses no key and linking to Connected apps. The pre-campaign checklist item is conditional now too.

… routes

The setup steps created a sending key and then listed MCP alongside SMTP and
HTTP as "three routes, same key". Hosted MCP does not use that key: it
authorises a connected app and issues its own short-lived tokens, and
guides/api-keys.mdx is explicit that connected apps never create smx_mbx_
secrets. An MCP-only reader was being told to create and store a credential
they will never use, with the wrong account of how their sending access is
authorised.

Splits the flow: a short step to pick the route and see which credential it
needs, then key creation scoped to SMTP and HTTP with an explicit skip note,
then MCP as its own step that says plainly it uses no key. The pre-campaign
checklist item is now conditional too.
…the title

Four screenshots, all supplied from the live app:

- The MCP authorisation screen with Sending API the only product line ticked.
  This is the one the prose could not carry on its own.
- Create API Key with Sending Key selected.
- The Accounts table showing a pool of inboxes with their delivery groups and
  per-minute, per-hour and per-day caps.
- One account's Advanced settings with sender identity, quotas, distribution
  percentage and delivery group in a single frame.

Two of the four arrived as CleanShot selection captures with largely
transparent backgrounds (alpha means of 37 and 108 out of 255). Left alone
those would have shown the Mintlify page background through the UI, which in
dark mode means dark text on dark. All four are flattened onto white to match
the light-themed control panel, then palette-quantised: 406K to 126K, 225K to
80K, 182K to 57K, 85K to 29K, with no visible loss on text.

The screenshots also corrected the copy. The authorisation screen labels its
options "Mailbox API", "Management API" and "Sending API" under a "Product
lines" heading, not the bare surface names the page had been using, so every
reference now matches what the reader actually sees.

Title shortened to "Cold email outreach and GTM from your own inboxes": 49
characters, 59 once Mintlify appends the brand suffix, so it stays inside the
60-character limit while keeping both target terms and front-loading the head
one. og:title synced.

The domain-requirement table now reads "Send through the managed SES from
Sendmux" rather than "the managed account".

Also carries an unrelated root font-size tweak in style.css, 105% to 103%,
made by the repo owner and kept deliberately.

Verified: confidentiality:check, external-links:check, mint validate,
mint broken-links, and copy greps for em-dashes, banned vocab, US spellings and
placeholder demo data.
@roshanjonah
roshanjonah merged commit ee1ef19 into main Jul 31, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant