Eedesy
Book Demo
HomeProductsContact
Waflow
  • Introduction
  • Quick Start
  • WhatsApp Setup
  • Overview
  • Create Workspace
  • Team Management
  • Overview
  • Import Contacts
  • Tags & Segments
  • Custom Fields
  • Overview
  • Create Template
  • Variables
  • Approval Process
  • Overview
  • Create Campaign
  • Scheduling
  • Tracking
  • Overview
  • Reports
  • Overview
  • Drip Sequences
  • Triggers
  • Overview
  • Authentication
  • WhatsApp
  • Contacts
  • Templates
  • Campaigns
  • Analytics
  • Overview
  • Billing
  • Integrations

Related Products

  • AI Voice Agent
  • AI Voice Assistant
  • Try Free
Waflow
  • Introduction
  • Quick Start
  • WhatsApp Setup
  • Overview
  • Create Workspace
  • Team Management
  • Overview
  • Import Contacts
  • Tags & Segments
  • Custom Fields
  • Overview
  • Create Template
  • Variables
  • Approval Process
  • Overview
  • Create Campaign
  • Scheduling
  • Tracking
  • Overview
  • Reports
  • Overview
  • Drip Sequences
  • Triggers
  • Overview
  • Authentication
  • WhatsApp
  • Contacts
  • Templates
  • Campaigns
  • Analytics
  • Overview
  • Billing
  • Integrations
  1. Docs
  2. Waflow
  3. API Reference
  4. Campaigns

Campaigns API

Create, schedule, and manage WhatsApp campaigns via the WAFlow API

Campaigns API

Create and manage WhatsApp marketing campaigns. Schedule messages, track delivery, and monitor performance.

List Campaigns

Get all campaigns with status and metrics.

GET /api/campaigns

Response:

[
  {
    "id": 1,
    "name": "Summer Sale Campaign",
    "templateId": 1,
    "contactListId": 1,
    "status": "completed",
    "scheduledFor": "2025-01-01T10:00:00.000Z",
    "totalRecipients": 100,
    "messagesSent": 100,
    "messagesDelivered": 95,
    "messagesRead": 80,
    "createdAt": "2025-01-01T00:00:00.000Z"
  },
  {
    "id": 2,
    "name": "Flash Sale Alert",
    "templateId": 2,
    "contactListId": 2,
    "status": "scheduled",
    "scheduledFor": "2025-12-25T10:00:00.000Z",
    "totalRecipients": 50,
    "messagesSent": 0,
    "messagesDelivered": 0,
    "messagesRead": 0,
    "createdAt": "2025-01-02T00:00:00.000Z"
  }
]

cURL Example:

curl -X GET "https://waflow.edesy.in/api/campaigns" \
  -H "Content-Type: application/json" \
  -b cookies.txt

Create Campaign

Create a new campaign for scheduling or immediate execution.

POST /api/campaigns

Request Body:

{
  "name": "Flash Sale Alert",
  "templateId": 1,
  "contactListId": 1,
  "scheduledFor": "2025-12-25T10:00:00.000Z",
  "variables": {
    "discount": "50%",
    "endDate": "December 31st"
  }
}

Parameters:

Field Type Required Description
name string Yes Campaign name
templateId number Yes ID of the template to use
contactListId number Yes ID of the contact list
scheduledFor string No ISO 8601 datetime (omit for immediate send)
variables object No Variable values for the template

Response:

{
  "id": 2,
  "name": "Flash Sale Alert",
  "templateId": 1,
  "contactListId": 1,
  "status": "scheduled",
  "scheduledFor": "2025-12-25T10:00:00.000Z",
  "totalRecipients": 50,
  "variables": {
    "discount": "50%",
    "endDate": "December 31st"
  },
  "createdAt": "2025-01-01T00:00:00.000Z"
}

JavaScript Example:

const response = await fetch('https://waflow.edesy.in/api/campaigns', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
  },
  credentials: 'include',
  body: JSON.stringify({
    name: 'Flash Sale Alert',
    templateId: 1,
    contactListId: 1,
    scheduledFor: '2025-12-25T10:00:00.000Z',
    variables: {
      discount: '50%',
      endDate: 'December 31st'
    }
  })
});

const campaign = await response.json();
console.log(campaign);

Trigger Campaign (One-Shot)

Create and execute a campaign in a single API call. Perfect for transactional messages or quick sends.

POST /api/campaigns/trigger

Request Body:

{
  "campaignName": "Flash Sale Alert",
  "templateId": 1,
  "contacts": {
    "phoneNumbers": ["+1234567890", "+1987654321"]
  },
  "variables": {
    "firstName": "Customer",
    "discount": "20%"
  },
  "options": {
    "autoExecute": true,
    "skipDuplicatePhones": true
  }
}

Contact Options:

You can specify recipients in multiple ways:

// By phone numbers
"contacts": {
  "phoneNumbers": ["+1234567890", "+1987654321"]
}

// By contact IDs
"contacts": {
  "contactIds": [1, 2, 3, 4, 5]
}

// By contact list ID
"contacts": {
  "contactListId": 1
}

Options:

Option Type Default Description
autoExecute boolean true Send immediately after creation
skipDuplicatePhones boolean true Skip duplicate phone numbers

Response:

{
  "success": true,
  "message": "Campaign created and queued for immediate execution",
  "campaign": {
    "id": 3,
    "name": "Flash Sale Alert",
    "status": "active",
    "templateId": 1,
    "contactListId": 5,
    "totalRecipients": 2,
    "variables": {
      "firstName": "Customer",
      "discount": "20%"
    },
    "createdAt": "2025-01-01T00:00:00.000Z"
  },
  "contacts": {
    "total": 2,
    "existing": 2,
    "created": 0
  },
  "execution": {
    "immediate": true,
    "estimatedStartTime": "Within 1 minute"
  },
  "tracking": {
    "campaignId": 3,
    "statusCheckUrl": "/api/campaigns/3",
    "analyticsUrl": "/api/analytics/campaigns/3"
  }
}

cURL Example:

curl -X POST "https://waflow.edesy.in/api/campaigns/trigger" \
  -H "Content-Type: application/json" \
  -b cookies.txt \
  -d '{
    "campaignName": "Flash Sale Alert",
    "templateId": 1,
    "contacts": {
      "phoneNumbers": ["+1234567890", "+1987654321"]
    },
    "variables": {
      "firstName": "Customer",
      "discount": "20%"
    },
    "options": {
      "autoExecute": true,
      "skipDuplicatePhones": true
    }
  }'

Campaign Status

Campaigns progress through these statuses:

Status Description
draft Created but not scheduled
scheduled Scheduled for future execution
active Currently sending messages
paused Temporarily stopped
completed All messages sent
failed Execution failed

Scheduling Best Practices

  1. Time zones - All times are in UTC. Convert from local time before sending.
  2. Optimal timing - Schedule during business hours for better engagement
  3. Stagger large campaigns - Very large campaigns are automatically staggered
  4. Avoid spam hours - Don't schedule messages late at night

Rate Limits

Operation Limit
List campaigns 100 requests/minute
Create campaign 60 requests/minute
Trigger campaign 100 per day
Messages per campaign Subject to WhatsApp limits
Previous
Templates
Next
Analytics

On this page

  • List Campaigns
  • Create Campaign
  • Trigger Campaign (One-Shot)
  • Campaign Status
  • Scheduling Best Practices
  • Rate Limits

Stay Updated

Get the latest updates on AI voice technology, product releases, and exclusive resources.

Get Started

Try our products for free
AI Voice Agent
Build voice AI for calls
WhatsApp AI Bot
Automate WhatsApp chats
Website Chatbot
AI chat for websites
Edesy CRM
Manage leads & customers
Book a DemoCall UsEmail Us
Eedesy

Your all-in-one platform for digital innovation. We build AI-powered solutions that transform how businesses operate.

[email protected]+91 95475 31359

Products

  • AI Voice Assistant
  • WhatsApp Voice AI
  • WhatsApp Bot Builder
  • AI Website Chatbot
  • AI-SDR
  • Number Masking
  • Shopify Apps
  • View All Products

Solutions

  • For E-commerce
  • For Healthcare
  • For Real Estate
  • For Restaurants
  • For Appointments
  • View All Use Cases

Services

  • AI Chatbot Development
  • Voice AI Development
  • Shopify Development
  • SaaS Development
  • WhatsApp API Integration
  • View All Services

Resources

  • Documentation
  • Voice Agent Docs
  • API Reference
  • Number Masking API Docs
  • Blog
  • Changelog
  • Book a Demo

Company

  • About Us
  • Contact
  • Careers
  • Privacy Policy
  • Terms of Service

Products

  • AI Voice Assistant
  • WhatsApp Voice AI
  • WhatsApp Bot Builder
  • AI Website Chatbot
  • AI-SDR
  • Number Masking
  • Shopify Apps
  • View All Products

Solutions

  • For E-commerce
  • For Healthcare
  • For Real Estate
  • For Restaurants
  • For Appointments
  • View All Use Cases

Services

  • AI Chatbot Development
  • Voice AI Development
  • Shopify Development
  • SaaS Development
  • WhatsApp API Integration
  • View All Services

Resources

  • Documentation
  • Voice Agent Docs
  • API Reference
  • Number Masking API Docs
  • Blog
  • Changelog
  • Book a Demo

Company

  • About Us
  • Contact
  • Careers
  • Privacy Policy
  • Terms of Service
  • AI Voice Assistant
  • WhatsApp Voice AI
  • WhatsApp Bot Builder
  • AI Website Chatbot
  • AI-SDR
  • Number Masking
  • Shopify Apps
  • View All Products
  • For E-commerce
  • For Healthcare
  • For Real Estate
  • For Restaurants
  • For Appointments
  • View All Use Cases
  • AI Chatbot Development
  • Voice AI Development
  • Shopify Development
  • SaaS Development
  • WhatsApp API Integration
  • View All Services
  • Documentation
  • Voice Agent Docs
  • API Reference
  • Number Masking API Docs
  • Blog
  • Changelog
  • Book a Demo
  • About Us
  • Contact
  • Careers
  • Privacy Policy
  • Terms of Service

Popular Free Tools

Compress PDFMerge PDFPDF to WordGST CalculatorEMI CalculatorSIP CalculatorJSON FormatterBase64 EncoderImage CompressorQR Code GeneratorVoice AI ROI CalculatorAmazon FBA CalculatorAI Email WriterVideo to GIFPrivacy Policy GeneratorCRM ROI CalculatorMeeting Cost Calculator
Categories:PDF ToolsDeveloper ToolsFinance CalculatorsImage ToolsVideo ToolsAI Writing ToolsAudio ToolsWhatsApp ToolsDocument GeneratorsVoice AI ToolsE-commerce ToolsView All Tools

© 2026 Edesy Technology Labs Pvt Ltd

SSL Secured
99.9% Uptime