# Automation Concepts
Source: https://docs.chain.link/chainlink-automation/concepts/automation-concepts


Before you explore how Chainlink Automation works on the [architecture](/chainlink-automation/concepts/automation-architecture) page, you should explore core concepts.

**Prerequisites**:

- [Smart contracts](https://chain.link/education/smart-contracts#:~:text=DEFINITION,executed%20on%20a%20blockchain%20network.)
- [ERC-677 Token standard](/resources/link-token-contracts)

## Upkeeps and triggers

These are the jobs or tasks that you execute onchain. For example, you can call a smart contract function if a specific set of conditions are met. These specific conditions are called *triggers*. There are currently three types of triggers that the Chainlink Automation Network supports including:

- [**Time-based trigger**](/chainlink-automation/guides/job-scheduler): Use a [time-based trigger](/chainlink-automation/guides/job-scheduler) to execute your function according to a time schedule. This feature is also called the Job Scheduler and it is a throwback to the Ethereum Alarm Clock. Time-based trigger contracts do not need to be [compatible](/chainlink-automation/guides/compatible-contracts) with the `AutomationCompatibleInterface` contract.
- [**Custom logic trigger**](/chainlink-automation/guides/register-upkeep): Use a [custom logic trigger](/chainlink-automation/guides/register-upkeep) to provide custom solidity logic that Automation Nodes evaluate (offchain) to determine when to execute your function onchain. Your contract must meet the requirements to be [compatible](/chainlink-automation/guides/compatible-contracts) with the `AutomationCompatibleInterface` contract. Custom logic examples include checking the balance on a contract, only executing limit orders when their levels are met, any one of our [coded examples](/chainlink-automation/util-overview), and many more.
- [**Log trigger**](/chainlink-automation/guides/log-trigger): Use log data as both trigger and input. Your contract must meet the requirements to be [compatible](/chainlink-automation/guides/compatible-contracts) with the `AutomationCompatibleInterface` contract.

## Automation nodes

Automation Nodes in the Chainlink Automation Network provide service to upkeeps that are funded and registered in the Automation registry. Automation Nodes use the same Node Operators as Chainlink Data Feeds.