10 operations. Call each with POST https://app.chirply.io/api/v1/actions/<name> and a bearer token; the response is { "data": { "action", "summary", "result" } }. A read badge means the operation changes nothing; write requires the credential’s write scope.
Build the sequence
copywriting.build_series_workflowwriteconfirm
Turn a generated sequence into a real automation: one 'send email' step per email with a genuine wait between them, saved onto an existing workflow's flow graph so it can be edited in the visual builder. DESTRUCTIVE — it replaces that workflow's entire flow, so use an empty or throwaway workflow unless you mean to overwrite. The automation is left PAUSED with a manual start trigger: no contact is enrolled and no email is sent until someone chooses a trigger and turns it on.
Marked confirm: this operation is irreversible, reaches real people, or spends money. Holding a credential is itself the confirmation for API and MCP callers — call it only when you mean it. The in-app assistant refuses to run it without a human approving first.
Parameters
Field
Type
Required
Description
workflow_id
string (uuid)
required
The workflow whose flow graph will be REPLACED. Create one with automations.create first.
series
object
required
The sequence to compile, in the shape copywriting.write_series returns.
Which copywriting framework to follow. Call copywriting.list_frameworks for the catalogue, or copywriting.suggest_framework to have one picked from who the audience is.
series.emails
object[]
required
The emails, in sending order — normally taken straight from copywriting.write_series.
series.emails[].role
string
required
The email's role in the arc — 'Episode 2 - High Drama'.
series.emails[].subject
string
required
Subject line.
series.emails[].preheader
string
optional
Preview text shown after the subject.
series.emails[].blocks
object[]
required
The email body, in order.
series.emails[].blocks[].type
"heading" | "text" | "button"
required
Block kind.
series.emails[].blocks[].text
string
required
The block's copy.
series.emails[].blocks[].href
string
optional
Button destination; buttons only.
series.emails[].delay
object
required
Gap AFTER THE PREVIOUS email. Ignored for the first, which always sends immediately.
series.emails[].delay.amount
integer
required
How long to wait.
series.emails[].delay.unit
"minutes" | "hours" | "days"
required
Unit for the wait.
email_identity_id
string (uuid)
optional
Sending identity for every email. Omit to use the account default.
Over MCP the same operation is the tool copywriting_build_series_workflow at https://app.chirply.io/api/mcp, same bearer token, same input.
View brand voice
copywriting.get_brand_voiceread
Read the account's writing rules — audience, what it sells, tone, reading level, whether it speaks as 'I' or 'we', sign-off, banned words, emoji policy and any pasted writing sample. These shape every AI-generated email, subject line and sequence. Read-only.
Over MCP the same operation is the tool copywriting_get_brand_voice at https://app.chirply.io/api/mcp, same bearer token, same input.
Open a framework
copywriting.get_frameworkread
Read one copywriting framework in full — its origin, the psychology it relies on, its step-by-step arc, strategic notes, the mistakes it warns against, the objections it pre-handles, a worked example email, and its campaign breakdown (the email-by-email brief used to generate a sequence). Read-only and free.
Which copywriting framework to follow. Call copywriting.list_frameworks for the catalogue, or copywriting.suggest_framework to have one picked from who the audience is.
Over MCP the same operation is the tool copywriting_get_framework at https://app.chirply.io/api/mcp, same bearer token, same input.
Grade an email
copywriting.grade_emailread
Score an existing email against a copywriting framework, step by step: what the draft does at each stage of the arc, the specific fix for each, a subject-line score with three stronger alternatives, and which of the framework's known mistakes the draft is making. Read-only — it changes nothing and sends nothing. Runs on its own OpenRouter account and bills it for the tokens used.
Which copywriting framework to follow. Call copywriting.list_frameworks for the catalogue, or copywriting.suggest_framework to have one picked from who the audience is.
Over MCP the same operation is the tool copywriting_grade_email at https://app.chirply.io/api/mcp, same bearer token, same input.
Browse frameworks
copywriting.list_frameworksread
List the 45 built-in email copywriting frameworks — AIDA, PAS, Soap Opera Sequence, SPIN Selling and the rest — each with the reader awareness it assumes, the psychological levers it pulls, and how many emails its own arc runs to. Read-only and free; nothing is generated or sent.
Over MCP the same operation is the tool copywriting_list_frameworks at https://app.chirply.io/api/mcp, same bearer token, same input.
Rewrite an email
copywriting.rewrite_emailread
Rewrite an existing email so it follows a chosen framework, keeping every fact, offer, price and link from the original and changing only the structure and language. Returns a draft for review: the original is untouched, nothing is saved and nothing is sent. Runs on its own OpenRouter account and bills it for the tokens used.
Which copywriting framework to follow. Call copywriting.list_frameworks for the catalogue, or copywriting.suggest_framework to have one picked from who the audience is.
subject
string
required
The current subject line.
body
string
required
The current body — plain text or HTML.
instruction
string
optional
Anything extra to apply while rewriting — 'make it half the length', 'drop the discount'.
knowledge_topic_id
string (uuid)
optional
Narrow the AI Brain facts used for grounding to one knowledge topic. Omit to use all of the account's knowledge.
Over MCP the same operation is the tool copywriting_rewrite_email at https://app.chirply.io/api/mcp, same bearer token, same input.
Save brand voice
copywriting.set_brand_voicewriteadmin only
Replace the account's writing rules. Every field is overwritten with what you pass, so send the whole voice, not just the parts you are changing. This changes how all future AI-generated copy sounds; it does not rewrite anything already written, and sends no email.
Parameters
Field
Type
Required
Description
audience
string
required
Who this account writes to — 'independent gym owners with 100-400 members'.
Over MCP the same operation is the tool copywriting_set_brand_voice at https://app.chirply.io/api/mcp, same bearer token, same input.
Suggest a framework
copywriting.suggest_frameworkread
Rank the frameworks that fit a particular audience and goal, with the reason for each. Say where the audience stands with the business (cold, engaged, customer, gone quiet) and what the email is for, and this matches that against the reader-awareness stage each framework was built for. Read-only and free — it picks nothing and writes nothing.
Parameters
Field
Type
Required
Description
relationship
"cold" | "engaged" | "customer" | "lapsed"
required
Where the audience stands: 'cold' (never engaged), 'engaged' (opens and clicks, hasn't bought), 'customer' (has bought), 'lapsed' (used to engage or buy and stopped).
Over MCP the same operation is the tool copywriting_suggest_framework at https://app.chirply.io/api/mcp, same bearer token, same input.
Write an email
copywriting.write_emailread
Write one complete email — subject line, preheader and body blocks — following a chosen copywriting framework, in the account's brand voice, grounded in the facts stored in its AI Brain. Returns a draft for review: nothing is saved to a campaign and nothing is sent. Runs on its own OpenRouter account and bills it for the tokens used.
Which copywriting framework to follow. Call copywriting.list_frameworks for the catalogue, or copywriting.suggest_framework to have one picked from who the audience is.
intent
string
required
What this email has to achieve, in plain language — 'get lapsed gym members to book a free week back' — not a subject line.
audience
string
optional
Who is receiving it, e.g. a segment or list name. Shapes vocabulary and assumed knowledge.
call_to_action
string
optional
What clicking the button should do — 'book a call', 'start the free trial'.
knowledge_topic_id
string (uuid)
optional
Narrow the AI Brain facts used for grounding to one knowledge topic. Omit to use all of the account's knowledge.
Over MCP the same operation is the tool copywriting_write_email at https://app.chirply.io/api/mcp, same bearer token, same input.
Write a sequence
copywriting.write_seriesread
Write a complete multi-email sequence from a framework's own campaign breakdown — each email written to its role in the arc ('Episode 2 - High Drama'), with a sending delay chosen to suit the framework's pacing. Returns drafts for review: no automation is created, nothing is scheduled and nothing is sent. Pass the result to copywriting.build_series_workflow to turn it into a real automation. Runs on its own OpenRouter account and bills it for the tokens used; a long sequence is a large generation.
Which copywriting framework to follow. Call copywriting.list_frameworks for the catalogue, or copywriting.suggest_framework to have one picked from who the audience is.
intent
string
required
What this email has to achieve, in plain language — 'get lapsed gym members to book a free week back' — not a subject line.
audience
string
optional
Who is receiving it, e.g. a segment or list name. Shapes vocabulary and assumed knowledge.
call_to_action
string
optional
What clicking the button should do — 'book a call', 'start the free trial'.
knowledge_topic_id
string (uuid)
optional
Narrow the AI Brain facts used for grounding to one knowledge topic. Omit to use all of the account's knowledge.
email_count
integer
optional
How many emails to write. Defaults to the framework's own breakdown length, which is what its arc was designed around.