# Logical Concepts

When creating Actions and adding logic to your User Interfaces (Visibility/Read-Only/Styling conditions, Event Handlers), a few important concepts exist in addition to the well-known [Condition Editor](/reference/platform-concepts/conditions.md), [Function Editor](/reference/platform-concepts/functions.md) and [Actions](/reference/actions.md).

### Value Processors

The Value Processor is a tool for simple data manipulation and formatting operations that are run client-side. For example, add 1 to an integer App Variable, or invert a boolean property.

**Article**:

* [Value Processor](/reference/platform-concepts/value-processor.md)

### Advanced Functions

The Function Editor allows you to write Javascript. Although Javascript is not a required skillset, you should be familiar with a few important functions - such as creating concatenated strings and aggregation of data from an array.

**Article**:

* [Advanced Functions](/reference/platform-concepts/functions.md#advanced-functions)

### Markdown

Markdown is a syntax for formatting plain text with basic formatting. It requires some simple syntax, and Markdown interpretation may be enabled a few places (see the article below).

**Article**:

* [Markdown](/reference/platform-concepts/markdown.md)

### Timers

Timers allow an action to be executed client-side on a schedule, e.g. every second. It can be used for creating automatic carousels or other dynamic behaviour.

Timers are defined in the App Settings.

**Article**:

* [Timers ](/reference/apps/app-settings.md#timers)(part of App Settings)

### Keyboard Shortcuts

Keyboard Shortcuts may be defined per view. In other words, Actions may be executed when the user navigates with arrows or enters the Delete key on the keyboard.

**Article**:

* [Add keyboard shortcuts](/how-to/enhance-your-app/keyboard-shortcuts.md)

### Offline support

Appfarm comes with support for creating offline apps. In other words, Apps that work and operate in offline environments.

*In the Appfarm Professional learning path, we do not require full knowledge of this topic, but you should be familiar with the Rules and Settings section of the below article.*

**Article**:

* [Offline data handling](/how-to/data-modeling/offline-data-handling.md)


---

# 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.appfarm.io/appcademy/appfarm-professional/logic-and-flow/logical-concepts.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.
