# Events

## Introduction

Although many branches of **Logic** can be defined in **Incari's** **Logic Editor**, a branch will never be executed without being initiated by an **Event**. They define when, and under what conditions, functionality should be triggered. In both **Incari** and computer science in general, event systems define a relationship between the fulfillment of criteria and the set of instructions to be performed once those criteria are met, and are made up of two parts: *triggers* and *listeners*.

*Triggers* can be thought of as being like announcements. A real-world example of a *trigger* is a school teacher announcing that an exam's time limit has been reached. The other staff members and students are the *listeners* in this case, whereby the **Event** occurring prompts the staff members to begin collecting exam papers, while students stop writing and put down their pencils.

**Events** in **Incari** can be directly triggered by the user's input, as is the case with **Keyboard** and **Mouse Events**, or triggered automatically when something happens relating to an **Object**, **Variable**, **Scene**, or **Screen**. One of the most powerful aspects of **Incari's** **Events** is that you can even define your own custom *triggers* and *listeners*, to establish the criteria under which one part of your **Logic** causes the execution of others.

## External Links

[*What is event programming?*](https://mortoray.com/2017/06/26/what-is-event-programming/) on Musing Mortoray.


---

# Agent Instructions: 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:

```
GET https://docs.incari.com/incari-studio/2021.4/toolbox/events.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
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.
