smartchat

save_newsletter

Creates a newsletter as a draft with its own template. Nothing is sent: submit the template with create_template_submissions, then call send_newsletter. Returns the newsletter.

Tool namesave_newsletter
Permissionnewsletters:write
readOnlyHintfalse
destructiveHintfalse
idempotentHinttrue
openWorldHintfalse
REST callPOST /v1/newsletters, PATCH /v1/newsletters/{newsletter_id}

#What it does

  • Changes data in your account. It does not send messages to contacts.
  • Safe to repeat with the same idempotency_key.

#Input

The tool takes one flat object. Path, query and body fields of the REST call are merged into it.

Create newsletter (POST /v1/newsletters)

NameTypeRequiredDescription
titlestringyesInternal title. It also names the template. length 1 to 200
textstringyesMessage text, at most 1024 characters. The only placeholder allowed is {{first_name}}. length 1 to 1024
languagestring or nullnoLanguage of the message, for example en or de. Null uses the account language. up to 10 characters
buttonanynoOne button, or null to remove it.
audienceobject or nullnoAudience filter by tags and/or source. Null removes the filter (all contacts with a confirmed opt-in).
audience.tagsarray of stringnoTags, upper or lower case does not matter. The tags must exist on at least one contact. up to 20 items
audience.modestringnoall = contact has every tag. any = contact has at least one tag. none = contact has none of the tags. one of: all, any, none; default "any"
audience.sourcesarray of stringnoWhere the contact came from. up to 8 items

Update newsletter (PATCH /v1/newsletters/{newsletter_id})

NameTypeRequiredDescription
newsletter_idstringyesID of the newsletter, from list_newsletters.
titlestringnoNew internal title. length 1 to 200
textstringnoMessage text, at most 1024 characters. The only placeholder allowed is {{first_name}}. length 1 to 1024
languagestring or nullnoLanguage of the message, for example en or de. Null uses the account language. up to 10 characters
buttonanynoOne button, or null to remove it.
audienceobject or nullnoAudience filter by tags and/or source. Null removes the filter (all contacts with a confirmed opt-in).
audience.tagsarray of stringnoTags, upper or lower case does not matter. The tags must exist on at least one contact. up to 20 items
audience.modestringnoall = contact has every tag. any = contact has at least one tag. none = contact has none of the tags. one of: all, any, none; default "any"
audience.sourcesarray of stringnoWhere the contact came from. up to 8 items

Arguments added by the MCP server (see Special arguments)

NameTypeRequiredDescription
idempotency_keystringnoOptional. Unique key, for example a UUID. Same key and arguments within 24 hours: first result. Without a key only an identical call within 1 minute counts as a repeat. up to 255 characters

#Result

The result has the same content as the REST answer. Lists have at most 50 items per page (default 20); use cursor for the next page.

Errors come back as a tool result with isError: true. The error codes are the ones in Errors.