# Introduction

Welcome to the documentation for Middle! Use these docs as a reference for all things Middle. Using Middle's app connectors and visual workflows, you can automate and integrate data accross your disparate applications.

## Key resources

{% embed url="<https://apps.middle.app/search>" %}

<table data-view="cards"><thead><tr><th></th><th></th><th data-hidden data-card-cover data-type="files"></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td><a href="app-development">Apps</a></td><td>Build custom apps directly an in-browser developer portal—or accelerate setup with pre-built connectors—and seamlessly integrate them with workflows.</td><td><a href="https://932524191-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Mks_UuU2atghAuA9bQz%2Fuploads%2FHkQAqwIL3oekQlKJL2EA%2F1.svg?alt=media&#x26;token=5f061508-4a15-4eec-9930-022bd6b9ee94">1.svg</a></td><td><a href="app-development">app-development</a></td></tr><tr><td><a href="building-workflows">Workflows</a></td><td>Low-code workflows empower you to create integrations between apps. This accelerates automation and reduces reliance on engineering.</td><td><a href="https://932524191-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Mks_UuU2atghAuA9bQz%2Fuploads%2F0RtEWDyYHHRwfZEsypAX%2F2.svg?alt=media&#x26;token=19ef4361-d63a-474d-a226-1ea51ab0d541">2.svg</a></td><td><a href="building-workflows">building-workflows</a></td></tr><tr><td><a href="introduction/data">Data</a></td><td>Synced data is stored in a searchable persistent layer, allowing you to relate records through foreign keys and easily  troubleshoot issues.</td><td><a href="https://932524191-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Mks_UuU2atghAuA9bQz%2Fuploads%2FfpcT8uNWGZqXNjS7NvcR%2F3.svg?alt=media&#x26;token=86b017de-5c93-46dc-bb60-b75d62df6f66">3.svg</a></td><td><a href="introduction/data">data</a></td></tr></tbody></table>

## Summary

Middle enables data synchronization between web applications through a structured process involving apps, functions, and workflows:

{% stepper %}
{% step %}

### Sync Function

A [**sync function**](https://docs.middle.app/middle-docs/app-development/sync-records), defined within a Middle App, initiates the data retrieval process. It calls an external **API endpoint** to access data from a connected web application.

<figure><img src="https://932524191-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Mks_UuU2atghAuA9bQz%2Fuploads%2FHVhSlV6JvV9gZhbgv2kx%2Fapp_portal_1.gif?alt=media&#x26;token=cbb4ae08-817a-47e6-9b4b-ad29165b2017" alt=""><figcaption><p>Configuring a record type in a Middle app</p></figcaption></figure>
{% endstep %}

{% step %}

### App Connection & Account

An **App Connection** within a specific **Account** provides the necessary **credentials**, manages the **sync job**, and stores the resulting **records**. This connection acts as the secure bridge between Middle and the external application.
{% endstep %}

{% step %}

### Workflow Execution

**Workflows** are triggered either on a **schedule** or in response to **record creation or update** events. These workflows retrieve the stored data using **relational foreign keys**, enabling access to previously synced records.

<figure><img src="https://932524191-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Mks_UuU2atghAuA9bQz%2Fuploads%2FAjbWjzaOZug9MNl5my1Q%2Fworkflow_1.gif?alt=media&#x26;token=1dd409b1-f3c5-426f-abec-46279e80bfc0" alt=""><figcaption><p>Constructing a workflow</p></figcaption></figure>
{% endstep %}

{% step %}

### Action Steps and Action Functions

Each workflow contains **action steps**, which are powered by an **action function** defined in the App. These steps typically execute **scripts or API calls** to other web applications, completing the data sync or transfer process.
{% endstep %}
{% endstepper %}

{% hint style="info" %}
All workflow, sync, and action invocations are stored in searchable execution history tables
{% endhint %}
