# Automation
The automation module is a powerful tool for creating and managing complex workflows. It allows you to create workflows that can be triggered by different events and run some actions till the workflow reaches to a benchmark. FLuentCRM provides a set of predefined events that you can use to trigger your workflows. You can also create your own custom action and trigger to reach a benchmark. Now, you can see there are three different types of automation in FluentCRM. They are trigger, action and benchmark. We will go through each of them one by one.
# Trigger vs Action vs Benchmark
# Trigger
When a user or subscriber does something it's a trigger. Let's say a user subscribes to your newsletter. This is a trigger. Trigger is the first step of an automation. It's the event that starts the automation.
# Action
When your application does something it's an action. An action is a task that you want to perform when a trigger happens. For example, when a user subscribes to your newsletter, you can send a welcome email to the user. This is an action. You can also create a custom action to perform any task you want. For example, you can create an action that will add a tag to a user when they subscribe to your newsletter.
# Benchmark
A benchmark is goal or target that you want to reach. For example, when a user clicks on a link in your email then it's a benchmark.