wa-api
Bulk Studio
Guest

Create WhatsApp Session

Active Sessions

Linked WhatsApp web numbers ready for single or bulk messaging.

0

No active sessions yet

Create a session above, then scan the QR code with WhatsApp.

1. Sender Account(s)

Select one or multiple sessions to enable multi-number load balancing.

Loading active sessions...

2. Audience & CSV Import

Drag & drop CSV file here or browse file

Headers auto-detected: phone, name, custom_1, etc.
Comma or line separated

3. Anti-Ban Safeguards

Low Risk
5s – 12s

Randomizing delays simulates organic human typing and prevents Meta spam detection.

4. Dynamic Message Composer

Insert Tags:
Spintax supported: {option1|option2|option3} creates unique message variations automatically.

Live WhatsApp Preview

Active Campaign: Idle

No campaign currently running.

0% Completed ETA: --:--
Total Batch 0
Successfully Sent 0
Failed / Bounced 0
Pending Queue 0

Recipient Activity Log

# Recipient Sender Account Rendered Message Status Timestamp
No campaign logs recorded yet. Launch a campaign from the Bulk Studio tab.

Interactive CRM API Keys Manager

Generate, copy, and manage per-user API Keys for external CRM integrations (HubSpot, Salesforce, Zapier, Make, or custom apps).

Key Name API Key Created Last Used Action
Loading API keys...

1. Direct CRM Push-to-Send API (Recommended)

Endpoint: POST http://localhost:3000/api/v1/send

Push a message directly from your CRM. The system automatically uses your active connected WhatsApp session.

curl -X POST http://localhost:3000/api/v1/send \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "to": "254712345678",
    "message": "Hi John! Your CRM order #1042 has been confirmed."
  }'

2. Direct Media Send API (Images / Invoices)

Endpoint: POST http://localhost:3000/api/v1/send

curl -X POST http://localhost:3000/api/v1/send \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "to": "254712345678",
    "message": "Here is your invoice PDF",
    "mediaUrl": "https://example.com/invoice.pdf",
    "mediaType": "document",
    "fileName": "Invoice_1042.pdf"
  }'

3. Node.js / Python CRM Push Function

async function sendWhatsAppFromCrm(phone, text) {
  const response = await fetch("http://localhost:3000/api/v1/send", {
    method: "POST",
    headers: {
      "Authorization": "Bearer YOUR_API_KEY",
      "Content-Type": "application/json"
    },
    body: JSON.stringify({ to: phone, message: text })
  });
  return await response.json();
}