> For the complete documentation index, see [llms.txt](https://docs.appfarm.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.appfarm.io/appcademy/appfarm-professional/logic-and-flow/logical-concepts.md).

# 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
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 by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.appfarm.io/appcademy/appfarm-professional/logic-and-flow/logical-concepts.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

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.
