# Polarity Developer Guide

## Polarity Developer Guide

- [Using The Polarity Developer Guide](https://docs.polarity.io/integrations/master.md)
- [What's New](https://docs.polarity.io/integrations/quick-start/whats-new.md)
- [Installing Integrations](https://docs.polarity.io/integrations/quick-start/installation.md)
- [Quick Start Guide](https://docs.polarity.io/integrations/quick-start/quick-start-guide.md)
- [Learning Resources](https://docs.polarity.io/integrations/quick-start/learning-resources.md)
- [Directory Layout](https://docs.polarity.io/integrations/build-an-integration/directory-layout.md): Integrations should follow the suggested directory layout to improve readability
- [package.json](https://docs.polarity.io/integrations/build-an-integration/package_json.md)
- [Configuration File](https://docs.polarity.io/integrations/build-an-integration/configuration-file.md): configure your integration and setup options
- [Integration Main Module](https://docs.polarity.io/integrations/build-an-integration/main.md): The integration.js file is the main entry point to your integration on the Polarity server
- [startup](https://docs.polarity.io/integrations/build-an-integration/main/startup.md): Initialize your integration and setup logging
- [doLookup](https://docs.polarity.io/integrations/build-an-integration/main/dolookup.md): Required function which takes entities from the user and returns enriched results
- [Entity Objects](https://docs.polarity.io/integrations/build-an-integration/main/dolookup/entity-objects.md): the dolookup method receives an array of entity objects
- [Result Objects](https://docs.polarity.io/integrations/build-an-integration/main/dolookup/result-objects.md): result objects contain the return data for a specific entity being looked up
- [Error Objects](https://docs.polarity.io/integrations/build-an-integration/main/dolookup/error-objects.md)
- [onDetails](https://docs.polarity.io/integrations/build-an-integration/main/ondetails.md): Run second order queries when a user expands your integration in the Overlay Window
- [onMessage](https://docs.polarity.io/integrations/build-an-integration/main/onmessage.md): Implement interactive two-way communication between your component/template and the server
- [validateOptions](https://docs.polarity.io/integrations/build-an-integration/main/validateoptions.md): validate user options on your integration before they save them
- [Customizing the Overlay Window](https://docs.polarity.io/integrations/build-an-integration/customizing-the-overlay-window.md)
- [Templates](https://docs.polarity.io/integrations/build-an-integration/customizing-the-overlay-window/templates.md): Use the Handlebars templating language to customize the look of your integration.
- [Conditionals](https://docs.polarity.io/integrations/build-an-integration/customizing-the-overlay-window/templates/conditionals.md): conditionally show information in templates using if, unless, and else helpers.
- [Displaying a List of Items](https://docs.polarity.io/integrations/build-an-integration/customizing-the-overlay-window/templates/displaying-a-list-of-items.md)
- [Display Object Properties](https://docs.polarity.io/integrations/build-an-integration/customizing-the-overlay-window/templates/objects.md)
- [Built-in Helpers](https://docs.polarity.io/integrations/build-an-integration/customizing-the-overlay-window/templates/built-in-helpers.md): Handlebars includes a collection of useful built-in helpers to assist with displaying data
- [Displaying Icons](https://docs.polarity.io/integrations/build-an-integration/customizing-the-overlay-window/templates/displaying-icons.md): Make use of Font Awesome icons in your templates
- [Component File](https://docs.polarity.io/integrations/build-an-integration/customizing-the-overlay-window/component-file.md): Create computed properties, trigger actions, and add interactive elements to your template
- [Aliased Properties](https://docs.polarity.io/integrations/build-an-integration/customizing-the-overlay-window/component-file/aliased-properties.md)
- [Computed Properties](https://docs.polarity.io/integrations/build-an-integration/customizing-the-overlay-window/component-file/computed-properties.md): Define new properties using computed properties
- [Event Hooks](https://docs.polarity.io/integrations/build-an-integration/customizing-the-overlay-window/component-file/event-hooks.md): Integration relation event hooks
- [CSS Styles](https://docs.polarity.io/integrations/build-an-integration/customizing-the-overlay-window/styles.md): Style your integration with less stylesheets
- [Vendor Javascript](https://docs.polarity.io/integrations/build-an-integration/vendor.md): Vendor files allow you to include third-party resources as part of your integration
- [Inserting Javascript into DOM](https://docs.polarity.io/integrations/build-an-integration/vendor/inserting-javascript-into-dom.md): You can add remote scripts to your integration through the vendor file
- [README Guide](https://docs.polarity.io/integrations/build-an-integration/readme-guide.md)
- [Debugging Integrations](https://docs.polarity.io/integrations/build-an-integration/debugging.md): Tips and tricks to help you debug your integration
- [Web Inspector](https://docs.polarity.io/integrations/build-an-integration/debugging/web-inspector.md): You can enable the Chrome web inspector to help debug and design your integration
- [Using Integration Logs](https://docs.polarity.io/integrations/build-an-integration/debugging/using-integration-logs.md): Logging information from your integration is a great way to debug.
- [Testing Main Module](https://docs.polarity.io/integrations/build-an-integration/debugging/testing-main-module.md): You can run code from main module in isolation for testing purposes
- [Enabling User Actions](https://docs.polarity.io/integrations/recipes/enabling-user-actions.md): Add interactive elements to your integration
- [Throttling Lookups](https://docs.polarity.io/integrations/recipes/throttling-lookups.md): Throttle the number of lookups the \`doLookup\` method can make
- [Using Custom Entity Types](https://docs.polarity.io/integrations/recipes/using_custom_types.md): Define your own custom entity types to receive data
- [Custom Summary Tags](https://docs.polarity.io/integrations/recipes/colored-icons.md): You can customize your summary tags to include adding colored icons
- [Creating a Tabbed Interface](https://docs.polarity.io/integrations/recipes/creating-a-tabbed-interface.md): Quickly setup a tabbed interface within your integration
- [Accessing Username of Requestor](https://docs.polarity.io/integrations/recipes/accessing-username-of-requestor.md): You can access information about the requesting user from within the doLookup, onDetails, and onMessage hooks.
- [Updating Options](https://docs.polarity.io/integrations/recipes/updating-options.md): Update integration options from within the integration


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information, you can query the documentation dynamically by asking a question.
Perform an HTTP GET request on a page URL with the `ask` query parameter:
```
GET https://docs.polarity.io/integrations/master.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.
