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

# Activity

> Monitor your sending in real time

Helo gives you full visibility into every email you send. From the moment a message is accepted to the moment it's delivered, opened, or bounced, every event is captured and queryable -- in real time.

Activity comes in two forms:

* **Events** — an ordered log of every delivery lifecycle event for every message
* **Messages** — a view of each distinct message along with its full delivery history

## Events

Every message goes through a series of lifecycle events as it moves through Helo's infrastructure.

| Event          | Description                                                                                            |
| -------------- | ------------------------------------------------------------------------------------------------------ |
| `accepted`     | Helo has accepted the message for processing                                                           |
| `processed`    | The message has been processed and handed off to the receiving mail server                             |
| `delivered`    | The receiving server confirmed delivery                                                                |
| `opened`       | The recipient opened the email (requires [open tracking](/core/channels-tracking) to be enabled)       |
| `clicked`      | The recipient clicked a tracked link (requires [link tracking](/core/channels-tracking) to be enabled) |
| `bounced`      | The message could not be delivered — see [Bounces](/core/bounces)                                      |
| `complained`   | The recipient marked the message as spam                                                               |
| `unsubscribed` | The recipient unsubscribed                                                                             |
| `resubscribed` | A previously unsubscribed recipient opted back in                                                      |

### Querying events

<Tabs>
  <Tab title="Query events via the API">
    You can [retrieve events via the API](/api-reference/activity/list-activity-events) with a wide range of filters:

    | Filter                  | Description                                            |
    | ----------------------- | ------------------------------------------------------ |
    | `channelId`             | Scope results to a specific channel                    |
    | `messageId`             | Retrieve all events for a specific message             |
    | `startDate` / `endDate` | Filter by event timestamp                              |
    | `recipient`             | Filter by recipient email address                      |
    | `subject`               | Filter by message subject                              |
    | `mailType`              | `transactional` or `broadcast`                         |
    | `eventTypes`            | One or more event types (e.g., `bounced`, `delivered`) |
    | `tags`                  | Filter by tags attached to the message                 |

    Results are paginated using a cursor. Pass the `after` value from a response to fetch the next page. Each page returns up to 500 events.
  </Tab>

  <Tab title="Query events via the UI">
    To review events in the Helo UI, navigate to the Channel you'd like to view events for, select `Activity`, and open the `events` tab. Use the filters to filter events by date, mail type, event type, or tags — or search messages by recipient email or subject line.
  </Tab>
</Tabs>

## Messages

The messages view gives you a higher-level perspective — one record per distinct message sent, each with a summary of its delivery status and recipient list.

Each message has:

* A unique `messageId`
* The `channelId` it was sent through
* `mailType` (`transactional` or `broadcast`)
* `mailSource` (`api` or `smtp`)
* `deliveryType` (`live` or `sandbox`)
* `status` (`queued` or `sent`)
* Subject, recipients, and tags

### Message details

Fetching a single message by ID returns the full picture:

* **Headers** — from, to, cc, bcc, reply-to addresses
* **Content** — plain text body, HTML body
* **Attachments** — filename, disposition (`inline` or `attachment`), and size
* **Tracking settings** — whether open tracking and link tracking were enabled
* **Events** — the complete ordered history of events for that message

### Querying messages

Messages support the same filters as events: `channelId`, `startDate`/`endDate`, `recipient`, `subject`, `tags`, `mailType`, and `status`. Results are paginated up to 100 per page.

## Statistics

Helo aggregates your sending data into statistics so you can understand trends and monitor the health of your sending over time.

Stats are always broken down by mail type — `transactional` and `broadcast` — so you can see how each sending stream is performing independently.

The following metrics are tracked:

| Metric         | Description                                          |
| -------------- | ---------------------------------------------------- |
| `sent`         | Messages handed off for delivery                     |
| `delivered`    | Messages confirmed delivered by the receiving server |
| `opened`       | Messages opened by at least one recipient            |
| `clicked`      | Messages where at least one link was clicked         |
| `bounced`      | Messages that could not be delivered (hard + soft)   |
| `unsubscribed` | Messages that resulted in an unsubscribe             |
| `complained`   | Messages that resulted in a spam complaint           |

### Time-based aggregations

Stats are available at three granularities:

* **Hourly** — one data point per hour, for a given `from`/`to` range
* **Daily** — one data point per day, for a given `from`/`to` range (pass a `timezone` to align days to your local time)
* **Totals** — a single aggregated summary for the entire `from`/`to` range

All three endpoints support filtering by `channelId` and by `tags`.
