# Advanced

- [Code Snippets](https://developers.getgeoflow.com/geoflow-docs/advanced/code-snippets.md): Expand upon Geoflow's standard offerings with a little JavaScript.
- [Methods](https://developers.getgeoflow.com/geoflow-docs/advanced/methods.md): The following methods are made accessible anywhere on the page, through the 'geoflow' client-side JavaScript object by Geoflow.
- [run](https://developers.getgeoflow.com/geoflow-docs/advanced/methods/run.md): The primary initialization function for Geoflow is responsible for calling getData and running the script extensions (if enabled).
- [getData](https://developers.getgeoflow.com/geoflow-docs/advanced/methods/getdata.md): Fetches the visitor data properties.
- [updateData](https://developers.getgeoflow.com/geoflow-docs/advanced/methods/updatedata.md): Use this to override any visitor data property, simulating what different visitors may experience on your website.
- [displayData](https://developers.getgeoflow.com/geoflow-docs/advanced/methods/displaydata.md): Output the visitor data properties that are currently available.
- [clearData](https://developers.getgeoflow.com/geoflow-docs/advanced/methods/cleardata.md): Force clear any visitor data properties saved in the browser's session storage. This will not effect the 'geoflow' JS object.
- [checkCondition](https://developers.getgeoflow.com/geoflow-docs/advanced/methods/checkcondition.md): Returns a boolean based on the condition and value passed.
- [select](https://developers.getgeoflow.com/geoflow-docs/advanced/methods/select.md): Appends one or more \<option> elements to a \<select> element based on the category passed and an optional placeholder.
- [Callbacks](https://developers.getgeoflow.com/geoflow-docs/advanced/callbacks.md): Geoflow triggers the following callbacks and can be accessed anywhere on the page, allowing you to add custom functionality.
- [Events](https://developers.getgeoflow.com/geoflow-docs/advanced/events.md): Geoflow fires the following events on the window object and can be accessed anywhere on the page, allowing you to add custom functionality.
- [REST API](https://developers.getgeoflow.com/geoflow-docs/advanced/api.md): Geoflow offers a REST API that allows you to implement advanced functionality through your own backend or via Zapier, Make, Airtable, and more.
- [Get Visitor IP](https://developers.getgeoflow.com/geoflow-docs/advanced/api/get-visitor-ip.md)
- [Get Visitor Data](https://developers.getgeoflow.com/geoflow-docs/advanced/api/get-visitor-data.md)
- [Add Website](https://developers.getgeoflow.com/geoflow-docs/advanced/api/add-website.md)
- [Delete Website](https://developers.getgeoflow.com/geoflow-docs/advanced/api/delete-website.md)
- [Update Website](https://developers.getgeoflow.com/geoflow-docs/advanced/api/update-website.md)
- [List Websites](https://developers.getgeoflow.com/geoflow-docs/advanced/api/list-websites.md)
- [Get Website](https://developers.getgeoflow.com/geoflow-docs/advanced/api/get-website.md)


---

# 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://developers.getgeoflow.com/geoflow-docs/advanced.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.
