Skip to main content
Glama

Instantly MCP Server

create_campaign

Create email campaigns with a three-stage workflow that validates prerequisites, previews configurations, and executes creation based on provided parameters.

Instructions

Create a new email campaign with bulletproof three-stage workflow ensuring 100% success rate. Handles both simple requests ("create a campaign") and complex detailed specifications seamlessly.

INTELLIGENT WORKFLOW:

  • Simple Usage: Just provide basic info (name, subject, body) - tool automatically handles prerequisites

  • Advanced Usage: Specify all parameters for immediate creation

  • Guided Mode: Use stage parameter for step-by-step control

THREE-STAGE PROCESS:

  1. Prerequisite Check (stage: "prerequisite_check"): Validates accounts and collects missing required fields

  2. Campaign Preview (stage: "preview"): Shows complete configuration for user confirmation

  3. Validated Creation (stage: "create"): Creates campaign with fully validated parameters

AUTO-STAGE DETECTION: Tool automatically determines appropriate stage based on provided parameters for seamless user experience.

EXAMPLE USAGE:

// Simple: Tool handles everything create_campaign {"name": "My Campaign", "subject": "Hello", "body": "Hi there"} // Advanced: Full specification create_campaign { "name": "My Campaign", "subject": "Hello {{firstName}}", "body": "Hi {{firstName}},\n\nGreat to connect!", "email_list": ["verified@domain.com"], "daily_limit": 50 }

Input Schema

NameRequiredDescriptionDefault
bodyNoEmail body content. Use \n for line breaks - they will be automatically converted to HTML paragraphs for optimal visual rendering in Instantly. Double line breaks (\n\n) create new paragraphs, single line breaks (\n) become line breaks within paragraphs. Example: "Hi {{firstName}},\n\nI hope this email finds you well.\n\nBest regards,\nYour Name". Supports all Instantly personalization variables. Required for creation but can be collected during prerequisite check.
confirm_creationNoExplicit confirmation for campaign creation (optional). Required when stage is "create" or when tool shows preview. Set to true to confirm you want to proceed with campaign creation.
continue_threadNoAutomatically blank follow-up email subjects for thread continuation (optional, default: false). When true, all follow-up emails (steps 2+) will have empty subjects to maintain email thread continuity. Only applies when sequence_subjects is not provided. If sequence_subjects is provided, this parameter is ignored.
daily_limitNoMaximum emails to send per day across all sending accounts (optional, default: 50). Higher limits may affect deliverability. Recommended: 20-100 for new accounts, up to 500 for warmed accounts.
daysNoDays of the week to send emails (optional, default: Monday-Friday only). Specify which days the campaign should send emails. Weekend sending is disabled by default for better deliverability.
email_gap_minutesNoMinutes to wait between individual emails (optional, default: 10). Longer gaps improve deliverability. Minimum 1 minute, maximum 1440 minutes (24 hours).
email_listNoArray of verified sending account email addresses. Must be exact addresses from your Instantly workspace. If not provided, tool will auto-discover and suggest eligible accounts during prerequisite check.
link_trackingNoTrack link clicks in emails (optional, default: false). When enabled, links are replaced with tracking URLs.
messageNoShortcut parameter: single string containing both subject and body. First sentence becomes subject, remainder becomes body. Alternative to separate subject/body parameters.
nameNoCampaign name. Choose a descriptive name that identifies the campaign purpose. Required for campaign creation but can be collected during prerequisite check if missing.
open_trackingNoTrack email opens (optional, default: false). When enabled, invisible tracking pixels are added to emails.
schedule_nameNoSchedule name (optional, default: "Default Schedule"). Internal name for the sending schedule.
sequence_bodiesNoOptional array of body content for each sequence step. If provided, must contain at least as many items as sequence_steps. Each string will be used as the body for the corresponding step (index 0 = first email, index 1 = first follow-up, etc.). If not provided, the main "body" parameter will be duplicated across all steps with automatic follow-up prefixes. Use \n for line breaks - they will be automatically converted to HTML paragraphs.
sequence_stepsNoNumber of steps in the email sequence (optional, default: 1 for just the initial email). Each step creates an email with the required API v2 structure: sequences[0].steps[i] containing type="email", delay (days before sending), and variants[] array with subject, body, and v_disabled fields. If set to 2 or more, additional follow-up emails are created automatically. Maximum 10 steps.
sequence_subjectsNoOptional array of subject lines for each sequence step. If provided, must contain at least as many items as sequence_steps. Each string will be used as the subject for the corresponding step. Use empty strings ("") for follow-up emails to maintain thread continuity. If not provided, the main "subject" parameter will be used for the first email, and follow-ups will get "Follow-up X:" prefixes.
stageNoWorkflow stage control (optional). "prerequisite_check": Validate accounts and collect missing fields. "preview": Show complete campaign configuration for confirmation. "create": Execute campaign creation. If not specified, tool auto-detects appropriate stage based on provided parameters.
step_delay_daysNoDays to wait before sending each follow-up email (optional, default: 3 days). This sets the delay field in sequences[0].steps[i].delay as required by the API. Each follow-up step will have this delay value. Minimum 1 day, maximum 30 days.
stop_on_auto_replyNoStop sending when auto-reply is detected (optional, default: true). Helps avoid sending to out-of-office or vacation responders.
stop_on_replyNoStop sending follow-ups when lead replies (optional, default: true). Recommended to keep true to avoid annoying engaged prospects.
subjectNoEmail subject line. Supports personalization variables like {{firstName}}, {{lastName}}, {{companyName}}. Example: "Quick question about {{companyName}}". Required for creation but can be collected during prerequisite check.
text_onlyNoSend as text-only emails (optional, default: false for HTML). Text-only emails often have better deliverability but no formatting.
timezoneNoTimezone for campaign schedule (optional, default: "America/Chicago"). All timing_from and timing_to values will be interpreted in this timezone.
timing_fromNoDaily start time in HH:MM format (optional, default: "09:00"). Emails will only be sent after this time each day. Example: "09:00" for 9 AM.
timing_toNoDaily end time in HH:MM format (optional, default: "17:00"). Emails will stop being sent after this time each day. Example: "17:00" for 5 PM.

Input Schema (JSON Schema)

{ "properties": { "body": { "description": "Email body content. Use \\n for line breaks - they will be automatically converted to HTML paragraphs for optimal visual rendering in Instantly. Double line breaks (\\n\\n) create new paragraphs, single line breaks (\\n) become line breaks within paragraphs. Example: \"Hi {{firstName}},\\n\\nI hope this email finds you well.\\n\\nBest regards,\\nYour Name\". Supports all Instantly personalization variables. Required for creation but can be collected during prerequisite check.", "type": "string" }, "confirm_creation": { "description": "Explicit confirmation for campaign creation (optional). Required when stage is \"create\" or when tool shows preview. Set to true to confirm you want to proceed with campaign creation.", "type": "boolean" }, "continue_thread": { "description": "Automatically blank follow-up email subjects for thread continuation (optional, default: false). When true, all follow-up emails (steps 2+) will have empty subjects to maintain email thread continuity. Only applies when sequence_subjects is not provided. If sequence_subjects is provided, this parameter is ignored.", "type": "boolean" }, "daily_limit": { "description": "Maximum emails to send per day across all sending accounts (optional, default: 50). Higher limits may affect deliverability. Recommended: 20-100 for new accounts, up to 500 for warmed accounts.", "maximum": 1000, "minimum": 1, "type": "number" }, "days": { "description": "Days of the week to send emails (optional, default: Monday-Friday only). Specify which days the campaign should send emails. Weekend sending is disabled by default for better deliverability.", "properties": { "friday": { "description": "Send emails on Friday (default: true)", "type": "boolean" }, "monday": { "description": "Send emails on Monday (default: true)", "type": "boolean" }, "saturday": { "description": "Send emails on Saturday (default: false)", "type": "boolean" }, "sunday": { "description": "Send emails on Sunday (default: false)", "type": "boolean" }, "thursday": { "description": "Send emails on Thursday (default: true)", "type": "boolean" }, "tuesday": { "description": "Send emails on Tuesday (default: true)", "type": "boolean" }, "wednesday": { "description": "Send emails on Wednesday (default: true)", "type": "boolean" } }, "type": "object" }, "email_gap_minutes": { "description": "Minutes to wait between individual emails (optional, default: 10). Longer gaps improve deliverability. Minimum 1 minute, maximum 1440 minutes (24 hours).", "maximum": 1440, "minimum": 1, "type": "number" }, "email_list": { "description": "Array of verified sending account email addresses. Must be exact addresses from your Instantly workspace. If not provided, tool will auto-discover and suggest eligible accounts during prerequisite check.", "items": { "type": "string" }, "type": "array" }, "link_tracking": { "description": "Track link clicks in emails (optional, default: false). When enabled, links are replaced with tracking URLs.", "type": "boolean" }, "message": { "description": "Shortcut parameter: single string containing both subject and body. First sentence becomes subject, remainder becomes body. Alternative to separate subject/body parameters.", "type": "string" }, "name": { "description": "Campaign name. Choose a descriptive name that identifies the campaign purpose. Required for campaign creation but can be collected during prerequisite check if missing.", "type": "string" }, "open_tracking": { "description": "Track email opens (optional, default: false). When enabled, invisible tracking pixels are added to emails.", "type": "boolean" }, "schedule_name": { "description": "Schedule name (optional, default: \"Default Schedule\"). Internal name for the sending schedule.", "type": "string" }, "sequence_bodies": { "description": "Optional array of body content for each sequence step. If provided, must contain at least as many items as sequence_steps. Each string will be used as the body for the corresponding step (index 0 = first email, index 1 = first follow-up, etc.). If not provided, the main \"body\" parameter will be duplicated across all steps with automatic follow-up prefixes. Use \\n for line breaks - they will be automatically converted to HTML paragraphs.", "items": { "type": "string" }, "maxItems": 10, "minItems": 1, "type": "array" }, "sequence_steps": { "description": "Number of steps in the email sequence (optional, default: 1 for just the initial email). Each step creates an email with the required API v2 structure: sequences[0].steps[i] containing type=\"email\", delay (days before sending), and variants[] array with subject, body, and v_disabled fields. If set to 2 or more, additional follow-up emails are created automatically. Maximum 10 steps.", "maximum": 10, "minimum": 1, "type": "number" }, "sequence_subjects": { "description": "Optional array of subject lines for each sequence step. If provided, must contain at least as many items as sequence_steps. Each string will be used as the subject for the corresponding step. Use empty strings (\"\") for follow-up emails to maintain thread continuity. If not provided, the main \"subject\" parameter will be used for the first email, and follow-ups will get \"Follow-up X:\" prefixes.", "items": { "type": "string" }, "maxItems": 10, "minItems": 1, "type": "array" }, "stage": { "description": "Workflow stage control (optional). \"prerequisite_check\": Validate accounts and collect missing fields. \"preview\": Show complete campaign configuration for confirmation. \"create\": Execute campaign creation. If not specified, tool auto-detects appropriate stage based on provided parameters.", "enum": [ "prerequisite_check", "preview", "create" ], "type": "string" }, "step_delay_days": { "description": "Days to wait before sending each follow-up email (optional, default: 3 days). This sets the delay field in sequences[0].steps[i].delay as required by the API. Each follow-up step will have this delay value. Minimum 1 day, maximum 30 days.", "maximum": 30, "minimum": 1, "type": "number" }, "stop_on_auto_reply": { "description": "Stop sending when auto-reply is detected (optional, default: true). Helps avoid sending to out-of-office or vacation responders.", "type": "boolean" }, "stop_on_reply": { "description": "Stop sending follow-ups when lead replies (optional, default: true). Recommended to keep true to avoid annoying engaged prospects.", "type": "boolean" }, "subject": { "description": "Email subject line. Supports personalization variables like {{firstName}}, {{lastName}}, {{companyName}}. Example: \"Quick question about {{companyName}}\". Required for creation but can be collected during prerequisite check.", "type": "string" }, "text_only": { "description": "Send as text-only emails (optional, default: false for HTML). Text-only emails often have better deliverability but no formatting.", "type": "boolean" }, "timezone": { "description": "Timezone for campaign schedule (optional, default: \"America/Chicago\"). All timing_from and timing_to values will be interpreted in this timezone.", "enum": [ "Etc/GMT+12", "Etc/GMT+11", "Etc/GMT+10", "America/Anchorage", "America/Dawson", "America/Creston", "America/Chihuahua", "America/Boise", "America/Belize", "America/Chicago", "America/New_York", "America/Denver", "America/Los_Angeles", "Europe/London", "Europe/Paris", "Asia/Tokyo", "Asia/Singapore", "Australia/Sydney" ], "type": "string" }, "timing_from": { "description": "Daily start time in HH:MM format (optional, default: \"09:00\"). Emails will only be sent after this time each day. Example: \"09:00\" for 9 AM.", "type": "string" }, "timing_to": { "description": "Daily end time in HH:MM format (optional, default: \"17:00\"). Emails will stop being sent after this time each day. Example: \"17:00\" for 5 PM.", "type": "string" } }, "required": [], "type": "object" }

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/bcharleson/Instantly-MCP'

If you have feedback or need assistance with the MCP directory API, please join our Discord server