Limits
Current enforced limits. We will announce changes here before they take effect.
| Limit | Value |
|---|---|
| Message recipients per campaign | 5,000 |
| Message list page size | 200 default, 500 max |
| Contact import file size | 16 MB |
| Contact import rows | 16 MB worth — split larger lists |
| Template name length | 512 characters, [a-z0-9_] |
| Template footer | 60 characters |
| Phone number format | 8–15 digits, country code included |
Idempotency keys
Scoped per workspace. They are not garbage-collected on a schedule yet, so use a deterministic UUID per logical message rather than a timestamp.
Delivery
- A send is queued immediately and normally reaches Meta within a second.
- Failed sends are retried with backoff before being marked
failed. - Delivery receipts depend on the recipient's device and privacy settings —
deliveredorreadmay never arrive for a valid message.
Rate limits
No hard per-second rate limit is enforced today; the worker paces sends to Meta. If you plan a burst above ~50 messages/second, tell us first so we can raise worker concurrency for your workspace.
Retention
| Data | Retention |
|---|---|
| Messages and events | Indefinite (delete on request) |
| API logbook entries | Indefinite until retention is configured |
| Contact imports | Stored as contacts, no separate file copy |