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

# Create a task

> Set up a task to monitor an account or keyword, choose which events to watch, and where notifications go

A task watches one account or one keyword query and sends its events to the destination you pick. To create one, click **Add Task** on the [Tasks](https://docs.tweet-catcher.com/monitor/tasks.md) page. The **Create A Task** modal opens. Clicking **Edit** on an existing task opens the same form

![Create a task modal with platform, handle, options, and notification sections](https://mintcdn.com/tweet-catcher-a58f76a0/KlztmTaRb5pMJOie/images/create-task.png?fit=max\&auto=format\&n=KlztmTaRb5pMJOie\&q=85\&s=5efd9ca64d5485611a8a9bcd49a9a8a9)

The form has the following sections, from top to bottom:

**1. Platform**

Pick what to monitor and enter the handle or keyword query

**2. Options**

Choose which events fire a notification

**3. Notifications**

Choose where events are delivered

**4. Organization and advanced options**

Optionally add the task to a group and fine-tune filters

**5. Save**

Save the task stopped, or start it right away

## Platform

| Platform | What you enter | Available options |
| - | - | - |
| Twitter | **User Handle**, without the `@` | All [Twitter options](#twitter-options) |
| Truth Social | **User Handle** | Posts, Retweets, Replies |
| Twitter Global | **Keyword** query | Posts only, delivered over WebSocket |

> [!NOTE]
>
> Twitter Global requires the [Twitter Global add-on](https://docs.tweet-catcher.com/plans.md#twitter-global) to be active on your account

### Twitter Global queries

Twitter Global watches every post that matches a keyword query, instead of a single account. Combine terms with `OR`, `AND`, and `NOT`, and group them with parentheses:

| Query | Matches posts that contain |
| - | - |
| `bitcoin` | `bitcoin` |
| `bitcoin OR ethereum` | Either term |
| `(bitcoin OR ethereum) AND (etf OR approval)` | At least one term from each group |
| `bitcoin NOT (giveaway)` | `bitcoin`, unless the post also contains `giveaway` |
| `(bitcoin OR ethereum) NOT (giveaway OR airdrop)` | Either term, unless the post also contains `giveaway` or `airdrop` |

Terms can't contain `|`, `(`, or `)`. A query that doesn't follow this shape is rejected

> [!TIP]
>
> Click **Builder** to open the **Advanced Query Builder**, which assembles a valid query for you

## Twitter options

Select at least one option. Indented options depend on the one above them, so turn that one on first

| Option | Fires when |
| - | - |
| **Posts** | The account publishes a new post |
| ↳ **Retweets** | The account reposts |
| ↳ **Replies** | The account replies to a post |
| ↳ **Subscriber Posts** | The account publishes a subscriber-only post. Requires Posts, Retweets, or Replies |
| ↳ **Private Posts** | A protected account posts. Requires Posts, Retweets, or Replies |
| ↳ **Deletion** | The account deletes a post. Requires Posts, Retweets, or Replies |
| **Following** | The account follows someone |
| ↳ **Unfollow** | The account unfollows someone |
| **User Updates** | A field on the account's profile changes |
| **OCR Images** | Extracts text from images attached to posts, retweets, and replies |

> [!NOTE]
>
> Replies from `@grok` aren't sent to Discord or Telegram because of the excessive amount of spam they generate

## Notifications

Choose where the task delivers its events. For step-by-step setup of each destination, see [Notifications](https://docs.tweet-catcher.com/monitor/notifications.md)

| Notification | What you enter | Plan |
| - | - | - |
| Discord | A webhook URL and a ping option | Any |
| Telegram | A chat ID | Any |
| Webhook | A URL that accepts `POST` requests | Pro |
| WebSocket | Nothing. Connect with your **Login Token** as the API key | Pro |

### Separate destinations per event

**Same channel** is checked by default, so every event goes to one webhook or chat. Uncheck it to set a separate destination for posts, following, unfollows, user updates, and deletions. This is useful when you want, for example, posts in one Discord channel and profile changes in another

### Discord pings

| Ping option | Effect |
| - | - |
| No Ping | No mention |
| Everyone | Mentions `@everyone` |
| Here | Mentions `@here`, which only notifies online members |
| Role | Mentions the role whose ID you enter in **Ping Role ID** |

To ping only for posts you care about, combine a ping option with [ping keywords or a regex](#advanced-options)

## Advanced options

Click **Advanced Options** to open a second modal with extra filters, then click **Apply Changes** to add them to the task. Which fields appear depends on the task's options and notification type

| Field | Shown when | What it does |
| - | - | - |
| Note | Always | Adds a label of up to 30 characters to each notification |
| Quick Link | Notification is Telegram | Adds a custom link to each message |
| Ignore images | A post option is on | Removes images from the notification |
| Ignore videos | A post option is on | Removes video URLs from the notification |
| Ping keywords | Notification is Discord or Telegram, and a post option is on | Controls which posts ping, using a comma-separated keyword list. See [Ping keywords](#ping-keywords) |
| Use regex | Same as ping keywords | Treats the ping keywords field as one regular expression |
| Following filters | Following is on | Sets a min and max **Posts**, **Followers**, and **Following** count for the followed account, outside the range don't ping |
| User Updates | User Updates is on | Picks which profile fields to report: `Username`, `Name`, `Avatar`, `Banner`, `Location`, `Description`, `Website`, `Pinned`, and `Verification`. All are checked by default |

### Ping keywords

Each keyword in the comma-separated list can carry a prefix:

* `+word` pings only when the post contains `word`. A keyword without a prefix is treated as `+word`
* `++word` pings only when the post specifically contains `word`, not as part of another word
* `-word` suppresses the notification when the post contains `word`

For example, `+launch, +mint, -giveaway` pings on posts about a launch or mint and drops posts that mention a giveaway. `++launch` pings only when the post contains `launch` as a standalone word, not as part of another word like `launching`. Leave the field empty to ping on every post

With **Use regex** on, enter a single regular expression instead, either as a bare pattern or as `/pattern/flags`, for example `/\b(launch|mint)\b/i`. An invalid pattern is rejected when you save

> [!TIP]
>
> Keyword and regex matching follows the switches in [Settings → Notifications](https://docs.tweet-catcher.com/monitor/settings.md#notifications)

## Organization

**Group** adds the task to a label so you can [filter the task list](https://docs.tweet-catcher.com/monitor/tasks.md#find-a-task) by it. Pick an existing group, **No Group**, or **New Group** to create one

## Save

| Control | Effect |
| - | - |
| **Save config** | Stores the current form as the default for your next task |
| **Start on save** | Starts the task as soon as it's created. The save button changes to **Start Task** |
| **Save Task** | Creates the task stopped. Start it later from the [task list](https://docs.tweet-catcher.com/monitor/tasks.md) |
| **Update Task** | Saves your edits. You don't need to stop a running task first |

If the new task duplicates one you already have, you're asked to confirm its creation

> [!NOTE]
>
> Each running task uses one slot of your running limit. See [Running limit](https://docs.tweet-catcher.com/monitor/tasks.md#running-limit)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.