> ## Documentation Index
> Fetch the complete documentation index at: https://www.cometchat.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Overview

> Send transactional notifications, run scheduled campaigns, and manage the per-user in-app feed across in-app and push channels.

CometChat Campaigns is a notification management system that lets you design, target, and deliver in-app and push notifications to your users. It provides a visual dashboard for creating notification templates, managing delivery channels, and sending targeted campaigns — either immediately or on a schedule. Your backend can also send notifications programmatically via API.

## Key Capabilities

* **Send transactional notifications** — Deliver a templated message to one or many users in real time, with per-recipient variable resolution.
* **Organise content with templates** — Author reusable templates with typed variables, categories, and tags. Every notification flows through a template.
* **Immediate and scheduled campaigns** — Send notifications right away or schedule them for a future date and time.
* **Track delivery and engagement** — Capture delivered, read, clicked, and interacted signals for analytics and unread counts.

## Supported Channels

| Channel  | Description                                                                       |
| -------- | --------------------------------------------------------------------------------- |
| `in_app` | In-app notification feed rendered client-side via SDK                             |
| `push`   | Push notifications delivered via FCM/APNs through CometChat's push infrastructure |

## Prerequisites

* A CometChat app with `appId` and `apiKey`
* At least one enabled channel created
* At least one approved template
* Users registered in CometChat (targeted by their UID)

## Setup Flow

The typical setup to send your first notification from the CometChat Dashboard:

<Steps>
  <Step title="Create a Channel">
    Go to Channels → Create Channel → Select type (`in_app` or `push`) → Name it → Save.

    <Frame>
      <img src="https://mintcdn.com/cometchat-22654f5b/g0YpJp4kB8k8hhm_/images/create-channel.png?fit=max&auto=format&n=g0YpJp4kB8k8hhm_&q=85&s=5aca816687e8bd612652e477583c739b" width="2940" height="1580" data-path="images/create-channel.png" />
    </Frame>
  </Step>

  <Step title="Create a Category (optional)">
    Go to Categories → Create → Name it (e.g., "Marketing", "Alerts"). Categories are used for filter chips in the notification feed UI.

    <Frame>
      <img src="https://mintcdn.com/cometchat-22654f5b/g0YpJp4kB8k8hhm_/images/create-category.png?fit=max&auto=format&n=g0YpJp4kB8k8hhm_&q=85&s=0c34064078f8e50d9f856f3fcb40ba1c" width="2940" height="1582" data-path="images/create-category.png" />
    </Frame>
  </Step>

  <Step title="Create a Template">
    Go to Templates → Create Template → Enter name → Select channel(s) → Design content in the visual builder.

    <Frame>
      <img src="https://mintcdn.com/cometchat-22654f5b/g0YpJp4kB8k8hhm_/images/create-template.png?fit=max&auto=format&n=g0YpJp4kB8k8hhm_&q=85&s=e8d5be03edab17778dbf4475382c6ae4" width="2940" height="1586" data-path="images/create-template.png" />
    </Frame>
  </Step>

  <Step title="Create a Bubble for the Template">
    Design the card bubble — this is the Card Schema JSON that gets rendered natively in the notification feed.

    <Frame>
      <img src="https://mintcdn.com/cometchat-22654f5b/g0YpJp4kB8k8hhm_/images/create-bubble.png?fit=max&auto=format&n=g0YpJp4kB8k8hhm_&q=85&s=a9448a46d1b50f73bc35f2609fb8ad0c" width="2940" height="1582" data-path="images/create-bubble.png" />
    </Frame>
  </Step>

  <Step title="Create and Send a Campaign">
    Define your audience, select the channel, category, and template, then send or schedule the campaign.

    <Frame>
      <img src="https://mintcdn.com/cometchat-22654f5b/g0YpJp4kB8k8hhm_/images/create-campaign.png?fit=max&auto=format&n=g0YpJp4kB8k8hhm_&q=85&s=c665875cb2db734928c3108e0c55932f" width="2940" height="1582" data-path="images/create-campaign.png" />
    </Frame>
  </Step>
</Steps>

## Limits

| Resource                | Limit  |
| ----------------------- | ------ |
| Recipients per API call | 10,000 |

## Common Use Cases

### Transactional alerts

Order shipped, payment receipt, password reset, security alert. One templated message per event, dispatched in real time, with per-recipient variable substitution (`{{order_id}}`, `{{user_name}}`).

### Marketing campaigns

Product launches, promotional offers, re-engagement nudges. Schedule the send, upload a recipient list, and deliver across in-app and push channels.

### Operational messages

Maintenance windows, policy updates, account changes. Dispatched to a broad audience and routed through the in-app feed so users can revisit them.

## Frontend Integration

Integrate Campaigns into your client application using either the pre-built UI Kit components or the Chat SDK for custom implementations.

### UI Kit

<CardGroup cols={3}>
  <Card title="React" icon="react" href="/ui-kit/react/campaigns">
    Pre-built React components for notifications
  </Card>

  <Card title="React Native" icon="mobile" href="/ui-kit/react-native/campaigns">
    Native mobile components for React Native
  </Card>

  <Card title="iOS" icon="apple" href="/ui-kit/ios/campaigns">
    Swift UI Kit for iOS notifications
  </Card>

  <Card title="Android" icon="android" href="/ui-kit/android/v6/campaigns">
    Android UI Kit for notifications
  </Card>

  <Card title="Flutter" icon="code" href="/ui-kit/flutter/campaigns">
    Flutter widgets for notifications
  </Card>
</CardGroup>

### SDK

<CardGroup cols={3}>
  <Card title="JavaScript" icon="js" href="/sdk/javascript/campaigns">
    JavaScript SDK integration
  </Card>

  <Card title="React Native" icon="mobile" href="/sdk/react-native/campaigns">
    React Native SDK integration
  </Card>

  <Card title="iOS" icon="apple" href="/sdk/ios/campaigns">
    Swift SDK integration
  </Card>

  <Card title="Android" icon="android" href="/sdk/android/v5/campaigns">
    Android SDK integration
  </Card>

  <Card title="Flutter" icon="code" href="/sdk/flutter/campaigns">
    Flutter SDK integration
  </Card>
</CardGroup>

## Quick Navigation

<CardGroup cols={2}>
  <Card title="Channels" icon="tower-broadcast" href="/campaigns/channels">
    Configure delivery channels for in-app and push notifications
  </Card>

  <Card title="Categories" icon="folder" href="/campaigns/categories">
    Organize notifications with categories for filtering
  </Card>

  <Card title="Templates" icon="file-lines" href="/campaigns/templates">
    Create reusable notification templates with variables and versioning
  </Card>

  <Card title="Campaigns" icon="paper-plane" href="/campaigns/campaigns">
    Create and manage targeted notification campaigns
  </Card>
</CardGroup>
