# Custom Extensions

![](https://3357255970-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fb7weUpu7VBcMnESSH8vG%2Fuploads%2FQJNojl5ihUn9eZUHcLS7%2FIntegrating%20Glyptodon%20Enterprise.png?alt=media\&token=f5bd3f93-ecdd-4cc3-8bb5-5df6b121a6de)

### Extension API Overview <a href="#id-.integratingglyptodonenterprisev2.x-directintegrationusingguacamolesextensionapi" id="id-.integratingglyptodonenterprisev2.x-directintegrationusingguacamolesextensionapi"></a>

Keeper Connection Manager is designed to be integrated with third-party systems and applications using the Extension API, which allows arbitrary systems to serve as methods of authentication and as data sources.

The Extension API was used to implement the authentication mechanisms supported by Keeper Connection Manager and Apache Guacamole out-of-the-box. For Keeper Connection Manager 2.x, regardless of any updates, the extension API is compatible with upstream Apache Guacamole 1.0.0 through 1.3.0.

### Example Project

We have published an example custom extension project which can be used to inject arbitrary parameter tokens when a user initiates a connection.

The example is published here:

{% embed url="<https://github.com/Keeper-Security/kcm-ext-example>" %}
Example Custom Extension
{% endembed %}

### **Additional Documentation**

* [General upstream documentation on Guacamole extensions and their format](http://guacamole.apache.org/doc/1.1.0/gug/guacamole-ext.html)
* [JavaDoc for the Apache Guacamole 1.3.0 Extension API](https://guacamole.apache.org/doc/1.3.0/guacamole-ext/)
* [JavaDoc for the Apache Guacamole 1.3.0 core API](https://guacamole.apache.org/doc/1.3.0/guacamole-common/) (referenced by parts of the extension API)

If you are not sure where to begin with integrating Keeper Connection Manager, or are having difficulties with your existing integration, [consulting on integration is included with premium subscriptions.](/keeper-connection-manager/scope-of-support.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://docs.keeper.io/keeper-connection-manager/custom-extensions.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.
