Creates a draft copy of an existing email. The source's content and metadata (attachments, sender info, recipients, event refs) are cloned server-side; the caller names the source and any field-level overrides. An email that renders a Page accepts a `page_id` override; an email that renders embedded structured content accepts a `viewport_data` override. Emails in the content_blocks format cannot be duplicated through this API. Note that if `page_id` is omitted, a duplicate of the page is also created and used for the new email, so editing the new email's page will not affect others. Use this when the user asks to "duplicate", "clone", "copy", or "resend" an existing email, including the "duplicate and send to a different address" flow. After this tool returns, call send_email with the returned email's id to dispatch immediately, or schedule_email for a future send. The duplicate is always created as a draft: sent=false, no date_sent, automatic=false. Override only the fields that should differ from the source (most commonly recipient_emails); everything else falls back to the source.
AuthorizationRequiredBearer <token>API key as Bearer token
In: header
application/jsonRequiredsubjectstringSubject on the copy. Defaults to the source subject.
recipient_emailsarray<string>Recipient list on the copy. Defaults to the source's recipients. Typo-domain addresses are stripped server-side. Pass an explicit list (e.g. just the one address being re-sent to) when the caller asks to "duplicate and send to X".
recipient_phonenumbersarray<string>event_refsarray<string>timeslot_refsarray<string>footer_imagestringreply_to_emailstringReply-to email on the copy. Defaults to source.
display_namestringFrom-line display name on the copy. Defaults to source.
sync_event_recipientsbooleanattachmentsarray<object>Override attachments on the copy. Defaults to the source attachments.
page_idstringPage ID for the copy. Valid only when the source already uses a page_id. By default, a copy of the source email's page will be created, meaning the new email will have a different page_id from the original.
viewport_dataobjectStructured content for the copy. Valid only when the source renders embedded content; defaults to the source content.
idRequiredstringEmail id, discoverable via list_emails
Schedule Email
Schedules an email for future delivery. Stamps sent=true, date_sent=<sendAt>, and a server-rendered body on the email, then enqueues a scheduled job to send the message at sendAt. Preconditions checked before scheduling: - Email exists and is owned by the caller's workspace - sendAt is strictly in the future - Email has a non-empty subject - Email has at least one recipient - Email has viewport_data to render to HTML (or a previously-rendered body) For immediate transmission, use send_email instead.
Cancel Scheduled Email
Unschedules a scheduled send and reverts the email to a draft.