···31313232The Osprey UI has several pages accessible by a left-hand menu:
33333434-### ![][image1]
35343635Home will bring you to the default page of Osprey, with three main columns. **NOTE: The Event Stream in the right column is not yet in v0, and will be available before or in v1.**
37363838-![][image2]
39374038### Left Column: Query {#left-column:-query}
4139···43414442The Osprey Query UI uses the same SML syntax as rules, but for searching and filtering near-real-time and historical data rather than creating new rules. Using the test data generator, you can try writing a query to look for an action called “create\_post” specifically from a given User ID.
45434646-![][image3]
4744You can also use a UDF in your query. If you ever forget what a UDF does, you can hover on the information symbol for a tip:
48454949-![][image4]
5046A query can be run against a time window ranging from the last second to the last 3 months (and also a custom range):
5151-![][image5]![][image6]
4747+52485349The Osprey UI is designed to be dynamic and update in real-time. If any other component in the other two columns is interacted with, the query will automatically update and vice versa. The query also automatically populates the URL. This can be handy for sharing a specific query with someone on a team, but may present privacy risks.
5454-![][image7]
55505651#### **History** {#history}
57525853Every query is logged in the Query History view, and there is a dropdown filter to only show queries that you have run.
59546060-#### **![][image8]**
61556256When you hover over the query, it will also show the Top N Charts used during the query session (more on that below).
63576464-#### **![][image9]**
65586659The Query History can also be accessed and seen in a different format via the left-side menu.
6767-![][image10]
68606961#### **Saved Queries** {#saved-queries}
70627163If there are specific queries that are used often, Osprey provides the ability to save a query:
7272-![][image11]
6464+7365The user who initiated the query and when the query was first run is logged as part of the Saved Query. Saved Queries can also be accessed via the left-side menu. The user who saved the query and what time it was saved is logged and visible. There is a drop-down menu at the top to filter saved queries by users.
7474-![][image12]
6666+75677668### Middle Column: Charts {#middle-column:-charts}
77697870The middle column in Osprey shows two types of charts: **Time Series** and **Top N Results**. Both sections provide the ability to add extra charts to see different slices of time or types of top results.
7979-![][image13]
7171+80728173#### **Time Series Chart** {#time-series-chart}
8274···9183* Month
92849385Hovering over a bar in the time series chart shows how many events took place during that time.
9494-![][image14]
8686+9587There is also a time and date picker above the time series chart where you can set a custom range:
9696-![][image15]
8888+9789An extra table can be added for another view of a different unit of time. To get rid of the table, you can “[yeet](https://www.urbandictionary.com/define.php?term=Yeet) it”.
9898-![][image16]
9090+999110092#### **Top N Results** {#top-n-results}
1019310294Adding a Top N Results table populates a table with the top results for the results of the query. You can view and assign labels to a specific entity by hovering over it and clicking “Edit Labels”
103103-![][image17]
9595+1049610597### Right Column: Event Stream {#right-column:-event-stream}
10698···114106* Drill down into specific users/entities
115107116108It provides a more detailed view of each event that matches the query. The Event Stream can show metadata related to accounts that can link to other internal tools that provide detailed information about an account and/or further enforcement actions.
117117-![][image18]
109109+118110The event stream is also viewable in a card format vs a list format (list format shown in the screenshot).
119111120112Osprey users may have personal preferences on how to do investigations and what information is most helpful for them. Osprey makes it easy to customize the types of information shown in the Event Stream by clicking “Summary Features”
121121-![][image19]
113113+122114123115### Labeling
124116···139131140132Below are examples of a new label interface from v0, and an example from Discord’s usage of labels (coming in v1).
141133142142-![][image20]![][image21]
143134144135### UDF Documentation
145136146137The UDF Documentation page can be accessed via the left-side menu. It dynamically updates based on the code, so any new UDFs added will show up on this page. This page essentially serves as the "API reference" for the SML language, making it easy for users to discover and properly use all available functions when writing rules and queries.
147147- ![][image22]
138138+148139This page can be used as a manual for writing SML rules or queries, guide for understanding parameter types and requirements, and act as a plugin discovery portal to explore what custom UDFs are loaded.
149140150141### Bulk Labeling
···152143**Note: Since Bulk Labeling relies on Labels, it does not yet work in v0.**
153144154145There are two ways to bulk label items in Osprey: the left-side menu and via the chart column. In this example, you can bulk label all the users that have posted a message that is not empty:
155155-![][image23]
146146+156147Bulk labels can be dangerous if there’s a false positive\! Osprey provides a counter of how many unique entities are about to be bulk labeled at the top. Labels can be positive, negative, or neutral. A reason must be provided when labeling anything. Each bulk job will create a unique task ID and log the user who initiated the bulk job, the status of the bulk labeling, and a link to the query that the bulk job originated from.
157148158149To view all bulk labeling jobs that have been done, click into “Bulk Job History” from the left-side menu. You’ll need the unique task ID to look up a bulk job.
159159-![][image24]
150150+160151161152### Rule Visualizer
162153