Who approves an email, and when
A marketing email can be drafted by anyone with access, including the assistant, the API and an MCP client. It can only be approved by a person with the owner or admin role. The approval records the exact version, who approved it and when, and any later edit invalidates it.
Key facts
- The CAN-SPAM Act gives recipients the right to stop commercial email and requires senders to honour opt-out requests. Source
- Google's bulk sender guidelines require a one-click unsubscribe mechanism for marketing messages sent at volume. Source
- Yahoo's sender best practices ask bulk senders to authenticate their mail and make unsubscribing easy. Source
Why the approval step exists
This article is part of the Mailprompt help centre. It explains the rule that shapes every other part of the product: a person approves a marketing send, and the product records what they approved.
Email is one of the few marketing channels where a mistake cannot be taken back. A wrong segment, a broken link or a discount that stacks with another offer reaches the inbox before anyone can check the results. The approval step is deliberately slow in one place so the rest of the product can be fast.
Drafting and approving are separate permissions
Drafting is open to anyone with access to the account, including the Studio assistant, the public API and a connected MCP client. Approving is limited to the owner and admin roles. A member can build a flow, request changes and ask for approval; they cannot record the approval themselves.
This split is not a comment on trust. It keeps the audit trail meaningful: when the record says a person approved a send, that person had the authority to stop it. The team and roles guide explains how to choose who holds those roles.
What the approver is looking at
The approval screen shows the same rendered email a recipient would receive, not a text approximation. It also shows the audience, the subject line, the preview text and the schedule. The pre-send checks run first and list anything that would fail: a price that does not match the catalog, a missing image description, a link that does not resolve, an oversized email or a missing unsubscribe link.
Checks are blocking where the issue is a rule, and advisory where the issue is a judgement. A missing unsubscribe link blocks. A subject line that reads like a final notice is a warning for the reviewer, not an automatic refusal.
A version, not a moment
An approval is tied to a specific version of the flow or campaign. The record stores a hash of the content and the schedule. Change any of it, and the approval no longer covers what would send. The draft returns to review and the team is told.
The rule sounds strict until you consider the alternative: an approval granted for one audience being reused for another, or a subject line approved on Monday sending with a price change on Wednesday. Versioning makes the approval an observation about a real thing rather than a blanket permission.
Scheduled sends do not bypass this. If the scheduled time arrives and the current version is unapproved, the send waits. The product does not quietly approve on a timer, and it does not fall back to sending the previously approved version. Both would break the promise that a human approved what went out.
Rejections, edits and pauses
A reviewer can reject a draft with a note. The draft stays intact and the team sees the note in the review screen. Rejection changes nothing that would send, so it is safe to use while a discussion is open.
Editing an approved flow pauses the affected sends until a new approval is recorded. The live flow is not silently updated. If the flow was live and the edit is rejected, the previous approved version can be restored, and the restoration is itself recorded.
Pausing a flow is separate from revoking an approval. A paused flow keeps its approved version but does not send. Resuming it does not need a new approval if nothing else changed. Archiving it ends the flow and keeps the records.
The API and connected clients
The public API and the MCP server can create drafts and request approval. They cannot approve. A request that asks for a live flow or a campaign send is refused with an approval error, and the error names the missing approval rather than pretending the write worked.
This matters for automation: a script can build a campaign and ask an owner to approve it by email or in the app, but it cannot close the loop alone. If you need a hands-off pipeline, the honest design is a human approval step in the middle, not a service account with approval rights.
What to do when approval is blocked
If the approve button reports an error, read the message before retrying. The common causes are a missing postal address in Settings, a domain that has not verified, a pre-send check that failed or a role that cannot approve. Each has a specific fix, and the getting started guide covers the setup ones.
If a scheduled campaign is waiting, check the current version against the approval record. A small edit after approval is the most common reason a send is stuck. Re-approve the current version, or restore the approved one, and the schedule resumes.
Frequently asked questions
Can the assistant approve its own draft?
No. The assistant can create, revise and explain a draft, and it can request approval, but the approval action is tied to a signed-in owner or admin. A model that can both write and approve has no meaningful review step, even when it usually makes good choices. The API and MCP server follow the same rule and return an approval error instead of sending.
Does an approval expire?
An approval covers a version, not a moment. It stays valid while that version and its schedule are unchanged, including when a scheduled time passes without the send happening. If someone edits the audience, the copy, the subject, the send time or a referenced email, the version changes and a new approval is required. The old record is kept for the audit trail.
What exactly does the approver see?
The audience or segment, the rendered email, the subject line and preview text, the send schedule and the result of the pre-send checks. The checks cover prices, links, image alt text, email size, unsubscribe requirements and unsupported claims. The approver can reject with a note, which returns the draft to the team without changing anything.
Can a member schedule a campaign for later?
A member can prepare a campaign and propose a schedule, but the scheduled send still needs an approval from an owner or admin before it can leave the account. If the scheduled time arrives without an approval, the campaign waits. There is no auto-approval timer, because an approval that silently becomes a send is not a review.
Where can I see who approved what?
Open the flow or campaign and look at the approval record. It shows the approver, the time, the version the approval covers and a hash of the content. Account owners and admins can also see approvals in the audit log. The record is kept after the flow is paused or archived, so a later review can reconstruct what was sent.
Sources
- Cornell Legal Information Institute — 15 U.S.C. § 7704 — checked 12 November 2026
- Google Workspace — Email sender guidelines — checked 12 November 2026
- Yahoo — Sender best practices — checked 12 November 2026
- Mailprompt — approvals — checked 12 November 2026
Related reading
- Invite your team and choose rolesUnderstand the owner, admin, member and client viewer roles in Mailprompt, who can approve a send, and how to invite, change or remove a teammate.
- Set up your first flow in MailpromptA practical first week with Mailprompt: brand kit, sending domain, your first flow, the approval step, and where to see what your email earned.
- Handle unsubscribes and keep consentHow one-click unsubscribes, suppression and consent records work in Mailprompt, plus the CAN-SPAM and GDPR basics every sender needs to get right.
- Add a sending domain and verify itWhat DKIM, SPF, DMARC and the return path do, how to add the records your provider shows, and how to read the verification states in Mailprompt.
- A human approves every marketing sendMailprompt drafts flows and campaigns, then waits. A person reviews the audience, the copy and the schedule before any marketing email can send.