DEV Community

Cover image for WhatsApp Bulk Messaging API: Campaigns Without Breaking Sessions
Omdaa API
Omdaa API

Posted on Edited on Originally published at omdaa.com

WhatsApp Bulk Messaging API: Campaigns Without Breaking Sessions

WhatsApp Bulk Messaging API: Campaigns Without Breaking Sessions

Need to notify customers, announce launches, or run support broadcasts? Omdaa's bulk campaigns API lets you queue multi-recipient WhatsApp jobs with pause/resume — included in Free Forever.

Series: Free Forever WhatsApp Dev · Respect WhatsApp ToS & local anti-spam laws.

Responsible bulk (read this first)

  • Prefer opt-in audiences only
  • Throttle; don't blast cold lists
  • Use clear identity + unsubscribe path
  • Keep messages transactional / expected
  • Test on a small cohort first

Omdaa gives you the API plumbing — compliance is your responsibility.

Install SDK

npm install @omdaafreeapi/omdaa-api-client
Enter fullscreen mode Exit fullscreen mode

Create a campaign

const { OmdaaClient } = require('@omdaafreeapi/omdaa-api-client');

const client = new OmdaaClient({ apiKey: process.env.OMDAA_API_KEY });

const job = await client.bulk.createCampaign({
  sessionId: 'default',
  name: 'march-product-update',
  message: 'Hi {{name}} — your Omdaa workspace update is live.',
  recipients: [
    { to: '201111111111', vars: { name: 'Sara' } },
    { to: '201222222222', vars: { name: 'Omar' } },
  ],
});

console.log('Job:', job.data?.id || job);
Enter fullscreen mode Exit fullscreen mode

See API docs and SDK v1.2+ for payload fields (createJob is an alias of createCampaign).

Monitor · pause · resume

const status = await client.bulk.getJobStatus(jobId);
console.log(status);

await client.bulk.pause(jobId);
await client.bulk.resume(jobId);
Enter fullscreen mode Exit fullscreen mode

Via Cursor MCP: create_bulk_campaign, get_bulk_job_status, pause_bulk_job, resume_bulk_job.

Architecture that scales

Audience CSV → Normalize phones → Omdaa bulk job → WhatsApp
                      ↓
              Webhook events → n8n / Sheets / CRM
Enter fullscreen mode Exit fullscreen mode

Log deliveries with the Zapier Sheets tutorial or n8n.

Best practices checklist

Practice Why
E.164-ish digits, no + Fewer send failures
Personalization tokens Higher engagement
Staggered cohorts Protect session health
Quiet hours Better reply rates
Webhook auditing Know what delivered

Combine with AI

Use Omdaa AI for inbound replies after a campaign, not for spraying generative spam outbound.

Related

Omdaa API — Free Forever. Bulk tooling included — use it ethically.

Top comments (0)