# 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. ![The Automate interface displaying the reason why a condition cannot support live monitoring.](../../../assets/07c45bf75b618c42c51c29a0443cb68f239f9d29c9161b92f1e5fdb3dca54e9c.webp) 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. ![The Evaluation frequency dropdown menu showing the different options.](../../../assets/2783f0ce38392743a8598ee2f261954b0c14b16dc67aedd30b1aa848b7e474b8.webp) ### 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. ![A digest email example use case in Automate.](../../../assets/a0b0cb2f9358077f9432d73ccc047bbd42e4352bf950f973e3afe9f9b4bb6d57.webp) 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).