# Advanced Reporting Options(managed feeds)

### Build Feed Flag <a href="#build-feed-flag" id="build-feed-flag"></a>

Use the `build-a-feed` flag (`--build-feed`) to build a DataFeed of a `QueryType` with one or more `QueryParameters`.&#x20;

When reporting, the CLI will list the `QueryTypes` this flag supports. To select a `QueryType`, enter a type from the list provided. Then, enter in the corresponding `QueryParameters` for the `QueryType` you have selected.

This will instruct Telliot to build the Query and select the appropriate source.

```bash
telliot report -a myacct1 --build-feed --submit-once -ncr --fetch-flex
```

### Reporting for Tips

{% hint style="danger" %}
This is is an experimental feature. Use at your own risk.
{% endhint %}

If you remove the `-ncr` option and set the `-p` option (*profit flag*) you can make Telliot report when there's a [tip](/getting-data/tipping.md) available for the selected query.

The  `-p` flag calculates a percentage profit based on the price of FETCH tokens and PLS price to calculate gas and if a report will meet the profit you set or not. If so, it will report. If not, it will continue to wait until there's enough tips for the `QueryID` you chose.

{% hint style="info" %}
Note: the profit flag does not check profitability for time based rewards, only for [tips](/getting-data/tipping.md).
{% endhint %}

```bash
telliot report -a myacct1 -qt pls-usd-spot -p 10 --fetch-flex
```

Telliot will only report if there's a tip for `pls-usd-spot` `QueryID` and the profit of it is above the percentage you set in -p (10% in this example).

### Reporting Random Feeds

To support the ecosystem and have a larger chance of getting time based rewards (by not clashing with another reporter reporting the same `QueryID` as you) you may want to report to multiple random feeds.

Use the `-rf` option to report to a random feed from the list found in `~/telliot-feeds/src/telliot_feeds/utils` directory. Open the file `reporter_utils.py` to check and edit the queries.

Look for this function in the Python code:&#x20;

```python
def suggest_working_random_feed()
```

Edit the list like by adding a comma before a new query and leave the last query without a comma, ending with quotes, like this:

```python
available_feeds_tags = [
    "doge-usd-spot",
    "pls-usd-spot",
    "btc-usd-spot",
    "eth-usd-spot"
]
```

{% hint style="info" %}
There should be a comma after each query in the list except the last one. Make sure to save the file after you have finished edititng.
{% endhint %}

If doesn't take effect right after changing it, deactivate and reactivate the `venv` environment and run the following `pip` commands from within the `telliot-feeds` folder:

```bash
pip install -e .
pip isntall -r requirements.txt
```

Now you can report to a random feed using this Telliot command:

```bash
telliot report -a myacct1 -rf -ncr --fetch-flex
```

Telliot will be randomly selecting one of the queries you set in `available_feeds_tags` list to try to report to.

### Continue Reporting When Disputed

By default, Telliot stops reporting when it detects the reporter was disputed. This is so you can check what is happening and take action, instead of risking repeated disputes and potential losses.

You can use the `--continue-reporting-on-dispute` option to bypass this behaviour and continue reporting even when disputed.

```bash
telliot report -a myacct1 -qt pls-usd-spot -ncr --fetch-flex --continue-reporting-on-dispute
```


---

# 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.fetchoracle.com/reporting-data/advanced-reporting-options-managed-feeds.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.
