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

# Manage Lists

> Create and manage subscriber lists for bulk notifications and campaigns.

List is a group of subscribers or recipients to whom bulk messages can be sent. for example, you can create a list of users who signed up in the last 30 days. You can now manage subscriber lists in SuprSend and send campaigns or [broadcasts](/docs/broadcast) to pre-created lists of users without the need to add each user individually when making the API call.

By default, SuprSend creates a list named `all_users`, which automatically includes all users available in your workspace. You can use this list to send campaigns like newsletters and product updates.

## Creating lists

You can create lists using one of the following methods:

<Accordion title="Programmatically using SDK / API">
  This is the most flexible way of updating users in a list. This way, you can keep the list updated in real-time. You can use [API](/reference/overview) or update it using backend SDK

  <CardGroup cols="4">
    <Card title="Python SDK" icon="python" iconType="solid" href="/docs/python-lists" />

    <Card title="Node SDK" icon="js" iconType="solid" href="/docs/node-lists" />

    <Card title="Java SDK" icon="java" iconType="solid" href="/docs/lists-java" />

    <Card title="Go SDK" icon="golang" iconType="solid" href="/docs/lists-go" />
  </CardGroup>
</Accordion>

<Accordion title="Using third party data platforms">
  SuprSend supports integration with third-party platforms to sync user and event data. You can also sync user cohorts from these platforms into lists and run campaigns on those user segments from SuprSend. We currently have integration support for below connectors:

  <Card title="Mixpanel" href="/docs/mixpanel" />

  Need support for another connector? [Please Let us know](https://join.slack.com/t/suprsendcommunity/shared_invite/zt-3932rw936-XNWY1RC8bsffh4if4ZyoXQ)
</Accordion>

<Accordion title="From UI via CSV upload">
  You can also update List directly from the SuprSend dashboard. This way, marketing or product teams can send broadcasts directly from the dashboard without any tech involvement. Recommended for cases when you want to send a one-off campaign and only need the list temporarily.

  <Warning>
    This will only sync existing users in SuprSend database. It doesn't create new user profiles. [Refer docs](/docs/users#creating-user-profile-on-suprsend) to create user profiles
  </Warning>

  You'll find the option to create the list and update users on the List Tab.

  <Steps>
    <Step title="Create List">
      * **To create a list**, click on the `+ New List` button and add the relevant information. `List ID` is the unique identifier for the list. `Name` and `Description` are just for reference so that you know what this list represents.

      <Frame>
        <img src="https://mintcdn.com/suprsend/jhGzZpggWCp1KSgu/images/docs/d3d88c5-image.png?fit=max&auto=format&n=jhGzZpggWCp1KSgu&q=85&s=9d6193424345fc7826aac369a2641d56" width="1628" height="756" data-path="images/docs/d3d88c5-image.png" />
      </Frame>

      You can also modify list `Name` and `Description` later by clicking on `Modify List` option available in the right side Kebab menu on a list.
    </Step>

    <Step title="Update Users in the list">
      * Click on the `Update Users` option available in the right side Kebab menu on a list. It will open a dialog like the one shown below

      <Frame>
        <img src="https://mintcdn.com/suprsend/iZJ8XgyTL4NrLVtX/images/docs/a501c88-image.png?fit=max&auto=format&n=iZJ8XgyTL4NrLVtX&q=85&s=59484e9303e5d451b2ee2b59fa3df714" width="1608" height="956" data-path="images/docs/a501c88-image.png" />
      </Frame>

      Follow below steps to update users in the list -

      <Steps>
        <Step title="Choose the Update Function">
          * Choose `Add` to add more users to an existing list of users. for example, if you are adding today's sign ups in the new sign ups list every day
          * Opt for `Replace` to replace the current list with a completely new set of users. This is handy in situations where you need to update the list with all users who fit a criteria (like users subscribed to a topic), without needing to track individual additions.
        </Step>

        <Step title="Upload CSV">
          Upload a CSV file containing the distinct\_id of the users. Make sure that the column is labeled as `distinct_id`

          <Frame>
            <img src="https://files.readme.io/bfd7943-ezgif.com-gif-maker_7.gif" />
          </Frame>

          Click on `Update Users` button. You can check the update progress in `Import logs`.
        </Step>
      </Steps>
    </Step>
  </Steps>
</Accordion>

<Accordion title="Automate list sync using database connector">
  You can automate your list update using data directly by writing SQL query on your database. This allows your data, product and growth teams to completely own product and engagement notifications without any development effort.

  You can also use it to sync user profiles and send personalized broadcasts to users using their profile properties. See how to setup database sync [here](/docs/list-sync-via-database).

  <Frame>
    <img src="https://mintcdn.com/suprsend/3ix_OjxB_ZGM-pa-/images/docs/1edccb7-image.png?fit=max&auto=format&n=3ix_OjxB_ZGM-pa-&q=85&s=2994299e99c89f82c3128a00c09f7181" width="2728" height="862" data-path="images/docs/1edccb7-image.png" />
  </Frame>
</Accordion>

## Configure list events

You can configure events when a user enters or exits a list. for example - you have a list of users **"Active on the platform in last 7 days"**. Whenever a user exists this list, you might want to send a notification to re-engage the users. You can do so using list events. There are 2 types of list events that you can configure

* **User Entry**- This will trigger a bulk event `$USER_ENTERED_LIST - <list_id>` for all new users added to the list whenever a list is updated.
* **User Exit**- This will trigger a bulk event `$USER_EXITED_LIST - <list_id>` for all new users removed from the list whenever a list is updated.

<Note>
  **Existing users won't trigger workflows**

  When you create a workflow that listens to `$USER_ENTERED_LIST`, it only triggers for users added to the list **after** the workflow becomes active. Users already in the list won't trigger it.

  Need to notify existing users? Use [Broadcast](/docs/broadcast) to send to everyone in the list.
</Note>

List events is a list property and can be updated using `Modify List` option on [SuprSend dashboard -> List page](https://app.suprsend.com/en/staging/lists) or using the [list API](/reference/create-list). Event tracking is set as false by default.

<Frame>
  <img src="https://mintcdn.com/suprsend/y77gmHjmaTSnbCzd/images/docs/caf8f79-image.png?fit=max&auto=format&n=y77gmHjmaTSnbCzd&q=85&s=20f9005275be43b6bbc306d2989dceaf" width="1562" height="962" data-path="images/docs/caf8f79-image.png" />
</Frame>

## Sending notification to list users

* You can either setup individual workflows for list users based on [list events](/docs/lists#configure-list-events). for example, if you want to notify job seekers who were active on the platform in the last 7 days but left today.
* The most recommended way to send notification to list users is via [Broadcast](/docs/broadcast). You can schedule broadcast on this list from the dashboard by clicking on "**Run Broadcast**" option or trigger it programmatically via API.We recommend sending broadcasts using promotional category so you don't end up overloading transactional and system queues. Learn more about how to choose the right notification category [here](/docs/notification-category).

<Warning>
  Avoid using individual workflows on a consecutive list update of more than 1000 users. It can add a delay in your notification queue.
</Warning>

***
