For the complete documentation index, see llms.txt. This page is also available as Markdown.

⚑Message Logic & Limits

Understand how Dapta manages WhatsApp message dispatch, send windows, retry logic, and how Meta's messaging tier system determines how many contacts your campaign can reach per day.

Dapta text agent campaigns send WhatsApp messages through Meta's Business Platform. The rules that govern when messages go out, how many can be sent, and what happens when delivery fails are a combination of Dapta's own scheduling engine and Meta's account-level messaging limits. This page explains both.

Campaign Statuses

Every campaign moves through a lifecycle represented by its status. You can see the current status on the campaign list and on the campaign detail page.

Status
Description

Queued

Campaign created but the dispatch workflow has not started yet.

Running

Campaign is actively dispatching messages to contacts.

Waiting β€” Schedule

The current time is outside all configured send windows. Dispatch resumes automatically when the next window opens.

Waiting β€” Tier

The campaign has reached Meta's daily messaging limit for your account. Dispatch resumes automatically when the limit resets.

Paused

Campaign was manually paused. No messages are sent until you click Resume.

Completed

All contacts have been processed or the end date has passed.

Cancelled

Campaign was manually cancelled. Remaining contacts will not receive any messages.

Failed

An unrecoverable error stopped the campaign.

Waiting β€” Tier is a normal operating state, not an error. Your campaign will automatically resume once your 24-hour dispatch window resets with Meta.


Send Windows

The send schedule controls which days and which hours your campaign is allowed to dispatch messages. All times follow the time zone configured on the campaign.

Contact Days

Choose one of three options:

  • Every Day β€” the campaign dispatches seven days a week.

  • Weekdays (Mon–Fri) β€” the campaign dispatches only on business days.

  • Custom β€” pick specific days of the week.

Time Slots

Each active day has its own time slots with a start and end time. You can add multiple slots per day β€” for example, 9:00 AM – 12:00 PM and 2:00 PM – 6:00 PM.

The following rules apply:

  • Slots cannot overlap within the same day.

  • The start time must be before the end time.

  • At least one day must be enabled with at least one time slot.


WhatsApp Messaging Tiers

The number of unique contacts your campaign can message per day is not set inside Dapta β€” it is determined by Meta's messaging tier system, which is tied to your WhatsApp Business Account's quality reputation.

As of October 2025, messaging limits apply at the business portfolio level: all phone numbers under the same Meta Business Portfolio share a single daily limit.

Tier Table

Tier
Daily Unique Contacts
Requirement

Unverified

250

Default for new, unverified accounts

Tier 1

1,000

Meta Business Verification completed

Tier 2

10,000

Consistent volume at Tier 1 + quality maintained

Tier 3

100,000

Consistent volume at Tier 2 + quality maintained

Unlimited

No cap

Sustained Tier 3 quality with no policy violations

These limits count unique contacts per 24-hour rolling window, not total messages. Sending multiple messages to the same contact within a day counts as one toward your limit.


Quality Rating

Meta assigns a quality rating to your WhatsApp Business Account based on how recipients respond to your messages β€” primarily whether they block your number or report messages as spam.

Rating
Color
Meaning

High

🟒 Green

Messages are well received. Tier upgrades are possible.

Medium

🟑 Yellow

Higher-than-average blocks detected. Tier is frozen β€” no upgrades until quality recovers.

Low

πŸ”΄ Red

Significant negative feedback. Tier advancement is blocked. Account may be reviewed.

You can check your current quality rating and messaging tier in the Meta Business Manager under your WhatsApp Business Account settings.


Advancing to the Next Tier

Tier upgrades happen automatically β€” you do not need to apply or request them manually. Meta evaluates your account every 6 hours.

Unverified β†’ Tier 1

Complete Meta Business Verification in your Meta Business Manager. Once verified, your limit increases to 1,000 contacts/day immediately.

Tier 1 β†’ Tier 2 β†’ Tier 3 β†’ Unlimited

Automatic upgrades occur when both of the following are true:

  1. Your account has used β‰₯ 50% of its current daily limit consistently over the past 7 days.

  2. Your quality rating is Green (High) or Yellow (Medium) β€” not Red.

When both conditions are met, Meta upgrades your tier within approximately 6 hours. Under optimal conditions, a single account can advance multiple tiers within the same business day.


What Drops Your Quality Rating

Meta downgrades quality ratings when a significant share of recipients respond negatively. Common causes:

  • High block rates β€” generally above 2–3% of recipients blocking your number.

  • Spam reports β€” recipients tapping "Report" on a message.

  • Template violations β€” using marketing-category templates for non-marketing content, or vice versa.

  • Frequency overload β€” sending too many messages to the same user in a short period.


Retry Logic

When a message fails to deliver, Dapta follows a structured retry policy based on the failure type.

Failure Type
Behavior

Transient error (network, temporary provider issue)

Retry up to 3 attempts total, scheduled at the next available send window.

Rate limited / daily cap reached

Dispatch pauses until the cap resets, then continues automatically.

Template paused or rejected

Contact marked Failed immediately β€” no retries.

Non-retryable provider error

Contact marked Failed immediately β€” no retries.

Once a contact reaches 3 failed attempts, it is marked Failed and skipped for the remainder of the campaign.


24-Hour Deduplication Window

To prevent accidental double-sends, Dapta enforces a 24-hour deduplication window per phone number per WhatsApp channel. If a message was already successfully sent to a phone number in the last 24 hours, any subsequent dispatch attempt to the same number is automatically skipped and logged as dedup_skip.

This applies across all campaigns that share the same agent channel.

Last updated