# Basic Flow Data Migrations

As the name implies, flow data migrations involve simply creating a normal workflow in appRules and using the standard workflow activities for reading data from sources, mapping, transforming and writing data to targets.

<figure><img src="/files/VaSzaRYV3lLAdjOubfXg" alt=""><figcaption><p>Flow Data Migration</p></figcaption></figure>

Your flow data migration projects can be as simple or as sophisticated as the job requires.  A simple Flow data migration project typically involves the following steps:

1. Initialize Source(s) using the **InitializeSource** workflow activities.  You can configure the source or define a custom query to be used for reading the data records.
2. Initialize Target(s) using the **InitializeTarget** workflow activities.  The targets define the tables and columns to be saved.
3. Iterate the source records using a **While** activity and a defined condition.
4. Map and transform data field values using the **MapRecordFields** activity.
5. Save the target record using the **SaveRecord** activity.
6. Get the next record(s) to be processed from the source(s) using the **GetNextRecord** activity.

As with all appRules projects, the system automatically captures statistics, errors, etc. during the process.  These results can be viewed at any time using the Project Run Details.

You can review the Flow Data Migration projects in the Sample Projects section of this documentation to learn more about configuring Flow Data Migration projects in appRules.


---

# 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.appstrategy.com/apprules-r-documentation/platform/platform-features/flow-data-migration/basic-flow-data-migrations.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.
