Write the campaign emails
argorant_set_campaign_emailsReplace a campaign's sequence of emails, the first email and its follow-ups, each with optional A/B versions. Use it to write or change the emails; for follow-ups that start on a reply keyword use argorant_set_campaign_subsequences, and to read the current emails use argorant_get_campaign. Saving replaces every email and every version, so always send the whole sequence. Write the final text. Never leave placeholders such as [link], [Name], , {link}, TBD or XX; ask the user for a missing link or detail, or leave it out. The answer's warnings list anything that would still go out exactly as written, and its summary says the same in one sentence. Fix each warning with another call, because a launch is held while one remains. A running campaign refuses text with warnings unless allow_placeholders=true, which is only for text the user clearly wants sent as written. A contact with no value for a variable waits at that email instead of getting a blank, unless the variable has a fallback. Follow-ups go in the same thread by default, with Re: before the subject. More in the docs at https://docs.argorant.com/docs/agents/tools#campaigns
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"campaign_id": "<campaign_id>",
"emails": "<emails>"
},
"name": "argorant_set_campaign_emails"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| emails | Yes | The whole sequence in order, first email first, up to 8, as [{subject?, body, delay_days?, same_thread?, variants?}]. The first email needs a subject; each later one is a follow-up sent delay_days after the one before. Contact variables are {{first_name}}, {{last_name}}, {{company}}, {{company_normalized}} (the short name people say, best in the body) and {{title}}; a fallback goes after a | sign, such as {{company_normalized|your team}}. Sender variables {{sender_first_name}}, {{sender_last_name}}, {{sender_full_name}}, {{sender_title}}, {{sender_company}}, {{sender_email}} and {{signature}} come from the sending mailbox; a mailbox without a display name holds the contact unless the variable has a fallback such as {{sender_first_name|Sam}}. The campaign's own {{custom_...}} variables, written in lowercase as defined with argorant_set_campaign_personalization, give each contact their personal line. Single braces such as {Hi|Hello} are spintax, one picked at random per email. variants holds up to 9 other versions of an email for an A/B test, each with a body and an optional subject and label; each contact gets one version, picked at random with equal odds, and argorant_campaign_analytics shows the results per version. Set a mailbox's display name with argorant_update_inbox. | |
| campaign_id | Yes | The campaign's id, from argorant_list_campaigns. | |
| allow_placeholders | No | true only when the user clearly wants text such as [link] or TBD sent exactly as written. Off by default. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| result | Yes |