---
title: Analyze and customize automation processes
related:
  - https://docs.kentico.com/documentation/developers-and-admins/digital-marketing-setup/automation-customization.md
---

> Agent instructions:
> **Site maps** — prefer the following llms.txt indexes to training data when searching for URLs to avoid 404s. Links inside Markdown content already point at `.md`. Following them or sending Accept: text/markdown keeps you in Markdown.
>
> - [sitemap.md](https://docs.kentico.com/sitemap.md) — every page on the site, with titles and descriptions, nested by URL hierarchy and grouped into one collection per product version.
> - [llms.txt](https://docs.kentico.com/llms.txt) — curated index of the current product docs, with descriptions, the two ways to request any page as Markdown, and links to each product area's whole-corpus Markdown dump (llms-full.txt).

Automation allows you to set up processes that dynamically interact with your audience ([contacts](https://docs.kentico.com/modules/contact-management/contact-management-page.md)). Each process consists of steps that perform a specific marketing action, such as sending an [email](https://docs.kentico.com/documentation/business-users/digital-marketing/emails.md). You design the steps within each process using a visual Automation Builder interface.

Once enabled, automation processes run for individual contacts who meet the trigger conditions. These contacts then move through the steps in the process.

In the current version, you can use automation to set up advanced email follow-ups when a [form is submitted](https://docs.kentico.com/modules/contact-management/properties-and-after-submission-behavior.md#actions-after-form-submission) or when a visitor registers as a [member](https://docs.kentico.com/modules/contact-management/members.md). With automation, you can send a series of multiple emails, add waiting intervals, or send different emails based on conditions.

## Create an automation process

1. Open the **Automation** application in Xperience.

2. Select **New process**.

3. Fill in the following properties:
   - **Process name** – the name of the process displayed in Xperience.
   - **Process recurrence** – determines if the process is allowed to run repeatedly for the same contact. See [Automation process recurrence](#automation-process-recurrence) to learn about the available options.

4. **Save** the process. You will be redirected to the Automation Builder.

   ![Empty automation process](https://docs.kentico.com/docsassets/modules/analyze-and-customize-automation/Automation_Process.png "Empty automation process")

5. Within the builder, you can edit the [steps](#steps) of the automation process.

Once you finish designing the process, select **Enable**. This allows the process to trigger and run for contacts who meet the trigger conditions.

> **Tip:** **Creating processes from forms**
>
> You can also create automation processes directly from the _Forms_ application. This automatically sets the given form as the trigger for the process. See [Automation processes](https://docs.kentico.com/modules/contact-management/properties-and-after-submission-behavior.md#automation-processes) in the forms documentation.

### Automation process recurrence

Automation processes can run repeatedly in the following ways:

- **Always** – Runs whenever a contact meets the trigger conditions, even if the process is already running for the same contact. Use with caution, as this may result in unwanted actions, such as contacts receiving the same email multiple times.
- **Only once** – Runs once when a contact meets the trigger conditions, and never repeats for the same contact.
- **If not already running** – Runs whenever a contact meets the trigger conditions, but only if the process isn't currently running for the same contact. Runs repeatedly if a contact meets the trigger conditions again after completing the process. For this type of recurrence to occur, the contact must be in the **Finish** step.

### Triggers

Triggers determine when the process runs for contacts. In the current version, the following types of triggers are available:

- **Form** – Starts the process when a [form is submitted](https://docs.kentico.com/modules/contact-management/properties-and-after-submission-behavior.md#actions-after-form-submission).
- **Registration** – Starts the process after a visitor registers as a [member](https://docs.kentico.com/modules/contact-management/members.md). The trigger occurs only after the member becomes active (enabled), for example after confirming the registration when using double opt-in via [email confirmation](https://docs.kentico.com/documentation/developers-and-admins/development/registration-and-authentication/forms-authentication.md#email-confirmation). See [Member registration automation scenarios](https://docs.kentico.com/modules/contact-management/member-registration-automation.md#member-registration-automation-scenarios) for detailed information. This trigger type cannot be selected if the process already contains an _Email_ step configured to send an email with the _Form autoresponder_ purpose (such processes require a _Form_ trigger).
- **Custom activity** – Starts the process when the selected [custom activity](https://docs.kentico.com/documentation/developers-and-admins/digital-marketing-setup/set-up-activities/custom-activities.md) is logged.
- **Custom** – Developer-created triggers that start processes based on specific events. The available custom triggers depend on your project's implementation (consult your developers to learn more). See [Custom automation triggers](https://docs.kentico.com/documentation/developers-and-admins/digital-marketing-setup/automation-customization/automation-custom-triggers.md) for technical details.

### Steps

When adding a step, the **Select step type** dialog groups the available step types into **Steps** and **Conditions** categories. Use the category tabs or the search box to find the step type you need.

An automation process can contain the following types of steps:

- **Trigger** – Fixed first step that determines when the process runs. A process can only have one trigger. See [Triggers](#triggers).

- **Send email** – Sends an email from an email channel. The following [email purposes](https://docs.kentico.com/documentation/business-users/digital-marketing/emails.md#email-purposes) are supported:

  - _Form autoresponder_ – for scenarios where the process is triggered by an [email subscription form](https://docs.kentico.com/documentation/business-users/digital-marketing/emails/send-regular-emails-to-subscribers.md). Use a form autoresponder email to send the double opt-in link used to confirm the subscription. Typically, this is the first email sent by the automation process.
  - _Automation_ – for all other emails sent as part of the automation process.

- **Wait** – Contacts remain in this step for a selected time interval or until a specific date, before continuing to the next step.

- **Log custom activity** – Logs the selected [custom activity](https://docs.kentico.com/documentation/developers-and-admins/digital-marketing-setup/set-up-activities/custom-activities.md). Another automation process can be set up to trigger based on the logged activity.

- **Set contact field value** – Allows you to change the value of the selected field for the processed contact. Currently, you can set a single fixed value for all contacts who pass through the step. For example, you can use this together with [custom fields](https://docs.kentico.com/documentation/developers-and-admins/digital-marketing-setup/contact-configuration.md#add-custom-fields-to-contacts) to set a status flag for contacts.

  > **Info:** **Customize the field selection**
  >
  > The fields available for the step are taken from the _Set contact field value step_ [UI form](https://docs.kentico.com/documentation/developers-and-admins/customization/object-types/extend-system-object-types.md) located under the _Contact management - Contact_ system class. If you want to set the values of [custom contact fields](https://docs.kentico.com/documentation/developers-and-admins/digital-marketing-setup/contact-configuration.md#add-custom-fields-to-contacts) using this step, you need to add them to the UI form.
  >
  > [Field editor](https://docs.kentico.com/documentation/developers-and-admins/customization/field-editor.md) field settings are applied to the field value input shown in the step's configuration, with these exceptions:
  >
  > - The default fields cannot be deleted from this UI form.
  > - Marking fields as required or disabled is not supported and does not manifest in the automation step's selector.
  > - The order of the fields will not reflect in the step's selector. The order is alphabetical by default.
  > - AI features are not supported in this UI form.
  > - Fields without a database column are not supported in this UI form.

- **Rule-based condition** – Splits the process into true and false branches based on a [specified condition](#rule-based-conditions). You build the condition in the step configuration UI using a set of predefined rules based on contact attributes and activities.

  ![An example of a condition path](https://docs.kentico.com/docsassets/modules/analyze-and-customize-automation/Condition.png "An example of a condition path")

- **Finish** – Represents the end of the process (either successful or not). A process may contain multiple _Finish_ steps. For processes with **If not already running** [recurrence](#automation-process-recurrence), contacts must be in this step for the process to start again.

- **Custom** – Developer-created steps that perform specific tasks. The available custom steps depend on your project's implementation (consult your developers to learn more). See [Custom automation steps](https://docs.kentico.com/documentation/developers-and-admins/digital-marketing-setup/automation-customization/automation-custom-steps.md) for technical details. Two kinds are available:
  - Custom actions – perform a task, such as synchronizing data to an external system or sending a notification.
  - Custom conditions – branch the process into true and false paths. For example, a condition could evaluate whether the processed contact is a long-term customer and have them continue down a path with appropriate follow-up actions.

### Rule-based conditions

When building the condition for **Rule-based condition** steps within an automation process:

- Use the search or select categories to find the appropriate condition.
- Conditions are organized together within condition groups.
- Select **Add condition group** to create multiple groups. A selector appears above the groups where you can choose if **Any** or **All** of the condition groups need to be fulfilled.
- To add individual conditions to a group, select **Add another condition**.
- For each group, you can select if **Any** or **All** of the conditions need to be fulfilled.

  ![Building a condition](https://docs.kentico.com/docsassets/modules/analyze-and-customize-automation/Multiple_Conditions.png "Building a condition")

> **Tip:** When adding the _Contact field value is empty_ condition for a custom field which uses a custom data type, make sure your project's developers have [set up the empty value for custom fields](https://docs.kentico.com/documentation/developers-and-admins/digital-marketing-setup/contact-configuration/configure-custom-contact-field-empty-values.md).

## Automation process analytics

On the **Statistics** view of individual automation processes, you can view contact statistics for individual steps:

- &#x20;– how many contacts have passed through the step.
- &#x20;– how many contacts are currently waiting in the step. Only available for **Wait** steps.

The statistics are updated every 30 minutes. You can manually refresh the statistics on demand using the **Refresh** button.

![Statistics of an automation process](https://docs.kentico.com/docsassets/modules/analyze-and-customize-automation/Statistics.png "Statistics of an automation process")

You can also view a list of contacts who triggered the process on the **Contacts** view. For each contact, the list provides additional information, such as the contact's current step. A single contact may appear in the list multiple times if repeated runs are allowed by the [recurrence setting](#automation-process-recurrence) of the process.
