# Configuring Uploader's "Recall" functionality

## Overview

Once the fields and data are initially mapped, subsequent upload logic can be recalled based on the optional [Parameterized Fields](https://docs.osmos.io/developer-docs/parameterized-fields), "userID" and "userGroup". Which, unlike other parameterized fields, are defined outside the schema.

Here's an example of using the `userID` parameterized field to populate a field called `user_id` for every row by pulling the property `curUserID` from the browser.&#x20;

There are two applications of Parameterized Fields in this example:

1. The `curUserID` becomes the value of the `userID` parameter, which is used to control recall.
2. Also, the `userID` parameter is being used to populate the field `user_id` within the uploaded data itself - this is optional.

```javascript
<script>
  Osmos.configure({
    userID: window.curUserID,
    schema: {
      fields: [
        {
          name: "user_id",
          fieldType: 'userID'
        },
        ...
      ]
    },
    ...
  });
</script>
```

### Hierarchy of Recall

1. If you are passing a [userID](https://docs.osmos.io/developer-docs/parameterized-fields), it will recall by userID first.
2. If you are passing a [userGroup](https://docs.osmos.io/developer-docs/parameterized-fields), it will be recalled next by the userGroup.
3. If you are user neither userID nor userGroup, it will recall by uploader token. This means recall will be performed on the uploader level.&#x20;

{% hint style="info" %}
While the Recall and the Auto-Mapping behavior is usually useful to speed up mapping and ease the upload process, there are some scenarios where it is undesired.  Here are the settings to [disable these features](https://docs.osmos.io/developer-docs/optional-uploader-settings).&#x20;
{% endhint %}
