# Evaluation frequency
Automate offers three evaluation frequency modes for [object set conditions](../condition-objects/index.md): [live monitoring](#live-monitoring), [scheduled monitoring](#scheduled-monitoring), and [automation-dependent](#automation-dependent).
## Evaluation frequency support
The following table summarizes the condition types that support each evaluation frequency mode:
| Condition type | Live monitoring | Scheduled monitoring | Automation-dependent |
|----------------|-----------------|----------------------|----------------------|
| [Time condition](../condition-time/index.md) | - | ✓ | - |
| [Objects added to set](../condition-objects/index.md#objects-added-to-set) | ✓ [1](#streaming-live-monitoring) | ✓ | ✓ |
| [Objects removed from set](../condition-objects/index.md#objects-removed-from-set) | ✓ [1](#streaming-live-monitoring) | ✓ | ✓ |
| [Objects modified in set](../condition-objects/index.md#objects-modified-in-set) | ✓ | – | – |
| [Run on all objects](../condition-objects/index.md#run-on-all-objects) | – | ✓ | ✓ |
| [Metric changed](../condition-objects/index.md#metric-changed-sunset) | – | ✓ | – |
| [Threshold crossed](../condition-objects/index.md#threshold-crossed) | – | ✓ | – |
**1** Only supported for batch pipelines. Streaming pipelines are not supported.
## Live monitoring
Live monitoring runs evaluations within minutes of an object change appearing in the Ontology. [Ontology indexing](../../object-indexing/overview/index.md) must complete before Automate detects the change. Latency expectations differ by type of change: patches (user edits) are smaller and process faster, while base versions (backing dataset changes) are larger and take longer to process.
[Review the table above](#evaluation-frequency-support) to understand the object set conditions that support live monitoring.
Automate live monitoring supports [funnel batch pipelines](../../object-indexing/funnel-batch-pipelines/index.md), and has partial support for [funnel streaming pipelines](../../object-indexing/funnel-streaming-pipelines/index.md). For example, stream-backed object types cannot be used for `Objects added to set` or `Objects removed from set` condition types.
**Requirements:**
* Object type must use [Object Storage v2](../../object-backend/overview/index.md#object-databases).
:::callout{theme="success"}
After migrating an object type from Object Storage v1 to v2, re-save automations to enable live monitoring.
:::
**Unsupported object set features:**
* Relative time conditions
* More than one object type
* Joined object sets
* Certain filter types like prefixes, terms, and phrases
* Filters on [derived properties](../../object-link-types/derived-properties/index.md)
* Function-generated object sets
* Interfaces
## Scheduled monitoring
:::callout{theme="warning"}
Scheduled monitoring can result in high compute usage, especially for complex queries that run on a frequent schedule.
:::
Scheduled monitoring evaluates the condition on a user-defined schedule. Conditions default to scheduled monitoring when live monitoring is unsupported. In the Automate UI, the scheduled monitoring label will explain which functionality is preventing live monitoring.

Scheduled monitoring supports object set conditions that filter on [derived properties](../../object-link-types/derived-properties/index.md). For example, you can trigger an automation when a `Department` object's derived `Average employee salary` property exceeds a threshold, as long as the condition uses scheduled monitoring.
Most conditions that support live monitoring can switch to scheduled monitoring, either by choosing **Scheduled Monitoring** from the **Evaluation frequency** dropdown menu in the Automation interface or by adding a schedule. A schedule allows you to check an object set condition at a specific point in time or on a regular cadence.

### Example use case: Digest emails
Send a weekly list of new `Support Ticket` objects created in the previous week, but only if tickets exist:
1. Add a schedule for 8:00 AM Monday to an **Objects added** condition containing all `Support Ticket` objects.
2. Add a notification effect to render the list.

Review the [weekly report example use case](../example-weekly-report/index.md) for a detailed walkthrough of how to configure an automation that sends digest emails.
## Automation-dependent
Automation-dependent monitoring evaluates the condition dependent on another automation triggering. You can optionally add a wait-time parameter.
Refer to the [evaluation frequency support table](#evaluation-frequency-support) to see which conditions support automation-dependent monitoring. Notably, **Run on all objects** supports automation-dependent monitoring even though it does not support live monitoring.
[Learn more about automation dependencies](../automation-dependencies/index.md).