create_campaign
ActiveTool of FavCRM
declared in 1.0.0
Create a marketing campaign (email, SMS, or WhatsApp) in DRAFT. For email channelConfig, use subject + htmlBody + optional plainTextBody. recipientSource="list" is accepted as an alias for "individual".
Parameters schema
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"name",
"channel"
],
"properties": {
"name": {
"type": "string",
"description": "Campaign name (internal)"
},
"status": {
"enum": [
"DRAFT",
"SCHEDULED"
],
"type": "string",
"description": "Default DRAFT"
},
"channel": {
"enum": [
"sms",
"email",
"whatsapp",
"push"
],
"type": "string",
"description": "email | sms | whatsapp | push"
},
"segmentId": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Required if recipientSource=\"segment\""
},
"scheduledAt": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "ISO datetime for scheduled send (status must be SCHEDULED)"
},
"recipientIds": {
"type": "array",
"items": {
"type": "string"
},
"description": "Required if recipientSource=\"individual\", \"list\", or \"csv\"; values are account IDs"
},
"channelConfig": {
"type": "object",
"description": "Channel-specific config: subject + htmlBody for email, body for sms/whatsapp, templateId, etc. Legacy email html is normalized to htmlBody.",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
"recipientSource": {
"enum": [
"all",
"segment",
"individual",
"csv",
"list"
],
"type": "string",
"description": "Where to source recipients from. \"list\" is normalized to \"individual\"."
}
}
}Parent server
FavCRM
https://github.com/favcrm/mcp
1/7 registries