Campaigns

Contacts and Campaigns

Import opted-in contacts from CSV, segment them with tags, and send compliant approved-template WhatsApp campaigns.

Updated May 25, 2026

Use https://wapp.chat/whatsapp/contacts to manage contacts and send approved-template campaigns.

Campaign sending is designed for compliance:

  • contacts must be opted in
  • opted-in contacts must have documented WhatsApp consent evidence
  • outbound campaign messages use approved Meta templates
  • opted-out contacts are skipped
  • the account compliance profile must be completed first
  • delivery status is tracked after sending

CSV Import #

Minimum CSV:

phone,name,tags
+15551234567,John Doe,customer
+15557654321,Jane Doe,lead

phone is required. name and tags are optional.

Only import contacts who already gave permission to receive WhatsApp messages from your business. Read Templates and Consent.

The import screen asks you to confirm this consent. WApp Chat records that confirmation with the imported contacts.

Campaign Targeting #

Campaigns can target:

  • all opted-in contacts
  • contacts with a selected tag
  • selected contact IDs through API usage

If the UI says No contacts with documented WhatsApp opt-in found for this campaign, check:

  • contacts were imported
  • phone numbers are valid
  • the selected tag exists on at least one contact
  • contacts are not opted out
  • contacts have consent metadata from CSV import, START/subscribe, or an external event with opt-in details

If the UI says the compliance checklist is incomplete, open https://wapp.chat/whatsapp/settings and save the WhatsApp Compliance Profile.

Create Campaign API #

POST https://wapp.chat/api/whatsapp/campaigns
Content-Type: application/json

Example:

{
  "name": "June reminder",
  "template_id": "template_uuid",
  "target": {
    "type": "tag",
    "tag": "customer"
  },
  "body_params": [
    "{{contact.name}}",
    "June offer"
  ]
}

The template must already be synced and approved.

Campaign API requests must also include policy acknowledgement:

{
  "name": "June reminder",
  "template_name": "june_reminder",
  "template_language": "en_US",
  "tag": "customer",
  "body_parameters": ["{{contact.name}}"],
  "policy_acknowledged": true
}

The tenant must have a saved WhatsApp Compliance Profile before campaigns can be queued.

Contact Variables #

Template body parameters can include contact variables:

{{contact.name}}
{{contact.phone}}

Metadata variables may also be supported depending on the contact data stored for that tenant.