addedInput schema / properties / settings / properties
Added value: +{
+ "autoResponseDelayMinutes": {
+ "description": "Delay before the AI email auto-reply (default 10).",
+ "minimum": 0,
+ "type": "integer"
+ },
+ "autoResponseEnabled": {
+ "description": "AI answers email replies automatically (default true).",
+ "type": "boolean"
+ },
+ "campaignDurationDays": {
+ "description": "Planned duration in days (default 30).",
+ "minimum": 1,
+ "type": "integer"
+ },
+ "ccEmail": {
+ "description": "Address put in CC of outgoing emails.",
+ "type": "string"
+ },
+ "channels": {
+ "description": "Channels the campaign uses (default ['email']).",
+ "items": {
+ "enum": [
+ "email",
+ "linkedin",
+ "phone_call"
+ ],
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "clientEmailProvider": {
+ "anyOf": [
+ {
+ "enum": [
+ "google",
+ "microsoft"
+ ],
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "Informational provider of own mailboxes."
+ },
+ "customInstructions": {
+ "description": "Communication Rules: CTA, links, promises, what never to say. Overrides prompt defaults in emails, follow-ups, AI auto-replies and LinkedIn. Also sets the informal/formal form of address (e.g. ти/Ви, du/Sie) when the rules say so.",
+ "maxLength": 6000,
+ "type": "string"
+ },
+ "dailyEmailLimit": {
+ "description": "Emails per day; the app keeps it equal to dailyLimit.",
+ "minimum": 0,
+ "type": "integer"
+ },
+ "dailyLimit": {
+ "description": "New contacts emailed per day. Must not exceed sender capacity (list_sender_emails / list_client_mailboxes). Default 200.",
+ "minimum": 0,
+ "type": "integer"
+ },
+ "dailyLinkedinLimit": {
+ "description": "Campaign-wide LinkedIn invites per day across ALL its accounts (hard limit). Each account also has its own warm-up cap.",
+ "minimum": 0,
+ "type": "integer"
+ },
+ "emailContent": {
+ "additionalProperties": true,
+ "description": "Email content (wizard step 4). On a running campaign a change to steps/delays is NOT applied once anything was sent; see settings.smartleadSequencePending in get_campaign.",
+ "properties": {
+ "followUps": {
+ "description": "Follow-ups after the first email (max 7).",
+ "items": {
+ "additionalProperties": false,
+ "properties": {
+ "body": {
+ "description": "Fixed mode: body.",
+ "maxLength": 20000,
+ "type": "string"
+ },
+ "delayDays": {
+ "description": "Days after the previous email.",
+ "maximum": 90,
+ "minimum": 1,
+ "type": "integer"
+ },
+ "prompt": {
+ "description": "AI mode: writing rules for this follow-up.",
+ "maxLength": 4000,
+ "type": "string"
+ },
+ "subject": {
+ "description": "Fixed mode: subject.",
+ "maxLength": 500,
+ "type": "string"
+ }
+ },
+ "required": [
+ "delayDays"
+ ],
+ "type": "object"
+ },
+ "maxItems": 7,
+ "type": "array"
+ },
+ "htmlSteps": {
+ "description": "HTML mode: one entry per email; delayDays = days after the previous email (not on the first).",
+ "items": {
+ "additionalProperties": false,
+ "properties": {
+ "delayDays": {
+ "maximum": 90,
+ "minimum": 1,
+ "type": "integer"
+ },
+ "html": {
+ "type": "string"
+ },
+ "subject": {
+ "maxLength": 500,
+ "type": "string"
+ }
+ },
+ "required": [
+ "subject",
+ "html"
+ ],
+ "type": "object"
+ },
+ "maxItems": 20,
+ "type": "array"
+ },
+ "mode": {
+ "description": "ai = AI writes each email from the prompt; fixed = your text with {{first_name}}-style placeholders; html = your own HTML steps.",
+ "enum": [
+ "ai",
+ "fixed",
+ "html"
+ ],
+ "type": "string"
+ },
+ "prompt": {
+ "description": "AI writing rules for the first email.",
+ "type": "string"
+ },
+ "tone": {
+ "enum": [
+ "formal",
+ "casual",
+ "friendly"
+ ],
+ "type": "string"
+ },
+ "variants": {
+ "description": "Fixed mode: up to 5 A/B variants of the first email.",
+ "items": {
+ "additionalProperties": false,
+ "properties": {
+ "body": {
+ "type": "string"
+ },
+ "subject": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "subject",
+ "body"
+ ],
+ "type": "object"
+ },
+ "maxItems": 5,
+ "type": "array"
+ }
+ },
+ "required": [
+ "mode"
+ ],
+ "type": "object"
+ },
+ "emailSenderMode": {
+ "description": "managed = Vendo warmed pool (PAID PLAN REQUIRED to launch); client_owned = the workspace's own mailboxes (connect_client_mailbox). Default managed.",
+ "enum": [
+ "managed",
+ "client_owned"
+ ],
+ "type": "string"
+ },
+ "emailSignature": {
+ "description": "HTML signature appended to emails ('' = no signature).",
+ "type": "string"
+ },
+ "excludeWeekends": {
+ "description": "Do not send on Saturday/Sunday (default true).",
+ "type": "boolean"
+ },
+ "followUpInterval": {
+ "description": "Legacy: days between follow-ups, used only when emailContent.followUps is empty (default 3).",
+ "minimum": 0,
+ "type": "integer"
+ },
+ "linkedinAutoReplyDisabled": {
+ "description": "Switch LinkedIn AI auto-replies OFF for this campaign only (per-account settings: update_linkedin_account_settings).",
+ "type": "boolean"
+ },
+ "linkedinContent": {
+ "additionalProperties": true,
+ "description": "LinkedIn content (wizard step 5).",
+ "properties": {
+ "followup_delay_minutes": {
+ "description": "Delay of the first message after the invite is accepted.",
+ "maximum": 43200,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "followup_exact_text": {
+ "description": "Fixed first message after connect.",
+ "maxLength": 1500,
+ "type": "string"
+ },
+ "invite_exact_text": {
+ "description": "Fixed connection note (LinkedIn sends max 200 chars).",
+ "maxLength": 300,
+ "type": "string"
+ },
+ "invite_prompt": {
+ "description": "AI rules for the connection note (also used for the form of address).",
+ "type": "string"
+ },
+ "invite_tone": {
+ "$ref": "#/properties/settings/properties/emailContent/properties/tone"
+ },
+ "mode": {
+ "enum": [
+ "ai",
+ "fixed"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "mode"
+ ],
+ "type": "object"
+ },
+ "maxFollowUps": {
+ "description": "Legacy: number of follow-ups when emailContent.followUps is empty (default 3).",
+ "maximum": 7,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "notifyEmails": {
+ "description": "Addresses notified when a lead replies.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "selectedLinkedinAccountIds": {
+ "description": "LinkedIn accounts used by this campaign (ids from list_linkedin_accounts). Empty = all connected accounts at launch.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "senderEmailIds": {
+ "description": "Restrict sending to these sender ids from list_sender_emails (empty = auto-assign at launch).",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "speedTier": {
+ "enum": [
+ "conservative",
+ "balanced",
+ "aggressive"
+ ],
+ "type": "string"
+ },
+ "stopOnNegative": {
+ "description": "Saved like the app (currently not read by the sender).",
+ "type": "boolean"
+ },
+ "timezone": {
+ "description": "IANA timezone of the sending window, e.g. Europe/London (default).",
+ "type": "string"
+ },
+ "trackLinks": {
+ "description": "Saved like the app (currently not read by the sender).",
+ "type": "boolean"
+ },
+ "trackOpens": {
+ "description": "Insert the open-tracking pixel.",
+ "type": "boolean"
+ },
+ "workingHours": {
+ "description": "[startHour, endHour] in the campaign timezone (default [9,18]).",
+ "items": [
+ {
+ "maximum": 23,
+ "minimum": 0,
+ "type": "integer"
+ },
+ {
+ "maximum": 24,
+ "minimum": 1,
+ "type": "integer"
+ }
+ ],
+ "maxItems": 2,
+ "minItems": 2,
+ "type": "array"
+ }
+}