> For the complete documentation index, see [llms.txt](https://help.mimeeq.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://help.mimeeq.com/configurator/rules/overview.md).

# Rules Overview

Learn how to create dynamic product configurations using Mimeeq's triggers and actions system.

Rules combine a trigger with one or more actions. When the trigger condition is met, the configured actions run automatically. Use rules to enforce product logic, create dependencies between options, or change configurator behaviour based on customer selections.

## What are triggers and actions?

Triggers are conditions that activate a rule. Actions are the changes that occur when those conditions are met. Together they create if-then logic: if this trigger fires, then run these actions.

| Component   | Role                                |
| ----------- | ----------------------------------- |
| **Trigger** | The condition that fires the rule   |
| **Action**  | What happens when the trigger fires |

## Accessing the rules section

1. Navigate to the **Product Admin** area.
2. Click the **Rules** tab.

## Creating rule containers

Rule containers group related rules to keep your configuration organised.

1. In the **Rules** tab, click **Add Container**.
2. Name the container to reflect its purpose — for example, *Fabric Dependencies* or *Pricing Rules*.

## Adding a new rule

1. Select a rule container.
2. Click **Add Rule**.
3. Enter a descriptive name — for example, *Velvety Fabric - Metal Legs*.

## Setting up triggers

Every rule needs at least one trigger:

1. Click **Add Trigger**.
2. Select a trigger type from the dropdown.

### Trigger types

| Type              | When it activates                                                |
| ----------------- | ---------------------------------------------------------------- |
| **Always Active** | Constantly applied — useful for defaults and zoom settings       |
| **Events**        | Fires on a specific user interaction, such as clicking a hotspot |
| **Filter**        | Based on filter attributes                                       |
| **Option Set**    | When a specific option value is selected                         |

For the full list of trigger types and their settings, see Triggers Overview.

### Example: option set trigger

1. Select **Option Set** as the trigger type.
2. Choose the option set — for example, *Fabric*.
3. Select the value that fires the trigger — for example, *Velvety*.
4. Set the **Inclusion Type**:
   * **Is one of** — fires when any of the selected options are chosen.
   * **Is not one of** — fires when anything except the selected options are chosen.

## Adding actions

Once your trigger is set, define what happens when it fires:

1. Click **Add Action**.
2. Select the action type.
3. Configure the action parameters.

For the full list of action types and their settings, see [Actions Overview](/configurator/rules/actions.md).

### Example: select parameter action

1. Choose **Select Parameter** as the action type.
2. Select the parameter to modify — for example, *Leg Type*.
3. Choose the value to set — for example, *Metal*.
4. Click **Save**.

## Multiple triggers and actions

| Scenario                      | Behaviour                              |
| ----------------------------- | -------------------------------------- |
| Multiple triggers on one rule | All conditions must be met (AND logic) |
| Multiple actions on one rule  | All actions run when the trigger fires |

## Testing your rules

1. Click **Preview** in the top right corner.
2. Interact with the configurator to fire your trigger conditions.
3. Verify that the expected actions run.

## Example use case

A rule is set up so that selecting the *Velvety* fabric automatically sets the leg type to *Metal*:

* **Trigger** — Option Set: Fabric = Velvety
* **Action** — Select Parameter: Leg Type = Metal

In preview mode, choosing Velvety fabric immediately switches the leg type. This pattern is useful for enforcing valid product combinations or guiding customers towards recommended configurations.

## Avoiding trigger loops

{% hint style="warning" %}
Check for circular dependencies. Make sure triggers and actions do not create infinite loops where one rule activates another, which then re-activates the first.
{% endhint %}

Common loop patterns to avoid:

| Pattern                       | Example                                                                        |
| ----------------------------- | ------------------------------------------------------------------------------ |
| **Bidirectional rules**       | Rule 1: Fabric = Velvet → Legs = Metal; Rule 2: Legs = Metal → Fabric = Velvet |
| **Chain reactions**           | Rule A triggers Rule B, Rule B triggers Rule C, Rule C triggers Rule A         |
| **Cross-parameter conflicts** | A rule modifies multiple parameters whose values then fire conflicting rules   |

{% hint style="success" %}
**Best practices**

* Give rules clear, descriptive names.
* Group related rules in dedicated containers.
* Test rules thoroughly after creation.
* Document your rule logic for team reference.
  {% endhint %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://help.mimeeq.com/configurator/rules/overview.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
