# Functional Interactions (FIX)

Functional Interactions (FIX) is a standalone version of Sygnal's SA5 Triggers, Events & Actions model, ported into SSE Code.&#x20;

It's basic purpose is to make it easy to functionally connect things in your webpage designs, using attributes.&#x20;

Examples;

* Click a button, and scroll to a position of the page&#x20;
* Change a tab, and have a slide change with it&#x20;
* Submit a form, and have custom code hand it to an API&#x20;

## Overview&#x20;

* **Trigger** - a user-initiated or system-initiated starting point for a functional interaction.
  * e.g. Clicking an element, hovering over an element, exit intent, a timer, scrolling something into view, etc.&#x20;
* **Event** - a defined event that occurs&#x20;
* **Action** -&#x20;
  * e.g.&#x20;

## Use Cases

* Mirror click. User clicks a button, and a tab also is clicked&#x20;

## Current State

The FIX foundation is implemented, and supports very basic FIX triggers, events, and actions.

Custom triggers and actions can be built at the project level.

Data is transported automatically from related attributes, and from sources such as captured for content, to provide it efficiently to the action for processing.&#x20;

## Future&#x20;

### State Tracking&#x20;

Many Webflow UI elements have state;

* Which tab is current
* Which slide is current&#x20;
* Whether a checkbox is checked or unchecked&#x20;
* Whether a Webflow form is ready for entry, or in an error or success state&#x20;

State changes themselves are often more useful as Triggers and as Actions than a simple mouse click it because there is no ambiguity.&#x20;

They also may have use as gates.  e.g. do this but only if the&#x20;

### Trigger Gates&#x20;

Criteria that must be satisfied before a trigger will fire;

* Time of day or day of week&#x20;
* A previous gate that has been passed&#x20;
* Cookie gates, i.e. time passed since a previous modal view &#x20;

### Telemetry&#x20;

via Posthog on Triggers, Events, and Actions&#x20;


---

# 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://engine.sygnal.com/usage/functional-interactions-fix.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.
