Documentation Index
Fetch the complete documentation index at: https://cometchat-22654f5b-docs-campaigns-service-rest-api.mintlify.app/llms.txt
Use this file to discover all available pages before exploring further.
A user in Campaigns is the same as a CometChat user — identified by their uid. The Users page in the dashboard lets you browse users registered in your CometChat app. No separate user creation is needed for Campaigns.
Targeting Users
When creating a campaign, you can target users through the following methods:
| Method | Description |
|---|
| CSV upload | Upload a CSV file with a user_id column and optional per-user variables |
| User picker | Select from the Users list in the dashboard |
Filtering Users
The Users page supports filtering by:
| Filter | Description |
|---|
| Search | Filter by UID or name |
| Role | Filter by CometChat user role |
| Status | Filter by online / offline status |
| Created At | Filter by user creation date |
User Preferences
User-level notification preferences (opt-in/opt-out) are not currently supported. All users in the recipient list receive the notification.
Sending Notifications to Users
You don’t always need to create a campaign to reach your users. You can send notifications directly — either from the dashboard for a single user, or via API for multiple users.
From the Dashboard
On the User Detail page, there’s a Send Notification button that lets you send a notification to that specific user. Pick a template, fill in variables, and send.
From Your Backend (API)
For sending to multiple users without a campaign, use the API. The flow is:
- Have at least one channel and one approved template ready.
- Call
POST /notifications/messages from your server with the template and list of user UIDs.
- Optionally include per-user variables for personalization (like name, order number, etc.).
- Get a response confirming the send.
Delivery Modes
| ≤ 10 recipients | > 10 recipients |
|---|
| Mode | Realtime | Batch |
| Delivery | Immediate — notifications are created before the response returns | Queued — processed in the background |
| Response | notificationId + channels | batchId + total count |
| Confirmation | Response = delivery done | Response = job queued, track via webhooks |
Tracking Delivery
- Realtime (≤ 10): A successful response means all notifications were delivered.
- Batch (> 10): The response confirms the job is queued.
There is no dashboard view for direct notification status. Only campaigns have a detail page with delivery tracking.
For the API reference, see Send Notification.
Limits
| Limit | Value |
|---|
| Max recipients per campaign | 10,000 |
| Users list page size | Configurable (default 20, max 100) |