# Overview

### Key Concepts

Our tools were built to help you conduct recurring searches into datasets commonly utilized by political watchdogs with as few clicks and data manipulations as possible. To that end, we've created a few building blocks that power our workflows:

* **Lists** — These are sets of entities (candidates, donors, terms, etc.) that can be defined manually using a set of IDs or dynamically using a combination of filters. Lists can be thought of as reusable collections of search terms that help you store things you look into frequently.
* **Queries** — These are specific types of searches that utilize *recipes* (defined below) in conjunction with one or more *lists* and are the basis for visualizations and alerts. You'll want to save a query if you think you'll run it again when new data is available or if you want to share its results with others.
* **Recipes** — These are analytical actions that take in one or more *lists* and in order to look at the data from our datasets in a pre-defined way and generate search results.As you use our tools, it's important to keep a few things in mind:

### Important Reminders

* **Duplicates** — When summing amounts, especially in campaign finance data, be aware of records that might be duplicated due to transactions being reported by both the contributor and the recipient. We provide a data column that helps with this de-duplication by indicating which entity reported each transaction.
* **Permissions** — While "hidden" lists or queries are not directly browsable by other users in our tools, their contents might still be exposed to other users if they are used by "public" queries or visualizations. As such, we recommend thinking of "hidden" objects truly as "hidden" and not as "private".

{% hint style="info" %}
Our tools are open source! You can contribute to the [Tools](https://github.com/codefordemocracy/tools) repository on GitHub and help us improve or add additional features.
{% endhint %}


---

# 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.codefordemocracy.org/tools/overview.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.
